ng2-material-dropdown
Advanced tools
Comparing version 0.10.0 to 0.10.1
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/animations"),require("@angular/common")):"function"==typeof define&&define.amd?define("ng2-material-dropdown",["exports","@angular/core","@angular/animations","@angular/common"],t):t(e["ng2-material-dropdown"]={},e.ng.core,e.ng.animations,e.ng.common)}(this,function(e,t,n,o){"use strict";var i=function(){function e(e){this.element=e,this.onMenuToggled=new t.EventEmitter,this.showCaret=!0}return e.prototype.toggleMenu=function(){this.onMenuToggled.emit(!0)},e.prototype.getPosition=function(){return this.element.nativeElement.getBoundingClientRect()},e.decorators=[{type:t.Component,args:[{selector:"ng2-dropdown-button",styles:['.ng2-dropdown-button{font-family:Roboto,"Helvetica Neue",Helvetica,Arial;background:#fff;padding:.45rem .25rem;font-size:14px;letter-spacing:.08rem;color:#444;outline:0;cursor:pointer;font-weight:400;border:none;border-bottom:1px solid #efefef;text-align:left;min-width:100px;width:100%;display:flex;flex-direction:row;max-width:150px}.ng2-dropdown-button:hover{color:#222}.ng2-dropdown-button:active,.ng2-dropdown-button:focus{color:#222;border-bottom:2px solid #2196f3}.ng2-dropdown-button__label{flex:1 1 95%}.ng2-dropdown-button__caret{width:12px;height:12px;display:flex;flex:1 1 6%}:host-context(.ng2-dropdown-button--icon) .ng2-dropdown-button{border:none;min-width:40px;width:40px;border-radius:100%;transition:all .2s;text-align:center;height:40px;padding:.5em}:host-context(.ng2-dropdown-button--icon) .ng2-dropdown-button:active{background:rgba(0,0,0,.2)}'],template:'<button class=\'ng2-dropdown-button\' type="button" (click)="toggleMenu()" tabindex="0s">\n <span class="ng2-dropdown-button__label">\n <ng-content></ng-content>\n </span>\n\n <span class="ng2-dropdown-button__caret" *ngIf="showCaret">\n <svg enable-background="new 0 0 32 32" height="16px" id="Слой_1" version="1.1" viewBox="0 0 32 32" width="16px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M24.285,11.284L16,19.571l-8.285-8.288c-0.395-0.395-1.034-0.395-1.429,0 c-0.394,0.395-0.394,1.035,0,1.43l8.999,9.002l0,0l0,0c0.394,0.395,1.034,0.395,1.428,0l8.999-9.002 c0.394-0.395,0.394-1.036,0-1.431C25.319,10.889,24.679,10.889,24.285,11.284z" fill="#121313" id="Expand_More"/><g/><g/><g/><g/><g/><g/></svg>\n </span>\n</button>\n'}]}],e.ctorParameters=function(){return[{type:t.ElementRef}]},e.propDecorators={onMenuToggled:[{type:t.Output}],showCaret:[{type:t.Input}]},e}(),s=38,r=40,d=13,p=27;var a,l=((a={})[9]=function(e,t,n){e<t.length-1?n.select(t[e+1],!0):n.select(t[0],!0)},a[s]=function(e,t,n){0<e&&n.select(t[e-1],!0)},a[r]=function(e,t,n){e<t.length-1&&n.select(t[e+1],!0)},a[d]=function(e,t,n){return n.selectedItem?n.selectedItem.click():undefined},a[p]=function(){this.hide()},a);function c(e){-1<[38,40].indexOf(e.keyCode)&&e.preventDefault()}var u=function(){function e(){this.onItemSelected=new t.EventEmitter,this.onItemClicked=new t.EventEmitter,this.onItemDestroyed=new t.EventEmitter}return Object.defineProperty(e.prototype,"selectedItem",{get:function(){return this._selectedItem},enumerable:!0,configurable:!0}),e.prototype.select=function(e,t){void 0===t&&(t=!0),this._selectedItem=e,t&&e&&(e.focus(),this.onItemSelected.emit(e))},e.prototype.unselect=function(){this._selectedItem=undefined},e}(),h=function(){function e(){this.menuState={isVisible:!1,toString:function(){return!0===this.isVisible?"visible":"hidden"}},this.dropdownState=new u}return e.decorators=[{type:t.Injectable}],e}(),m=function(){function e(e,t,n){this.state=e,this.element=t,this.renderer=n,this.preventClose=!1}return e.prototype.ngOnDestroy=function(){this.state.dropdownState.onItemDestroyed.emit(this)},Object.defineProperty(e.prototype,"isSelected",{get:function(){return this===this.state.dropdownState.selectedItem},enumerable:!0,configurable:!0}),e.prototype.select=function(e){this.state.dropdownState.select(this,!0),e&&(e.stopPropagation(),e.preventDefault())},e.prototype.click=function(){this.state.dropdownState.onItemClicked.emit(this)},e.prototype.focus=function(){this.renderer.invokeElementMethod(this.element.nativeElement.children[0],"focus")},e.decorators=[{type:t.Component,args:[{selector:"ng2-menu-item",styles:['.ng2-menu-item{font-family:Roboto,"Helvetica Neue",Helvetica,Arial;background:#fff;color:rgba(0,0,0,.87);cursor:pointer;font-size:.9em;text-transform:none;font-weight:400;letter-spacing:.03em;height:48px;line-height:48px;padding:.3em 1.25rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;transition:background .25s}.ng2-menu-item--selected{background:rgba(158,158,158,.2);outline:0}.ng2-menu-item:focus{outline:0}.ng2-menu-item:active{background:rgba(158,158,158,.4)}:host(ng2-menu-item) /deep/ [ng2-menu-item-icon]{vertical-align:middle;font-size:28px;width:1.5em;height:30px;color:rgba(0,0,0,.44)}'],template:'<div class=\'ng2-menu-item\'\n role="button"\n tabindex="0"\n [class.ng2-menu-item--selected]="isSelected"\n (keydown.enter)="click()"\n (click)="click()"\n (mouseover)="select()">\n <ng-content></ng-content>\n</div>\n'}]}],e.ctorParameters=function(){return[{type:h},{type:t.ElementRef},{type:t.Renderer}]},e.propDecorators={preventClose:[{type:t.Input}],value:[{type:t.Input}]},e}(),f=function(){function e(e,t,n){this.state=e,this.element=t,this.renderer=n,this.width=4,this.focusFirstElement=!0,this.appendToBody=!0,this.zIndex=1e3,this.listeners={arrowHandler:undefined,handleKeypress:undefined}}return e.prototype.show=function(e,t){void 0===t&&(t=!0);var n="undefined"!=typeof document?document:undefined,o="undefined"!=typeof window?window:undefined;this.state.menuState.isVisible||(this.listeners.handleKeypress=this.renderer.listen(n.body,"keydown",this.handleKeypress.bind(this)),this.listeners.arrowHandler=this.renderer.listen(o,"keydown",c)),this.state.menuState.isVisible=!0,e&&this.updatePosition(e,t)},e.prototype.hide=function(){this.state.menuState.isVisible=!1,this.state.dropdownState.unselect(),this.listeners.arrowHandler?this.listeners.arrowHandler():undefined,this.listeners.handleKeypress?this.listeners.handleKeypress():undefined},e.prototype.updatePosition=function(e,t){this.position=e,this.updateOnChange(t)},e.prototype.handleKeypress=function(e){var t=e.keyCode,n=this.items.toArray(),o=n.indexOf(this.state.dropdownState.selectedItem);l.hasOwnProperty(t)&&l[t].call(this,o,n,this.state.dropdownState)},e.prototype.getMenuElement=function(){return this.element.nativeElement.children[0]},e.prototype.calcPositionOffset=function(e){var t="undefined"!=typeof window?window:undefined,n="undefined"!=typeof document?document:undefined;if(t&&n&&e){var o=this.getMenuElement(),i=t.pageXOffset!==undefined,s="CSS1Compat"===(n.compatMode||""),r=i?t.pageXOffset:s?n.documentElement.scrollLeft:n.body.scrollLeft,d=i?t.pageYOffset:s?n.documentElement.scrollTop:n.body.scrollTop,p=this.applyOffset(e.top+(this.appendToBody?d-15:0)+"px",e.left+r-5+"px"),a=p.top,l=p.left,c=o.clientWidth,u=o.clientHeight,h=parseInt(a)+u+(this.appendToBody?0:d-15),m=parseInt(l)+c,f=t.innerHeight+t.scrollY,g=t.innerWidth+t.scrollX;if(f<=h&&(a=parseInt(a.replace("px",""))-u+"px"),g<=m){var y=m-g+30;l=parseInt(l.replace("px",""))-y+"px"}return{top:a,left:l}}},e.prototype.applyOffset=function(e,t){if(!this.offset)return{top:e,left:t};var n=this.offset.split(" ");return n[1]||(n[1]="0"),{top:e=parseInt(e.replace("px",""))+parseInt(n[0])+"px",left:t=parseInt(t.replace("px",""))+parseInt(n[1])+"px"}},e.prototype.ngOnInit=function(){var e="undefined"!=typeof document?document:undefined;this.appendToBody&&e.body.appendChild(this.element.nativeElement)},e.prototype.updateOnChange=function(e){void 0===e&&(e=!0);var t=this.getMenuElement(),n=this.calcPositionOffset(this.position);n&&(this.renderer.setElementStyle(t,"top",n.top.toString()),this.renderer.setElementStyle(t,"left",n.left.toString())),this.focusFirstElement&&this.items.first&&!this.state.dropdownState.selectedItem&&this.state.dropdownState.select(this.items.first,!1)},e.prototype.ngOnDestroy=function(){var e=this.element.nativeElement;e.parentNode.removeChild(e),this.listeners.handleKeypress&&this.listeners.handleKeypress()},e.decorators=[{type:t.Component,args:[{selector:"ng2-dropdown-menu",styles:[":host{display:block}.ng2-dropdown-menu{overflow-y:auto;box-shadow:0 1px 2px 0 rgba(0,0,0,.3);position:absolute;padding:.5em 0;background:#fff;border-radius:1px;max-height:400px;width:260px;min-height:0;display:block}.ng2-dropdown-menu.ng2-dropdown-menu--inside-element{position:fixed}.ng2-dropdown-menu.ng2-dropdown-menu--width--2{width:200px}.ng2-dropdown-menu.ng2-dropdown-menu--width--4{width:260px}.ng2-dropdown-menu.ng2-dropdown-menu--width--6{width:320px}.ng2-dropdown-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden}:host /deep/ .ng2-menu-divider{height:1px;min-height:1px;max-height:1px;width:100%;display:block;background:#f9f9f9}"],template:'\x3c!-- MENU --\x3e\n<div class=\'ng2-dropdown-menu ng2-dropdown-menu---width--{{ width }}\'\n [class.ng2-dropdown-menu--inside-element]="!appendToBody"\n [class.ng2-dropdown-menu--open]="state.menuState.isVisible"\n [style.z-index]="zIndex"\n [@fade]="state.menuState.toString()">\n <div class="ng2-dropdown-menu__options-container"\n [@opacity]="state.menuState.toString()">\n <ng-content></ng-content>\n </div>\n</div>\n\n\x3c!-- BACKDROP --\x3e\n<div class="ng2-dropdown-backdrop" *ngIf="state.menuState.isVisible" (click)="hide()"></div>\n',animations:[n.trigger("fade",[n.state("visible",n.style({display:"block",height:"*",width:"*"})),n.state("hidden",n.style({display:"none",overflow:"hidden",height:0,width:0})),n.transition("hidden => visible",[n.animate("250ms ease-in",n.keyframes([n.style({opacity:0,offset:0}),n.style({opacity:1,offset:1,height:"*",width:"*"})]))]),n.transition("visible => hidden",[n.animate("350ms ease-out",n.keyframes([n.style({opacity:1,offset:0}),n.style({opacity:0,offset:1,width:"0",height:"0"})]))])]),n.trigger("opacity",[n.transition("hidden => visible",[n.animate("450ms ease-in",n.keyframes([n.style({opacity:0,offset:0}),n.style({opacity:1,offset:1})]))]),n.transition("visible => hidden",[n.animate("250ms ease-out",n.keyframes([n.style({opacity:1,offset:0}),n.style({opacity:.5,offset:.3}),n.style({opacity:0,offset:1})]))])])]}]}],e.ctorParameters=function(){return[{type:h},{type:t.ElementRef},{type:t.Renderer}]},e.propDecorators={width:[{type:t.Input}],focusFirstElement:[{type:t.Input}],offset:[{type:t.Input}],appendToBody:[{type:t.Input}],zIndex:[{type:t.Input}],items:[{type:t.ContentChildren,args:[m]}]},e}(),g=function(){function e(e){this.state=e,this.dynamicUpdate=!0,this.onItemClicked=new t.EventEmitter,this.onItemSelected=new t.EventEmitter,this.onShow=new t.EventEmitter,this.onHide=new t.EventEmitter}return e.prototype.ngOnInit=function(){var o=this;this.state.dropdownState.onItemClicked.subscribe(function(e){o.onItemClicked.emit(e),e.preventClose||o.hide.call(o)}),this.button&&this.button.onMenuToggled.subscribe(function(){o.toggleMenu()}),this.state.dropdownState.onItemSelected.subscribe(function(e){o.onItemSelected.emit(e)}),this.state.dropdownState.onItemDestroyed.subscribe(function(e){var t,n=o.menu.items.toArray();e===o.state.dropdownState.selectedItem&&(o.menu.focusFirstElement&&(t=e===n[0]&&1<n.length?n[1]:n[0]),o.state.dropdownState.select(t))})},e.prototype.toggleMenu=function(e){void 0===e&&(e=this.button.getPosition()),this.state.menuState.isVisible?this.hide():this.show(e)},e.prototype.hide=function(){this.menu.hide(),this.onHide.emit(this)},e.prototype.show=function(e){void 0===e&&(e=this.button.getPosition()),this.menu.show(e,this.dynamicUpdate),this.onShow.emit(this)},e.prototype.scrollListener=function(){this.button&&this.dynamicUpdate&&this.menu.updatePosition(this.button.getPosition(),!0)},e.decorators=[{type:t.Component,args:[{selector:"ng2-dropdown",template:'<div class="ng2-dropdown-container">\n <ng-content select="ng2-dropdown-button"></ng-content>\n <ng-content select="ng2-dropdown-menu"></ng-content>\n</div>\n',providers:[h]}]}],e.ctorParameters=function(){return[{type:h}]},e.propDecorators={button:[{type:t.ContentChild,args:[i]}],menu:[{type:t.ContentChild,args:[f]}],dynamicUpdate:[{type:t.Input}],onItemClicked:[{type:t.Output}],onItemSelected:[{type:t.Output}],onShow:[{type:t.Output}],onHide:[{type:t.Output}],scrollListener:[{type:t.HostListener,args:["window:scroll"]}]},e}(),y=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{exports:[m,i,f,g],declarations:[g,m,i,f],imports:[o.CommonModule]}]}],e}();e.Ng2Dropdown=g,e.Ng2DropdownMenu=f,e.Ng2MenuItem=m,e.Ng2DropdownButton=i,e.Ng2DropdownModule=y,e.DropdownStateService=h,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/animations"),require("@angular/common")):"function"==typeof define&&define.amd?define("ng2-material-dropdown",["exports","@angular/core","@angular/animations","@angular/common"],t):t(e["ng2-material-dropdown"]={},e.ng.core,e.ng.animations,e.ng.common)}(this,function(e,t,n,o){"use strict";var i=function(){function e(e){this.element=e,this.onMenuToggled=new t.EventEmitter,this.showCaret=!0}return e.prototype.toggleMenu=function(){this.onMenuToggled.emit(!0)},e.prototype.getPosition=function(){return this.element.nativeElement.getBoundingClientRect()},e.decorators=[{type:t.Component,args:[{selector:"ng2-dropdown-button",styles:['.ng2-dropdown-button{font-family:Roboto,"Helvetica Neue",Helvetica,Arial;background:#fff;padding:.45rem .25rem;font-size:14px;letter-spacing:.08rem;color:#444;outline:0;cursor:pointer;font-weight:400;border:none;border-bottom:1px solid #efefef;text-align:left;min-width:100px;width:100%;display:flex;flex-direction:row;max-width:150px}.ng2-dropdown-button:hover{color:#222}.ng2-dropdown-button:active,.ng2-dropdown-button:focus{color:#222;border-bottom:2px solid #2196f3}.ng2-dropdown-button__label{flex:1 1 95%}.ng2-dropdown-button__caret{width:12px;height:12px;display:flex;flex:1 1 6%}:host-context(.ng2-dropdown-button--icon) .ng2-dropdown-button{border:none;min-width:40px;width:40px;border-radius:100%;transition:all .2s;text-align:center;height:40px;padding:.5em}:host-context(.ng2-dropdown-button--icon) .ng2-dropdown-button:active{background:rgba(0,0,0,.2)}'],template:'<button class=\'ng2-dropdown-button\' type="button" (click)="toggleMenu()" tabindex="0s">\n <span class="ng2-dropdown-button__label">\n <ng-content></ng-content>\n </span>\n\n <span class="ng2-dropdown-button__caret" *ngIf="showCaret">\n <svg enable-background="new 0 0 32 32" height="16px" id="Слой_1" version="1.1" viewBox="0 0 32 32" width="16px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M24.285,11.284L16,19.571l-8.285-8.288c-0.395-0.395-1.034-0.395-1.429,0 c-0.394,0.395-0.394,1.035,0,1.43l8.999,9.002l0,0l0,0c0.394,0.395,1.034,0.395,1.428,0l8.999-9.002 c0.394-0.395,0.394-1.036,0-1.431C25.319,10.889,24.679,10.889,24.285,11.284z" fill="#121313" id="Expand_More"/><g/><g/><g/><g/><g/><g/></svg>\n </span>\n</button>\n'}]}],e.ctorParameters=function(){return[{type:t.ElementRef}]},e.propDecorators={onMenuToggled:[{type:t.Output}],showCaret:[{type:t.Input}]},e}(),s=38,r=40,d=13,p=27;var a,l=((a={})[9]=function(e,t,n){e<t.length-1?n.select(t[e+1],!0):n.select(t[0],!0)},a[s]=function(e,t,n){0<e&&n.select(t[e-1],!0)},a[r]=function(e,t,n){e<t.length-1&&n.select(t[e+1],!0)},a[d]=function(e,t,n){return n.selectedItem?n.selectedItem.click():undefined},a[p]=function(){this.hide()},a);function c(e){-1<[38,40].indexOf(e.keyCode)&&e.preventDefault()}var u=function(){function e(){this.onItemSelected=new t.EventEmitter,this.onItemClicked=new t.EventEmitter,this.onItemDestroyed=new t.EventEmitter}return Object.defineProperty(e.prototype,"selectedItem",{get:function(){return this._selectedItem},enumerable:!0,configurable:!0}),e.prototype.select=function(e,t){void 0===t&&(t=!0),this._selectedItem=e,t&&e&&(e.focus(),this.onItemSelected.emit(e))},e.prototype.unselect=function(){this._selectedItem=undefined},e}(),h=function(){function e(){this.menuState={isVisible:!1,toString:function(){return!0===this.isVisible?"visible":"hidden"}},this.dropdownState=new u}return e.decorators=[{type:t.Injectable}],e}(),m=function(){function e(e,t,n){this.state=e,this.element=t,this.renderer=n,this.preventClose=!1}return e.prototype.ngOnDestroy=function(){this.state.dropdownState.onItemDestroyed.emit(this)},Object.defineProperty(e.prototype,"isSelected",{get:function(){return this===this.state.dropdownState.selectedItem},enumerable:!0,configurable:!0}),e.prototype.select=function(e){this.state.dropdownState.select(this,!0),e&&(e.stopPropagation(),e.preventDefault())},e.prototype.click=function(){this.state.dropdownState.onItemClicked.emit(this)},e.prototype.focus=function(){this.renderer.invokeElementMethod(this.element.nativeElement.children[0],"focus")},e.decorators=[{type:t.Component,args:[{selector:"ng2-menu-item",styles:['.ng2-menu-item{font-family:Roboto,"Helvetica Neue",Helvetica,Arial;background:#fff;color:rgba(0,0,0,.87);cursor:pointer;font-size:.9em;text-transform:none;font-weight:400;letter-spacing:.03em;height:48px;line-height:48px;padding:.3em 1.25rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;transition:background .25s}.ng2-menu-item--selected{background:rgba(158,158,158,.2);outline:0}.ng2-menu-item:focus{outline:0}.ng2-menu-item:active{background:rgba(158,158,158,.4)}:host(ng2-menu-item) /deep/ [ng2-menu-item-icon]{vertical-align:middle;font-size:28px;width:1.5em;height:30px;color:rgba(0,0,0,.44)}'],template:'<div class=\'ng2-menu-item\'\n role="button"\n tabindex="0"\n [class.ng2-menu-item--selected]="isSelected"\n (keydown.enter)="click()"\n (click)="click()"\n (mouseover)="select()">\n <ng-content></ng-content>\n</div>\n'}]}],e.ctorParameters=function(){return[{type:h},{type:t.ElementRef},{type:t.Renderer}]},e.propDecorators={preventClose:[{type:t.Input}],value:[{type:t.Input}]},e}(),f=function(){function e(e,t,n){this.state=e,this.element=t,this.renderer=n,this.width=4,this.focusFirstElement=!0,this.appendToBody=!0,this.zIndex=1e3,this.listeners={arrowHandler:undefined,handleKeypress:undefined}}return e.prototype.show=function(e,t){void 0===t&&(t=!0);var n="undefined"!=typeof document?document:undefined,o="undefined"!=typeof window?window:undefined;this.state.menuState.isVisible||(this.listeners.handleKeypress=this.renderer.listen(n.body,"keydown",this.handleKeypress.bind(this)),this.listeners.arrowHandler=this.renderer.listen(o,"keydown",c)),this.state.menuState.isVisible=!0,e&&this.updatePosition(e,t)},e.prototype.hide=function(){this.state.menuState.isVisible=!1,this.state.dropdownState.unselect(),this.listeners.arrowHandler?this.listeners.arrowHandler():undefined,this.listeners.handleKeypress?this.listeners.handleKeypress():undefined},e.prototype.updatePosition=function(e,t){this.position=e,this.updateOnChange(t)},e.prototype.handleKeypress=function(e){var t=e.keyCode,n=this.items.toArray(),o=n.indexOf(this.state.dropdownState.selectedItem);l.hasOwnProperty(t)&&l[t].call(this,o,n,this.state.dropdownState)},e.prototype.getMenuElement=function(){return this.element.nativeElement.children[0]},e.prototype.calcPositionOffset=function(e){var t="undefined"!=typeof window?window:undefined,n="undefined"!=typeof document?document:undefined;if(t&&n&&e){var o=this.getMenuElement(),i=t.pageXOffset!==undefined,s="CSS1Compat"===(n.compatMode||""),r=i?t.pageXOffset:s?n.documentElement.scrollLeft:n.body.scrollLeft,d=i?t.pageYOffset:s?n.documentElement.scrollTop:n.body.scrollTop,p=this.applyOffset(e.top+(this.appendToBody?d-15:0)+"px",e.left+r-5+"px"),a=p.top,l=p.left,c=o.clientWidth,u=o.clientHeight,h=parseInt(a)+u+(this.appendToBody?0:d-15),m=parseInt(l)+c,f=t.innerHeight+t.scrollY,g=t.innerWidth+t.scrollX;if(f<=h&&(a=parseInt(a.replace("px",""))-u+"px"),g<=m){var y=m-g+30;l=parseInt(l.replace("px",""))-y+"px"}return{top:a,left:l}}},e.prototype.applyOffset=function(e,t){if(!this.offset)return{top:e,left:t};var n=this.offset.split(" ");return n[1]||(n[1]="0"),{top:e=parseInt(e.replace("px",""))+parseInt(n[0])+"px",left:t=parseInt(t.replace("px",""))+parseInt(n[1])+"px"}},e.prototype.ngOnInit=function(){var e="undefined"!=typeof document?document:undefined;this.appendToBody&&e.body.appendChild(this.element.nativeElement)},e.prototype.updateOnChange=function(e){void 0===e&&(e=!0);var t=this.getMenuElement(),n=this.calcPositionOffset(this.position);n&&(this.renderer.setElementStyle(t,"top",n.top.toString()),this.renderer.setElementStyle(t,"left",n.left.toString())),this.focusFirstElement&&this.items.first&&!this.state.dropdownState.selectedItem&&this.state.dropdownState.select(this.items.first,!1)},e.prototype.ngOnDestroy=function(){var e=this.element.nativeElement;e.parentNode.removeChild(e),this.listeners.handleKeypress&&this.listeners.handleKeypress()},e.decorators=[{type:t.Component,args:[{selector:"ng2-dropdown-menu",styles:[":host{display:block}.ng2-dropdown-menu{overflow-y:auto;box-shadow:0 1px 2px 0 rgba(0,0,0,.3);position:absolute;padding:.5em 0;background:#fff;border-radius:1px;max-height:400px;width:260px;min-height:0;display:block}.ng2-dropdown-menu.ng2-dropdown-menu--inside-element{position:fixed}.ng2-dropdown-menu.ng2-dropdown-menu--width--2{width:200px}.ng2-dropdown-menu.ng2-dropdown-menu--width--4{width:260px}.ng2-dropdown-menu.ng2-dropdown-menu--width--6{width:320px}.ng2-dropdown-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden}:host /deep/ .ng2-menu-divider{height:1px;min-height:1px;max-height:1px;width:100%;display:block;background:#f9f9f9}"],template:'\x3c!-- MENU --\x3e\n<div class=\'ng2-dropdown-menu ng2-dropdown-menu---width--{{ width }}\'\n [class.ng2-dropdown-menu--inside-element]="!appendToBody"\n [class.ng2-dropdown-menu--open]="state.menuState.isVisible"\n [style.z-index]="zIndex"\n [@fade]="state.menuState.toString()">\n <div class="ng2-dropdown-menu__options-container"\n [@opacity]="state.menuState.toString()">\n <ng-content></ng-content>\n </div>\n</div>\n\n\x3c!-- BACKDROP --\x3e\n<div class="ng2-dropdown-backdrop" *ngIf="state.menuState.isVisible" (click)="hide()"></div>\n',animations:[n.trigger("fade",[n.state("visible",n.style({display:"block",opacity:1,height:"*",width:"*"})),n.state("hidden",n.style({display:"none",opacity:0,overflow:"hidden",height:0,width:0})),n.transition("hidden => visible",[n.animate("250ms ease-in",n.style({opacity:1,height:"*",width:"*"}))]),n.transition("visible => hidden",[n.animate("350ms ease-out",n.style({opacity:0,width:0,height:0}))])]),n.trigger("opacity",[n.transition("hidden => visible",[n.animate("450ms ease-in",n.keyframes([n.style({opacity:0,offset:0}),n.style({opacity:1,offset:1})]))]),n.transition("visible => hidden",[n.animate("250ms ease-out",n.keyframes([n.style({opacity:1,offset:0}),n.style({opacity:.5,offset:.3}),n.style({opacity:0,offset:1})]))])])]}]}],e.ctorParameters=function(){return[{type:h},{type:t.ElementRef},{type:t.Renderer}]},e.propDecorators={width:[{type:t.Input}],focusFirstElement:[{type:t.Input}],offset:[{type:t.Input}],appendToBody:[{type:t.Input}],zIndex:[{type:t.Input}],items:[{type:t.ContentChildren,args:[m]}]},e}(),g=function(){function e(e){this.state=e,this.dynamicUpdate=!0,this.onItemClicked=new t.EventEmitter,this.onItemSelected=new t.EventEmitter,this.onShow=new t.EventEmitter,this.onHide=new t.EventEmitter}return e.prototype.ngOnInit=function(){var o=this;this.state.dropdownState.onItemClicked.subscribe(function(e){o.onItemClicked.emit(e),e.preventClose||o.hide.call(o)}),this.button&&this.button.onMenuToggled.subscribe(function(){o.toggleMenu()}),this.state.dropdownState.onItemSelected.subscribe(function(e){o.onItemSelected.emit(e)}),this.state.dropdownState.onItemDestroyed.subscribe(function(e){var t,n=o.menu.items.toArray();e===o.state.dropdownState.selectedItem&&(o.menu.focusFirstElement&&(t=e===n[0]&&1<n.length?n[1]:n[0]),o.state.dropdownState.select(t))})},e.prototype.toggleMenu=function(e){void 0===e&&(e=this.button.getPosition()),this.state.menuState.isVisible?this.hide():this.show(e)},e.prototype.hide=function(){this.menu.hide(),this.onHide.emit(this)},e.prototype.show=function(e){void 0===e&&(e=this.button.getPosition()),this.menu.show(e,this.dynamicUpdate),this.onShow.emit(this)},e.prototype.scrollListener=function(){this.button&&this.dynamicUpdate&&this.menu.updatePosition(this.button.getPosition(),!0)},e.decorators=[{type:t.Component,args:[{selector:"ng2-dropdown",template:'<div class="ng2-dropdown-container">\n <ng-content select="ng2-dropdown-button"></ng-content>\n <ng-content select="ng2-dropdown-menu"></ng-content>\n</div>\n',providers:[h]}]}],e.ctorParameters=function(){return[{type:h}]},e.propDecorators={button:[{type:t.ContentChild,args:[i]}],menu:[{type:t.ContentChild,args:[f]}],dynamicUpdate:[{type:t.Input}],onItemClicked:[{type:t.Output}],onItemSelected:[{type:t.Output}],onShow:[{type:t.Output}],onHide:[{type:t.Output}],scrollListener:[{type:t.HostListener,args:["window:scroll"]}]},e}(),y=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{exports:[m,i,f,g],declarations:[g,m,i,f],imports:[o.CommonModule]}]}],e}();e.Ng2Dropdown=g,e.Ng2DropdownMenu=f,e.Ng2MenuItem=m,e.Ng2DropdownButton=i,e.Ng2DropdownModule=y,e.DropdownStateService=h,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
//# sourceMappingURL=ng2-material-dropdown.umd.min.js.map |
@@ -220,15 +220,9 @@ /** | ||
trigger('fade', [ | ||
state('visible', style({ display: 'block', height: '*', width: '*' })), | ||
state('hidden', style({ display: 'none', overflow: 'hidden', height: 0, width: 0 })), | ||
state('visible', style({ display: 'block', opacity: 1, height: '*', width: '*' })), | ||
state('hidden', style({ display: 'none', opacity: 0, overflow: 'hidden', height: 0, width: 0 })), | ||
transition('hidden => visible', [ | ||
animate('250ms ease-in', keyframes([ | ||
style({ opacity: 0, offset: 0 }), | ||
style({ opacity: 1, offset: 1, height: '*', width: '*' }), | ||
])) | ||
animate('250ms ease-in', style({ opacity: 1, height: '*', width: '*' })) | ||
]), | ||
transition('visible => hidden', [ | ||
animate('350ms ease-out', keyframes([ | ||
style({ opacity: 1, offset: 0 }), | ||
style({ opacity: 0, offset: 1, width: '0', height: '0' }), | ||
])) | ||
animate('350ms ease-out', style({ opacity: 0, width: 0, height: 0 })) | ||
]) | ||
@@ -322,2 +316,2 @@ ]), | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLWRyb3Bkb3duLW1lbnUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZzItbWF0ZXJpYWwtZHJvcGRvd24vIiwic291cmNlcyI6WyJzcmMvbW9kdWxlcy9jb21wb25lbnRzL21lbnUvbmcyLWRyb3Bkb3duLW1lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFFBQVEsRUFDUixlQUFlLEVBQ2YsU0FBUyxFQUNULEtBQUssRUFDUixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0gsT0FBTyxFQUNQLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxFQUNQLFNBQVMsRUFDVCxLQUFLLEVBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQTBEN0UsTUFBTTs7Ozs7O0lBd0NGLFlBQW1CLEtBQTJCLEVBQzFCLFNBQ0E7UUFGRCxVQUFLLEdBQUwsS0FBSyxDQUFzQjtRQUMxQixZQUFPLEdBQVAsT0FBTztRQUNQLGFBQVEsR0FBUixRQUFROzs7O3FCQXRDSSxDQUFDOzs7OztpQ0FNWSxJQUFJOzs7OzRCQVdULElBQUk7Ozs7c0JBS25CLElBQUk7eUJBU1Q7WUFDaEIsWUFBWSxFQUFFLFNBQVM7WUFDdkIsY0FBYyxFQUFFLFNBQVM7U0FDNUI7S0FJeUM7Ozs7Ozs7O0lBTW5DLElBQUksQ0FBQyxRQUFxQixFQUFFLE9BQU8sR0FBRyxJQUFJO1FBQzdDLHVCQUFNLEVBQUUsR0FBRyxPQUFPLFFBQVEsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2xFLHVCQUFNLEVBQUUsR0FBRyxPQUFPLE1BQU0s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S0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFDLENBQUM7Z0NBQzlCLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBQyxDQUFDO2dDQUNsQyxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUMsQ0FBQzs2QkFDakMsQ0FBQyxDQUFDO3lCQUNOLENBQUM7cUJBQ0wsQ0FBQztpQkFDTDthQUNKOzs7O1lBekRRLG9CQUFvQjtZQW5CekIsVUFBVTtZQUNWLFFBQVE7OztzQkFnRlAsS0FBSztrQ0FNTCxLQUFLO3VCQU1MLEtBQUs7NkJBS0wsS0FBSzt1QkFLTCxLQUFLO3NCQUtMLGVBQWUsU0FBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBSZW5kZXJlcixcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgUXVlcnlMaXN0LFxuICAgIElucHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIHRyaWdnZXIsXG4gICAgc3R5bGUsXG4gICAgdHJhbnNpdGlvbixcbiAgICBhbmltYXRlLFxuICAgIGtleWZyYW1lcyxcbiAgICBzdGF0ZVxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuaW1wb3J0IHsgQUNUSU9OUywgYXJyb3dLZXlzSGFuZGxlciB9IGZyb20gJy4vYWN0aW9ucyc7XG5cbmltcG9ydCB7IE5nMk1lbnVJdGVtIH0gZnJvbSAnLi4vbWVudS1pdGVtL25nMi1tZW51LWl0ZW0nO1xuaW1wb3J0IHsgRHJvcGRvd25TdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kcm9wZG93bi1zdGF0ZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZzItZHJvcGRvd24tbWVudScsXG4gICAgc3R5bGVzOiBbYDpob3N0e2Rpc3BsYXk6YmxvY2t9Lm5nMi1kcm9wZG93bi1tZW51e292ZXJmbG93LXk6YXV0bztib3gtc2hhZG93OjAgMXB4IDJweCAwIHJnYmEoMCwwLDAsLjMpO3Bvc2l0aW9uOmFic29sdXRlO3BhZGRpbmc6LjVlbSAwO2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjFweDttYXgtaGVpZ2h0OjQwMHB4O3dpZHRoOjI2MHB4O21pbi1oZWlnaHQ6MDtkaXNwbGF5OmJsb2NrfS5uZzItZHJvcGRvd24tbWVudS5uZzItZHJvcGRvd24tbWVudS0taW5zaWRlLWVsZW1lbnR7cG9zaXRpb246Zml4ZWR9Lm5nMi1kcm9wZG93bi1tZW51Lm5nMi1kcm9wZG93bi1tZW51LS13aWR0aC0tMnt3aWR0aDoyMDBweH0ubmcyLWRyb3Bkb3duLW1lbnUubmcyLWRyb3Bkb3duLW1lbnUtLXdpZHRoLS00e3dpZHRoOjI2MHB4fS5uZzItZHJvcGRvd24tbWVudS5uZzItZHJvcGRvd24tbWVudS0td2lkdGgtLTZ7d2lkdGg6MzIwcHh9Lm5nMi1kcm9wZG93bi1iYWNrZHJvcHtwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjE7b3ZlcmZsb3c6aGlkZGVufTpob3N0IC9kZWVwLyAubmcyLW1lbnUtZGl2aWRlcntoZWlnaHQ6MXB4O21pbi1oZWlnaHQ6MXB4O21heC1oZWlnaHQ6MXB4O3dpZHRoOjEwMCU7ZGlzcGxheTpibG9jaztiYWNrZ3JvdW5kOiNmOWY5Zjl9YF0sXG4gICAgdGVtcGxhdGU6IGA8IS0tIE1FTlUgLS0+XG48ZGl2IGNsYXNzPSduZzItZHJvcGRvd24tbWVudSBuZzItZHJvcGRvd24tbWVudS0tLXdpZHRoLS17eyB3aWR0aCB9fSdcbiAgICAgW2NsYXNzLm5nMi1kcm9wZG93bi1tZW51LS1pbnNpZGUtZWxlbWVudF09XCIhYXBwZW5kVG9Cb2R5XCJcbiAgICAgW2NsYXNzLm5nMi1kcm9wZG93bi1tZW51LS1vcGVuXT1cInN0YXRlLm1lbnVTdGF0ZS5pc1Zpc2libGVcIlxuICAgICBbc3R5bGUuei1pbmRleF09XCJ6SW5kZXhcIlxuICAgICBbQGZhZGVdPVwic3RhdGUubWVudVN0YXRlLnRvU3RyaW5nKClcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm5nMi1kcm9wZG93bi1tZW51X19vcHRpb25zLWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgW0BvcGFjaXR5XT1cInN0YXRlLm1lbnVTdGF0ZS50b1N0cmluZygpXCI+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuPC9kaXY+XG5cbjwhLS0gQkFDS0RST1AgLS0+XG48ZGl2IGNsYXNzPVwibmcyLWRyb3Bkb3duLWJhY2tkcm9wXCIgKm5nSWY9XCJzdGF0ZS5tZW51U3RhdGUuaXNWaXNpYmxlXCIgKGNsaWNrKT1cImhpZGUoKVwiPjwvZGl2PlxuYCxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ2ZhZGUnLCBbXG4gICAgICAgICAgICBzdGF0ZSgndmlzaWJsZScsIHN0eWxlKFxuICAgICAgICAgICAgICAgIHtkaXNwbGF5OiAnYmxvY2snLCBoZWlnaHQ6ICcqJywgd2lkdGg6ICcqJ31cbiAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgc3RhdGUoJ2hpZGRlbicsIHN0eWxlKFxuICAgICAgICAgICAgICAgIHtkaXNwbGF5OiAnbm9uZScsIG92ZXJmbG93OiAnaGlkZGVuJywgaGVpZ2h0OiAwLCB3aWR0aDogMH1cbiAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignaGlkZGVuID0+IHZpc2libGUnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMjUwbXMgZWFzZS1pbicsIGtleWZyYW1lcyhbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtvcGFjaXR5OiAwLCBvZmZzZXQ6IDB9KSxcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe29wYWNpdHk6IDEsIG9mZnNldDogMSwgaGVpZ2h0OiAnKicsIHdpZHRoOiAnKid9KSxcbiAgICAgICAgICAgICAgICBdKSlcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbigndmlzaWJsZSA9PiBoaWRkZW4nLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMzUwbXMgZWFzZS1vdXQnLCBrZXlmcmFtZXMoW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMSwgb2Zmc2V0OiAwfSksXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtvcGFjaXR5OiAwLCBvZmZzZXQ6IDEsIHdpZHRoOiAnMCcsIGhlaWdodDogJzAnfSksXG4gICAgICAgICAgICAgICAgXSkpXG4gICAgICAgICAgICBdKVxuICAgICAgICBdKSxcbiAgICAgICAgdHJpZ2dlcignb3BhY2l0eScsIFtcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2hpZGRlbiA9PiB2aXNpYmxlJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzQ1MG1zIGVhc2UtaW4nLCBrZXlmcmFtZXMoW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMCwgb2Zmc2V0OiAwfSksXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtvcGFjaXR5OiAxLCBvZmZzZXQ6IDF9KSxcbiAgICAgICAgICAgICAgICBdKSlcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbigndmlzaWJsZSA9PiBoaWRkZW4nLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMjUwbXMgZWFzZS1vdXQnLCBrZXlmcmFtZXMoW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMSwgb2Zmc2V0OiAwfSksXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtvcGFjaXR5OiAwLjUsIG9mZnNldDogMC4zfSksXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtvcGFjaXR5OiAwLCBvZmZzZXQ6IDF9KSxcbiAgICAgICAgICAgICAgICBdKSlcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZzJEcm9wZG93bk1lbnUge1xuICAgIC8qKlxuICAgICAqIEBuYW1lIHdpZHRoXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHdpZHRoOiBudW1iZXIgPSA0O1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIGlmIHNldCB0byB0cnVlLCB0aGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgZHJvcGRvd24gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGZvY3VzZWRcbiAgICAgKiBAbmFtZSBmb2N1c0ZpcnN0RWxlbWVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBmb2N1c0ZpcnN0RWxlbWVudDogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gc2V0cyBkcm9wZG93biBvZmZzZXQgZnJvbSB0aGUgYnV0dG9uXG4gICAgICogQG5hbWUgb2Zmc2V0IHtzdHJpbmd9IGZvbGxvdyBmb3JtYXQgJzxudW1iZXI+IDxudW1iZXI+JyBleC4gJzAgMjAnXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIG9mZnNldDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQG5hbWUgYXBwZW5kVG9Cb2R5XG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIGFwcGVuZFRvQm9keTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBAbmFtZSB6SW5kZXhcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgekluZGV4ID0gMTAwMDtcblxuICAgIC8qKlxuICAgICAqIEBuYW1lIGl0ZW1zXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihOZzJNZW51SXRlbSkgcHVibGljIGl0ZW1zOiBRdWVyeUxpc3Q8TmcyTWVudUl0ZW0+O1xuXG4gICAgcHJpdmF0ZSBwb3NpdGlvbjogQ2xpZW50UmVjdDtcblxuICAgIHByaXZhdGUgbGlzdGVuZXJzID0ge1xuICAgICAgICBhcnJvd0hhbmRsZXI6IHVuZGVmaW5lZCxcbiAgICAgICAgaGFuZGxlS2V5cHJlc3M6IHVuZGVmaW5lZFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgc3RhdGU6IERyb3Bkb3duU3RhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcikge31cblxuICAgIC8qKlxuICAgICAqIEBuYW1lIHNob3dcbiAgICAgKiBAc2hvd3MgbWVudSBhbmQgc2VsZWN0cyBmaXJzdCBpdGVtXG4gICAgICovXG4gICAgcHVibGljIHNob3cocG9zaXRpb24/OiBDbGllbnRSZWN0LCBkeW5hbWljID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBkYyA9IHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgPyBkb2N1bWVudCA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qgd2QgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdyA6IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAoIXRoaXMuc3RhdGUubWVudVN0YXRlLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgLy8gc2V0dGluZyBoYW5kbGVyc1xuICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnMuaGFuZGxlS2V5cHJlc3MgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbihkYy5ib2R5LCAna2V5ZG93bicsIHRoaXMuaGFuZGxlS2V5cHJlc3MuYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB0aGlzLmxpc3RlbmVycy5hcnJvd0hhbmRsZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih3ZCwgJ2tleWRvd24nLCBhcnJvd0tleXNIYW5kbGVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHVwZGF0ZSBzdGF0ZVxuICAgICAgICB0aGlzLnN0YXRlLm1lbnVTdGF0ZS5pc1Zpc2libGUgPSB0cnVlO1xuXG4gICAgICAgIGlmIChwb3NpdGlvbikge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVQb3NpdGlvbihwb3NpdGlvbiwgZHluYW1pYyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAbmFtZSBoaWRlXG4gICAgICogQGRlc2MgaGlkZXMgbWVudVxuICAgICAqL1xuICAgIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0YXRlLm1lbnVTdGF0ZS5pc1Zpc2libGUgPSBmYWxzZTtcblxuICAgICAgICAvLyByZXNldCBzZWxlY3RlZCBpdGVtIHN0YXRlXG4gICAgICAgIHRoaXMuc3RhdGUuZHJvcGRvd25TdGF0ZS51bnNlbGVjdCgpO1xuXG4gICAgICAgIC8vIGNhbGwgZnVuY3Rpb24gdG8gdW5saXN0ZW5cbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuYXJyb3dIYW5kbGVyID8gdGhpcy5saXN0ZW5lcnMuYXJyb3dIYW5kbGVyKCkgOiB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMubGlzdGVuZXJzLmhhbmRsZUtleXByZXNzID8gdGhpcy5saXN0ZW5lcnMuaGFuZGxlS2V5cHJlc3MoKSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAbmFtZSB1cGRhdGVQb3NpdGlvblxuICAgICAqIEBkZXNjIHVwZGF0ZXMgdGhlIG1lbnUgcG9zaXRpb24gZXZlcnkgdGltZSBpdCBpcyB0b2dnbGVkXG4gICAgICogQHBhcmFtIHBvc2l0aW9uIHtDbGllbnRSZWN0fVxuICAgICAqIEBwYXJhbSBkeW5hbWljIHtib29sZWFufVxuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGVQb3NpdGlvbihwb3NpdGlvbjogQ2xpZW50UmVjdCwgZHluYW1pYzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnBvc2l0aW9uID0gcG9zaXRpb247XG4gICAgICAgIHRoaXMudXBkYXRlT25DaGFuZ2UoZHluYW1pYyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG5hbWUgaGFuZGxlS2V5cHJlc3NcbiAgICAgKiBAZGVzYyBleGVjdXRlcyBmdW5jdGlvbnMgb24ga2V5UHJlc3MgYmFzZWQgb24gdGhlIGtleSBwcmVzc2VkXG4gICAgICogQHBhcmFtICRldmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBoYW5kbGVLZXlwcmVzcygkZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qga2V5ID0gJGV2ZW50LmtleUNvZGU7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtcy50b0FycmF5KCk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gaXRlbXMuaW5kZXhPZih0aGlzLnN0YXRlLmRyb3Bkb3duU3RhdGUuc2VsZWN0ZWRJdGVtKTtcblxuICAgICAgICBpZiAoIUFDVElPTlMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgQUNUSU9OU1trZXldLmNhbGwodGhpcywgaW5kZXgsIGl0ZW1zLCB0aGlzLnN0YXRlLmRyb3Bkb3duU3RhdGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBuYW1lIGdldE1lbnVFbGVtZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRNZW51RWxlbWVudCgpOiBFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNoaWxkcmVuWzBdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBuYW1lIGNhbGNQb3NpdGlvbk9mZnNldFxuICAgICAqIEBwYXJhbSBwb3NpdGlvblxuICAgICAqL1xuICAgIHByaXZhdGUgY2FsY1Bvc2l0aW9uT2Zmc2V0KHBvc2l0aW9uKTogeyB0b3A6IHN0cmluZywgbGVmdDogc3RyaW5nIH0ge1xuICAgICAgICBjb25zdCB3ZCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93IDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBkYyA9IHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgPyBkb2N1bWVudCA6IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAoIXdkIHx8ICFkYyB8fCAhcG9zaXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmdldE1lbnVFbGVtZW50KCk7XG4gICAgICAgIGNvbnN0IHN1cHBvcnRQYWdlT2Zmc2V0ID0gd2QucGFnZVhPZmZzZXQgIT09IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgaXNDU1MxQ29tcGF0ID0gKChkYy5jb21wYXRNb2RlIHx8ICcnKSA9PT0gJ0NTUzFDb21wYXQnKTtcblxuICAgICAgICBjb25zdCB4ID0gc3VwcG9ydFBhZ2VPZmZzZXQgPyB3ZC5wYWdlWE9mZnNldCA6IGlzQ1NTMUNvbXBhdCA/XG4gICAgICAgICAgICBkYy5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCA6IGRjLmJvZHkuc2Nyb2xsTGVmdDtcblxuICAgICAgICBjb25zdCB5ID0gc3VwcG9ydFBhZ2VPZmZzZXQgPyB3ZC5wYWdlWU9mZnNldCA6IGlzQ1NTMUNvbXBhdCA/XG4gICAgICAgICAgICBkYy5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIDogZGMuYm9keS5zY3JvbGxUb3A7XG5cbiAgICAgICAgbGV0IHsgdG9wLCBsZWZ0IH0gPSB0aGlzLmFwcGx5T2Zmc2V0KFxuICAgICAgICAgICAgYCR7cG9zaXRpb24udG9wICsgKHRoaXMuYXBwZW5kVG9Cb2R5ID8geSAtIDE1IDogMCl9cHhgLFxuICAgICAgICAgICAgYCR7cG9zaXRpb24ubGVmdCArIHggLSA1fXB4YFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGNsaWVudFdpZHRoID0gZWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgICAgY29uc3QgY2xpZW50SGVpZ2h0ID0gZWxlbWVudC5jbGllbnRIZWlnaHQ7XG5cbiAgICAgICAgY29uc3QgbWFyZ2luRnJvbUJvdHRvbSA9IHBhcnNlSW50KHRvcCkgKyBjbGllbnRIZWlnaHQgKyAodGhpcy5hcHBlbmRUb0JvZHkgPyAwIDogeSAtIDE1KTtcbiAgICAgICAgY29uc3QgbWFyZ2luRnJvbVJpZ2h0ID0gcGFyc2VJbnQobGVmdCkgKyBjbGllbnRXaWR0aDtcblxuICAgICAgICBjb25zdCB3aW5kb3dTY3JvbGxIZWlnaHQgPSB3ZC5pbm5lckhlaWdodCArIHdkLnNjcm9sbFk7XG4gICAgICAgIGNvbnN0IHdpbmRvd1Njcm9sbFdpZHRoID0gd2QuaW5uZXJXaWR0aCArIHdkLnNjcm9sbFg7XG5cbiAgICAgICAgaWYgKG1hcmdpbkZyb21Cb3R0b20gPj0gd2luZG93U2Nyb2xsSGVpZ2h0KSB7XG4gICAgICAgICAgICB0b3AgPSBgJHtwYXJzZUludCh0b3AucmVwbGFjZSgncHgnLCAnJykpIC0gY2xpZW50SGVpZ2h0fXB4YDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtYXJnaW5Gcm9tUmlnaHQgPj0gd2luZG93U2Nyb2xsV2lkdGgpIHtcbiAgICAgICAgICAgIGNvbnN0IG1hcmdpblJpZ2h0ID0gbWFyZ2luRnJvbVJpZ2h0IC0gd2luZG93U2Nyb2xsV2lkdGggKyAzMDtcbiAgICAgICAgICAgIGxlZnQgPSBgJHtwYXJzZUludChsZWZ0LnJlcGxhY2UoJ3B4JywgJycpKSAtIG1hcmdpblJpZ2h0fXB4YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7IHRvcCwgbGVmdCB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgYXBwbHlPZmZzZXQodG9wOiBzdHJpbmcsIGxlZnQ6IHN0cmluZyk6IHsgdG9wOiBzdHJpbmcsIGxlZnQ6IHN0cmluZyB9IHtcbiAgICAgICAgaWYgKCF0aGlzLm9mZnNldCkge1xuICAgICAgICAgICAgcmV0dXJuIHsgdG9wLCBsZWZ0IH07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvZmZzZXQgPSB0aGlzLm9mZnNldC5zcGxpdCgnICcpO1xuXG4gICAgICAgIGlmICghb2Zmc2V0WzFdKSB7XG4gICAgICAgICAgICBvZmZzZXRbMV0gPSAnMCc7XG4gICAgICAgIH1cblxuICAgICAgICB0b3AgPSBgJHtwYXJzZUludCh0b3AucmVwbGFjZSgncHgnLCAnJykpICsgcGFyc2VJbnQob2Zmc2V0WzBdKX1weGA7XG4gICAgICAgIGxlZnQgPSBgJHtwYXJzZUludChsZWZ0LnJlcGxhY2UoJ3B4JywgJycpKSArIHBhcnNlSW50KG9mZnNldFsxXSl9cHhgO1xuXG4gICAgICAgIHJldHVybiB7IHRvcCwgbGVmdCB9O1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc3QgZGMgPSB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnID8gZG9jdW1lbnQgOiB1bmRlZmluZWQ7XG4gICAgICAgIGlmICh0aGlzLmFwcGVuZFRvQm9keSkge1xuICAgICAgICAgICAgLy8gYXBwZW5kIG1lbnUgZWxlbWVudCB0byB0aGUgYm9keVxuICAgICAgICAgICAgZGMuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlT25DaGFuZ2UoZHluYW1pYyA9IHRydWUpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZ2V0TWVudUVsZW1lbnQoKTtcbiAgICAgICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLmNhbGNQb3NpdGlvbk9mZnNldCh0aGlzLnBvc2l0aW9uKTtcblxuICAgICAgICBpZiAocG9zaXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0RWxlbWVudFN0eWxlKGVsZW1lbnQsICd0b3AnLCBwb3NpdGlvbi50b3AudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEVsZW1lbnRTdHlsZShlbGVtZW50LCAnbGVmdCcsIHBvc2l0aW9uLmxlZnQudG9TdHJpbmcoKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBzZWxlY3QgZmlyc3QgaXRlbSB1bmxlc3MgdXNlciBkaXNhYmxlZCB0aGlzIG9wdGlvblxuICAgICAgICBpZiAodGhpcy5mb2N1c0ZpcnN0RWxlbWVudCAmJlxuICAgICAgICAgICAgdGhpcy5pdGVtcy5maXJzdCAmJlxuICAgICAgICAgICAgIXRoaXMuc3RhdGUuZHJvcGRvd25TdGF0ZS5zZWxlY3RlZEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUuZHJvcGRvd25TdGF0ZS5zZWxlY3QodGhpcy5pdGVtcy5maXJzdCwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICBjb25zdCBlbGVtID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGVsZW0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbGVtKTtcblxuICAgICAgICBpZiAodGhpcy5saXN0ZW5lcnMuaGFuZGxlS2V5cHJlc3MpIHtcbiAgICAgICAgICAgIHRoaXMubGlzdGVuZXJzLmhhbmRsZUtleXByZXNzKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLWRyb3Bkb3duLW1lbnUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZzItbWF0ZXJpYWwtZHJvcGRvd24vIiwic291cmNlcyI6WyJzcmMvbW9kdWxlcy9jb21wb25lbnRzL21lbnUvbmcyLWRyb3Bkb3duLW1lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFFBQVEsRUFDUixlQUFlLEVBQ2YsU0FBUyxFQUNULEtBQUssRUFDUixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0gsT0FBTyxFQUNQLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxFQUNQLFNBQVMsRUFDVCxLQUFLLEVBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQXdEN0UsTUFBTTs7Ozs7O0lBd0NGLFlBQW1CLEtBQTJCLEVBQzFCLFNBQ0E7UUFGRCxVQUFLLEdBQUwsS0FBSyxDQUFzQjtRQUMxQixZQUFPLEdBQVAsT0FBTztRQUNQLGFBQVEsR0FBUixRQUFROzs7O3FCQXRDSSxDQUFDOzs7OztpQ0FNWSxJQUFJOzs7OzRCQVdULElBQUk7Ozs7c0JBS25CLElBQUk7eUJBU1Q7WUFDaEIsWUFBWSxFQUFFLFNBQVM7WUFDdkIsY0FBYyxFQUFFLFNBQVM7U0FDNUI7S0FJeUM7Ozs7Ozs7O0lBTW5DLElBQUksQ0FBQyxRQUFxQixFQUFFLE9BQU8sR0FBRyxJQUFJO1FBQzdDLHVCQUFNLEVBQUUsR0FBRyxPQUFPLFFBQVEsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2xFLHVCQUFNLEVBQUUsR0FBRyxPQUFPLE1BQU0s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LENBQUM7NkJBQ2pDLENBQUMsQ0FBQzt5QkFDTixDQUFDO3FCQUNMLENBQUM7aUJBQ0w7YUFDSjs7OztZQXZEUSxvQkFBb0I7WUFuQnpCLFVBQVU7WUFDVixRQUFROzs7c0JBOEVQLEtBQUs7a0NBTUwsS0FBSzt1QkFNTCxLQUFLOzZCQUtMLEtBQUs7dUJBS0wsS0FBSztzQkFLTCxlQUFlLFNBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgUmVuZGVyZXIsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBJbnB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgICB0cmlnZ2VyLFxuICAgIHN0eWxlLFxuICAgIHRyYW5zaXRpb24sXG4gICAgYW5pbWF0ZSxcbiAgICBrZXlmcmFtZXMsXG4gICAgc3RhdGVcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmltcG9ydCB7IEFDVElPTlMsIGFycm93S2V5c0hhbmRsZXIgfSBmcm9tICcuL2FjdGlvbnMnO1xuXG5pbXBvcnQgeyBOZzJNZW51SXRlbSB9IGZyb20gJy4uL21lbnUtaXRlbS9uZzItbWVudS1pdGVtJztcbmltcG9ydCB7IERyb3Bkb3duU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZHJvcGRvd24tc3RhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmcyLWRyb3Bkb3duLW1lbnUnLFxuICAgIHN0eWxlczogW2A6aG9zdHtkaXNwbGF5OmJsb2NrfS5uZzItZHJvcGRvd24tbWVudXtvdmVyZmxvdy15OmF1dG87Ym94LXNoYWRvdzowIDFweCAycHggMCByZ2JhKDAsMCwwLC4zKTtwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nOi41ZW0gMDtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czoxcHg7bWF4LWhlaWdodDo0MDBweDt3aWR0aDoyNjBweDttaW4taGVpZ2h0OjA7ZGlzcGxheTpibG9ja30ubmcyLWRyb3Bkb3duLW1lbnUubmcyLWRyb3Bkb3duLW1lbnUtLWluc2lkZS1lbGVtZW50e3Bvc2l0aW9uOmZpeGVkfS5uZzItZHJvcGRvd24tbWVudS5uZzItZHJvcGRvd24tbWVudS0td2lkdGgtLTJ7d2lkdGg6MjAwcHh9Lm5nMi1kcm9wZG93bi1tZW51Lm5nMi1kcm9wZG93bi1tZW51LS13aWR0aC0tNHt3aWR0aDoyNjBweH0ubmcyLWRyb3Bkb3duLW1lbnUubmcyLWRyb3Bkb3duLW1lbnUtLXdpZHRoLS02e3dpZHRoOjMyMHB4fS5uZzItZHJvcGRvd24tYmFja2Ryb3B7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDoxO292ZXJmbG93OmhpZGRlbn06aG9zdCAvZGVlcC8gLm5nMi1tZW51LWRpdmlkZXJ7aGVpZ2h0OjFweDttaW4taGVpZ2h0OjFweDttYXgtaGVpZ2h0OjFweDt3aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZDojZjlmOWY5fWBdLFxuICAgIHRlbXBsYXRlOiBgPCEtLSBNRU5VIC0tPlxuPGRpdiBjbGFzcz0nbmcyLWRyb3Bkb3duLW1lbnUgbmcyLWRyb3Bkb3duLW1lbnUtLS13aWR0aC0te3sgd2lkdGggfX0nXG4gICAgIFtjbGFzcy5uZzItZHJvcGRvd24tbWVudS0taW5zaWRlLWVsZW1lbnRdPVwiIWFwcGVuZFRvQm9keVwiXG4gICAgIFtjbGFzcy5uZzItZHJvcGRvd24tbWVudS0tb3Blbl09XCJzdGF0ZS5tZW51U3RhdGUuaXNWaXNpYmxlXCJcbiAgICAgW3N0eWxlLnotaW5kZXhdPVwiekluZGV4XCJcbiAgICAgW0BmYWRlXT1cInN0YXRlLm1lbnVTdGF0ZS50b1N0cmluZygpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuZzItZHJvcGRvd24tbWVudV9fb3B0aW9ucy1jb250YWluZXJcIlxuICAgICAgICAgICAgIFtAb3BhY2l0eV09XCJzdGF0ZS5tZW51U3RhdGUudG9TdHJpbmcoKVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbjwvZGl2PlxuXG48IS0tIEJBQ0tEUk9QIC0tPlxuPGRpdiBjbGFzcz1cIm5nMi1kcm9wZG93bi1iYWNrZHJvcFwiICpuZ0lmPVwic3RhdGUubWVudVN0YXRlLmlzVmlzaWJsZVwiIChjbGljayk9XCJoaWRlKClcIj48L2Rpdj5cbmAsXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdmYWRlJywgW1xuICAgICAgICAgICAgc3RhdGUoJ3Zpc2libGUnLCBzdHlsZShcbiAgICAgICAgICAgICAgICB7ZGlzcGxheTogJ2Jsb2NrJywgb3BhY2l0eTogMSwgaGVpZ2h0OiAnKicsIHdpZHRoOiAnKid9XG4gICAgICAgICAgICApKSxcbiAgICAgICAgICAgIHN0YXRlKCdoaWRkZW4nLCBzdHlsZShcbiAgICAgICAgICAgICAgICB7ZGlzcGxheTogJ25vbmUnLCBvcGFjaXR5OiAwLCBvdmVyZmxvdzogJ2hpZGRlbicsIGhlaWdodDogMCwgd2lkdGg6IDB9XG4gICAgICAgICAgICApKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2hpZGRlbiA9PiB2aXNpYmxlJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzI1MG1zIGVhc2UtaW4nLFxuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMSwgaGVpZ2h0OiAnKicsIHdpZHRoOiAnKid9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbigndmlzaWJsZSA9PiBoaWRkZW4nLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMzUwbXMgZWFzZS1vdXQnLFxuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMCwgd2lkdGg6IDAsIGhlaWdodDogMH0pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgXSlcbiAgICAgICAgXSksXG4gICAgICAgIHRyaWdnZXIoJ29wYWNpdHknLCBbXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdoaWRkZW4gPT4gdmlzaWJsZScsIFtcbiAgICAgICAgICAgICAgICBhbmltYXRlKCc0NTBtcyBlYXNlLWluJywga2V5ZnJhbWVzKFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe29wYWNpdHk6IDAsIG9mZnNldDogMH0pLFxuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMSwgb2Zmc2V0OiAxfSksXG4gICAgICAgICAgICAgICAgXSkpXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ3Zpc2libGUgPT4gaGlkZGVuJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzI1MG1zIGVhc2Utb3V0Jywga2V5ZnJhbWVzKFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe29wYWNpdHk6IDEsIG9mZnNldDogMH0pLFxuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMC41LCBvZmZzZXQ6IDAuM30pLFxuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMCwgb2Zmc2V0OiAxfSksXG4gICAgICAgICAgICAgICAgXSkpXG4gICAgICAgICAgICBdKVxuICAgICAgICBdKVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmcyRHJvcGRvd25NZW51IHtcbiAgICAvKipcbiAgICAgKiBAbmFtZSB3aWR0aFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB3aWR0aDogbnVtYmVyID0gNDtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBpZiBzZXQgdG8gdHJ1ZSwgdGhlIGZpcnN0IGVsZW1lbnQgb2YgdGhlIGRyb3Bkb3duIHdpbGwgYmUgYXV0b21hdGljYWxseSBmb2N1c2VkXG4gICAgICogQG5hbWUgZm9jdXNGaXJzdEVsZW1lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgZm9jdXNGaXJzdEVsZW1lbnQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIHNldHMgZHJvcGRvd24gb2Zmc2V0IGZyb20gdGhlIGJ1dHRvblxuICAgICAqIEBuYW1lIG9mZnNldCB7c3RyaW5nfSBmb2xsb3cgZm9ybWF0ICc8bnVtYmVyPiA8bnVtYmVyPicgZXguICcwIDIwJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBvZmZzZXQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBuYW1lIGFwcGVuZFRvQm9keVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBhcHBlbmRUb0JvZHk6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQG5hbWUgekluZGV4XG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHpJbmRleCA9IDEwMDA7XG5cbiAgICAvKipcbiAgICAgKiBAbmFtZSBpdGVtc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTmcyTWVudUl0ZW0pIHB1YmxpYyBpdGVtczogUXVlcnlMaXN0PE5nMk1lbnVJdGVtPjtcblxuICAgIHByaXZhdGUgcG9zaXRpb246IENsaWVudFJlY3Q7XG5cbiAgICBwcml2YXRlIGxpc3RlbmVycyA9IHtcbiAgICAgICAgYXJyb3dIYW5kbGVyOiB1bmRlZmluZWQsXG4gICAgICAgIGhhbmRsZUtleXByZXNzOiB1bmRlZmluZWRcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHN0YXRlOiBEcm9wZG93blN0YXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIpIHt9XG5cbiAgICAvKipcbiAgICAgKiBAbmFtZSBzaG93XG4gICAgICogQHNob3dzIG1lbnUgYW5kIHNlbGVjdHMgZmlyc3QgaXRlbVxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93KHBvc2l0aW9uPzogQ2xpZW50UmVjdCwgZHluYW1pYyA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGMgPSB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnID8gZG9jdW1lbnQgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHdkID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKCF0aGlzLnN0YXRlLm1lbnVTdGF0ZS5pc1Zpc2libGUpIHtcbiAgICAgICAgICAgIC8vIHNldHRpbmcgaGFuZGxlcnNcbiAgICAgICAgICAgIHRoaXMubGlzdGVuZXJzLmhhbmRsZUtleXByZXNzID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oZGMuYm9keSwgJ2tleWRvd24nLCB0aGlzLmhhbmRsZUtleXByZXNzLmJpbmQodGhpcykpO1xuICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnMuYXJyb3dIYW5kbGVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4od2QsICdrZXlkb3duJywgYXJyb3dLZXlzSGFuZGxlcik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB1cGRhdGUgc3RhdGVcbiAgICAgICAgdGhpcy5zdGF0ZS5tZW51U3RhdGUuaXNWaXNpYmxlID0gdHJ1ZTtcblxuICAgICAgICBpZiAocG9zaXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24ocG9zaXRpb24sIGR5bmFtaWMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG5hbWUgaGlkZVxuICAgICAqIEBkZXNjIGhpZGVzIG1lbnVcbiAgICAgKi9cbiAgICBwdWJsaWMgaGlkZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdGF0ZS5tZW51U3RhdGUuaXNWaXNpYmxlID0gZmFsc2U7XG5cbiAgICAgICAgLy8gcmVzZXQgc2VsZWN0ZWQgaXRlbSBzdGF0ZVxuICAgICAgICB0aGlzLnN0YXRlLmRyb3Bkb3duU3RhdGUudW5zZWxlY3QoKTtcblxuICAgICAgICAvLyBjYWxsIGZ1bmN0aW9uIHRvIHVubGlzdGVuXG4gICAgICAgIHRoaXMubGlzdGVuZXJzLmFycm93SGFuZGxlciA/IHRoaXMubGlzdGVuZXJzLmFycm93SGFuZGxlcigpIDogdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmxpc3RlbmVycy5oYW5kbGVLZXlwcmVzcyA/IHRoaXMubGlzdGVuZXJzLmhhbmRsZUtleXByZXNzKCkgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG5hbWUgdXBkYXRlUG9zaXRpb25cbiAgICAgKiBAZGVzYyB1cGRhdGVzIHRoZSBtZW51IHBvc2l0aW9uIGV2ZXJ5IHRpbWUgaXQgaXMgdG9nZ2xlZFxuICAgICAqIEBwYXJhbSBwb3NpdGlvbiB7Q2xpZW50UmVjdH1cbiAgICAgKiBAcGFyYW0gZHluYW1pYyB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlUG9zaXRpb24ocG9zaXRpb246IENsaWVudFJlY3QsIGR5bmFtaWM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wb3NpdGlvbiA9IHBvc2l0aW9uO1xuICAgICAgICB0aGlzLnVwZGF0ZU9uQ2hhbmdlKGR5bmFtaWMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBuYW1lIGhhbmRsZUtleXByZXNzXG4gICAgICogQGRlc2MgZXhlY3V0ZXMgZnVuY3Rpb25zIG9uIGtleVByZXNzIGJhc2VkIG9uIHRoZSBrZXkgcHJlc3NlZFxuICAgICAqIEBwYXJhbSAkZXZlbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgaGFuZGxlS2V5cHJlc3MoJGV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGtleSA9ICRldmVudC5rZXlDb2RlO1xuICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXMudG9BcnJheSgpO1xuICAgICAgICBjb25zdCBpbmRleCA9IGl0ZW1zLmluZGV4T2YodGhpcy5zdGF0ZS5kcm9wZG93blN0YXRlLnNlbGVjdGVkSXRlbSk7XG5cbiAgICAgICAgaWYgKCFBQ1RJT05TLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIEFDVElPTlNba2V5XS5jYWxsKHRoaXMsIGluZGV4LCBpdGVtcywgdGhpcy5zdGF0ZS5kcm9wZG93blN0YXRlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAbmFtZSBnZXRNZW51RWxlbWVudFxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0TWVudUVsZW1lbnQoKTogRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAbmFtZSBjYWxjUG9zaXRpb25PZmZzZXRcbiAgICAgKiBAcGFyYW0gcG9zaXRpb25cbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbGNQb3NpdGlvbk9mZnNldChwb3NpdGlvbik6IHsgdG9wOiBzdHJpbmcsIGxlZnQ6IHN0cmluZyB9IHtcbiAgICAgICAgY29uc3Qgd2QgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdyA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgZGMgPSB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnID8gZG9jdW1lbnQgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKCF3ZCB8fCAhZGMgfHwgIXBvc2l0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5nZXRNZW51RWxlbWVudCgpO1xuICAgICAgICBjb25zdCBzdXBwb3J0UGFnZU9mZnNldCA9IHdkLnBhZ2VYT2Zmc2V0ICE9PSB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGlzQ1NTMUNvbXBhdCA9ICgoZGMuY29tcGF0TW9kZSB8fCAnJykgPT09ICdDU1MxQ29tcGF0Jyk7XG5cbiAgICAgICAgY29uc3QgeCA9IHN1cHBvcnRQYWdlT2Zmc2V0ID8gd2QucGFnZVhPZmZzZXQgOiBpc0NTUzFDb21wYXQgP1xuICAgICAgICAgICAgZGMuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgOiBkYy5ib2R5LnNjcm9sbExlZnQ7XG5cbiAgICAgICAgY29uc3QgeSA9IHN1cHBvcnRQYWdlT2Zmc2V0ID8gd2QucGFnZVlPZmZzZXQgOiBpc0NTUzFDb21wYXQgP1xuICAgICAgICAgICAgZGMuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCA6IGRjLmJvZHkuc2Nyb2xsVG9wO1xuXG4gICAgICAgIGxldCB7IHRvcCwgbGVmdCB9ID0gdGhpcy5hcHBseU9mZnNldChcbiAgICAgICAgICAgIGAke3Bvc2l0aW9uLnRvcCArICh0aGlzLmFwcGVuZFRvQm9keSA/IHkgLSAxNSA6IDApfXB4YCxcbiAgICAgICAgICAgIGAke3Bvc2l0aW9uLmxlZnQgKyB4IC0gNX1weGBcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBjbGllbnRXaWR0aCA9IGVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgICAgIGNvbnN0IGNsaWVudEhlaWdodCA9IGVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuXG4gICAgICAgIGNvbnN0IG1hcmdpbkZyb21Cb3R0b20gPSBwYXJzZUludCh0b3ApICsgY2xpZW50SGVpZ2h0ICsgKHRoaXMuYXBwZW5kVG9Cb2R5ID8gMCA6IHkgLSAxNSk7XG4gICAgICAgIGNvbnN0IG1hcmdpbkZyb21SaWdodCA9IHBhcnNlSW50KGxlZnQpICsgY2xpZW50V2lkdGg7XG5cbiAgICAgICAgY29uc3Qgd2luZG93U2Nyb2xsSGVpZ2h0ID0gd2QuaW5uZXJIZWlnaHQgKyB3ZC5zY3JvbGxZO1xuICAgICAgICBjb25zdCB3aW5kb3dTY3JvbGxXaWR0aCA9IHdkLmlubmVyV2lkdGggKyB3ZC5zY3JvbGxYO1xuXG4gICAgICAgIGlmIChtYXJnaW5Gcm9tQm90dG9tID49IHdpbmRvd1Njcm9sbEhlaWdodCkge1xuICAgICAgICAgICAgdG9wID0gYCR7cGFyc2VJbnQodG9wLnJlcGxhY2UoJ3B4JywgJycpKSAtIGNsaWVudEhlaWdodH1weGA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWFyZ2luRnJvbVJpZ2h0ID49IHdpbmRvd1Njcm9sbFdpZHRoKSB7XG4gICAgICAgICAgICBjb25zdCBtYXJnaW5SaWdodCA9IG1hcmdpbkZyb21SaWdodCAtIHdpbmRvd1Njcm9sbFdpZHRoICsgMzA7XG4gICAgICAgICAgICBsZWZ0ID0gYCR7cGFyc2VJbnQobGVmdC5yZXBsYWNlKCdweCcsICcnKSkgLSBtYXJnaW5SaWdodH1weGA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4geyB0b3AsIGxlZnQgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5T2Zmc2V0KHRvcDogc3RyaW5nLCBsZWZ0OiBzdHJpbmcpOiB7IHRvcDogc3RyaW5nLCBsZWZ0OiBzdHJpbmcgfSB7XG4gICAgICAgIGlmICghdGhpcy5vZmZzZXQpIHtcbiAgICAgICAgICAgIHJldHVybiB7IHRvcCwgbGVmdCB9O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5vZmZzZXQuc3BsaXQoJyAnKTtcblxuICAgICAgICBpZiAoIW9mZnNldFsxXSkge1xuICAgICAgICAgICAgb2Zmc2V0WzFdID0gJzAnO1xuICAgICAgICB9XG5cbiAgICAgICAgdG9wID0gYCR7cGFyc2VJbnQodG9wLnJlcGxhY2UoJ3B4JywgJycpKSArIHBhcnNlSW50KG9mZnNldFswXSl9cHhgO1xuICAgICAgICBsZWZ0ID0gYCR7cGFyc2VJbnQobGVmdC5yZXBsYWNlKCdweCcsICcnKSkgKyBwYXJzZUludChvZmZzZXRbMV0pfXB4YDtcblxuICAgICAgICByZXR1cm4geyB0b3AsIGxlZnQgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbnN0IGRjID0gdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyA/IGRvY3VtZW50IDogdW5kZWZpbmVkO1xuICAgICAgICBpZiAodGhpcy5hcHBlbmRUb0JvZHkpIHtcbiAgICAgICAgICAgIC8vIGFwcGVuZCBtZW51IGVsZW1lbnQgdG8gdGhlIGJvZHlcbiAgICAgICAgICAgIGRjLmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZU9uQ2hhbmdlKGR5bmFtaWMgPSB0cnVlKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmdldE1lbnVFbGVtZW50KCk7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uID0gdGhpcy5jYWxjUG9zaXRpb25PZmZzZXQodGhpcy5wb3NpdGlvbik7XG5cbiAgICAgICAgaWYgKHBvc2l0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEVsZW1lbnRTdHlsZShlbGVtZW50LCAndG9wJywgcG9zaXRpb24udG9wLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRFbGVtZW50U3R5bGUoZWxlbWVudCwgJ2xlZnQnLCBwb3NpdGlvbi5sZWZ0LnRvU3RyaW5nKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gc2VsZWN0IGZpcnN0IGl0ZW0gdW5sZXNzIHVzZXIgZGlzYWJsZWQgdGhpcyBvcHRpb25cbiAgICAgICAgaWYgKHRoaXMuZm9jdXNGaXJzdEVsZW1lbnQgJiZcbiAgICAgICAgICAgIHRoaXMuaXRlbXMuZmlyc3QgJiZcbiAgICAgICAgICAgICF0aGlzLnN0YXRlLmRyb3Bkb3duU3RhdGUuc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlLmRyb3Bkb3duU3RhdGUuc2VsZWN0KHRoaXMuaXRlbXMuZmlyc3QsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgY29uc3QgZWxlbSA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBlbGVtLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZWxlbSk7XG5cbiAgICAgICAgaWYgKHRoaXMubGlzdGVuZXJzLmhhbmRsZUtleXByZXNzKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3RlbmVycy5oYW5kbGVLZXlwcmVzcygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19 |
@@ -251,15 +251,9 @@ /** | ||
trigger('fade', [ | ||
state('visible', style({ display: 'block', height: '*', width: '*' })), | ||
state('hidden', style({ display: 'none', overflow: 'hidden', height: 0, width: 0 })), | ||
state('visible', style({ display: 'block', opacity: 1, height: '*', width: '*' })), | ||
state('hidden', style({ display: 'none', opacity: 0, overflow: 'hidden', height: 0, width: 0 })), | ||
transition('hidden => visible', [ | ||
animate('250ms ease-in', keyframes([ | ||
style({ opacity: 0, offset: 0 }), | ||
style({ opacity: 1, offset: 1, height: '*', width: '*' }), | ||
])) | ||
animate('250ms ease-in', style({ opacity: 1, height: '*', width: '*' })) | ||
]), | ||
transition('visible => hidden', [ | ||
animate('350ms ease-out', keyframes([ | ||
style({ opacity: 1, offset: 0 }), | ||
style({ opacity: 0, offset: 1, width: '0', height: '0' }), | ||
])) | ||
animate('350ms ease-out', style({ opacity: 0, width: 0, height: 0 })) | ||
]) | ||
@@ -356,2 +350,2 @@ ]), | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLWRyb3Bkb3duLW1lbnUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZzItbWF0ZXJpYWwtZHJvcGRvd24vIiwic291cmNlcyI6WyJzcmMvbW9kdWxlcy9jb21wb25lbnRzL21lbnUvbmcyLWRyb3Bkb3duLW1lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFFBQVEsRUFDUixlQUFlLEVBQ2YsU0FBUyxFQUNULEtBQUssRUFDUixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0gsT0FBTyxFQUNQLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxFQUNQLFNBQVMsRUFDVCxLQUFLLEVBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7SUFrR3pFLHlCQUFtQixLQUEyQixFQUMxQixTQUNBO1FBRkQsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFDMUIsWUFBTyxHQUFQLE9BQU87UUFDUCxhQUFRLEdBQVIsUUFBUTs7OztxQkF0Q0ksQ0FBQzs7Ozs7aUNBTVksSUFBSTs7Ozs0QkFXVCxJQUFJOzs7O3NCQUtuQixJQUFJO3lCQVNUO1lBQ2hCLFlBQVksRUFBRSxTQUFTO1lBQ3ZCLGNBQWMsRUFBRSxTQUFTO1NBQzVCO0tBSXlDOzs7Ozs7OztJQU1uQyw4QkFBSTs7Ozs7OztjQUFDLFFBQXFCLEVBQUUsT0FBYztRQUFkLHdCQUFBLEVBQUEsY0FBYztRQUM3QyxxQkFBTSxFQUFFLEdBQUcsT0FBTyxRQUFRLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNsRSxxQkFBTSxFQUFFLEdBQUcsT0FBTyxN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LENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUMsQ0FBQztpQ0FDakMsQ0FBQyxDQUFDOzZCQUNOLENBQUM7eUJBQ0wsQ0FBQztxQkFDTDtpQkFDSjs7OztnQkF6RFEsb0JBQW9CO2dCQW5CekIsVUFBVTtnQkFDVixRQUFROzs7MEJBZ0ZQLEtBQUs7c0NBTUwsS0FBSzsyQkFNTCxLQUFLO2lDQUtMLEtBQUs7MkJBS0wsS0FBSzswQkFLTCxlQUFlLFNBQUMsV0FBVzs7MEJBOUdoQzs7U0ErRWEsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgUmVuZGVyZXIsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBJbnB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgICB0cmlnZ2VyLFxuICAgIHN0eWxlLFxuICAgIHRyYW5zaXRpb24sXG4gICAgYW5pbWF0ZSxcbiAgICBrZXlmcmFtZXMsXG4gICAgc3RhdGVcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmltcG9ydCB7IEFDVElPTlMsIGFycm93S2V5c0hhbmRsZXIgfSBmcm9tICcuL2FjdGlvbnMnO1xuXG5pbXBvcnQgeyBOZzJNZW51SXRlbSB9IGZyb20gJy4uL21lbnUtaXRlbS9uZzItbWVudS1pdGVtJztcbmltcG9ydCB7IERyb3Bkb3duU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZHJvcGRvd24tc3RhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmcyLWRyb3Bkb3duLW1lbnUnLFxuICAgIHN0eWxlczogW2A6aG9zdHtkaXNwbGF5OmJsb2NrfS5uZzItZHJvcGRvd24tbWVudXtvdmVyZmxvdy15OmF1dG87Ym94LXNoYWRvdzowIDFweCAycHggMCByZ2JhKDAsMCwwLC4zKTtwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nOi41ZW0gMDtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czoxcHg7bWF4LWhlaWdodDo0MDBweDt3aWR0aDoyNjBweDttaW4taGVpZ2h0OjA7ZGlzcGxheTpibG9ja30ubmcyLWRyb3Bkb3duLW1lbnUubmcyLWRyb3Bkb3duLW1lbnUtLWluc2lkZS1lbGVtZW50e3Bvc2l0aW9uOmZpeGVkfS5uZzItZHJvcGRvd24tbWVudS5uZzItZHJvcGRvd24tbWVudS0td2lkdGgtLTJ7d2lkdGg6MjAwcHh9Lm5nMi1kcm9wZG93bi1tZW51Lm5nMi1kcm9wZG93bi1tZW51LS13aWR0aC0tNHt3aWR0aDoyNjBweH0ubmcyLWRyb3Bkb3duLW1lbnUubmcyLWRyb3Bkb3duLW1lbnUtLXdpZHRoLS02e3dpZHRoOjMyMHB4fS5uZzItZHJvcGRvd24tYmFja2Ryb3B7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDoxO292ZXJmbG93OmhpZGRlbn06aG9zdCAvZGVlcC8gLm5nMi1tZW51LWRpdmlkZXJ7aGVpZ2h0OjFweDttaW4taGVpZ2h0OjFweDttYXgtaGVpZ2h0OjFweDt3aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZDojZjlmOWY5fWBdLFxuICAgIHRlbXBsYXRlOiBgPCEtLSBNRU5VIC0tPlxuPGRpdiBjbGFzcz0nbmcyLWRyb3Bkb3duLW1lbnUgbmcyLWRyb3Bkb3duLW1lbnUtLS13aWR0aC0te3sgd2lkdGggfX0nXG4gICAgIFtjbGFzcy5uZzItZHJvcGRvd24tbWVudS0taW5zaWRlLWVsZW1lbnRdPVwiIWFwcGVuZFRvQm9keVwiXG4gICAgIFtjbGFzcy5uZzItZHJvcGRvd24tbWVudS0tb3Blbl09XCJzdGF0ZS5tZW51U3RhdGUuaXNWaXNpYmxlXCJcbiAgICAgW3N0eWxlLnotaW5kZXhdPVwiekluZGV4XCJcbiAgICAgW0BmYWRlXT1cInN0YXRlLm1lbnVTdGF0ZS50b1N0cmluZygpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuZzItZHJvcGRvd24tbWVudV9fb3B0aW9ucy1jb250YWluZXJcIlxuICAgICAgICAgICAgIFtAb3BhY2l0eV09XCJzdGF0ZS5tZW51U3RhdGUudG9TdHJpbmcoKVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbjwvZGl2PlxuXG48IS0tIEJBQ0tEUk9QIC0tPlxuPGRpdiBjbGFzcz1cIm5nMi1kcm9wZG93bi1iYWNrZHJvcFwiICpuZ0lmPVwic3RhdGUubWVudVN0YXRlLmlzVmlzaWJsZVwiIChjbGljayk9XCJoaWRlKClcIj48L2Rpdj5cbmAsXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdmYWRlJywgW1xuICAgICAgICAgICAgc3RhdGUoJ3Zpc2libGUnLCBzdHlsZShcbiAgICAgICAgICAgICAgICB7ZGlzcGxheTogJ2Jsb2NrJywgaGVpZ2h0OiAnKicsIHdpZHRoOiAnKid9XG4gICAgICAgICAgICApKSxcbiAgICAgICAgICAgIHN0YXRlKCdoaWRkZW4nLCBzdHlsZShcbiAgICAgICAgICAgICAgICB7ZGlzcGxheTogJ25vbmUnLCBvdmVyZmxvdzogJ2hpZGRlbicsIGhlaWdodDogMCwgd2lkdGg6IDB9XG4gICAgICAgICAgICApKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2hpZGRlbiA9PiB2aXNpYmxlJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzI1MG1zIGVhc2UtaW4nLCBrZXlmcmFtZXMoW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMCwgb2Zmc2V0OiAwfSksXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtvcGFjaXR5OiAxLCBvZmZzZXQ6IDEsIGhlaWdodDogJyonLCB3aWR0aDogJyonfSksXG4gICAgICAgICAgICAgICAgXSkpXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ3Zpc2libGUgPT4gaGlkZGVuJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzM1MG1zIGVhc2Utb3V0Jywga2V5ZnJhbWVzKFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe29wYWNpdHk6IDEsIG9mZnNldDogMH0pLFxuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMCwgb2Zmc2V0OiAxLCB3aWR0aDogJzAnLCBoZWlnaHQ6ICcwJ30pLFxuICAgICAgICAgICAgICAgIF0pKVxuICAgICAgICAgICAgXSlcbiAgICAgICAgXSksXG4gICAgICAgIHRyaWdnZXIoJ29wYWNpdHknLCBbXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdoaWRkZW4gPT4gdmlzaWJsZScsIFtcbiAgICAgICAgICAgICAgICBhbmltYXRlKCc0NTBtcyBlYXNlLWluJywga2V5ZnJhbWVzKFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe29wYWNpdHk6IDAsIG9mZnNldDogMH0pLFxuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMSwgb2Zmc2V0OiAxfSksXG4gICAgICAgICAgICAgICAgXSkpXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ3Zpc2libGUgPT4gaGlkZGVuJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzI1MG1zIGVhc2Utb3V0Jywga2V5ZnJhbWVzKFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe29wYWNpdHk6IDEsIG9mZnNldDogMH0pLFxuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMC41LCBvZmZzZXQ6IDAuM30pLFxuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMCwgb2Zmc2V0OiAxfSksXG4gICAgICAgICAgICAgICAgXSkpXG4gICAgICAgICAgICBdKVxuICAgICAgICBdKVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmcyRHJvcGRvd25NZW51IHtcbiAgICAvKipcbiAgICAgKiBAbmFtZSB3aWR0aFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB3aWR0aDogbnVtYmVyID0gNDtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBpZiBzZXQgdG8gdHJ1ZSwgdGhlIGZpcnN0IGVsZW1lbnQgb2YgdGhlIGRyb3Bkb3duIHdpbGwgYmUgYXV0b21hdGljYWxseSBmb2N1c2VkXG4gICAgICogQG5hbWUgZm9jdXNGaXJzdEVsZW1lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgZm9jdXNGaXJzdEVsZW1lbnQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIHNldHMgZHJvcGRvd24gb2Zmc2V0IGZyb20gdGhlIGJ1dHRvblxuICAgICAqIEBuYW1lIG9mZnNldCB7c3RyaW5nfSBmb2xsb3cgZm9ybWF0ICc8bnVtYmVyPiA8bnVtYmVyPicgZXguICcwIDIwJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBvZmZzZXQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBuYW1lIGFwcGVuZFRvQm9keVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBhcHBlbmRUb0JvZHk6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQG5hbWUgekluZGV4XG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHpJbmRleCA9IDEwMDA7XG5cbiAgICAvKipcbiAgICAgKiBAbmFtZSBpdGVtc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTmcyTWVudUl0ZW0pIHB1YmxpYyBpdGVtczogUXVlcnlMaXN0PE5nMk1lbnVJdGVtPjtcblxuICAgIHByaXZhdGUgcG9zaXRpb246IENsaWVudFJlY3Q7XG5cbiAgICBwcml2YXRlIGxpc3RlbmVycyA9IHtcbiAgICAgICAgYXJyb3dIYW5kbGVyOiB1bmRlZmluZWQsXG4gICAgICAgIGhhbmRsZUtleXByZXNzOiB1bmRlZmluZWRcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHN0YXRlOiBEcm9wZG93blN0YXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIpIHt9XG5cbiAgICAvKipcbiAgICAgKiBAbmFtZSBzaG93XG4gICAgICogQHNob3dzIG1lbnUgYW5kIHNlbGVjdHMgZmlyc3QgaXRlbVxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93KHBvc2l0aW9uPzogQ2xpZW50UmVjdCwgZHluYW1pYyA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGMgPSB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnID8gZG9jdW1lbnQgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHdkID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKCF0aGlzLnN0YXRlLm1lbnVTdGF0ZS5pc1Zpc2libGUpIHtcbiAgICAgICAgICAgIC8vIHNldHRpbmcgaGFuZGxlcnNcbiAgICAgICAgICAgIHRoaXMubGlzdGVuZXJzLmhhbmRsZUtleXByZXNzID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oZGMuYm9keSwgJ2tleWRvd24nLCB0aGlzLmhhbmRsZUtleXByZXNzLmJpbmQodGhpcykpO1xuICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnMuYXJyb3dIYW5kbGVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4od2QsICdrZXlkb3duJywgYXJyb3dLZXlzSGFuZGxlcik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB1cGRhdGUgc3RhdGVcbiAgICAgICAgdGhpcy5zdGF0ZS5tZW51U3RhdGUuaXNWaXNpYmxlID0gdHJ1ZTtcblxuICAgICAgICBpZiAocG9zaXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24ocG9zaXRpb24sIGR5bmFtaWMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG5hbWUgaGlkZVxuICAgICAqIEBkZXNjIGhpZGVzIG1lbnVcbiAgICAgKi9cbiAgICBwdWJsaWMgaGlkZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdGF0ZS5tZW51U3RhdGUuaXNWaXNpYmxlID0gZmFsc2U7XG5cbiAgICAgICAgLy8gcmVzZXQgc2VsZWN0ZWQgaXRlbSBzdGF0ZVxuICAgICAgICB0aGlzLnN0YXRlLmRyb3Bkb3duU3RhdGUudW5zZWxlY3QoKTtcblxuICAgICAgICAvLyBjYWxsIGZ1bmN0aW9uIHRvIHVubGlzdGVuXG4gICAgICAgIHRoaXMubGlzdGVuZXJzLmFycm93SGFuZGxlciA/IHRoaXMubGlzdGVuZXJzLmFycm93SGFuZGxlcigpIDogdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmxpc3RlbmVycy5oYW5kbGVLZXlwcmVzcyA/IHRoaXMubGlzdGVuZXJzLmhhbmRsZUtleXByZXNzKCkgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG5hbWUgdXBkYXRlUG9zaXRpb25cbiAgICAgKiBAZGVzYyB1cGRhdGVzIHRoZSBtZW51IHBvc2l0aW9uIGV2ZXJ5IHRpbWUgaXQgaXMgdG9nZ2xlZFxuICAgICAqIEBwYXJhbSBwb3NpdGlvbiB7Q2xpZW50UmVjdH1cbiAgICAgKiBAcGFyYW0gZHluYW1pYyB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlUG9zaXRpb24ocG9zaXRpb246IENsaWVudFJlY3QsIGR5bmFtaWM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wb3NpdGlvbiA9IHBvc2l0aW9uO1xuICAgICAgICB0aGlzLnVwZGF0ZU9uQ2hhbmdlKGR5bmFtaWMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBuYW1lIGhhbmRsZUtleXByZXNzXG4gICAgICogQGRlc2MgZXhlY3V0ZXMgZnVuY3Rpb25zIG9uIGtleVByZXNzIGJhc2VkIG9uIHRoZSBrZXkgcHJlc3NlZFxuICAgICAqIEBwYXJhbSAkZXZlbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgaGFuZGxlS2V5cHJlc3MoJGV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGtleSA9ICRldmVudC5rZXlDb2RlO1xuICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXMudG9BcnJheSgpO1xuICAgICAgICBjb25zdCBpbmRleCA9IGl0ZW1zLmluZGV4T2YodGhpcy5zdGF0ZS5kcm9wZG93blN0YXRlLnNlbGVjdGVkSXRlbSk7XG5cbiAgICAgICAgaWYgKCFBQ1RJT05TLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIEFDVElPTlNba2V5XS5jYWxsKHRoaXMsIGluZGV4LCBpdGVtcywgdGhpcy5zdGF0ZS5kcm9wZG93blN0YXRlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAbmFtZSBnZXRNZW51RWxlbWVudFxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0TWVudUVsZW1lbnQoKTogRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAbmFtZSBjYWxjUG9zaXRpb25PZmZzZXRcbiAgICAgKiBAcGFyYW0gcG9zaXRpb25cbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbGNQb3NpdGlvbk9mZnNldChwb3NpdGlvbik6IHsgdG9wOiBzdHJpbmcsIGxlZnQ6IHN0cmluZyB9IHtcbiAgICAgICAgY29uc3Qgd2QgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdyA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgZGMgPSB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnID8gZG9jdW1lbnQgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKCF3ZCB8fCAhZGMgfHwgIXBvc2l0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5nZXRNZW51RWxlbWVudCgpO1xuICAgICAgICBjb25zdCBzdXBwb3J0UGFnZU9mZnNldCA9IHdkLnBhZ2VYT2Zmc2V0ICE9PSB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGlzQ1NTMUNvbXBhdCA9ICgoZGMuY29tcGF0TW9kZSB8fCAnJykgPT09ICdDU1MxQ29tcGF0Jyk7XG5cbiAgICAgICAgY29uc3QgeCA9IHN1cHBvcnRQYWdlT2Zmc2V0ID8gd2QucGFnZVhPZmZzZXQgOiBpc0NTUzFDb21wYXQgP1xuICAgICAgICAgICAgZGMuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgOiBkYy5ib2R5LnNjcm9sbExlZnQ7XG5cbiAgICAgICAgY29uc3QgeSA9IHN1cHBvcnRQYWdlT2Zmc2V0ID8gd2QucGFnZVlPZmZzZXQgOiBpc0NTUzFDb21wYXQgP1xuICAgICAgICAgICAgZGMuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCA6IGRjLmJvZHkuc2Nyb2xsVG9wO1xuXG4gICAgICAgIGxldCB7IHRvcCwgbGVmdCB9ID0gdGhpcy5hcHBseU9mZnNldChcbiAgICAgICAgICAgIGAke3Bvc2l0aW9uLnRvcCArICh0aGlzLmFwcGVuZFRvQm9keSA/IHkgLSAxNSA6IDApfXB4YCxcbiAgICAgICAgICAgIGAke3Bvc2l0aW9uLmxlZnQgKyB4IC0gNX1weGBcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBjbGllbnRXaWR0aCA9IGVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgICAgIGNvbnN0IGNsaWVudEhlaWdodCA9IGVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuXG4gICAgICAgIGNvbnN0IG1hcmdpbkZyb21Cb3R0b20gPSBwYXJzZUludCh0b3ApICsgY2xpZW50SGVpZ2h0ICsgKHRoaXMuYXBwZW5kVG9Cb2R5ID8gMCA6IHkgLSAxNSk7XG4gICAgICAgIGNvbnN0IG1hcmdpbkZyb21SaWdodCA9IHBhcnNlSW50KGxlZnQpICsgY2xpZW50V2lkdGg7XG5cbiAgICAgICAgY29uc3Qgd2luZG93U2Nyb2xsSGVpZ2h0ID0gd2QuaW5uZXJIZWlnaHQgKyB3ZC5zY3JvbGxZO1xuICAgICAgICBjb25zdCB3aW5kb3dTY3JvbGxXaWR0aCA9IHdkLmlubmVyV2lkdGggKyB3ZC5zY3JvbGxYO1xuXG4gICAgICAgIGlmIChtYXJnaW5Gcm9tQm90dG9tID49IHdpbmRvd1Njcm9sbEhlaWdodCkge1xuICAgICAgICAgICAgdG9wID0gYCR7cGFyc2VJbnQodG9wLnJlcGxhY2UoJ3B4JywgJycpKSAtIGNsaWVudEhlaWdodH1weGA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWFyZ2luRnJvbVJpZ2h0ID49IHdpbmRvd1Njcm9sbFdpZHRoKSB7XG4gICAgICAgICAgICBjb25zdCBtYXJnaW5SaWdodCA9IG1hcmdpbkZyb21SaWdodCAtIHdpbmRvd1Njcm9sbFdpZHRoICsgMzA7XG4gICAgICAgICAgICBsZWZ0ID0gYCR7cGFyc2VJbnQobGVmdC5yZXBsYWNlKCdweCcsICcnKSkgLSBtYXJnaW5SaWdodH1weGA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4geyB0b3AsIGxlZnQgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5T2Zmc2V0KHRvcDogc3RyaW5nLCBsZWZ0OiBzdHJpbmcpOiB7IHRvcDogc3RyaW5nLCBsZWZ0OiBzdHJpbmcgfSB7XG4gICAgICAgIGlmICghdGhpcy5vZmZzZXQpIHtcbiAgICAgICAgICAgIHJldHVybiB7IHRvcCwgbGVmdCB9O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5vZmZzZXQuc3BsaXQoJyAnKTtcblxuICAgICAgICBpZiAoIW9mZnNldFsxXSkge1xuICAgICAgICAgICAgb2Zmc2V0WzFdID0gJzAnO1xuICAgICAgICB9XG5cbiAgICAgICAgdG9wID0gYCR7cGFyc2VJbnQodG9wLnJlcGxhY2UoJ3B4JywgJycpKSArIHBhcnNlSW50KG9mZnNldFswXSl9cHhgO1xuICAgICAgICBsZWZ0ID0gYCR7cGFyc2VJbnQobGVmdC5yZXBsYWNlKCdweCcsICcnKSkgKyBwYXJzZUludChvZmZzZXRbMV0pfXB4YDtcblxuICAgICAgICByZXR1cm4geyB0b3AsIGxlZnQgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbnN0IGRjID0gdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyA/IGRvY3VtZW50IDogdW5kZWZpbmVkO1xuICAgICAgICBpZiAodGhpcy5hcHBlbmRUb0JvZHkpIHtcbiAgICAgICAgICAgIC8vIGFwcGVuZCBtZW51IGVsZW1lbnQgdG8gdGhlIGJvZHlcbiAgICAgICAgICAgIGRjLmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZU9uQ2hhbmdlKGR5bmFtaWMgPSB0cnVlKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmdldE1lbnVFbGVtZW50KCk7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uID0gdGhpcy5jYWxjUG9zaXRpb25PZmZzZXQodGhpcy5wb3NpdGlvbik7XG5cbiAgICAgICAgaWYgKHBvc2l0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEVsZW1lbnRTdHlsZShlbGVtZW50LCAndG9wJywgcG9zaXRpb24udG9wLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRFbGVtZW50U3R5bGUoZWxlbWVudCwgJ2xlZnQnLCBwb3NpdGlvbi5sZWZ0LnRvU3RyaW5nKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gc2VsZWN0IGZpcnN0IGl0ZW0gdW5sZXNzIHVzZXIgZGlzYWJsZWQgdGhpcyBvcHRpb25cbiAgICAgICAgaWYgKHRoaXMuZm9jdXNGaXJzdEVsZW1lbnQgJiZcbiAgICAgICAgICAgIHRoaXMuaXRlbXMuZmlyc3QgJiZcbiAgICAgICAgICAgICF0aGlzLnN0YXRlLmRyb3Bkb3duU3RhdGUuc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlLmRyb3Bkb3duU3RhdGUuc2VsZWN0KHRoaXMuaXRlbXMuZmlyc3QsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgY29uc3QgZWxlbSA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBlbGVtLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZWxlbSk7XG5cbiAgICAgICAgaWYgKHRoaXMubGlzdGVuZXJzLmhhbmRsZUtleXByZXNzKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3RlbmVycy5oYW5kbGVLZXlwcmVzcygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLWRyb3Bkb3duLW1lbnUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZzItbWF0ZXJpYWwtZHJvcGRvd24vIiwic291cmNlcyI6WyJzcmMvbW9kdWxlcy9jb21wb25lbnRzL21lbnUvbmcyLWRyb3Bkb3duLW1lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFFBQVEsRUFDUixlQUFlLEVBQ2YsU0FBUyxFQUNULEtBQUssRUFDUixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0gsT0FBTyxFQUNQLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxFQUNQLFNBQVMsRUFDVCxLQUFLLEVBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7SUFnR3pFLHlCQUFtQixLQUEyQixFQUMxQixTQUNBO1FBRkQsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFDMUIsWUFBTyxHQUFQLE9BQU87UUFDUCxhQUFRLEdBQVIsUUFBUTs7OztxQkF0Q0ksQ0FBQzs7Ozs7aUNBTVksSUFBSTs7Ozs0QkFXVCxJQUFJOzs7O3NCQUtuQixJQUFJO3lCQVNUO1lBQ2hCLFlBQVksRUFBRSxTQUFTO1lBQ3ZCLGNBQWMsRUFBRSxTQUFTO1NBQzVCO0tBSXlDOzs7Ozs7OztJQU1uQyw4QkFBSTs7Ozs7OztjQUFDLFFBQXFCLEVBQUUsT0FBYztRQUFkLHdCQUFBLEVBQUEsY0FBYztRQUM3QyxxQkFBTSxFQUFFLEdBQUcsT0FBTyxRQUFRLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNsRSxxQkFBTSxFQUFFLEdBQUcsT0FBTyxN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TCxLQUFLOzJCQUtMLEtBQUs7MEJBS0wsZUFBZSxTQUFDLFdBQVc7OzBCQTVHaEM7O1NBNkVhLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIFJlbmRlcmVyLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBRdWVyeUxpc3QsXG4gICAgSW5wdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgdHJpZ2dlcixcbiAgICBzdHlsZSxcbiAgICB0cmFuc2l0aW9uLFxuICAgIGFuaW1hdGUsXG4gICAga2V5ZnJhbWVzLFxuICAgIHN0YXRlXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5pbXBvcnQgeyBBQ1RJT05TLCBhcnJvd0tleXNIYW5kbGVyIH0gZnJvbSAnLi9hY3Rpb25zJztcblxuaW1wb3J0IHsgTmcyTWVudUl0ZW0gfSBmcm9tICcuLi9tZW51LWl0ZW0vbmcyLW1lbnUtaXRlbSc7XG5pbXBvcnQgeyBEcm9wZG93blN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Ryb3Bkb3duLXN0YXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25nMi1kcm9wZG93bi1tZW51JyxcbiAgICBzdHlsZXM6IFtgOmhvc3R7ZGlzcGxheTpibG9ja30ubmcyLWRyb3Bkb3duLW1lbnV7b3ZlcmZsb3cteTphdXRvO2JveC1zaGFkb3c6MCAxcHggMnB4IDAgcmdiYSgwLDAsMCwuMyk7cG9zaXRpb246YWJzb2x1dGU7cGFkZGluZzouNWVtIDA7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6MXB4O21heC1oZWlnaHQ6NDAwcHg7d2lkdGg6MjYwcHg7bWluLWhlaWdodDowO2Rpc3BsYXk6YmxvY2t9Lm5nMi1kcm9wZG93bi1tZW51Lm5nMi1kcm9wZG93bi1tZW51LS1pbnNpZGUtZWxlbWVudHtwb3NpdGlvbjpmaXhlZH0ubmcyLWRyb3Bkb3duLW1lbnUubmcyLWRyb3Bkb3duLW1lbnUtLXdpZHRoLS0ye3dpZHRoOjIwMHB4fS5uZzItZHJvcGRvd24tbWVudS5uZzItZHJvcGRvd24tbWVudS0td2lkdGgtLTR7d2lkdGg6MjYwcHh9Lm5nMi1kcm9wZG93bi1tZW51Lm5nMi1kcm9wZG93bi1tZW51LS13aWR0aC0tNnt3aWR0aDozMjBweH0ubmcyLWRyb3Bkb3duLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3otaW5kZXg6MTtvdmVyZmxvdzpoaWRkZW59Omhvc3QgL2RlZXAvIC5uZzItbWVudS1kaXZpZGVye2hlaWdodDoxcHg7bWluLWhlaWdodDoxcHg7bWF4LWhlaWdodDoxcHg7d2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQ6I2Y5ZjlmOX1gXSxcbiAgICB0ZW1wbGF0ZTogYDwhLS0gTUVOVSAtLT5cbjxkaXYgY2xhc3M9J25nMi1kcm9wZG93bi1tZW51IG5nMi1kcm9wZG93bi1tZW51LS0td2lkdGgtLXt7IHdpZHRoIH19J1xuICAgICBbY2xhc3MubmcyLWRyb3Bkb3duLW1lbnUtLWluc2lkZS1lbGVtZW50XT1cIiFhcHBlbmRUb0JvZHlcIlxuICAgICBbY2xhc3MubmcyLWRyb3Bkb3duLW1lbnUtLW9wZW5dPVwic3RhdGUubWVudVN0YXRlLmlzVmlzaWJsZVwiXG4gICAgIFtzdHlsZS56LWluZGV4XT1cInpJbmRleFwiXG4gICAgIFtAZmFkZV09XCJzdGF0ZS5tZW51U3RhdGUudG9TdHJpbmcoKVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmcyLWRyb3Bkb3duLW1lbnVfX29wdGlvbnMtY29udGFpbmVyXCJcbiAgICAgICAgICAgICBbQG9wYWNpdHldPVwic3RhdGUubWVudVN0YXRlLnRvU3RyaW5nKClcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG48L2Rpdj5cblxuPCEtLSBCQUNLRFJPUCAtLT5cbjxkaXYgY2xhc3M9XCJuZzItZHJvcGRvd24tYmFja2Ryb3BcIiAqbmdJZj1cInN0YXRlLm1lbnVTdGF0ZS5pc1Zpc2libGVcIiAoY2xpY2spPVwiaGlkZSgpXCI+PC9kaXY+XG5gLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignZmFkZScsIFtcbiAgICAgICAgICAgIHN0YXRlKCd2aXNpYmxlJywgc3R5bGUoXG4gICAgICAgICAgICAgICAge2Rpc3BsYXk6ICdibG9jaycsIG9wYWNpdHk6IDEsIGhlaWdodDogJyonLCB3aWR0aDogJyonfVxuICAgICAgICAgICAgKSksXG4gICAgICAgICAgICBzdGF0ZSgnaGlkZGVuJywgc3R5bGUoXG4gICAgICAgICAgICAgICAge2Rpc3BsYXk6ICdub25lJywgb3BhY2l0eTogMCwgb3ZlcmZsb3c6ICdoaWRkZW4nLCBoZWlnaHQ6IDAsIHdpZHRoOiAwfVxuICAgICAgICAgICAgKSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdoaWRkZW4gPT4gdmlzaWJsZScsIFtcbiAgICAgICAgICAgICAgICBhbmltYXRlKCcyNTBtcyBlYXNlLWluJyxcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe29wYWNpdHk6IDEsIGhlaWdodDogJyonLCB3aWR0aDogJyonfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ3Zpc2libGUgPT4gaGlkZGVuJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzM1MG1zIGVhc2Utb3V0JyxcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe29wYWNpdHk6IDAsIHdpZHRoOiAwLCBoZWlnaHQ6IDB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pLFxuICAgICAgICB0cmlnZ2VyKCdvcGFjaXR5JywgW1xuICAgICAgICAgICAgdHJhbnNpdGlvbignaGlkZGVuID0+IHZpc2libGUnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnNDUwbXMgZWFzZS1pbicsIGtleWZyYW1lcyhbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtvcGFjaXR5OiAwLCBvZmZzZXQ6IDB9KSxcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe29wYWNpdHk6IDEsIG9mZnNldDogMX0pLFxuICAgICAgICAgICAgICAgIF0pKVxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCd2aXNpYmxlID0+IGhpZGRlbicsIFtcbiAgICAgICAgICAgICAgICBhbmltYXRlKCcyNTBtcyBlYXNlLW91dCcsIGtleWZyYW1lcyhbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtvcGFjaXR5OiAxLCBvZmZzZXQ6IDB9KSxcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe29wYWNpdHk6IDAuNSwgb2Zmc2V0OiAwLjN9KSxcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe29wYWNpdHk6IDAsIG9mZnNldDogMX0pLFxuICAgICAgICAgICAgICAgIF0pKVxuICAgICAgICAgICAgXSlcbiAgICAgICAgXSlcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5nMkRyb3Bkb3duTWVudSB7XG4gICAgLyoqXG4gICAgICogQG5hbWUgd2lkdGhcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgd2lkdGg6IG51bWJlciA9IDQ7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gaWYgc2V0IHRvIHRydWUsIHRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZSBkcm9wZG93biB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgZm9jdXNlZFxuICAgICAqIEBuYW1lIGZvY3VzRmlyc3RFbGVtZW50XG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIGZvY3VzRmlyc3RFbGVtZW50OiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBzZXRzIGRyb3Bkb3duIG9mZnNldCBmcm9tIHRoZSBidXR0b25cbiAgICAgKiBAbmFtZSBvZmZzZXQge3N0cmluZ30gZm9sbG93IGZvcm1hdCAnPG51bWJlcj4gPG51bWJlcj4nIGV4LiAnMCAyMCdcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgb2Zmc2V0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAbmFtZSBhcHBlbmRUb0JvZHlcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgYXBwZW5kVG9Cb2R5OiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBuYW1lIHpJbmRleFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB6SW5kZXggPSAxMDAwO1xuXG4gICAgLyoqXG4gICAgICogQG5hbWUgaXRlbXNcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKE5nMk1lbnVJdGVtKSBwdWJsaWMgaXRlbXM6IFF1ZXJ5TGlzdDxOZzJNZW51SXRlbT47XG5cbiAgICBwcml2YXRlIHBvc2l0aW9uOiBDbGllbnRSZWN0O1xuXG4gICAgcHJpdmF0ZSBsaXN0ZW5lcnMgPSB7XG4gICAgICAgIGFycm93SGFuZGxlcjogdW5kZWZpbmVkLFxuICAgICAgICBoYW5kbGVLZXlwcmVzczogdW5kZWZpbmVkXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBzdGF0ZTogRHJvcGRvd25TdGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyKSB7fVxuXG4gICAgLyoqXG4gICAgICogQG5hbWUgc2hvd1xuICAgICAqIEBzaG93cyBtZW51IGFuZCBzZWxlY3RzIGZpcnN0IGl0ZW1cbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvdyhwb3NpdGlvbj86IENsaWVudFJlY3QsIGR5bmFtaWMgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRjID0gdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyA/IGRvY3VtZW50IDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCB3ZCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93IDogdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmICghdGhpcy5zdGF0ZS5tZW51U3RhdGUuaXNWaXNpYmxlKSB7XG4gICAgICAgICAgICAvLyBzZXR0aW5nIGhhbmRsZXJzXG4gICAgICAgICAgICB0aGlzLmxpc3RlbmVycy5oYW5kbGVLZXlwcmVzcyA9IHRoaXMucmVuZGVyZXIubGlzdGVuKGRjLmJvZHksICdrZXlkb3duJywgdGhpcy5oYW5kbGVLZXlwcmVzcy5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIHRoaXMubGlzdGVuZXJzLmFycm93SGFuZGxlciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHdkLCAna2V5ZG93bicsIGFycm93S2V5c0hhbmRsZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdXBkYXRlIHN0YXRlXG4gICAgICAgIHRoaXMuc3RhdGUubWVudVN0YXRlLmlzVmlzaWJsZSA9IHRydWU7XG5cbiAgICAgICAgaWYgKHBvc2l0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uKHBvc2l0aW9uLCBkeW5hbWljKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBuYW1lIGhpZGVcbiAgICAgKiBAZGVzYyBoaWRlcyBtZW51XG4gICAgICovXG4gICAgcHVibGljIGhpZGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RhdGUubWVudVN0YXRlLmlzVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgICAgIC8vIHJlc2V0IHNlbGVjdGVkIGl0ZW0gc3RhdGVcbiAgICAgICAgdGhpcy5zdGF0ZS5kcm9wZG93blN0YXRlLnVuc2VsZWN0KCk7XG5cbiAgICAgICAgLy8gY2FsbCBmdW5jdGlvbiB0byB1bmxpc3RlblxuICAgICAgICB0aGlzLmxpc3RlbmVycy5hcnJvd0hhbmRsZXIgPyB0aGlzLmxpc3RlbmVycy5hcnJvd0hhbmRsZXIoKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuaGFuZGxlS2V5cHJlc3MgPyB0aGlzLmxpc3RlbmVycy5oYW5kbGVLZXlwcmVzcygpIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBuYW1lIHVwZGF0ZVBvc2l0aW9uXG4gICAgICogQGRlc2MgdXBkYXRlcyB0aGUgbWVudSBwb3NpdGlvbiBldmVyeSB0aW1lIGl0IGlzIHRvZ2dsZWRcbiAgICAgKiBAcGFyYW0gcG9zaXRpb24ge0NsaWVudFJlY3R9XG4gICAgICogQHBhcmFtIGR5bmFtaWMge2Jvb2xlYW59XG4gICAgICovXG4gICAgcHVibGljIHVwZGF0ZVBvc2l0aW9uKHBvc2l0aW9uOiBDbGllbnRSZWN0LCBkeW5hbWljOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMucG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgICAgICAgdGhpcy51cGRhdGVPbkNoYW5nZShkeW5hbWljKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAbmFtZSBoYW5kbGVLZXlwcmVzc1xuICAgICAqIEBkZXNjIGV4ZWN1dGVzIGZ1bmN0aW9ucyBvbiBrZXlQcmVzcyBiYXNlZCBvbiB0aGUga2V5IHByZXNzZWRcbiAgICAgKiBAcGFyYW0gJGV2ZW50XG4gICAgICovXG4gICAgcHVibGljIGhhbmRsZUtleXByZXNzKCRldmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBrZXkgPSAkZXZlbnQua2V5Q29kZTtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1zLnRvQXJyYXkoKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBpdGVtcy5pbmRleE9mKHRoaXMuc3RhdGUuZHJvcGRvd25TdGF0ZS5zZWxlY3RlZEl0ZW0pO1xuXG4gICAgICAgIGlmICghQUNUSU9OUy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBBQ1RJT05TW2tleV0uY2FsbCh0aGlzLCBpbmRleCwgaXRlbXMsIHRoaXMuc3RhdGUuZHJvcGRvd25TdGF0ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG5hbWUgZ2V0TWVudUVsZW1lbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldE1lbnVFbGVtZW50KCk6IEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG5hbWUgY2FsY1Bvc2l0aW9uT2Zmc2V0XG4gICAgICogQHBhcmFtIHBvc2l0aW9uXG4gICAgICovXG4gICAgcHJpdmF0ZSBjYWxjUG9zaXRpb25PZmZzZXQocG9zaXRpb24pOiB7IHRvcDogc3RyaW5nLCBsZWZ0OiBzdHJpbmcgfSB7XG4gICAgICAgIGNvbnN0IHdkID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGRjID0gdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyA/IGRvY3VtZW50IDogdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmICghd2QgfHwgIWRjIHx8ICFwb3NpdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZ2V0TWVudUVsZW1lbnQoKTtcbiAgICAgICAgY29uc3Qgc3VwcG9ydFBhZ2VPZmZzZXQgPSB3ZC5wYWdlWE9mZnNldCAhPT0gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBpc0NTUzFDb21wYXQgPSAoKGRjLmNvbXBhdE1vZGUgfHwgJycpID09PSAnQ1NTMUNvbXBhdCcpO1xuXG4gICAgICAgIGNvbnN0IHggPSBzdXBwb3J0UGFnZU9mZnNldCA/IHdkLnBhZ2VYT2Zmc2V0IDogaXNDU1MxQ29tcGF0ID9cbiAgICAgICAgICAgIGRjLmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IDogZGMuYm9keS5zY3JvbGxMZWZ0O1xuXG4gICAgICAgIGNvbnN0IHkgPSBzdXBwb3J0UGFnZU9mZnNldCA/IHdkLnBhZ2VZT2Zmc2V0IDogaXNDU1MxQ29tcGF0ID9cbiAgICAgICAgICAgIGRjLmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgOiBkYy5ib2R5LnNjcm9sbFRvcDtcblxuICAgICAgICBsZXQgeyB0b3AsIGxlZnQgfSA9IHRoaXMuYXBwbHlPZmZzZXQoXG4gICAgICAgICAgICBgJHtwb3NpdGlvbi50b3AgKyAodGhpcy5hcHBlbmRUb0JvZHkgPyB5IC0gMTUgOiAwKX1weGAsXG4gICAgICAgICAgICBgJHtwb3NpdGlvbi5sZWZ0ICsgeCAtIDV9cHhgXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgY2xpZW50V2lkdGggPSBlbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgICBjb25zdCBjbGllbnRIZWlnaHQgPSBlbGVtZW50LmNsaWVudEhlaWdodDtcblxuICAgICAgICBjb25zdCBtYXJnaW5Gcm9tQm90dG9tID0gcGFyc2VJbnQodG9wKSArIGNsaWVudEhlaWdodCArICh0aGlzLmFwcGVuZFRvQm9keSA/IDAgOiB5IC0gMTUpO1xuICAgICAgICBjb25zdCBtYXJnaW5Gcm9tUmlnaHQgPSBwYXJzZUludChsZWZ0KSArIGNsaWVudFdpZHRoO1xuXG4gICAgICAgIGNvbnN0IHdpbmRvd1Njcm9sbEhlaWdodCA9IHdkLmlubmVySGVpZ2h0ICsgd2Quc2Nyb2xsWTtcbiAgICAgICAgY29uc3Qgd2luZG93U2Nyb2xsV2lkdGggPSB3ZC5pbm5lcldpZHRoICsgd2Quc2Nyb2xsWDtcblxuICAgICAgICBpZiAobWFyZ2luRnJvbUJvdHRvbSA+PSB3aW5kb3dTY3JvbGxIZWlnaHQpIHtcbiAgICAgICAgICAgIHRvcCA9IGAke3BhcnNlSW50KHRvcC5yZXBsYWNlKCdweCcsICcnKSkgLSBjbGllbnRIZWlnaHR9cHhgO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1hcmdpbkZyb21SaWdodCA+PSB3aW5kb3dTY3JvbGxXaWR0aCkge1xuICAgICAgICAgICAgY29uc3QgbWFyZ2luUmlnaHQgPSBtYXJnaW5Gcm9tUmlnaHQgLSB3aW5kb3dTY3JvbGxXaWR0aCArIDMwO1xuICAgICAgICAgICAgbGVmdCA9IGAke3BhcnNlSW50KGxlZnQucmVwbGFjZSgncHgnLCAnJykpIC0gbWFyZ2luUmlnaHR9cHhgO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHsgdG9wLCBsZWZ0IH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseU9mZnNldCh0b3A6IHN0cmluZywgbGVmdDogc3RyaW5nKTogeyB0b3A6IHN0cmluZywgbGVmdDogc3RyaW5nIH0ge1xuICAgICAgICBpZiAoIXRoaXMub2Zmc2V0KSB7XG4gICAgICAgICAgICByZXR1cm4geyB0b3AsIGxlZnQgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHRoaXMub2Zmc2V0LnNwbGl0KCcgJyk7XG5cbiAgICAgICAgaWYgKCFvZmZzZXRbMV0pIHtcbiAgICAgICAgICAgIG9mZnNldFsxXSA9ICcwJztcbiAgICAgICAgfVxuXG4gICAgICAgIHRvcCA9IGAke3BhcnNlSW50KHRvcC5yZXBsYWNlKCdweCcsICcnKSkgKyBwYXJzZUludChvZmZzZXRbMF0pfXB4YDtcbiAgICAgICAgbGVmdCA9IGAke3BhcnNlSW50KGxlZnQucmVwbGFjZSgncHgnLCAnJykpICsgcGFyc2VJbnQob2Zmc2V0WzFdKX1weGA7XG5cbiAgICAgICAgcmV0dXJuIHsgdG9wLCBsZWZ0IH07XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zdCBkYyA9IHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgPyBkb2N1bWVudCA6IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKHRoaXMuYXBwZW5kVG9Cb2R5KSB7XG4gICAgICAgICAgICAvLyBhcHBlbmQgbWVudSBlbGVtZW50IHRvIHRoZSBib2R5XG4gICAgICAgICAgICBkYy5ib2R5LmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVPbkNoYW5nZShkeW5hbWljID0gdHJ1ZSkge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5nZXRNZW51RWxlbWVudCgpO1xuICAgICAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMuY2FsY1Bvc2l0aW9uT2Zmc2V0KHRoaXMucG9zaXRpb24pO1xuXG4gICAgICAgIGlmIChwb3NpdGlvbikge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRFbGVtZW50U3R5bGUoZWxlbWVudCwgJ3RvcCcsIHBvc2l0aW9uLnRvcC50b1N0cmluZygpKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0RWxlbWVudFN0eWxlKGVsZW1lbnQsICdsZWZ0JywgcG9zaXRpb24ubGVmdC50b1N0cmluZygpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHNlbGVjdCBmaXJzdCBpdGVtIHVubGVzcyB1c2VyIGRpc2FibGVkIHRoaXMgb3B0aW9uXG4gICAgICAgIGlmICh0aGlzLmZvY3VzRmlyc3RFbGVtZW50ICYmXG4gICAgICAgICAgICB0aGlzLml0ZW1zLmZpcnN0ICYmXG4gICAgICAgICAgICAhdGhpcy5zdGF0ZS5kcm9wZG93blN0YXRlLnNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZS5kcm9wZG93blN0YXRlLnNlbGVjdCh0aGlzLml0ZW1zLmZpcnN0LCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgZWxlbS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsZW0pO1xuXG4gICAgICAgIGlmICh0aGlzLmxpc3RlbmVycy5oYW5kbGVLZXlwcmVzcykge1xuICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnMuaGFuZGxlS2V5cHJlc3MoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ== |
@@ -1,1 +0,1 @@ | ||
{"__symbolic":"module","version":4,"metadata":{"Ng2Dropdown":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"ng2-dropdown","template":"<div class=\"ng2-dropdown-container\">\n <ng-content select=\"ng2-dropdown-button\"></ng-content>\n <ng-content select=\"ng2-dropdown-menu\"></ng-content>\n</div>\n","providers":[{"__symbolic":"reference","name":"DropdownStateService"}]}]}],"members":{"button":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":25,"character":5},"arguments":[{"__symbolic":"reference","name":"Ng2DropdownButton"}]}]}],"menu":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":26,"character":5},"arguments":[{"__symbolic":"reference","name":"Ng2DropdownMenu"}]}]}],"dynamicUpdate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5}}]}],"onItemClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":31,"character":5}}]}],"onItemSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":32,"character":5}}]}],"onShow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":33,"character":5}}]}],"onHide":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":34,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"DropdownStateService"}]}],"ngOnInit":[{"__symbolic":"method"}],"toggleMenu":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"scrollListener":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":105,"character":5},"arguments":["window:scroll"]}]}]}},"Ng2DropdownMenu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"ng2-dropdown-menu","styles":[":host{display:block}.ng2-dropdown-menu{overflow-y:auto;box-shadow:0 1px 2px 0 rgba(0,0,0,.3);position:absolute;padding:.5em 0;background:#fff;border-radius:1px;max-height:400px;width:260px;min-height:0;display:block}.ng2-dropdown-menu.ng2-dropdown-menu--inside-element{position:fixed}.ng2-dropdown-menu.ng2-dropdown-menu--width--2{width:200px}.ng2-dropdown-menu.ng2-dropdown-menu--width--4{width:260px}.ng2-dropdown-menu.ng2-dropdown-menu--width--6{width:320px}.ng2-dropdown-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden}:host /deep/ .ng2-menu-divider{height:1px;min-height:1px;max-height:1px;width:100%;display:block;background:#f9f9f9}"],"template":"<!-- MENU -->\n<div class='ng2-dropdown-menu ng2-dropdown-menu---width--{{ width }}'\n [class.ng2-dropdown-menu--inside-element]=\"!appendToBody\"\n [class.ng2-dropdown-menu--open]=\"state.menuState.isVisible\"\n [style.z-index]=\"zIndex\"\n [@fade]=\"state.menuState.toString()\">\n <div class=\"ng2-dropdown-menu__options-container\"\n [@opacity]=\"state.menuState.toString()\">\n <ng-content></ng-content>\n </div>\n</div>\n\n<!-- BACKDROP -->\n<div class=\"ng2-dropdown-backdrop\" *ngIf=\"state.menuState.isVisible\" (click)=\"hide()\"></div>\n","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":42,"character":8},"arguments":["fade",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":43,"character":12},"arguments":["visible",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":43,"character":29},"arguments":[{"display":"block","height":"*","width":"*"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":46,"character":12},"arguments":["hidden",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":46,"character":28},"arguments":[{"display":"none","overflow":"hidden","height":0,"width":0}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":49,"character":12},"arguments":["hidden => visible",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":50,"character":16},"arguments":["250ms ease-in",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"keyframes","line":50,"character":41},"arguments":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":51,"character":20},"arguments":[{"opacity":0,"offset":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":52,"character":20},"arguments":[{"opacity":1,"offset":1,"height":"*","width":"*"}]}]]}]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":55,"character":12},"arguments":["visible => hidden",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":56,"character":16},"arguments":["350ms ease-out",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"keyframes","line":56,"character":42},"arguments":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":57,"character":20},"arguments":[{"opacity":1,"offset":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":58,"character":20},"arguments":[{"opacity":0,"offset":1,"width":"0","height":"0"}]}]]}]}]]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":62,"character":8},"arguments":["opacity",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":63,"character":12},"arguments":["hidden => visible",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":64,"character":16},"arguments":["450ms ease-in",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"keyframes","line":64,"character":41},"arguments":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":65,"character":20},"arguments":[{"opacity":0,"offset":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":66,"character":20},"arguments":[{"opacity":1,"offset":1}]}]]}]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":69,"character":12},"arguments":["visible => hidden",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":70,"character":16},"arguments":["250ms ease-out",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"keyframes","line":70,"character":42},"arguments":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":71,"character":20},"arguments":[{"opacity":1,"offset":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":72,"character":20},"arguments":[{"opacity":0.5,"offset":0.3}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":73,"character":20},"arguments":[{"opacity":0,"offset":1}]}]]}]}]]}]]}]}]}],"members":{"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":83,"character":5}}]}],"focusFirstElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":89,"character":5}}]}],"offset":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":95,"character":5}}]}],"appendToBody":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":100,"character":5}}]}],"zIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":105,"character":5}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":110,"character":5},"arguments":[{"__symbolic":"reference","name":"Ng2MenuItem"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"DropdownStateService"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":120,"character":33},{"__symbolic":"reference","module":"@angular/core","name":"Renderer","line":121,"character":34}]}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"updatePosition":[{"__symbolic":"method"}],"handleKeypress":[{"__symbolic":"method"}],"getMenuElement":[{"__symbolic":"method"}],"calcPositionOffset":[{"__symbolic":"method"}],"applyOffset":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"updateOnChange":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"Ng2MenuItem":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"ng2-menu-item","styles":[".ng2-menu-item{font-family:Roboto,\"Helvetica Neue\",Helvetica,Arial;background:#fff;color:rgba(0,0,0,.87);cursor:pointer;font-size:.9em;text-transform:none;font-weight:400;letter-spacing:.03em;height:48px;line-height:48px;padding:.3em 1.25rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;transition:background .25s}.ng2-menu-item--selected{background:rgba(158,158,158,.2);outline:0}.ng2-menu-item:focus{outline:0}.ng2-menu-item:active{background:rgba(158,158,158,.4)}:host(ng2-menu-item) /deep/ [ng2-menu-item-icon]{vertical-align:middle;font-size:28px;width:1.5em;height:30px;color:rgba(0,0,0,.44)}"],"template":"<div class='ng2-menu-item'\n role=\"button\"\n tabindex=\"0\"\n [class.ng2-menu-item--selected]=\"isSelected\"\n (keydown.enter)=\"click()\"\n (click)=\"click()\"\n (mouseover)=\"select()\">\n <ng-content></ng-content>\n</div>\n"}]}],"members":{"preventClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":5}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"DropdownStateService"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":38,"character":33},{"__symbolic":"reference","module":"@angular/core","name":"Renderer","line":39,"character":34}]}],"ngOnDestroy":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"click":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}]}},"Ng2DropdownButton":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"ng2-dropdown-button","styles":[".ng2-dropdown-button{font-family:Roboto,\"Helvetica Neue\",Helvetica,Arial;background:#fff;padding:.45rem .25rem;font-size:14px;letter-spacing:.08rem;color:#444;outline:0;cursor:pointer;font-weight:400;border:none;border-bottom:1px solid #efefef;text-align:left;min-width:100px;width:100%;display:flex;flex-direction:row;max-width:150px}.ng2-dropdown-button:hover{color:#222}.ng2-dropdown-button:active,.ng2-dropdown-button:focus{color:#222;border-bottom:2px solid #2196f3}.ng2-dropdown-button__label{flex:1 1 95%}.ng2-dropdown-button__caret{width:12px;height:12px;display:flex;flex:1 1 6%}:host-context(.ng2-dropdown-button--icon) .ng2-dropdown-button{border:none;min-width:40px;width:40px;border-radius:100%;transition:all .2s;text-align:center;height:40px;padding:.5em}:host-context(.ng2-dropdown-button--icon) .ng2-dropdown-button:active{background:rgba(0,0,0,.2)}"],"template":"<button class='ng2-dropdown-button' type=\"button\" (click)=\"toggleMenu()\" tabindex=\"0s\">\n <span class=\"ng2-dropdown-button__label\">\n <ng-content></ng-content>\n </span>\n\n <span class=\"ng2-dropdown-button__caret\" *ngIf=\"showCaret\">\n <svg enable-background=\"new 0 0 32 32\" height=\"16px\" id=\"Слой_1\" version=\"1.1\" viewBox=\"0 0 32 32\" width=\"16px\" xml:space=\"preserve\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><path d=\"M24.285,11.284L16,19.571l-8.285-8.288c-0.395-0.395-1.034-0.395-1.429,0 c-0.394,0.395-0.394,1.035,0,1.43l8.999,9.002l0,0l0,0c0.394,0.395,1.034,0.395,1.428,0l8.999-9.002 c0.394-0.395,0.394-1.036,0-1.431C25.319,10.889,24.679,10.889,24.285,11.284z\" fill=\"#121313\" id=\"Expand_More\"/><g/><g/><g/><g/><g/><g/></svg>\n </span>\n</button>\n"}]}],"members":{"onMenuToggled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":5}}]}],"showCaret":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":26,"character":33}]}],"toggleMenu":[{"__symbolic":"method"}],"getPosition":[{"__symbolic":"method"}]}},"Ng2DropdownModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"exports":[{"__symbolic":"reference","name":"Ng2MenuItem"},{"__symbolic":"reference","name":"Ng2DropdownButton"},{"__symbolic":"reference","name":"Ng2DropdownMenu"},{"__symbolic":"reference","name":"Ng2Dropdown"}],"declarations":[{"__symbolic":"reference","name":"Ng2Dropdown"},{"__symbolic":"reference","name":"Ng2MenuItem"},{"__symbolic":"reference","name":"Ng2DropdownButton"},{"__symbolic":"reference","name":"Ng2DropdownMenu"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":23,"character":8}]}]}],"members":{}},"DropdownStateService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{}}},"origins":{"Ng2Dropdown":"./src/modules/components/dropdown/ng2-dropdown","Ng2DropdownMenu":"./src/modules/components/menu/ng2-dropdown-menu","Ng2MenuItem":"./src/modules/components/menu-item/ng2-menu-item","Ng2DropdownButton":"./src/modules/components/button/ng2-dropdown-button","Ng2DropdownModule":"./src/modules/ng2-dropdown.module","DropdownStateService":"./src/modules/services/dropdown-state.service"},"importAs":"ng2-material-dropdown"} | ||
{"__symbolic":"module","version":4,"metadata":{"Ng2Dropdown":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"ng2-dropdown","template":"<div class=\"ng2-dropdown-container\">\n <ng-content select=\"ng2-dropdown-button\"></ng-content>\n <ng-content select=\"ng2-dropdown-menu\"></ng-content>\n</div>\n","providers":[{"__symbolic":"reference","name":"DropdownStateService"}]}]}],"members":{"button":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":25,"character":5},"arguments":[{"__symbolic":"reference","name":"Ng2DropdownButton"}]}]}],"menu":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":26,"character":5},"arguments":[{"__symbolic":"reference","name":"Ng2DropdownMenu"}]}]}],"dynamicUpdate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5}}]}],"onItemClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":31,"character":5}}]}],"onItemSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":32,"character":5}}]}],"onShow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":33,"character":5}}]}],"onHide":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":34,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"DropdownStateService"}]}],"ngOnInit":[{"__symbolic":"method"}],"toggleMenu":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"scrollListener":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":105,"character":5},"arguments":["window:scroll"]}]}]}},"Ng2DropdownMenu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"ng2-dropdown-menu","styles":[":host{display:block}.ng2-dropdown-menu{overflow-y:auto;box-shadow:0 1px 2px 0 rgba(0,0,0,.3);position:absolute;padding:.5em 0;background:#fff;border-radius:1px;max-height:400px;width:260px;min-height:0;display:block}.ng2-dropdown-menu.ng2-dropdown-menu--inside-element{position:fixed}.ng2-dropdown-menu.ng2-dropdown-menu--width--2{width:200px}.ng2-dropdown-menu.ng2-dropdown-menu--width--4{width:260px}.ng2-dropdown-menu.ng2-dropdown-menu--width--6{width:320px}.ng2-dropdown-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden}:host /deep/ .ng2-menu-divider{height:1px;min-height:1px;max-height:1px;width:100%;display:block;background:#f9f9f9}"],"template":"<!-- MENU -->\n<div class='ng2-dropdown-menu ng2-dropdown-menu---width--{{ width }}'\n [class.ng2-dropdown-menu--inside-element]=\"!appendToBody\"\n [class.ng2-dropdown-menu--open]=\"state.menuState.isVisible\"\n [style.z-index]=\"zIndex\"\n [@fade]=\"state.menuState.toString()\">\n <div class=\"ng2-dropdown-menu__options-container\"\n [@opacity]=\"state.menuState.toString()\">\n <ng-content></ng-content>\n </div>\n</div>\n\n<!-- BACKDROP -->\n<div class=\"ng2-dropdown-backdrop\" *ngIf=\"state.menuState.isVisible\" (click)=\"hide()\"></div>\n","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":42,"character":8},"arguments":["fade",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":43,"character":12},"arguments":["visible",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":43,"character":29},"arguments":[{"display":"block","opacity":1,"height":"*","width":"*"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":46,"character":12},"arguments":["hidden",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":46,"character":28},"arguments":[{"display":"none","opacity":0,"overflow":"hidden","height":0,"width":0}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":49,"character":12},"arguments":["hidden => visible",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":50,"character":16},"arguments":["250ms ease-in",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":51,"character":20},"arguments":[{"opacity":1,"height":"*","width":"*"}]}]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":54,"character":12},"arguments":["visible => hidden",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":55,"character":16},"arguments":["350ms ease-out",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":56,"character":20},"arguments":[{"opacity":0,"width":0,"height":0}]}]}]]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":60,"character":8},"arguments":["opacity",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":61,"character":12},"arguments":["hidden => visible",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":62,"character":16},"arguments":["450ms ease-in",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"keyframes","line":62,"character":41},"arguments":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":63,"character":20},"arguments":[{"opacity":0,"offset":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":64,"character":20},"arguments":[{"opacity":1,"offset":1}]}]]}]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":67,"character":12},"arguments":["visible => hidden",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":68,"character":16},"arguments":["250ms ease-out",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"keyframes","line":68,"character":42},"arguments":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":69,"character":20},"arguments":[{"opacity":1,"offset":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":70,"character":20},"arguments":[{"opacity":0.5,"offset":0.3}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":71,"character":20},"arguments":[{"opacity":0,"offset":1}]}]]}]}]]}]]}]}]}],"members":{"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":81,"character":5}}]}],"focusFirstElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":87,"character":5}}]}],"offset":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":93,"character":5}}]}],"appendToBody":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":98,"character":5}}]}],"zIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":103,"character":5}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":108,"character":5},"arguments":[{"__symbolic":"reference","name":"Ng2MenuItem"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"DropdownStateService"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":118,"character":33},{"__symbolic":"reference","module":"@angular/core","name":"Renderer","line":119,"character":34}]}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"updatePosition":[{"__symbolic":"method"}],"handleKeypress":[{"__symbolic":"method"}],"getMenuElement":[{"__symbolic":"method"}],"calcPositionOffset":[{"__symbolic":"method"}],"applyOffset":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"updateOnChange":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"Ng2MenuItem":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"ng2-menu-item","styles":[".ng2-menu-item{font-family:Roboto,\"Helvetica Neue\",Helvetica,Arial;background:#fff;color:rgba(0,0,0,.87);cursor:pointer;font-size:.9em;text-transform:none;font-weight:400;letter-spacing:.03em;height:48px;line-height:48px;padding:.3em 1.25rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;transition:background .25s}.ng2-menu-item--selected{background:rgba(158,158,158,.2);outline:0}.ng2-menu-item:focus{outline:0}.ng2-menu-item:active{background:rgba(158,158,158,.4)}:host(ng2-menu-item) /deep/ [ng2-menu-item-icon]{vertical-align:middle;font-size:28px;width:1.5em;height:30px;color:rgba(0,0,0,.44)}"],"template":"<div class='ng2-menu-item'\n role=\"button\"\n tabindex=\"0\"\n [class.ng2-menu-item--selected]=\"isSelected\"\n (keydown.enter)=\"click()\"\n (click)=\"click()\"\n (mouseover)=\"select()\">\n <ng-content></ng-content>\n</div>\n"}]}],"members":{"preventClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":5}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"DropdownStateService"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":38,"character":33},{"__symbolic":"reference","module":"@angular/core","name":"Renderer","line":39,"character":34}]}],"ngOnDestroy":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"click":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}]}},"Ng2DropdownButton":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"ng2-dropdown-button","styles":[".ng2-dropdown-button{font-family:Roboto,\"Helvetica Neue\",Helvetica,Arial;background:#fff;padding:.45rem .25rem;font-size:14px;letter-spacing:.08rem;color:#444;outline:0;cursor:pointer;font-weight:400;border:none;border-bottom:1px solid #efefef;text-align:left;min-width:100px;width:100%;display:flex;flex-direction:row;max-width:150px}.ng2-dropdown-button:hover{color:#222}.ng2-dropdown-button:active,.ng2-dropdown-button:focus{color:#222;border-bottom:2px solid #2196f3}.ng2-dropdown-button__label{flex:1 1 95%}.ng2-dropdown-button__caret{width:12px;height:12px;display:flex;flex:1 1 6%}:host-context(.ng2-dropdown-button--icon) .ng2-dropdown-button{border:none;min-width:40px;width:40px;border-radius:100%;transition:all .2s;text-align:center;height:40px;padding:.5em}:host-context(.ng2-dropdown-button--icon) .ng2-dropdown-button:active{background:rgba(0,0,0,.2)}"],"template":"<button class='ng2-dropdown-button' type=\"button\" (click)=\"toggleMenu()\" tabindex=\"0s\">\n <span class=\"ng2-dropdown-button__label\">\n <ng-content></ng-content>\n </span>\n\n <span class=\"ng2-dropdown-button__caret\" *ngIf=\"showCaret\">\n <svg enable-background=\"new 0 0 32 32\" height=\"16px\" id=\"Слой_1\" version=\"1.1\" viewBox=\"0 0 32 32\" width=\"16px\" xml:space=\"preserve\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><path d=\"M24.285,11.284L16,19.571l-8.285-8.288c-0.395-0.395-1.034-0.395-1.429,0 c-0.394,0.395-0.394,1.035,0,1.43l8.999,9.002l0,0l0,0c0.394,0.395,1.034,0.395,1.428,0l8.999-9.002 c0.394-0.395,0.394-1.036,0-1.431C25.319,10.889,24.679,10.889,24.285,11.284z\" fill=\"#121313\" id=\"Expand_More\"/><g/><g/><g/><g/><g/><g/></svg>\n </span>\n</button>\n"}]}],"members":{"onMenuToggled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":5}}]}],"showCaret":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":26,"character":33}]}],"toggleMenu":[{"__symbolic":"method"}],"getPosition":[{"__symbolic":"method"}]}},"Ng2DropdownModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"exports":[{"__symbolic":"reference","name":"Ng2MenuItem"},{"__symbolic":"reference","name":"Ng2DropdownButton"},{"__symbolic":"reference","name":"Ng2DropdownMenu"},{"__symbolic":"reference","name":"Ng2Dropdown"}],"declarations":[{"__symbolic":"reference","name":"Ng2Dropdown"},{"__symbolic":"reference","name":"Ng2MenuItem"},{"__symbolic":"reference","name":"Ng2DropdownButton"},{"__symbolic":"reference","name":"Ng2DropdownMenu"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":23,"character":8}]}]}],"members":{}},"DropdownStateService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{}}},"origins":{"Ng2Dropdown":"./src/modules/components/dropdown/ng2-dropdown","Ng2DropdownMenu":"./src/modules/components/menu/ng2-dropdown-menu","Ng2MenuItem":"./src/modules/components/menu-item/ng2-menu-item","Ng2DropdownButton":"./src/modules/components/button/ng2-dropdown-button","Ng2DropdownModule":"./src/modules/ng2-dropdown.module","DropdownStateService":"./src/modules/services/dropdown-state.service"},"importAs":"ng2-material-dropdown"} |
{ | ||
"name": "ng2-material-dropdown", | ||
"version": "0.10.0", | ||
"version": "0.10.1", | ||
"description": "Angular material-like dropdown component", | ||
@@ -5,0 +5,0 @@ "author": { |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
0
661989
5422