Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More

@lucasheight/angular-controls

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lucasheight/angular-controls - npm Package Compare versions

Comparing version 0.0.15 to 0.0.16

@@ -99,5 +99,11 @@ (function (global, factory) {

}
else {
this._input.nativeElement.value = null;
}
if (this._display && val) {
this._display.nativeElement.value = this.formatDisplay((val * this._factor).toFixed(this.decimals));
}
else {
this._display.nativeElement.value = null;
}
this.cdr.markForCheck();

@@ -199,4 +205,8 @@ },

}
this.cdr.markForCheck();
}
else {
this._input.nativeElement.value = null;
this._display.nativeElement.value = null;
}
this.cdr.markForCheck();
};

@@ -203,0 +213,0 @@ /**

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

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/forms"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@lucasheight/angular-controls",["exports","@angular/core","@angular/forms","rxjs","rxjs/operators"],e):e(((t=t||self).lucasheight=t.lucasheight||{},t.lucasheight["angular-controls"]={}),t.ng.core,t.ng.forms,t.rxjs,t.rxjs.operators)}(this,function(t,e,i,n,r){"use strict";var o=function(){function t(t){var i=this;this.cdr=t,this.numberReg=/\d+/g,this.showInput=!1,this._disabled=!1,this._factor=1,this._width=undefined,this.placeholder="",this.title="",this.tabindex=0,this.prefix="",this.postfix="",this.decimals=0,this.valueOutput=new e.EventEmitter,this.blurOutput=new e.EventEmitter,this.focusOutput=new e.EventEmitter,this.destroy$=new n.Subject,this.onChanged=function(t){},this.onTouched=function(t){},this.formatDisplay=function(t){return t?""+i.prefix+t.toString()+i.postfix:"Null"}}return Object.defineProperty(t.prototype,"factor",{set:function(t){this._factor=Math.round(t),this.cdr.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{set:function(t){this._disabled=t,this.cdr.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"width",{set:function(t){parseFloat(t.toString())?this._width=t+"px":this._width=t.toString(),this.cdr.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{set:function(t){this._input&&t&&(this._input.nativeElement.value=(t*this._factor).toFixed(this.decimals)),this._display&&t&&(this._display.nativeElement.value=this.formatDisplay((t*this._factor).toFixed(this.decimals))),this.cdr.markForCheck()},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){},t.prototype.ngAfterViewInit=function(){var t=this;n.fromEvent(this._display.nativeElement,"focus").pipe(r.takeUntil(this.destroy$)).subscribe(function(e){t.showInput=!0,setTimeout(function(){t._input.nativeElement.focus(),t.onTouched(e),t.focusOutput.emit(e)}),t.cdr.markForCheck()}),n.fromEvent(this._input.nativeElement,"input").pipe(r.takeUntil(this.destroy$),r.debounceTime(100),r.distinctUntilChanged()).subscribe(function(e){var i=parseFloat(t._input.nativeElement.value)/t._factor;t._display.nativeElement.value=t._input.nativeElement.value?t.formatDisplay(parseFloat(t._input.nativeElement.value).toFixed(t.decimals)):null,t.valueOutput.emit(i||null),t.onChanged(i||null),t.cdr.markForCheck()}),n.fromEvent(this._input.nativeElement,"blur").pipe(r.takeUntil(this.destroy$)).subscribe(function(e){t.showInput=!1,t.blurOutput.emit(e),t.cdr.markForCheck()})},t.prototype.ngOnDestroy=function(){this.destroy$.next()},t.prototype.writeValue=function(t){if(t){if("number"==typeof t);else if("string"!=typeof t)throw"Unable to cast input to number";this._input&&(this._input.nativeElement.value=(t*this._factor).toFixed(this.decimals)),this._display&&(this._display.nativeElement.value=this.formatDisplay((t*this._factor).toFixed(this.decimals))),this.cdr.markForCheck()}},t.prototype.registerOnChange=function(t){this.onChanged=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._disabled=t},t.decorators=[{type:e.Component,args:[{selector:"lh-numberInput",template:'<span class="lh-wrapper">\n <input #inputCtr [disabled]="_disabled" class="lh-input" [type]="showInput?\'number\':\'hidden\'" [tabindex]="tabindex" />\n <input #displayCtr [disabled]="_disabled" [title]="title" [placeholder]="placeholder" class="lh-display" [type]="showInput?\'hidden\':\'text\'" [tabindex]="tabindex" /> \n</span>\n',providers:[{provide:i.NG_VALUE_ACCESSOR,useExisting:e.forwardRef(function(){return t}),multi:!0}],host:{"[style.width]":"_width"},styles:[":host{padding:0 7px 0 1px;display:block}.lh-wrapper{padding:2px;display:inline-block;width:100%}input{width:100%;display:inline-block;padding:.375em;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;border-radius:.25rem;border:1px solid rgba(33,37,41,.15)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none}"]}]}],t.ctorParameters=function(){return[{type:e.ChangeDetectorRef}]},t.propDecorators={placeholder:[{type:e.Input}],title:[{type:e.Input}],tabindex:[{type:e.Input}],factor:[{type:e.Input}],disabled:[{type:e.Input}],prefix:[{type:e.Input}],postfix:[{type:e.Input}],width:[{type:e.Input}],decimals:[{type:e.Input}],value:[{type:e.Input,args:["value"]}],valueOutput:[{type:e.Output,args:["valueChange"]}],blurOutput:[{type:e.Output,args:["blur"]}],focusOutput:[{type:e.Output,args:["focus"]}],_input:[{type:e.ViewChild,args:["inputCtr",{"static":!0}]}],_display:[{type:e.ViewChild,args:["displayCtr",{"static":!0}]}]},t}(),s=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{declarations:[o],imports:[],exports:[o]}]}],t}();t.LhControlsModule=s,t.NumberInputComponent=o,Object.defineProperty(t,"__esModule",{value:!0})});
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/forms"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@lucasheight/angular-controls",["exports","@angular/core","@angular/forms","rxjs","rxjs/operators"],e):e(((t=t||self).lucasheight=t.lucasheight||{},t.lucasheight["angular-controls"]={}),t.ng.core,t.ng.forms,t.rxjs,t.rxjs.operators)}(this,function(t,e,i,n,r){"use strict";var s=function(){function t(t){var i=this;this.cdr=t,this.numberReg=/\d+/g,this.showInput=!1,this._disabled=!1,this._factor=1,this._width=undefined,this.placeholder="",this.title="",this.tabindex=0,this.prefix="",this.postfix="",this.decimals=0,this.valueOutput=new e.EventEmitter,this.blurOutput=new e.EventEmitter,this.focusOutput=new e.EventEmitter,this.destroy$=new n.Subject,this.onChanged=function(t){},this.onTouched=function(t){},this.formatDisplay=function(t){return t?""+i.prefix+t.toString()+i.postfix:"Null"}}return Object.defineProperty(t.prototype,"factor",{set:function(t){this._factor=Math.round(t),this.cdr.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{set:function(t){this._disabled=t,this.cdr.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"width",{set:function(t){parseFloat(t.toString())?this._width=t+"px":this._width=t.toString(),this.cdr.markForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{set:function(t){this._input&&t?this._input.nativeElement.value=(t*this._factor).toFixed(this.decimals):this._input.nativeElement.value=null,this._display&&t?this._display.nativeElement.value=this.formatDisplay((t*this._factor).toFixed(this.decimals)):this._display.nativeElement.value=null,this.cdr.markForCheck()},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){},t.prototype.ngAfterViewInit=function(){var t=this;n.fromEvent(this._display.nativeElement,"focus").pipe(r.takeUntil(this.destroy$)).subscribe(function(e){t.showInput=!0,setTimeout(function(){t._input.nativeElement.focus(),t.onTouched(e),t.focusOutput.emit(e)}),t.cdr.markForCheck()}),n.fromEvent(this._input.nativeElement,"input").pipe(r.takeUntil(this.destroy$),r.debounceTime(100),r.distinctUntilChanged()).subscribe(function(e){var i=parseFloat(t._input.nativeElement.value)/t._factor;t._display.nativeElement.value=t._input.nativeElement.value?t.formatDisplay(parseFloat(t._input.nativeElement.value).toFixed(t.decimals)):null,t.valueOutput.emit(i||null),t.onChanged(i||null),t.cdr.markForCheck()}),n.fromEvent(this._input.nativeElement,"blur").pipe(r.takeUntil(this.destroy$)).subscribe(function(e){t.showInput=!1,t.blurOutput.emit(e),t.cdr.markForCheck()})},t.prototype.ngOnDestroy=function(){this.destroy$.next()},t.prototype.writeValue=function(t){if(t){if("number"==typeof t);else if("string"!=typeof t)throw"Unable to cast input to number";this._input&&(this._input.nativeElement.value=(t*this._factor).toFixed(this.decimals)),this._display&&(this._display.nativeElement.value=this.formatDisplay((t*this._factor).toFixed(this.decimals)))}else this._input.nativeElement.value=null,this._display.nativeElement.value=null;this.cdr.markForCheck()},t.prototype.registerOnChange=function(t){this.onChanged=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._disabled=t},t.decorators=[{type:e.Component,args:[{selector:"lh-numberInput",template:'<span class="lh-wrapper">\n <input #inputCtr [disabled]="_disabled" class="lh-input" [type]="showInput?\'number\':\'hidden\'" [tabindex]="tabindex" />\n <input #displayCtr [disabled]="_disabled" [title]="title" [placeholder]="placeholder" class="lh-display" [type]="showInput?\'hidden\':\'text\'" [tabindex]="tabindex" /> \n</span>\n',providers:[{provide:i.NG_VALUE_ACCESSOR,useExisting:e.forwardRef(function(){return t}),multi:!0}],host:{"[style.width]":"_width"},styles:[":host{padding:0 7px 0 1px;display:block}.lh-wrapper{padding:2px;display:inline-block;width:100%}input{width:100%;display:inline-block;padding:.375em;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;border-radius:.25rem;border:1px solid rgba(33,37,41,.15)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none}"]}]}],t.ctorParameters=function(){return[{type:e.ChangeDetectorRef}]},t.propDecorators={placeholder:[{type:e.Input}],title:[{type:e.Input}],tabindex:[{type:e.Input}],factor:[{type:e.Input}],disabled:[{type:e.Input}],prefix:[{type:e.Input}],postfix:[{type:e.Input}],width:[{type:e.Input}],decimals:[{type:e.Input}],value:[{type:e.Input,args:["value"]}],valueOutput:[{type:e.Output,args:["valueChange"]}],blurOutput:[{type:e.Output,args:["blur"]}],focusOutput:[{type:e.Output,args:["focus"]}],_input:[{type:e.ViewChild,args:["inputCtr",{"static":!0}]}],_display:[{type:e.ViewChild,args:["displayCtr",{"static":!0}]}]},t}(),o=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{declarations:[s],imports:[],exports:[s]}]}],t}();t.LhControlsModule=o,t.NumberInputComponent=s,Object.defineProperty(t,"__esModule",{value:!0})});
//# sourceMappingURL=lucasheight-angular-controls.umd.min.js.map

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

}
else {
this._input.nativeElement.value = null;
}
if (this._display && val) {
this._display.nativeElement.value = this.formatDisplay((val * this._factor).toFixed(this.decimals));
}
else {
this._display.nativeElement.value = null;
}
this.cdr.markForCheck();

@@ -178,4 +184,8 @@ }

}
this.cdr.markForCheck();
}
else {
this._input.nativeElement.value = null;
this._display.nativeElement.value = null;
}
this.cdr.markForCheck();
}

@@ -301,2 +311,2 @@ /**

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BsdWNhc2hlaWdodC9hbmd1bGFyLWNvbnRyb2xzLyIsInNvdXJjZXMiOlsibGliL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBZ0IsU0FBUyxFQUE0QixVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUwsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFRLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQVEsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFnQnJGLE1BQU0sT0FBTyxvQkFBb0I7Ozs7SUErQy9CLFlBQW9CLEdBQXFCO1FBQXJCLFFBQUcsR0FBSCxHQUFHLENBQWtCO1FBOUNqQyxjQUFTLEdBQUcsTUFBTSxDQUFDO1FBQzNCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBQ3BCLFdBQU0sR0FBVyxTQUFTLENBQUM7UUFDbEIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsVUFBSyxHQUFXLEVBQUUsQ0FBQzs7UUFFbkIsYUFBUSxHQUFXLENBQUMsQ0FBQztRQVNyQixXQUFNLEdBQVcsRUFBRSxDQUFDO1FBQ3BCLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFVckIsYUFBUSxHQUFXLENBQUMsQ0FBQztRQVdQLGdCQUFXLEdBQWtDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkUsZUFBVSxHQUE2QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3pE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QTZCOztJQUM3Qix1Q0FBOEI7O0lBVTlCLHdDQUE4Qjs7SUFXOUIsMkNBQXVGOztJQUN2RiwwQ0FBMEU7O0lBQzFFLDJDQUE0RTs7SUFDNUUsc0NBQTREOztJQUM1RCx3Q0FBZ0U7Ozs7O0lBQ2hFLHdDQUFnRDs7SUFpRGhELHlDQUE0Qjs7SUFDNUIseUNBQTRCOzs7OztJQStCNUIsNkNBRUM7Ozs7O0lBakZXLG1DQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgSG9zdExpc3RlbmVyLCBWaWV3Q2hpbGQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QsIHBpcGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCwgdGFrZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGRlYm91bmNlVGltZSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGgtbnVtYmVySW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbnVtYmVyLWlucHV0LmNvbXBvbmVudC5jc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTnVtYmVySW5wdXRDb21wb25lbnQpLCBtdWx0aTogdHJ1ZSB9XG4gIF0sXG4gIGhvc3Q6IHtcbiAgICAvLycoYmx1ciknOidvblRvdWNoZWQoKScsXG4gICAgJ1tzdHlsZS53aWR0aF0nOiAnX3dpZHRoJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE51bWJlcklucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcHJpdmF0ZSBudW1iZXJSZWcgPSAvXFxkKy9nO1xuICBzaG93SW5wdXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIF9mYWN0b3I6IG51bWJlciA9IDE7XG4gIF93aWR0aDogc3RyaW5nID0gdW5kZWZpbmVkO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9IFwiXCI7XG4gIC8vQEhvc3RCaW5kaW5nKFwic3R5bGUud2lkdGhcIikgaG9zdFdpZHRoID0gdW5kZWZpbmVkO1xuICBASW5wdXQoKSB0YWJpbmRleDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgc2V0IGZhY3Rvcih2YWw6IG51bWJlcikge1xuICAgIHRoaXMuX2ZhY3RvciA9IE1hdGgucm91bmQodmFsKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcbiAgQElucHV0KCkgc2V0IGRpc2FibGVkKHZhbDogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG4gIEBJbnB1dCgpIHByZWZpeDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgcG9zdGZpeDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgc2V0IHdpZHRoKHZhbDogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgaWYgKHBhcnNlRmxvYXQodmFsLnRvU3RyaW5nKCkpKSB7XG4gICAgICB0aGlzLl93aWR0aCA9IGAke3ZhbH1weGA7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5fd2lkdGggPSB2YWwudG9TdHJpbmcoKTtcbiAgICB9XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH07XG4gIEBJbnB1dCgpIGRlY2ltYWxzOiBudW1iZXIgPSAwO1xuICBASW5wdXQoXCJ2YWx1ZVwiKSBzZXQgdmFsdWUodmFsOiBudW1iZXIpIHtcblxuICAgIGlmICh0aGlzLl9pbnB1dCAmJiB2YWwpIHtcbiAgICAgIHRoaXMuX2lucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAodmFsICogdGhpcy5fZmFjdG9yKS50b0ZpeGVkKHRoaXMuZGVjaW1hbHMpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fZGlzcGxheSAmJiB2YWwpIHtcbiAgICAgIHRoaXMuX2Rpc3BsYXkubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuZm9ybWF0RGlzcGxheSgodmFsICogdGhpcy5fZmFjdG9yKS50b0ZpeGVkKHRoaXMuZGVjaW1hbHMpKTtcbiAgICB9XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH07XG4gIEBPdXRwdXQoXCJ2YWx1ZUNoYW5nZVwiKSB2YWx1ZU91dHB1dDogRXZlbnRFbWl0dGVyPG51bWJlciB8IHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoXCJibHVyXCIpIGJsdXJPdXRwdXQ6IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dChcImZvY3VzXCIpIGZvY3VzT3V0cHV0OiBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoXCJpbnB1dEN0clwiLCB7IHN0YXRpYzogdHJ1ZSB9KSBfaW5wdXQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoXCJkaXNwbGF5Q3RyXCIsIHsgc3RhdGljOiB0cnVlIH0pIF9kaXNwbGF5OiBFbGVtZW50UmVmO1xuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjpDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG5cbiAgICBmcm9tRXZlbnQ8Rm9jdXNFdmVudD4odGhpcy5fZGlzcGxheS5uYXRpdmVFbGVtZW50LCBcImZvY3VzXCIpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShzID0+IHtcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcImZvY3VzXCIsIHMpXG4gICAgICAgIHRoaXMuc2hvd0lucHV0ID0gdHJ1ZTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgXG4gICAgICAgICAgdGhpcy5faW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gICAgICAgICAgdGhpcy5vblRvdWNoZWQocyk7XG4gICAgICAgICAgdGhpcy5mb2N1c091dHB1dC5lbWl0KHMpXG4gICAgICAgICAgXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIGZyb21FdmVudDxLZXlib2FyZEV2ZW50Pih0aGlzLl9pbnB1dC5uYXRpdmVFbGVtZW50LCBcImlucHV0XCIpLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgICAuc3Vic2NyaWJlKHMgPT4ge1xuICAgICAgICAvL2NvbnNvbGUubG9nKFwiaW5wdXRcIiwgcylcbiAgICAgICAgbGV0IHYgPSAocGFyc2VGbG9hdCh0aGlzLl9pbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlKSAvIHRoaXMuX2ZhY3Rvcik7XG4gICAgICAgIHRoaXMuX2Rpc3BsYXkubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuX2lucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPyB0aGlzLmZvcm1hdERpc3BsYXkocGFyc2VGbG9hdCh0aGlzLl9pbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlKS50b0ZpeGVkKHRoaXMuZGVjaW1hbHMpKSA6IG51bGw7XG4gICAgICAgIHRoaXMudmFsdWVPdXRwdXQuZW1pdCh2IHx8IG51bGwpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlZCh2IHx8IG51bGwpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgZnJvbUV2ZW50PEZvY3VzRXZlbnQ+KHRoaXMuX2lucHV0Lm5hdGl2ZUVsZW1lbnQsIFwiYmx1clwiKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUocyA9PiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwibWVyZ2VkXCIsIHMpXG4gICAgICAgIHRoaXMuc2hvd0lucHV0ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYmx1ck91dHB1dC5lbWl0KHMpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgLy8gdGhpcy5faW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICB9XG5cbiAgb25DaGFuZ2VkID0gKF86IGFueSkgPT4geyB9O1xuICBvblRvdWNoZWQgPSAoXzogYW55KSA9PiB7IH07XG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcbiAgICBsZXQgX251bSA9IG51bGw7XG4gICAgaWYgKG9iaikge1xuICAgICAgaWYgKHR5cGVvZiBvYmogPT0gXCJudW1iZXJcIikge1xuICAgICAgICBfbnVtID0gb2JqIGFzIG51bWJlcjtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKHR5cGVvZiBvYmogPT0gXCJzdHJpbmdcIikge1xuICAgICAgICBfbnVtID0gcGFyc2VGbG9hdChvYmopO1xuICAgICAgfVxuICAgICAgZWxzZSB7IHRocm93IFwiVW5hYmxlIHRvIGNhc3QgaW5wdXQgdG8gbnVtYmVyXCIgfVxuXG4gICAgICBpZiAodGhpcy5faW5wdXQpIHtcbiAgICAgICAgdGhpcy5faW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICgob2JqIGFzIG51bWJlcikgKiB0aGlzLl9mYWN0b3IpLnRvRml4ZWQodGhpcy5kZWNpbWFscyk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5fZGlzcGxheSkge1xuICAgICAgICB0aGlzLl9kaXNwbGF5Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmZvcm1hdERpc3BsYXkoKChvYmogYXMgbnVtYmVyKSAqIHRoaXMuX2ZhY3RvcikudG9GaXhlZCh0aGlzLmRlY2ltYWxzKSk7XG4gICAgICB9XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblxuICAgIH1cbiAgfVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlZCA9IGZuO1xuICB9XG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cbiAgcHJpdmF0ZSBmb3JtYXREaXNwbGF5ID0gKHZhbDogc3RyaW5nIHwgbnVtYmVyKTogc3RyaW5nID0+IHtcbiAgICByZXR1cm4gdmFsID8gYCR7dGhpcy5wcmVmaXh9JHt2YWwudG9TdHJpbmcoKX0ke3RoaXMucG9zdGZpeH1gIDogXCJOdWxsXCI7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BsdWNhc2hlaWdodC9hbmd1bGFyLWNvbnRyb2xzLyIsInNvdXJjZXMiOlsibGliL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBZ0IsU0FBUyxFQUE0QixVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUwsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFRLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQVEsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFnQnJGLE1BQU0sT0FBTyxvQkFBb0I7Ozs7SUFxRC9CLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBcERsQyxjQUFTLEdBQUcsTUFBTSxDQUFDO1FBQzNCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBQ3BCLFdBQU0sR0FBVyxTQUFTLENBQUM7UUFDbEIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsVUFBSyxHQUFXLEVBQUUsQ0FBQzs7UUFFbkIsYUFBUSxHQUFXLENBQUMsQ0FBQztRQVNyQixXQUFNLEdBQVcsRUFBRSxDQUFDO1FBQ3BCLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFVckIsYUFBUSxHQUFXLENBQUMsQ0FBQztRQWlCUCxnQkFBVyxHQUFrQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZFLGVBQVUsR0FBNkIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN6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QUFNOzBCQUNiLE1BQU0sU0FBQyxPQUFPO3FCQUNkLFNBQVMsU0FBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3VCQUN0QyxTQUFTLFNBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs7Ozs7OztJQWpEekMseUNBQTJCOztJQUMzQix5Q0FBMkI7O0lBQzNCLHlDQUEyQjs7SUFDM0IsdUNBQW9COztJQUNwQixzQ0FBMkI7O0lBQzNCLDJDQUFrQzs7SUFDbEMscUNBQTRCOztJQUU1Qix3Q0FBOEI7O0lBUzlCLHNDQUE2Qjs7SUFDN0IsdUNBQThCOztJQVU5Qix3Q0FBOEI7O0lBaUI5QiwyQ0FBdUY7O0lBQ3ZGLDBDQUEwRTs7SUFDMUUsMkNBQTRFOztJQUM1RSxzQ0FBNEQ7O0lBQzVELHdDQUFnRTs7Ozs7SUFDaEUsd0NBQWdEOztJQWlEaEQseUNBQTRCOztJQUM1Qix5Q0FBNEI7Ozs7O0lBbUM1Qiw2Q0FFQzs7Ozs7SUFyRlcsbUNBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBIb3N0TGlzdGVuZXIsIFZpZXdDaGlsZCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCwgcGlwZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsLCB0YWtlLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZGVib3VuY2VUaW1lIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaC1udW1iZXJJbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9udW1iZXItaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9udW1iZXItaW5wdXQuY29tcG9uZW50LmNzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOdW1iZXJJbnB1dENvbXBvbmVudCksIG11bHRpOiB0cnVlIH1cbiAgXSxcbiAgaG9zdDoge1xuICAgIC8vJyhibHVyKSc6J29uVG91Y2hlZCgpJyxcbiAgICAnW3N0eWxlLndpZHRoXSc6ICdfd2lkdGgnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVySW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIG51bWJlclJlZyA9IC9cXGQrL2c7XG4gIHNob3dJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgX2ZhY3RvcjogbnVtYmVyID0gMTtcbiAgX3dpZHRoOiBzdHJpbmcgPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gXCJcIjtcbiAgLy9ASG9zdEJpbmRpbmcoXCJzdHlsZS53aWR0aFwiKSBob3N0V2lkdGggPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHRhYmluZGV4OiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBzZXQgZmFjdG9yKHZhbDogbnVtYmVyKSB7XG4gICAgdGhpcy5fZmFjdG9yID0gTWF0aC5yb3VuZCh2YWwpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuICBASW5wdXQoKSBzZXQgZGlzYWJsZWQodmFsOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWw7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbiAgQElucHV0KCkgcHJlZml4OiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBwb3N0Zml4OiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBzZXQgd2lkdGgodmFsOiBudW1iZXIgfCBzdHJpbmcpIHtcbiAgICBpZiAocGFyc2VGbG9hdCh2YWwudG9TdHJpbmcoKSkpIHtcbiAgICAgIHRoaXMuX3dpZHRoID0gYCR7dmFsfXB4YDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLl93aWR0aCA9IHZhbC50b1N0cmluZygpO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcbiAgQElucHV0KCkgZGVjaW1hbHM6IG51bWJlciA9IDA7XG4gIEBJbnB1dChcInZhbHVlXCIpIHNldCB2YWx1ZSh2YWw6IG51bWJlcikge1xuXG4gICAgaWYgKHRoaXMuX2lucHV0ICYmIHZhbCkge1xuICAgICAgdGhpcy5faW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICh2YWwgKiB0aGlzLl9mYWN0b3IpLnRvRml4ZWQodGhpcy5kZWNpbWFscyk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5faW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XG4gICAgfVxuICAgIGlmICh0aGlzLl9kaXNwbGF5ICYmIHZhbCkge1xuICAgICAgdGhpcy5fZGlzcGxheS5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5mb3JtYXREaXNwbGF5KCh2YWwgKiB0aGlzLl9mYWN0b3IpLnRvRml4ZWQodGhpcy5kZWNpbWFscykpO1xuICAgIH1cbiAgICBlbHNle1xuICAgICAgdGhpcy5fZGlzcGxheS5uYXRpdmVFbGVtZW50LnZhbHVlID1udWxsO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcbiAgQE91dHB1dChcInZhbHVlQ2hhbmdlXCIpIHZhbHVlT3V0cHV0OiBFdmVudEVtaXR0ZXI8bnVtYmVyIHwgc3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dChcImJsdXJcIikgYmx1ck91dHB1dDogRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KFwiZm9jdXNcIikgZm9jdXNPdXRwdXQ6IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQFZpZXdDaGlsZChcImlucHV0Q3RyXCIsIHsgc3RhdGljOiB0cnVlIH0pIF9pbnB1dDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZChcImRpc3BsYXlDdHJcIiwgeyBzdGF0aWM6IHRydWUgfSkgX2Rpc3BsYXk6IEVsZW1lbnRSZWY7XG4gIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG5cbiAgICBmcm9tRXZlbnQ8Rm9jdXNFdmVudD4odGhpcy5fZGlzcGxheS5uYXRpdmVFbGVtZW50LCBcImZvY3VzXCIpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShzID0+IHtcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcImZvY3VzXCIsIHMpXG4gICAgICAgIHRoaXMuc2hvd0lucHV0ID0gdHJ1ZTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG5cbiAgICAgICAgICB0aGlzLl9pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKClcbiAgICAgICAgICB0aGlzLm9uVG91Y2hlZChzKTtcbiAgICAgICAgICB0aGlzLmZvY3VzT3V0cHV0LmVtaXQocylcblxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgICBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4odGhpcy5faW5wdXQubmF0aXZlRWxlbWVudCwgXCJpbnB1dFwiKS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgLnN1YnNjcmliZShzID0+IHtcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcImlucHV0XCIsIHMpXG4gICAgICAgIGxldCB2ID0gKHBhcnNlRmxvYXQodGhpcy5faW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSkgLyB0aGlzLl9mYWN0b3IpO1xuICAgICAgICB0aGlzLl9kaXNwbGF5Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLl9pbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID8gdGhpcy5mb3JtYXREaXNwbGF5KHBhcnNlRmxvYXQodGhpcy5faW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSkudG9GaXhlZCh0aGlzLmRlY2ltYWxzKSkgOiBudWxsO1xuICAgICAgICB0aGlzLnZhbHVlT3V0cHV0LmVtaXQodiB8fCBudWxsKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZWQodiB8fCBudWxsKTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgIGZyb21FdmVudDxGb2N1c0V2ZW50Pih0aGlzLl9pbnB1dC5uYXRpdmVFbGVtZW50LCBcImJsdXJcIikucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKHMgPT4ge1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhcIm1lcmdlZFwiLCBzKVxuICAgICAgICB0aGlzLnNob3dJbnB1dCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmJsdXJPdXRwdXQuZW1pdChzKTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIC8vIHRoaXMuX2lucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgfVxuXG4gIG9uQ2hhbmdlZCA9IChfOiBhbnkpID0+IHsgfTtcbiAgb25Ub3VjaGVkID0gKF86IGFueSkgPT4geyB9O1xuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgbGV0IF9udW0gPSBudWxsO1xuICAgIGlmIChvYmopIHtcbiAgICAgIGlmICh0eXBlb2Ygb2JqID09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgX251bSA9IG9iaiBhcyBudW1iZXI7XG4gICAgICB9XG4gICAgICBlbHNlIGlmICh0eXBlb2Ygb2JqID09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgX251bSA9IHBhcnNlRmxvYXQob2JqKTtcbiAgICAgIH1cbiAgICAgIGVsc2UgeyB0aHJvdyBcIlVuYWJsZSB0byBjYXN0IGlucHV0IHRvIG51bWJlclwiIH1cblxuICAgICAgaWYgKHRoaXMuX2lucHV0KSB7XG4gICAgICAgIHRoaXMuX2lucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAoKG9iaiBhcyBudW1iZXIpICogdGhpcy5fZmFjdG9yKS50b0ZpeGVkKHRoaXMuZGVjaW1hbHMpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuX2Rpc3BsYXkpIHtcbiAgICAgICAgdGhpcy5fZGlzcGxheS5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5mb3JtYXREaXNwbGF5KCgob2JqIGFzIG51bWJlcikgKiB0aGlzLl9mYWN0b3IpLnRvRml4ZWQodGhpcy5kZWNpbWFscykpO1xuICAgICAgfVxuXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5faW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XG4gICAgICB0aGlzLl9kaXNwbGF5Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlZCA9IGZuO1xuICB9XG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cbiAgcHJpdmF0ZSBmb3JtYXREaXNwbGF5ID0gKHZhbDogc3RyaW5nIHwgbnVtYmVyKTogc3RyaW5nID0+IHtcbiAgICByZXR1cm4gdmFsID8gYCR7dGhpcy5wcmVmaXh9JHt2YWwudG9TdHJpbmcoKX0ke3RoaXMucG9zdGZpeH1gIDogXCJOdWxsXCI7XG4gIH1cbn1cbiJdfQ==

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

}
else {
this._input.nativeElement.value = null;
}
if (this._display && val) {
this._display.nativeElement.value = this.formatDisplay((val * this._factor).toFixed(this.decimals));
}
else {
this._display.nativeElement.value = null;
}
this.cdr.markForCheck();

@@ -206,4 +212,8 @@ },

}
this.cdr.markForCheck();
}
else {
this._input.nativeElement.value = null;
this._display.nativeElement.value = null;
}
this.cdr.markForCheck();
};

@@ -343,2 +353,2 @@ /**

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BsdWNhc2hlaWdodC9hbmd1bGFyLWNvbnRyb2xzLyIsInNvdXJjZXMiOlsibGliL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBZ0IsU0FBUyxFQUE0QixVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUwsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFRLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQVEsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJckY7SUEyREUsOEJBQW9CLEdBQXFCO1FBQXpDLGlCQUE4QztRQUExQixRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQTlDakMsY0FBUyxHQUFHLE1BQU0sQ0FBQztRQUMzQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUNwQixXQUFNLEdBQVcsU0FBUyxDQUFDO1FBQ2xCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLFVBQUssR0FBVyxFQUFFLENBQUM7O1FBRW5CLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFTckIsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQUNwQixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBVXJCLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFXUCxnQkFBVyxHQUFrQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZFLGVBQVUsR0FBNkIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN6RCxnQkFBVyxH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OztJQUMvQix5Q0FBMkI7O0lBQzNCLHlDQUEyQjs7SUFDM0IseUNBQTJCOztJQUMzQix1Q0FBb0I7O0lBQ3BCLHNDQUEyQjs7SUFDM0IsMkNBQWtDOztJQUNsQyxxQ0FBNEI7O0lBRTVCLHdDQUE4Qjs7SUFTOUIsc0NBQTZCOztJQUM3Qix1Q0FBOEI7O0lBVTlCLHdDQUE4Qjs7SUFXOUIsMkNBQXVGOztJQUN2RiwwQ0FBMEU7O0lBQzFFLDJDQUE0RTs7SUFDNUUsc0NBQTREOztJQUM1RCx3Q0FBZ0U7Ozs7O0lBQ2hFLHdDQUFnRDs7SUFpRGhELHlDQUE0Qjs7SUFDNUIseUNBQTRCOzs7OztJQStCNUIsNkNBRUM7Ozs7O0lBakZXLG1DQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgSG9zdExpc3RlbmVyLCBWaWV3Q2hpbGQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QsIHBpcGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCwgdGFrZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGRlYm91bmNlVGltZSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGgtbnVtYmVySW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbnVtYmVyLWlucHV0LmNvbXBvbmVudC5jc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTnVtYmVySW5wdXRDb21wb25lbnQpLCBtdWx0aTogdHJ1ZSB9XG4gIF0sXG4gIGhvc3Q6IHtcbiAgICAvLycoYmx1ciknOidvblRvdWNoZWQoKScsXG4gICAgJ1tzdHlsZS53aWR0aF0nOiAnX3dpZHRoJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE51bWJlcklucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcHJpdmF0ZSBudW1iZXJSZWcgPSAvXFxkKy9nO1xuICBzaG93SW5wdXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIF9mYWN0b3I6IG51bWJlciA9IDE7XG4gIF93aWR0aDogc3RyaW5nID0gdW5kZWZpbmVkO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9IFwiXCI7XG4gIC8vQEhvc3RCaW5kaW5nKFwic3R5bGUud2lkdGhcIikgaG9zdFdpZHRoID0gdW5kZWZpbmVkO1xuICBASW5wdXQoKSB0YWJpbmRleDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgc2V0IGZhY3Rvcih2YWw6IG51bWJlcikge1xuICAgIHRoaXMuX2ZhY3RvciA9IE1hdGgucm91bmQodmFsKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcbiAgQElucHV0KCkgc2V0IGRpc2FibGVkKHZhbDogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG4gIEBJbnB1dCgpIHByZWZpeDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgcG9zdGZpeDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgc2V0IHdpZHRoKHZhbDogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgaWYgKHBhcnNlRmxvYXQodmFsLnRvU3RyaW5nKCkpKSB7XG4gICAgICB0aGlzLl93aWR0aCA9IGAke3ZhbH1weGA7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5fd2lkdGggPSB2YWwudG9TdHJpbmcoKTtcbiAgICB9XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH07XG4gIEBJbnB1dCgpIGRlY2ltYWxzOiBudW1iZXIgPSAwO1xuICBASW5wdXQoXCJ2YWx1ZVwiKSBzZXQgdmFsdWUodmFsOiBudW1iZXIpIHtcblxuICAgIGlmICh0aGlzLl9pbnB1dCAmJiB2YWwpIHtcbiAgICAgIHRoaXMuX2lucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAodmFsICogdGhpcy5fZmFjdG9yKS50b0ZpeGVkKHRoaXMuZGVjaW1hbHMpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fZGlzcGxheSAmJiB2YWwpIHtcbiAgICAgIHRoaXMuX2Rpc3BsYXkubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuZm9ybWF0RGlzcGxheSgodmFsICogdGhpcy5fZmFjdG9yKS50b0ZpeGVkKHRoaXMuZGVjaW1hbHMpKTtcbiAgICB9XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH07XG4gIEBPdXRwdXQoXCJ2YWx1ZUNoYW5nZVwiKSB2YWx1ZU91dHB1dDogRXZlbnRFbWl0dGVyPG51bWJlciB8IHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoXCJibHVyXCIpIGJsdXJPdXRwdXQ6IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dChcImZvY3VzXCIpIGZvY3VzT3V0cHV0OiBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoXCJpbnB1dEN0clwiLCB7IHN0YXRpYzogdHJ1ZSB9KSBfaW5wdXQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoXCJkaXNwbGF5Q3RyXCIsIHsgc3RhdGljOiB0cnVlIH0pIF9kaXNwbGF5OiBFbGVtZW50UmVmO1xuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjpDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG5cbiAgICBmcm9tRXZlbnQ8Rm9jdXNFdmVudD4odGhpcy5fZGlzcGxheS5uYXRpdmVFbGVtZW50LCBcImZvY3VzXCIpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShzID0+IHtcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcImZvY3VzXCIsIHMpXG4gICAgICAgIHRoaXMuc2hvd0lucHV0ID0gdHJ1ZTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgXG4gICAgICAgICAgdGhpcy5faW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gICAgICAgICAgdGhpcy5vblRvdWNoZWQocyk7XG4gICAgICAgICAgdGhpcy5mb2N1c091dHB1dC5lbWl0KHMpXG4gICAgICAgICAgXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIGZyb21FdmVudDxLZXlib2FyZEV2ZW50Pih0aGlzLl9pbnB1dC5uYXRpdmVFbGVtZW50LCBcImlucHV0XCIpLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgICAuc3Vic2NyaWJlKHMgPT4ge1xuICAgICAgICAvL2NvbnNvbGUubG9nKFwiaW5wdXRcIiwgcylcbiAgICAgICAgbGV0IHYgPSAocGFyc2VGbG9hdCh0aGlzLl9pbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlKSAvIHRoaXMuX2ZhY3Rvcik7XG4gICAgICAgIHRoaXMuX2Rpc3BsYXkubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuX2lucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPyB0aGlzLmZvcm1hdERpc3BsYXkocGFyc2VGbG9hdCh0aGlzLl9pbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlKS50b0ZpeGVkKHRoaXMuZGVjaW1hbHMpKSA6IG51bGw7XG4gICAgICAgIHRoaXMudmFsdWVPdXRwdXQuZW1pdCh2IHx8IG51bGwpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlZCh2IHx8IG51bGwpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgZnJvbUV2ZW50PEZvY3VzRXZlbnQ+KHRoaXMuX2lucHV0Lm5hdGl2ZUVsZW1lbnQsIFwiYmx1clwiKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUocyA9PiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwibWVyZ2VkXCIsIHMpXG4gICAgICAgIHRoaXMuc2hvd0lucHV0ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYmx1ck91dHB1dC5lbWl0KHMpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgLy8gdGhpcy5faW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICB9XG5cbiAgb25DaGFuZ2VkID0gKF86IGFueSkgPT4geyB9O1xuICBvblRvdWNoZWQgPSAoXzogYW55KSA9PiB7IH07XG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcbiAgICBsZXQgX251bSA9IG51bGw7XG4gICAgaWYgKG9iaikge1xuICAgICAgaWYgKHR5cGVvZiBvYmogPT0gXCJudW1iZXJcIikge1xuICAgICAgICBfbnVtID0gb2JqIGFzIG51bWJlcjtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKHR5cGVvZiBvYmogPT0gXCJzdHJpbmdcIikge1xuICAgICAgICBfbnVtID0gcGFyc2VGbG9hdChvYmopO1xuICAgICAgfVxuICAgICAgZWxzZSB7IHRocm93IFwiVW5hYmxlIHRvIGNhc3QgaW5wdXQgdG8gbnVtYmVyXCIgfVxuXG4gICAgICBpZiAodGhpcy5faW5wdXQpIHtcbiAgICAgICAgdGhpcy5faW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICgob2JqIGFzIG51bWJlcikgKiB0aGlzLl9mYWN0b3IpLnRvRml4ZWQodGhpcy5kZWNpbWFscyk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5fZGlzcGxheSkge1xuICAgICAgICB0aGlzLl9kaXNwbGF5Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmZvcm1hdERpc3BsYXkoKChvYmogYXMgbnVtYmVyKSAqIHRoaXMuX2ZhY3RvcikudG9GaXhlZCh0aGlzLmRlY2ltYWxzKSk7XG4gICAgICB9XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblxuICAgIH1cbiAgfVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlZCA9IGZuO1xuICB9XG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cbiAgcHJpdmF0ZSBmb3JtYXREaXNwbGF5ID0gKHZhbDogc3RyaW5nIHwgbnVtYmVyKTogc3RyaW5nID0+IHtcbiAgICByZXR1cm4gdmFsID8gYCR7dGhpcy5wcmVmaXh9JHt2YWwudG9TdHJpbmcoKX0ke3RoaXMucG9zdGZpeH1gIDogXCJOdWxsXCI7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BsdWNhc2hlaWdodC9hbmd1bGFyLWNvbnRyb2xzLyIsInNvdXJjZXMiOlsibGliL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBZ0IsU0FBUyxFQUE0QixVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUwsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFRLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQVEsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJckY7SUFpRUUsOEJBQW9CLEdBQXNCO1FBQTFDLGlCQUErQztRQUEzQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXBEbEMsY0FBUyxHQUFHLE1BQU0sQ0FBQztRQUMzQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUNwQixXQUFNLEdBQVcsU0FBUyxDQUFDO1FBQ2xCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLFVBQUssR0FBVyxFQUFFLENBQUM7O1FBRW5CLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFTckIsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQUNwQixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBVXJCLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFpQlAsZ0JBQVcsR0FBa0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN2RSxlQUFVLEdBQTZCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDekQsZ0JBQVcs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Szt3QkFDTCxLQUFLOzJCQVNMLEtBQUs7d0JBQ0wsS0FBSyxTQUFDLE9BQU87OEJBZ0JiLE1BQU0sU0FBQyxhQUFhOzZCQUNwQixNQUFNLFNBQUMsTUFBTTs4QkFDYixNQUFNLFNBQUMsT0FBTzt5QkFDZCxTQUFTLFNBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTsyQkFDdEMsU0FBUyxTQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O0lBeUYzQywyQkFBQztDQUFBLEFBdkpELElBdUpDO1NBM0lZLG9CQUFvQjs7Ozs7O0lBQy9CLHlDQUEyQjs7SUFDM0IseUNBQTJCOztJQUMzQix5Q0FBMkI7O0lBQzNCLHVDQUFvQjs7SUFDcEIsc0NBQTJCOztJQUMzQiwyQ0FBa0M7O0lBQ2xDLHFDQUE0Qjs7SUFFNUIsd0NBQThCOztJQVM5QixzQ0FBNkI7O0lBQzdCLHVDQUE4Qjs7SUFVOUIsd0NBQThCOztJQWlCOUIsMkNBQXVGOztJQUN2RiwwQ0FBMEU7O0lBQzFFLDJDQUE0RTs7SUFDNUUsc0NBQTREOztJQUM1RCx3Q0FBZ0U7Ozs7O0lBQ2hFLHdDQUFnRDs7SUFpRGhELHlDQUE0Qjs7SUFDNUIseUNBQTRCOzs7OztJQW1DNUIsNkNBRUM7Ozs7O0lBckZXLG1DQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgSG9zdExpc3RlbmVyLCBWaWV3Q2hpbGQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QsIHBpcGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCwgdGFrZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGRlYm91bmNlVGltZSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGgtbnVtYmVySW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbnVtYmVyLWlucHV0LmNvbXBvbmVudC5jc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTnVtYmVySW5wdXRDb21wb25lbnQpLCBtdWx0aTogdHJ1ZSB9XG4gIF0sXG4gIGhvc3Q6IHtcbiAgICAvLycoYmx1ciknOidvblRvdWNoZWQoKScsXG4gICAgJ1tzdHlsZS53aWR0aF0nOiAnX3dpZHRoJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE51bWJlcklucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcHJpdmF0ZSBudW1iZXJSZWcgPSAvXFxkKy9nO1xuICBzaG93SW5wdXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIF9mYWN0b3I6IG51bWJlciA9IDE7XG4gIF93aWR0aDogc3RyaW5nID0gdW5kZWZpbmVkO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9IFwiXCI7XG4gIC8vQEhvc3RCaW5kaW5nKFwic3R5bGUud2lkdGhcIikgaG9zdFdpZHRoID0gdW5kZWZpbmVkO1xuICBASW5wdXQoKSB0YWJpbmRleDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgc2V0IGZhY3Rvcih2YWw6IG51bWJlcikge1xuICAgIHRoaXMuX2ZhY3RvciA9IE1hdGgucm91bmQodmFsKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcbiAgQElucHV0KCkgc2V0IGRpc2FibGVkKHZhbDogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG4gIEBJbnB1dCgpIHByZWZpeDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgcG9zdGZpeDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgc2V0IHdpZHRoKHZhbDogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgaWYgKHBhcnNlRmxvYXQodmFsLnRvU3RyaW5nKCkpKSB7XG4gICAgICB0aGlzLl93aWR0aCA9IGAke3ZhbH1weGA7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5fd2lkdGggPSB2YWwudG9TdHJpbmcoKTtcbiAgICB9XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH07XG4gIEBJbnB1dCgpIGRlY2ltYWxzOiBudW1iZXIgPSAwO1xuICBASW5wdXQoXCJ2YWx1ZVwiKSBzZXQgdmFsdWUodmFsOiBudW1iZXIpIHtcblxuICAgIGlmICh0aGlzLl9pbnB1dCAmJiB2YWwpIHtcbiAgICAgIHRoaXMuX2lucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAodmFsICogdGhpcy5fZmFjdG9yKS50b0ZpeGVkKHRoaXMuZGVjaW1hbHMpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuX2lucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBudWxsO1xuICAgIH1cbiAgICBpZiAodGhpcy5fZGlzcGxheSAmJiB2YWwpIHtcbiAgICAgIHRoaXMuX2Rpc3BsYXkubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuZm9ybWF0RGlzcGxheSgodmFsICogdGhpcy5fZmFjdG9yKS50b0ZpeGVkKHRoaXMuZGVjaW1hbHMpKTtcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgIHRoaXMuX2Rpc3BsYXkubmF0aXZlRWxlbWVudC52YWx1ZSA9bnVsbDtcbiAgICB9XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH07XG4gIEBPdXRwdXQoXCJ2YWx1ZUNoYW5nZVwiKSB2YWx1ZU91dHB1dDogRXZlbnRFbWl0dGVyPG51bWJlciB8IHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoXCJibHVyXCIpIGJsdXJPdXRwdXQ6IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dChcImZvY3VzXCIpIGZvY3VzT3V0cHV0OiBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoXCJpbnB1dEN0clwiLCB7IHN0YXRpYzogdHJ1ZSB9KSBfaW5wdXQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoXCJkaXNwbGF5Q3RyXCIsIHsgc3RhdGljOiB0cnVlIH0pIF9kaXNwbGF5OiBFbGVtZW50UmVmO1xuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuXG4gIH1cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuXG4gICAgZnJvbUV2ZW50PEZvY3VzRXZlbnQ+KHRoaXMuX2Rpc3BsYXkubmF0aXZlRWxlbWVudCwgXCJmb2N1c1wiKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUocyA9PiB7XG4gICAgICAgIC8vY29uc29sZS5sb2coXCJmb2N1c1wiLCBzKVxuICAgICAgICB0aGlzLnNob3dJbnB1dCA9IHRydWU7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuXG4gICAgICAgICAgdGhpcy5faW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gICAgICAgICAgdGhpcy5vblRvdWNoZWQocyk7XG4gICAgICAgICAgdGhpcy5mb2N1c091dHB1dC5lbWl0KHMpXG5cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gICAgZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KHRoaXMuX2lucHV0Lm5hdGl2ZUVsZW1lbnQsIFwiaW5wdXRcIikucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUocyA9PiB7XG4gICAgICAgIC8vY29uc29sZS5sb2coXCJpbnB1dFwiLCBzKVxuICAgICAgICBsZXQgdiA9IChwYXJzZUZsb2F0KHRoaXMuX2lucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUpIC8gdGhpcy5fZmFjdG9yKTtcbiAgICAgICAgdGhpcy5fZGlzcGxheS5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5faW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA/IHRoaXMuZm9ybWF0RGlzcGxheShwYXJzZUZsb2F0KHRoaXMuX2lucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUpLnRvRml4ZWQodGhpcy5kZWNpbWFscykpIDogbnVsbDtcbiAgICAgICAgdGhpcy52YWx1ZU91dHB1dC5lbWl0KHYgfHwgbnVsbCk7XG4gICAgICAgIHRoaXMub25DaGFuZ2VkKHYgfHwgbnVsbCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICBmcm9tRXZlbnQ8Rm9jdXNFdmVudD4odGhpcy5faW5wdXQubmF0aXZlRWxlbWVudCwgXCJibHVyXCIpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShzID0+IHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJtZXJnZWRcIiwgcylcbiAgICAgICAgdGhpcy5zaG93SW5wdXQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5ibHVyT3V0cHV0LmVtaXQocyk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAvLyB0aGlzLl9pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKClcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gIH1cblxuICBvbkNoYW5nZWQgPSAoXzogYW55KSA9PiB7IH07XG4gIG9uVG91Y2hlZCA9IChfOiBhbnkpID0+IHsgfTtcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIGxldCBfbnVtID0gbnVsbDtcbiAgICBpZiAob2JqKSB7XG4gICAgICBpZiAodHlwZW9mIG9iaiA9PSBcIm51bWJlclwiKSB7XG4gICAgICAgIF9udW0gPSBvYmogYXMgbnVtYmVyO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAodHlwZW9mIG9iaiA9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIF9udW0gPSBwYXJzZUZsb2F0KG9iaik7XG4gICAgICB9XG4gICAgICBlbHNlIHsgdGhyb3cgXCJVbmFibGUgdG8gY2FzdCBpbnB1dCB0byBudW1iZXJcIiB9XG5cbiAgICAgIGlmICh0aGlzLl9pbnB1dCkge1xuICAgICAgICB0aGlzLl9pbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gKChvYmogYXMgbnVtYmVyKSAqIHRoaXMuX2ZhY3RvcikudG9GaXhlZCh0aGlzLmRlY2ltYWxzKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLl9kaXNwbGF5KSB7XG4gICAgICAgIHRoaXMuX2Rpc3BsYXkubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuZm9ybWF0RGlzcGxheSgoKG9iaiBhcyBudW1iZXIpICogdGhpcy5fZmFjdG9yKS50b0ZpeGVkKHRoaXMuZGVjaW1hbHMpKTtcbiAgICAgIH1cblxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuX2lucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBudWxsO1xuICAgICAgdGhpcy5fZGlzcGxheS5uYXRpdmVFbGVtZW50LnZhbHVlID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZWQgPSBmbjtcbiAgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG4gIHByaXZhdGUgZm9ybWF0RGlzcGxheSA9ICh2YWw6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyA9PiB7XG4gICAgcmV0dXJuIHZhbCA/IGAke3RoaXMucHJlZml4fSR7dmFsLnRvU3RyaW5nKCl9JHt0aGlzLnBvc3RmaXh9YCA6IFwiTnVsbFwiO1xuICB9XG59XG4iXX0=

@@ -89,5 +89,11 @@ import { EventEmitter, Component, forwardRef, ChangeDetectorRef, Input, Output, ViewChild, NgModule } from '@angular/core';

}
else {
this._input.nativeElement.value = null;
}
if (this._display && val) {
this._display.nativeElement.value = this.formatDisplay((val * this._factor).toFixed(this.decimals));
}
else {
this._display.nativeElement.value = null;
}
this.cdr.markForCheck();

@@ -173,4 +179,8 @@ }

}
this.cdr.markForCheck();
}
else {
this._input.nativeElement.value = null;
this._display.nativeElement.value = null;
}
this.cdr.markForCheck();
}

@@ -177,0 +187,0 @@ /**

@@ -98,5 +98,11 @@ import { Component, forwardRef, ChangeDetectorRef, Input, Output, ViewChild, EventEmitter, NgModule } from '@angular/core';

}
else {
this._input.nativeElement.value = null;
}
if (this._display && val) {
this._display.nativeElement.value = this.formatDisplay((val * this._factor).toFixed(this.decimals));
}
else {
this._display.nativeElement.value = null;
}
this.cdr.markForCheck();

@@ -198,4 +204,8 @@ },

}
this.cdr.markForCheck();
}
else {
this._input.nativeElement.value = null;
this._display.nativeElement.value = null;
}
this.cdr.markForCheck();
};

@@ -202,0 +212,0 @@ /**

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

{"__symbolic":"module","version":4,"metadata":{"NumberInputComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"lh-numberInput","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":12,"character":15},"useExisting":{"__symbolic":"reference","name":"NumberInputComponent"},"multi":true}],"host":{"[style.width]":"_width","$quoted$":["[style.width]"]},"template":"<span class=\"lh-wrapper\">\n <input #inputCtr [disabled]=\"_disabled\" class=\"lh-input\" [type]=\"showInput?'number':'hidden'\" [tabindex]=\"tabindex\" />\n <input #displayCtr [disabled]=\"_disabled\" [title]=\"title\" [placeholder]=\"placeholder\" class=\"lh-display\" [type]=\"showInput?'hidden':'text'\" [tabindex]=\"tabindex\" /> \n</span>\n","styles":[":host{padding:0 7px 0 1px;display:block}.lh-wrapper{padding:2px;display:inline-block;width:100%}input{width:100%;display:inline-block;padding:.375em;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;border-radius:.25rem;border:1px solid rgba(33,37,41,.15)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none}"]}]}],"members":{"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"tabindex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"factor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"prefix":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"postfix":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"decimals":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":3},"arguments":["value"]}]}],"valueOutput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":59,"character":3},"arguments":["valueChange"]}]}],"blurOutput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":60,"character":3},"arguments":["blur"]}]}],"focusOutput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":61,"character":3},"arguments":["focus"]}]}],"_input":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":62,"character":3},"arguments":["inputCtr",{"static":true}]}]}],"_display":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":63,"character":3},"arguments":["displayCtr",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":66,"character":26}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}]}},"LhControlsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"NumberInputComponent"}],"imports":[],"exports":[{"__symbolic":"reference","name":"NumberInputComponent"}]}]}],"members":{}}},"origins":{"NumberInputComponent":"./lib/number-input/number-input.component","LhControlsModule":"./lib/lh-controls.module"},"importAs":"@lucasheight/angular-controls"}
{"__symbolic":"module","version":4,"metadata":{"NumberInputComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"lh-numberInput","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":12,"character":15},"useExisting":{"__symbolic":"reference","name":"NumberInputComponent"},"multi":true}],"host":{"[style.width]":"_width","$quoted$":["[style.width]"]},"template":"<span class=\"lh-wrapper\">\n <input #inputCtr [disabled]=\"_disabled\" class=\"lh-input\" [type]=\"showInput?'number':'hidden'\" [tabindex]=\"tabindex\" />\n <input #displayCtr [disabled]=\"_disabled\" [title]=\"title\" [placeholder]=\"placeholder\" class=\"lh-display\" [type]=\"showInput?'hidden':'text'\" [tabindex]=\"tabindex\" /> \n</span>\n","styles":[":host{padding:0 7px 0 1px;display:block}.lh-wrapper{padding:2px;display:inline-block;width:100%}input{width:100%;display:inline-block;padding:.375em;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;border-radius:.25rem;border:1px solid rgba(33,37,41,.15)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none}"]}]}],"members":{"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"tabindex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"factor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"prefix":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"postfix":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"decimals":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":3},"arguments":["value"]}]}],"valueOutput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":65,"character":3},"arguments":["valueChange"]}]}],"blurOutput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":66,"character":3},"arguments":["blur"]}]}],"focusOutput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":67,"character":3},"arguments":["focus"]}]}],"_input":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":68,"character":3},"arguments":["inputCtr",{"static":true}]}]}],"_display":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":69,"character":3},"arguments":["displayCtr",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":72,"character":27}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}]}},"LhControlsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"NumberInputComponent"}],"imports":[],"exports":[{"__symbolic":"reference","name":"NumberInputComponent"}]}]}],"members":{}}},"origins":{"NumberInputComponent":"./lib/number-input/number-input.component","LhControlsModule":"./lib/lh-controls.module"},"importAs":"@lucasheight/angular-controls"}
{
"name": "@lucasheight/angular-controls",
"version": "0.0.15",
"version": "0.0.16",
"author": {

@@ -5,0 +5,0 @@ "name": "Lynden Garrett",

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 not supported yet

Sorry, the diff of this file is not supported yet