From d7e79c6a70849c0a9cea21a8dcafe1c7457b202a Mon Sep 17 00:00:00 2001 From: Pedro Mello Date: Thu, 30 Mar 2017 14:04:18 +1100 Subject: [PATCH] angular 4 update --- .idea/angular2-color-picker.iml | 12 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + .idea/workspace.xml | 513 ++++++++++++++++++++++++++++++ index.js | 1 + index.js.map | 2 +- lib/classes.js | 2 +- lib/classes.js.map | 2 +- lib/color-picker.directive.js | 4 +- lib/color-picker.directive.js.map | 2 +- lib/color-picker.module.d.ts | 2 + lib/color-picker.module.js | 2 +- lib/color-picker.module.js.map | 2 +- lib/color-picker.module.ts | 13 +- lib/color-picker.service.js | 2 +- lib/color-picker.service.js.map | 2 +- lib/index.js | 2 +- lib/index.js.map | 2 +- package.json | 10 +- src/color-picker.module.ts | 13 +- 20 files changed, 579 insertions(+), 23 deletions(-) create mode 100644 .idea/angular2-color-picker.iml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml diff --git a/.idea/angular2-color-picker.iml b/.idea/angular2-color-picker.iml new file mode 100644 index 0000000..24643cc --- /dev/null +++ b/.idea/angular2-color-picker.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..f27e48f --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..b9dd42b --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,513 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + makeDecorator + instance + + + + + + + + + + + + + true + + + $PROJECT_DIR$/gulpfile.js + + + DEFINITION_ORDER + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + project + + + true + + + + DIRECTORY + + false + + + + + + + + + 1490840202934 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/index.js b/index.js index 282b2d5..ee00474 100644 --- a/index.js +++ b/index.js @@ -2,6 +2,7 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } +Object.defineProperty(exports, "__esModule", { value: true }); __export(require("./lib/index")); //# sourceMappingURL=index.js.map diff --git a/index.js.map b/index.js.map index 573517f..66bab58 100644 --- a/index.js.map +++ b/index.js.map @@ -1 +1 @@ -{"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;AAAA,iCAA4B","file":"index.js","sourcesContent":["export * from './lib/index';"]} \ No newline at end of file +{"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;AAAA,iCAA4B","file":"index.js","sourcesContent":["export * from './lib/index';"]} \ No newline at end of file diff --git a/lib/classes.js b/lib/classes.js index fa506ad..21be68f 100644 --- a/lib/classes.js +++ b/lib/classes.js @@ -1 +1 @@ -"use strict";var Hsva=function(){function i(i,t,s,n){this.h=i,this.s=t,this.v=s,this.a=n}return i}();exports.Hsva=Hsva;var Hsla=function(){function i(i,t,s,n){this.h=i,this.s=t,this.l=s,this.a=n}return i}();exports.Hsla=Hsla;var Rgba=function(){function i(i,t,s,n){this.r=i,this.g=t,this.b=s,this.a=n}return i}();exports.Rgba=Rgba;var SliderPosition=function(){function i(i,t,s,n){this.h=i,this.s=t,this.v=s,this.a=n}return i}();exports.SliderPosition=SliderPosition;var SliderDimension=function(){function i(i,t,s,n){this.h=i,this.s=t,this.v=s,this.a=n}return i}();exports.SliderDimension=SliderDimension; \ No newline at end of file +"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var Hsva=function(){function i(i,t,s,n){this.h=i,this.s=t,this.v=s,this.a=n}return i}();exports.Hsva=Hsva;var Hsla=function(){function i(i,t,s,n){this.h=i,this.s=t,this.l=s,this.a=n}return i}();exports.Hsla=Hsla;var Rgba=function(){function i(i,t,s,n){this.r=i,this.g=t,this.b=s,this.a=n}return i}();exports.Rgba=Rgba;var SliderPosition=function(){function i(i,t,s,n){this.h=i,this.s=t,this.v=s,this.a=n}return i}();exports.SliderPosition=SliderPosition;var SliderDimension=function(){function i(i,t,s,n){this.h=i,this.s=t,this.v=s,this.a=n}return i}();exports.SliderDimension=SliderDimension; \ No newline at end of file diff --git a/lib/classes.js.map b/lib/classes.js.map index 5902376..33b5215 100644 --- a/lib/classes.js.map +++ b/lib/classes.js.map @@ -1 +1 @@ -{"version":3,"sources":["classes.ts"],"names":[],"mappings":";AAAA;IACI,cAAmB,CAAS,EAAS,CAAS,EAAS,CAAS,EAAS,CAAS;QAA/D,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;IAAI,CAAC;IAC3F,WAAC;AAAD,CAFA,AAEC,IAAA;AAFY,oBAAI;AAGjB;IACI,cAAmB,CAAS,EAAS,CAAS,EAAS,CAAS,EAAS,CAAS;QAA/D,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;IAAI,CAAC;IAC3F,WAAC;AAAD,CAFA,AAEC,IAAA;AAFY,oBAAI;AAGjB;IACI,cAAmB,CAAS,EAAS,CAAS,EAAS,CAAS,EAAS,CAAS;QAA/D,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;IAAI,CAAC;IAC3F,WAAC;AAAD,CAFA,AAEC,IAAA;AAFY,oBAAI;AAGjB;IACI,wBAAmB,CAAS,EAAS,CAAS,EAAS,CAAS,EAAS,CAAS;QAA/D,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;IAAI,CAAC;IAC3F,qBAAC;AAAD,CAFA,AAEC,IAAA;AAFY,wCAAc;AAG3B;IACI,yBAAmB,CAAS,EAAS,CAAS,EAAS,CAAS,EAAS,CAAS;QAA/D,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;IAAI,CAAC;IAC3F,sBAAC;AAAD,CAFA,AAEC,IAAA;AAFY,0CAAe","file":"classes.js","sourcesContent":["export class Hsva {\n constructor(public h: number, public s: number, public v: number, public a: number) { }\n}\nexport class Hsla {\n constructor(public h: number, public s: number, public l: number, public a: number) { }\n}\nexport class Rgba {\n constructor(public r: number, public g: number, public b: number, public a: number) { }\n}\nexport class SliderPosition {\n constructor(public h: number, public s: number, public v: number, public a: number) { }\n}\nexport class SliderDimension {\n constructor(public h: number, public s: number, public v: number, public a: number) { }\n}"]} \ No newline at end of file +{"version":3,"sources":["classes.ts"],"names":[],"mappings":";;AAAA;IACI,cAAmB,CAAS,EAAS,CAAS,EAAS,CAAS,EAAS,CAAS;QAA/D,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;IAAI,CAAC;IAC3F,WAAC;AAAD,CAFA,AAEC,IAAA;AAFY,oBAAI;AAGjB;IACI,cAAmB,CAAS,EAAS,CAAS,EAAS,CAAS,EAAS,CAAS;QAA/D,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;IAAI,CAAC;IAC3F,WAAC;AAAD,CAFA,AAEC,IAAA;AAFY,oBAAI;AAGjB;IACI,cAAmB,CAAS,EAAS,CAAS,EAAS,CAAS,EAAS,CAAS;QAA/D,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;IAAI,CAAC;IAC3F,WAAC;AAAD,CAFA,AAEC,IAAA;AAFY,oBAAI;AAGjB;IACI,wBAAmB,CAAS,EAAS,CAAS,EAAS,CAAS,EAAS,CAAS;QAA/D,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;IAAI,CAAC;IAC3F,qBAAC;AAAD,CAFA,AAEC,IAAA;AAFY,wCAAc;AAG3B;IACI,yBAAmB,CAAS,EAAS,CAAS,EAAS,CAAS,EAAS,CAAS;QAA/D,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;QAAS,MAAC,GAAD,CAAC,CAAQ;IAAI,CAAC;IAC3F,sBAAC;AAAD,CAFA,AAEC,IAAA;AAFY,0CAAe","file":"classes.js","sourcesContent":["export class Hsva {\n constructor(public h: number, public s: number, public v: number, public a: number) { }\n}\nexport class Hsla {\n constructor(public h: number, public s: number, public l: number, public a: number) { }\n}\nexport class Rgba {\n constructor(public r: number, public g: number, public b: number, public a: number) { }\n}\nexport class SliderPosition {\n constructor(public h: number, public s: number, public v: number, public a: number) { }\n}\nexport class SliderDimension {\n constructor(public h: number, public s: number, public v: number, public a: number) { }\n}"]} \ No newline at end of file diff --git a/lib/color-picker.directive.js b/lib/color-picker.directive.js index 56a7e2e..5efbd54 100644 --- a/lib/color-picker.directive.js +++ b/lib/color-picker.directive.js @@ -1,2 +1,2 @@ -"use strict";var __decorate=this&&this.__decorate||function(t,e,i,o){var r,s=arguments.length,n=s<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,i,o);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(n=(s<3?r(n):s>3?r(e,i,n):r(e,i))||n);return s>3&&n&&Object.defineProperty(e,i,n),n},__metadata=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},core_1=require("@angular/core"),color_picker_service_1=require("./color-picker.service"),classes_1=require("./classes"),core_2=require("@angular/core"),platform_browser_1=require("@angular/platform-browser"),ColorPickerDirective=function(){function t(t,e,i,o){this.compiler=t,this.vcRef=e,this.el=i,this.service=o,this.colorPickerChange=new core_1.EventEmitter(!0),this.cpToggleChange=new core_1.EventEmitter(!0),this.cpPosition="right",this.cpPositionOffset="0%",this.cpPositionRelativeToArrow=!1,this.cpOutputFormat="hex",this.cpPresetLabel="Preset colors",this.cpCancelButton=!1,this.cpCancelButtonClass="cp-cancel-button-class",this.cpCancelButtonText="Cancel",this.cpOKButton=!1,this.cpOKButtonClass="cp-ok-button-class",this.cpOKButtonText="OK",this.cpFallbackColor="#fff",this.cpHeight="auto",this.cpWidth="230px",this.cpIgnoredElements=[],this.cpDialogDisplay="popup",this.cpSaveClickOutside=!0,this.cpAlphaChannel="hex6",this.ignoreChanges=!1,this.created=!1}return t.prototype.ngOnChanges=function(t){t.cpToggle&&(t.cpToggle.currentValue&&this.openDialog(),!t.cpToggle.currentValue&&this.dialog&&this.dialog.closeColorPicker()),t.colorPicker&&(this.dialog&&!this.ignoreChanges&&("inline"===this.cpDialogDisplay&&this.dialog.setInitialColor(t.colorPicker.currentValue),this.dialog.setColorFromString(t.colorPicker.currentValue,!1)),this.ignoreChanges=!1)},t.prototype.ngOnInit=function(){var t=this.service.stringToHsva(this.colorPicker);null===t&&(t=this.service.stringToHsva(this.colorPicker,!0)),null==t&&(t=this.service.stringToHsva(this.cpFallbackColor)),this.colorPickerChange.emit(this.service.outputFormat(t,this.cpOutputFormat,"hex8"===this.cpAlphaChannel))},t.prototype.onClick=function(){var t=this;0===this.cpIgnoredElements.filter(function(e){return e===t.el.nativeElement}).length&&this.openDialog()},t.prototype.openDialog=function(){var t=this;this.created?this.dialog&&this.dialog.openDialog(this.colorPicker):(this.created=!0,this.compiler.compileModuleAndAllComponentsAsync(DynamicCpModule).then(function(e){var i=e.componentFactories.find(function(t){return t.componentType===DialogComponent}),o=core_2.ReflectiveInjector.fromResolvedProviders([],t.vcRef.parentInjector),r=t.vcRef.createComponent(i,0,o,[]);r.instance.setDialog(t,t.el,t.colorPicker,t.cpPosition,t.cpPositionOffset,t.cpPositionRelativeToArrow,t.cpOutputFormat,t.cpPresetLabel,t.cpPresetColors,t.cpCancelButton,t.cpCancelButtonClass,t.cpCancelButtonText,t.cpOKButton,t.cpOKButtonClass,t.cpOKButtonText,t.cpHeight,t.cpWidth,t.cpIgnoredElements,t.cpDialogDisplay,t.cpSaveClickOutside,t.cpAlphaChannel),t.dialog=r.instance}))},t.prototype.colorChanged=function(t,e){void 0===e&&(e=!0),this.ignoreChanges=e,this.colorPickerChange.emit(t)},t.prototype.changeInput=function(t){this.dialog.setColorFromString(t,!0)},t.prototype.toggle=function(t){this.cpToggleChange.emit(t)},t}();__decorate([core_1.Input("colorPicker"),__metadata("design:type",String)],ColorPickerDirective.prototype,"colorPicker",void 0),__decorate([core_1.Output("colorPickerChange"),__metadata("design:type",Object)],ColorPickerDirective.prototype,"colorPickerChange",void 0),__decorate([core_1.Input("cpToggle"),__metadata("design:type",Boolean)],ColorPickerDirective.prototype,"cpToggle",void 0),__decorate([core_1.Output("cpToggleChange"),__metadata("design:type",Object)],ColorPickerDirective.prototype,"cpToggleChange",void 0),__decorate([core_1.Input("cpPosition"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpPosition",void 0),__decorate([core_1.Input("cpPositionOffset"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpPositionOffset",void 0),__decorate([core_1.Input("cpPositionRelativeToArrow"),__metadata("design:type",Boolean)],ColorPickerDirective.prototype,"cpPositionRelativeToArrow",void 0),__decorate([core_1.Input("cpOutputFormat"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpOutputFormat",void 0),__decorate([core_1.Input("cpPresetLabel"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpPresetLabel",void 0),__decorate([core_1.Input("cpPresetColors"),__metadata("design:type",Array)],ColorPickerDirective.prototype,"cpPresetColors",void 0),__decorate([core_1.Input("cpCancelButton"),__metadata("design:type",Boolean)],ColorPickerDirective.prototype,"cpCancelButton",void 0),__decorate([core_1.Input("cpCancelButtonClass"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpCancelButtonClass",void 0),__decorate([core_1.Input("cpCancelButtonText"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpCancelButtonText",void 0),__decorate([core_1.Input("cpOKButton"),__metadata("design:type",Boolean)],ColorPickerDirective.prototype,"cpOKButton",void 0),__decorate([core_1.Input("cpOKButtonClass"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpOKButtonClass",void 0),__decorate([core_1.Input("cpOKButtonText"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpOKButtonText",void 0),__decorate([core_1.Input("cpFallbackColor"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpFallbackColor",void 0),__decorate([core_1.Input("cpHeight"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpHeight",void 0),__decorate([core_1.Input("cpWidth"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpWidth",void 0),__decorate([core_1.Input("cpIgnoredElements"),__metadata("design:type",Object)],ColorPickerDirective.prototype,"cpIgnoredElements",void 0),__decorate([core_1.Input("cpDialogDisplay"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpDialogDisplay",void 0),__decorate([core_1.Input("cpSaveClickOutside"),__metadata("design:type",Boolean)],ColorPickerDirective.prototype,"cpSaveClickOutside",void 0),__decorate([core_1.Input("cpAlphaChannel"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpAlphaChannel",void 0),ColorPickerDirective=__decorate([core_1.Directive({selector:"[colorPicker]",host:{"(input)":"changeInput($event.target.value)","(click)":"onClick()"}}),__metadata("design:paramtypes",[core_2.Compiler,core_1.ViewContainerRef,core_1.ElementRef,color_picker_service_1.ColorPickerService])],ColorPickerDirective),exports.ColorPickerDirective=ColorPickerDirective;var TextDirective=function(){function t(){this.newValue=new core_1.EventEmitter}return t.prototype.changeInput=function(t){if(void 0===this.rg)this.newValue.emit(t);else{var e=parseFloat(t);!isNaN(e)&&e>=0&&e<=this.rg&&this.newValue.emit({v:e,rg:this.rg})}},t}();__decorate([core_1.Output("newValue"),__metadata("design:type",Object)],TextDirective.prototype,"newValue",void 0),__decorate([core_1.Input("text"),__metadata("design:type",Object)],TextDirective.prototype,"text",void 0),__decorate([core_1.Input("rg"),__metadata("design:type",Number)],TextDirective.prototype,"rg",void 0),TextDirective=__decorate([core_1.Directive({selector:"[text]",host:{"(input)":"changeInput($event.target.value)"}})],TextDirective),exports.TextDirective=TextDirective;var SliderDirective=function(){function t(t){var e=this;this.el=t,this.newValue=new core_1.EventEmitter,this.listenerMove=function(t){e.move(t)},this.listenerStop=function(){e.stop()}}return t.prototype.setCursor=function(t){var e=this.el.nativeElement.offsetHeight,i=this.el.nativeElement.offsetWidth,o=Math.max(0,Math.min(this.getX(t),i)),r=Math.max(0,Math.min(this.getY(t),e));void 0!==this.rgX&&void 0!==this.rgY?this.newValue.emit({s:o/i,v:1-r/e,rgX:this.rgX,rgY:this.rgY}):void 0===this.rgX&&void 0!==this.rgY?this.newValue.emit({v:r/e,rg:this.rgY}):this.newValue.emit({v:o/i,rg:this.rgX})},t.prototype.move=function(t){t.preventDefault(),this.setCursor(t)},t.prototype.start=function(t){this.setCursor(t),document.addEventListener("mousemove",this.listenerMove),document.addEventListener("touchmove",this.listenerMove),document.addEventListener("mouseup",this.listenerStop),document.addEventListener("touchend",this.listenerStop)},t.prototype.stop=function(){document.removeEventListener("mousemove",this.listenerMove),document.removeEventListener("touchmove",this.listenerMove),document.removeEventListener("mouseup",this.listenerStop),document.removeEventListener("touchend",this.listenerStop)},t.prototype.getX=function(t){return(void 0!==t.pageX?t.pageX:t.touches[0].pageX)-this.el.nativeElement.getBoundingClientRect().left-window.pageXOffset},t.prototype.getY=function(t){return(void 0!==t.pageY?t.pageY:t.touches[0].pageY)-this.el.nativeElement.getBoundingClientRect().top-window.pageYOffset},t}();__decorate([core_1.Output("newValue"),__metadata("design:type",Object)],SliderDirective.prototype,"newValue",void 0),__decorate([core_1.Input("slider"),__metadata("design:type",String)],SliderDirective.prototype,"slider",void 0),__decorate([core_1.Input("rgX"),__metadata("design:type",Number)],SliderDirective.prototype,"rgX",void 0),__decorate([core_1.Input("rgY"),__metadata("design:type",Number)],SliderDirective.prototype,"rgY",void 0),SliderDirective=__decorate([core_1.Directive({selector:"[slider]",host:{"(mousedown)":"start($event)","(touchstart)":"start($event)"}}),__metadata("design:paramtypes",[core_1.ElementRef])],SliderDirective),exports.SliderDirective=SliderDirective;var DialogComponent=function(){function t(t,e){this.el=t,this.service=e,this.dialogArrowSize=10,this.dialogArrowOffset=15}return t.prototype.setDialog=function(t,e,i,o,r,s,n,a,p,l,c,d,h,u,g,v,A,m,x,f,C){this.directiveInstance=t,this.initialColor=i,this.directiveElementRef=e,this.cpPosition=o,this.cpPositionOffset=parseInt(r),s||(this.dialogArrowOffset=0),this.cpOutputFormat=n,this.cpPresetLabel=a,this.cpPresetColors=p,this.cpCancelButton=l,this.cpCancelButtonClass=c,this.cpCancelButtonText=d,this.cpOKButton=h,this.cpOKButtonClass=u,this.cpOKButtonText=g,this.cpHeight=parseInt(v),this.cpWidth=parseInt(A),this.cpIgnoredElements=m,this.cpDialogDisplay=x,"inline"===this.cpDialogDisplay&&(this.dialogArrowOffset=0,this.dialogArrowSize=0),this.cpSaveClickOutside=f,this.cpAlphaChannel=C},t.prototype.ngOnInit=function(){var t=this,e=this.alphaSlider.nativeElement.offsetWidth,i=this.hueSlider.nativeElement.offsetWidth;this.sliderDimMax=new classes_1.SliderDimension(i,this.cpWidth,130,e),this.slider=new classes_1.SliderPosition(0,0,0,0),"rgba"===this.cpOutputFormat?this.format=1:"hsla"===this.cpOutputFormat?this.format=2:this.format=0,this.listenerMouseDown=function(e){t.onMouseDown(e)},this.listenerResize=function(){t.onResize()},this.openDialog(this.initialColor,!1)},t.prototype.setInitialColor=function(t){this.initialColor=t},t.prototype.openDialog=function(t,e){void 0===e&&(e=!0),this.setInitialColor(t),this.setColorFromString(t,e),this.openColorPicker()},t.prototype.cancelColor=function(){this.setColorFromString(this.initialColor,!0),"popup"===this.cpDialogDisplay&&(this.directiveInstance.colorChanged(this.initialColor,!0),this.closeColorPicker())},t.prototype.oKColor=function(){"popup"===this.cpDialogDisplay&&this.closeColorPicker()},t.prototype.setColorFromString=function(t,e){void 0===e&&(e=!0);var i;"hex8"===this.cpAlphaChannel?(i=this.service.stringToHsva(t,!0),i||this.hsva||(i=this.service.stringToHsva(t,!1))):i=this.service.stringToHsva(t,!1),i&&(this.hsva=i,this.update(e))},t.prototype.onMouseDown=function(t){this.isDescendant(this.el.nativeElement,t.target)||t.target==this.directiveElementRef.nativeElement||0!==this.cpIgnoredElements.filter(function(e){return e===t.target}).length||"popup"!==this.cpDialogDisplay||(this.cpSaveClickOutside||(this.setColorFromString(this.initialColor,!1),this.directiveInstance.colorChanged(this.initialColor)),this.closeColorPicker())},t.prototype.openColorPicker=function(){this.show||(this.setDialogPosition(),this.show=!0,this.directiveInstance.toggle(!0),document.addEventListener("mousedown",this.listenerMouseDown),window.addEventListener("resize",this.listenerResize))},t.prototype.closeColorPicker=function(){this.show&&(this.show=!1,this.directiveInstance.toggle(!1),document.removeEventListener("mousedown",this.listenerMouseDown),window.removeEventListener("resize",this.listenerResize))},t.prototype.onResize=function(){"fixed"===this.position&&this.setDialogPosition()},t.prototype.setDialogPosition=function(){for(var t=this.dialogElement.nativeElement.offsetHeight,e=this.directiveElementRef.nativeElement,i="static",o=null;null!==e&&"HTML"!==e.tagName&&(i=window.getComputedStyle(e).getPropertyValue("position"),"static"!==i&&null===o&&(o=e),"fixed"!==i);)e=e.parentNode;if("fixed"!==i){var r=this.createBox(this.directiveElementRef.nativeElement,!0);null===o&&(o=e);var s=this.createBox(o,!0);this.top=r.top-s.top,this.left=r.left-s.left}else{var r=this.createBox(this.directiveElementRef.nativeElement,!1);this.top=r.top,this.left=r.left,this.position="fixed"}"left"===this.cpPosition?(this.top+=r.height*this.cpPositionOffset/100-this.dialogArrowOffset,this.left-=this.cpWidth+this.dialogArrowSize-2):"top"===this.cpPosition?(this.top-=t+this.dialogArrowSize,this.left+=this.cpPositionOffset/100*r.width-this.dialogArrowOffset,this.arrowTop=t-1):"bottom"===this.cpPosition?(this.top+=r.height+this.dialogArrowSize,this.left+=this.cpPositionOffset/100*r.width-this.dialogArrowOffset):(this.top+=r.height*this.cpPositionOffset/100-this.dialogArrowOffset,this.left+=r.width+this.dialogArrowSize)},t.prototype.setSaturation=function(t){var e=this.service.hsva2hsla(this.hsva);e.s=t.v/t.rg,this.hsva=this.service.hsla2hsva(e),this.update()},t.prototype.setLightness=function(t){var e=this.service.hsva2hsla(this.hsva);e.l=t.v/t.rg,this.hsva=this.service.hsla2hsva(e),this.update()},t.prototype.setHue=function(t){this.hsva.h=t.v/t.rg,this.update()},t.prototype.setAlpha=function(t){this.hsva.a=t.v/t.rg,this.update()},t.prototype.setR=function(t){var e=this.service.hsvaToRgba(this.hsva);e.r=t.v/t.rg,this.hsva=this.service.rgbaToHsva(e),this.update()},t.prototype.setG=function(t){var e=this.service.hsvaToRgba(this.hsva);e.g=t.v/t.rg,this.hsva=this.service.rgbaToHsva(e),this.update()},t.prototype.setB=function(t){var e=this.service.hsvaToRgba(this.hsva);e.b=t.v/t.rg,this.hsva=this.service.rgbaToHsva(e),this.update()},t.prototype.setSaturationAndBrightness=function(t){this.hsva.s=t.s/t.rgX,this.hsva.v=t.v/t.rgY,this.update()},t.prototype.formatPolicy=function(){return this.format=(this.format+1)%3,0===this.format&&this.hsva.a<1&&"hex6"===this.cpAlphaChannel&&this.format++,this.format},t.prototype.update=function(t){void 0===t&&(t=!0);var e=this.service.hsva2hsla(this.hsva),i=this.service.denormalizeRGBA(this.service.hsvaToRgba(this.hsva)),o=this.service.denormalizeRGBA(this.service.hsvaToRgba(new classes_1.Hsva(this.hsva.h,1,1,1)));this.hslaText=new classes_1.Hsla(Math.round(360*e.h),Math.round(100*e.s),Math.round(100*e.l),Math.round(100*e.a)/100),this.rgbaText=new classes_1.Rgba(i.r,i.g,i.b,Math.round(100*i.a)/100),this.hexText=this.service.hexText(i,"hex8"===this.cpAlphaChannel),this.alphaSliderColor="rgb("+i.r+","+i.g+","+i.b+")",this.hueSliderColor="rgb("+o.r+","+o.g+","+o.b+")",0===this.format&&this.hsva.a<1&&"hex6"===this.cpAlphaChannel&&this.format++;var r=this.outputColor;this.outputColor=this.service.outputFormat(this.hsva,this.cpOutputFormat,"hex8"===this.cpAlphaChannel),this.selectedColor=this.service.outputFormat(this.hsva,"rgba",!1),this.slider=new classes_1.SliderPosition(this.hsva.h*this.sliderDimMax.h-8,this.hsva.s*this.sliderDimMax.s-8,(1-this.hsva.v)*this.sliderDimMax.v-8,this.hsva.a*this.sliderDimMax.a-8),t&&r!==this.outputColor&&this.directiveInstance.colorChanged(this.outputColor)},t.prototype.isDescendant=function(t,e){for(var i=e.parentNode;null!==i;){if(i===t)return!0;i=i.parentNode}return!1},t.prototype.createBox=function(t,e){return{top:t.getBoundingClientRect().top+(e?window.pageYOffset:0),left:t.getBoundingClientRect().left+(e?window.pageXOffset:0),width:t.offsetWidth,height:t.offsetHeight}},t}();__decorate([core_1.ViewChild("hueSlider"),__metadata("design:type",Object)],DialogComponent.prototype,"hueSlider",void 0),__decorate([core_1.ViewChild("alphaSlider"),__metadata("design:type",Object)],DialogComponent.prototype,"alphaSlider",void 0),__decorate([core_1.ViewChild("dialogPopup"),__metadata("design:type",Object)],DialogComponent.prototype,"dialogElement",void 0),DialogComponent=__decorate([core_1.Component({selector:"color-picker",template:'\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n
\n\n
\n
\n \n \n \n \n
\n
\n
H
S
L
A
\n
\n
\n\n
\n
\n \n \n \n \n
\n
\n
R
G
B
A
\n
\n
\n\n
\n
\n \n
\n
\n
Hex
\n
\n
\n\n
\n\n
\n
\n\n
{{cpPresetLabel}}
\n\n
\n
\n\n
\n \n \n
\n \n
\n ',styles:['\n .color-picker *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;font-size:11px}.color-picker{cursor:default;width:230px;height:auto;border:#777 solid 1px;left:30px;top:250px;position:absolute;z-index:1000;background-color:#fff;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.color-picker i{cursor:default;position:relative}.color-picker input{text-align:center;font-size:13px;height:26px;-moz-appearance:textfield}.color-picker input:invalid{box-shadow:none}.color-picker input:-moz-submit-invalid{box-shadow:none}.color-picker input:-moz-ui-invalid{box-shadow:none}.color-picker input::-webkit-inner-spin-button,.color-picker input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.color-picker .button-area{padding:0 16px 16px 16px;text-align:right}.color-picker .preset-area{padding:4px 15px}.color-picker .preset-area .preset-label{width:100%;padding:4px;font-size:11px;text-align:left;color:#555}.color-picker .preset-area .preset-color{cursor:pointer;display:inline-block;width:18px;height:18px;margin:4px 6px 8px 6px;-moz-border-radius:25%;-webkit-border-radius:25%;border-radius:25%;-khtml-border-radius:25%;border:#a9a9a9 solid 1px}.color-picker .arrow{height:0;width:0;border-style:solid;position:absolute;z-index:999999}.color-picker .arrow-right{border-width:5px 10px;border-color:transparent #777 transparent transparent;top:10px;left:-20px}.color-picker .arrow-left{border-width:5px 10px;border-color:transparent transparent transparent #777;top:10px;left:231px}.color-picker .arrow-bottom{border-width:10px 5px;border-color:transparent transparent #777 transparent;top:-20px;left:10px}.color-picker .arrow-top{border-width:10px 5px;border-color:#777 transparent transparent transparent;left:10px}.color-picker div.cursor-sv{cursor:default;position:relative;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-khtml-border-radius:50%;width:15px;height:15px;border:#ddd solid 1px}.color-picker div.cursor{cursor:default;position:relative;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-khtml-border-radius:50%;width:16px;height:16px;border:#222 solid 2px}.color-picker .saturation-lightness{cursor:pointer;width:100%;height:130px;border:none;background-size:100% 100%;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOYAAACCCAYAAABSD7T3AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwksPWR6lgAAIABJREFUeNrtnVuT47gRrAHN+P//Or/61Y5wONZ7mZ1u3XAeLMjJZGZVgdKsfc5xR3S0RIIUW+CHzCpc2McYo7XGv3ex7UiZd57rjyzzv+v+33X/R/+3r/f7vR386Y+TvKNcf/wdhTLPcv9qU2wZd74uth0t1821jkIZLPcsI/6nWa4XvutquU0Z85mnx80S/ZzgpnLnOtHNt7/ofx1TKXcSNzN/7qbMQ3ju7rNQmMYYd/4s2j9aa+P+gGaMcZrb1M/tdrvf7/d2v99P9/t93O/3cbvdxu12G9frdVwul3E+n8c///nP+2+//Xb66aefxl//+tfx5z//2YK5Al2rgvf4UsbpdGrB52bAvArXpuzjmiqAVSGz5eDmGYXzhbAZmCrnmzddpUU+8Y1dAOYeXCtDUwVwV7YCGH6uAmyMcZ9l5vkUaBPGMUZ7/J5w/792/fvv9Xq93263dr/fTxPECeME8nK5jM/Pz/HTTz/dv337dvrll1/GP/7xj/G3v/1t/OUvfwkVswongjdOp9PzH3U3D3zmWGnZVXn4jCqs7wC2BKP4/8tAzkZsoWx6XrqeHZymvp4ABCBJhTQwKfDT8gzrZCIqi5AhiACjBfEB2rP8/X63MM7f6/V6v9/v7Xa7bYC83W7jcrlsVHIq5ffv30+//fbb+OWXX8ZPP/00/v73v4+ff/75JSvbeu+bL2WMMaFbAlpBNM85QX+ct6qoSqkPAwuQlBVKqGNFSUOAA3Bmu7gC5hNOd15nSwvAOUW7C4giUCV8Sgn5L9hNFIqTsp0GxI0ysioyjAjkY/tGJVEpz+fz+OWXX+7fv38//f777+Pbt2/j119/HT///PP49ddfx8fHRwrmTjV779EXu2px2xhjwtdJZQcAWQIPLPISsMJaSwiD8gzIKrwSyATE5j5nAbR5c1dBUwBlsEWW0h6LqiYsqFPAQxCyRZ3wOSARxmlXMX5k64pQfvv27f75+dk+Pj5OHx8f4/v37+Pbt2/jt99+G9++fRsfHx/jcrmUFLO31gYDWblxRIs/TqfT7ousxJsAxXA2Gc7TA9XdgfdoHbFsj76X2+1WArgI1ageGwA3qupqoHsmcbI6Fu93quggFa9d7LeDtgKfAFHBJ+NEByIkcJ5KervdTmhhGcgJJSZ5vn//fj+fz+18Pp8+Pz/H5+fnmGD+/vvv4/v37+Pj42N8fn6O2+1Ws7JjjP6wraMI5E4RZ8x2vV5TSwkquotV7/d7Tz6HFWsD/qNcdw0CQ3q/321c686TwDVIdbuy73zNldhSHb8I2klZznm+InBS4U6n0302aBFsLhHDAKJVJVglfI9jhvu53W53sLANYNxAiDA6MCeUHx8f9+v12i6XS7tcLqcZW57P5yeY8/fz83Ocz+fnsSmYUyknWEG85WBst9stzSLyMdfr9Qi08iY15UZ0LlDGLhR3o5zK2j7OPUTD0E+nU3tk7Xb/16NFbhloAMuY1zjLUOO3BKeIDe+Z8s3/J4gFo4TM5jPmuRg28foUKKVSwo16TgA5npywcWLHgYl/Pz8/73/605/ab7/91m63W7tcLie0sZj4mao5gTyfz88E0f1+j8EcYzwTPEG2cqjyfHNF0M8fuqEiaOVnRzZZQNh5fwQyHg/HDGfJo89Q1zb/quu5XC6773I2XKfTqd/v9+d3wuqWva/YTdUdEV3fhIv/Viyps6YE3x3r43K5bJQS66zaxVGFsvd+//j4aF+/fm3fv39vt9utff36tf3+++/tdrudvn37ZuNLBaaCMgUzC+rZRiFowxUuJI8YMqcCp9Opq5vagaYU6lGJA1XQqejchw6Cj0Gw5nYBrGw01A2O206n04BGouNNyTfp/FwElhUey6nXrIKw7QQWddxuN2ldL5fL839gSPF8ahu/JvBO48CPSuqMf8Vp9/P53L58+dLu93s7n8/tfr8/39/v9/b5+TkhPJ3P56mQ436/j+/fv+/iSgbzer0+AZx/5+88bv6OMda6S5z6kd21fYC9dxv7cIJJ2d9AOS30fPMzyHiTM8B4DF6XUlYHp4KQW3W+1t77MNB1vGHxWq7Xa7vf78+y5/N5A+H1et29xuP5dbYtyaRu4AksbPq6936fjRzXRxBbPr/b+b18+fKljTHaBBBfn8/n0/1+H1++fBnn8zm0sB8fH5u4cr5GuBhMVk0EEn9RsctgVhM+ixlJtMA23R8B6yysAstBOgFXIKKCMIgToMqNEu2fYMH7ztc732dQKkCj1ytAZtY0Kx8pIr8GGJ+AT3V+2Hirhl++fBmXy2Wz73w+b17P8p+fn8/tUwGVleVkTyUb68DkfayWY4zxNRihU4EpLJPZVrK+u7J4/mgfKqeLW9X2REWlItL1diynbDDb3+jXgYjQqn0rrxWc+NkILP7F7xIbMvx7vV53x40xnlbWJF12ZSag/N0pW6t+ZzmOMzHjajKwDfond78zYTdfq18up97zr2q8v3IioBprRtBl0EZ9og5WBRGOdOHjIjXF7UotFbgOWnXzIJyzYvjG5IYgsmMOxHkz8OsMSrVNWeq5T8DaOcbEv1Od5rbs9aO7YvMet63EkF++fMExq+MRl4/L5bLZN/+ez+fnZ6KazuMqXSQVO5spJXflHAIzes/xJseckRJiDMog9d6VfRrqXMr6KpVV27jRwJacGovOAM1zMdQMnwK1AubK63kdCChvI1C7g0z9nf/D+Xze2Vj8H7Gx4P9duQlsYCrqyN8XqG3Hm/10Oj3jw/n+crlstuM+jPmmxT2dTuPz83Pzt2pn1XsEHX/bnPaVqVmh0xwOt0o6XLLAHePUU203wHfcrspCwmV3TryB5s0Mseeg97x/BwzCjBlbB+pRAPla0BVQuT6V6QHdBlj3d0KG147b+DqxQeUymDO43W4dQar+TIjwmAd0z8/h65vf0/yLv3Pb5XLpru/ydDo9s7ET0I+Pj6dKK9VUEIeKWQWPAOrJ8LKd4vE+t91Y3e7UFlWatg2VwJnb+HPmtvm/sfK59/OaWF3x/eP1UPHvA5DDYDpYXfb0drv1V2DkBkxtw/tEWVVlXWdC9pFYs5/jfh9dS/16vW7s6lTG+TfqsxSJHxkXXq/Xdr1eu4LsfD6P3vsT3N77DkL+zPm5jSdKL4zR3AxQd6rHkLkYlSowsrq7znzu6wSwdsMJOXmA5fBcjxtgMGBYHlr5zokhtsMCTgXLQOW4XC6dEyEMprL8mAQzXRgduix2yZzorxkYsDn3hB1VeMLGsXsVtgl2pW8S3svk0vw7R4hNaHvv4cACl5HFzwIH0Kc6zu4XjDPR/jpAVxWzO1Xk2DDb3vTcxeGU1iWZHkmIDWziWKvirCJ4Dravs6IJ/GG6cTqWdXDy+fArQDVVkLqkVjAoZIITdmmIqXwqa95N3+MGYoZQdRVNO53Y1xRkhO16vY7eu507Ca9lJnbGpxOemQhSw/AQsmmp5zU9BiU8G6wvX76M6/U6Pj4+do0Bz4CpgiknTUeDqwlKBmg3u4OVjrZ1A+rAcgaejWq6eJCvCYFDONSwOgHX4EQRw8lxbzDOdEK6gZ3Hk1b+8g2o1JFtKXyv/fEdTXuWjWXdAZiBp6ADeDrCFiim7B6ZFneeI7Gvm/PMkUDX67W7xI8b0D7/v8dA9qfN5oaCf74WZjH0mf1cmfY1Y0JUFmVrTWu8uzkNcLtEj7u5FXBTkfC6GOA5q8YMxO8KVvF6sAVGdcrUbsKODcQKkLMOMdmlxum642YrPm26AlhZW1YB1R+rrGswE8TaYAWeUMxdf+WjwSvZ2Ef3ytOyfn5+PpVPAaqOn43MtNBqvmjjxbjM4lZjZY4gqNMI5ktaW/sYKNwS+9lFQzGihmMCKPa7+Z0V6Eb0GRmobtpX8JljWu5FMLN5ja6hG9kwQgZqf5+1NH5UxzkFReCdWhJ8XdlGUkxO7HRlYRm4mVO43W7ter12TPJEw/rmEN3L5SKHIWZg9mz+pUoKOYq5bJTJdX2gme1UcxMZQFaEQIlHct32M+Y1BzGkGuzfiyAN9z+ugplZ1symCrDCYYkGxDTpI9RzBy0rHyeDUC1nWaeUaD9n4xkNyYMBDZtzZ3B++fJlY21XFDOcARJlabOyiS3uCpLI9jrZjCDkaVvcCCjwognKShWdzXZWlZMvVTgD8LpqlCLrqgbcB+qYwrgKYpT0ccCqbKyCValkEabn/FynogCrPKfqf51xJ7sGB2ZXcZmxoSOztjx300DZi7a0/2AIR0UlBag9SuDw6KcAzlaB7vHZvWpjK90dyrq6bKyDUZQbR0B05biLQkHIcSUmgIK+SwuqgHCnoio2RQU1yj+BnBy9pphVKLGyC7ZzFK1pxWK+E8IhVCWLN/uLtnUU4ayoYLoaANz8FdtaSvY4pV0BEW2ls61czqllBKpTyKgMAhrZ1cdc1RROtPmvWNkdcKZ7ZKxaWjiPLJMpp7OZKxA+rqG/oJLjxf0pnJlqLoDZo3gyU0mKGys2taKecj/d1C+rJSplBqlTyAqgR+D8KjKlmRL2gtUcAdCtsL+ijCNT1oqqqkH2OHEbG5sDFnUg5Aa+yLou2VU1ptj1S2ZQqv1ORZN9IWzRfgaRBxKoBE8UWyqlJFtrIc0AxNjSjed99CTY/XDfSzCz5M0IZoVEsWnPFNTsl8ooVC1TzbGgqFZNDSgVwKK+1sGDMKqxZCWGVMDysiEr1jVSQJUYwj5iHOlThdHt44SQg9CN+nl8D90NMIgAdgr46JqRiR9I8vRdFvbr17m/yxUMKjNLMiVUADwu2CWGhhi+F55TWM9M9cogzms1dnM4uOF/LAEYWdcqnM7yFmyq3IfwmOROd7Y1iFWtOjoY8To41mTV5IysgFFuRzsbWFGbNIIJCDv1dOo4lZG7jWBwRFtVTKuWyeCByJKOan8oZ3ep9XddNl0tDuaywLz9cXPYeDAA0SpkBO9sbVcTOVWldPv4uyzEkzxHtjvonHoSkFEWNoo1d8DhcQputd2ppNon4BzoAiJ1hBFQg0dVtdbGHHDQWushmNEQukLM2QO1G2Y8bgTXqFhcBJj7EjPgcPts8US8qPpPB/dXznOh5Z438tzH5ec6QgrOKrRRfKmysBmUDB+PhYabMlVPER+GCSITTzr7am2tArH3bgcEzPJm+cr5jJ4NnHNFDVrFXcI5Le9k5Jnw+bedbV+FfRzZIHaOOaOsLY0/7UGs58DjrGwKMIMFIGzOEW1/jGsdAtCN6hEAI4hBe9YXeRROBSVPAVPAqvIM5bx5hVKWAMP6zBRy3iescridVdFBinBxXDnG2GRY2XbCvp1lhvGtO9Bxu5h908XQu42lnSArMFdizMim8uwRCxPGnnOS8lwpnbOiDqTAjsrRN/PcoAScCbaACqVM40ylnjjTBs+bwWlAG23/UKbdkiwKWIQPGzWaczpoSlxPEj822cNWkpS7FyzsDrqpfgpG3jahw2vgbaSQAxuLWZYt7JzyNe8JoZpNAcvDFOdw0wqYT9AK1rZz/DdbSlLPp0ryIxgQJlK9AZlEq7IOXpohg9PIhrCng88JsOxiV4ZWAYfg4sikx/8ky2Z9l862uqwrfscIH8+ugTmVGyiddeVYUgEMn4GZzg14EwIsh9sx2cKKiWXReuOE5gzGOQgdlRKVVdlevqb279Xq0Qnsts2VDaBO0coezsruWtHApu6sKG4IBhN0aGU2kLrMKGRTN3HmbCDwKV14zvkMEDG4QfZVspVlaNU2mhc5TEZ3N1h/zqTheuLpW05ZWTGVjb3dbnNmxKZBnN8JqidaVLKAOyARNLS+MB54Z2+VaqoMLKroVBlngefnTPAcoHNWCSvlfA8CI0HEmBNBnBlXyMrzU7A7WVm94PPqQ2gmqKx+WDGsnvilmcSOBJqOK1nYyAIzuAyesq3UdSK3KfWcYKD95HmfYOU3qser2CtYEUA+FpfqdNvgPBZUBhDrGONRVlQsh8rLcaUCykHG0OOUwTlLBrsh5soEMGezi1E4HRVt1icp5wZEFXdibCkG8Y8vX75sbO4E0iom9z+hjSiOfy3DhpXItpVhE+UGQdvoWjtChmrGHf4YAzKgBNnGtuJxFCeGdhUAfQLLK8kBYAP6gvFJZajMG3Xkycy8KuC0q4Eyymwtwdxdv2M0mIBtK0LKnf640j00Auq4gUkdWGlhs22qJc6dZCsL19oxnlTJG4SYVRIGpD8TPFBuM6OElbS1pldid4mGAyN6ZIupbC5bXJN9fdpbThSxLUaI8IG1XIYBxW3Tjs6KQosKcxfxcQmdnwRGM10GnFcCy2XYunLMyAkdgk4mePiczsLygthcBut6goOqS7YVFXADLjaosB6s6ofcZWAZSIRYqSUkizYwttYab3vUOQ9w2HRxIIg8WwRVeE68xi4UtL3zRphxplzwuZrcqYCq1I3jPI5dnJIygEohMbPqVJSzrwzxBJTs5zN+ReUSgxikPQVF3JVBeNQxbHENrEMNvEdFZVV9lH9+ORGEsNZQpyTNc4C3AG7XF4ngzq+DrO2zbuaaOXgdaFcdkEotoSFBVX2qJ0C8OWZeG4KGlpghA0XfTOPCqV2qqwQ26QWfF2PMLhI2w1lVAa2aPsYd0za25MQRwgcZN6uQDCi+ZxiD4XEM2kZxOT41FnZnaRlcpZouzlRqqdbQVWopQoSB58RV50lBNrHi/AwXS5LrwDVlpY3Fc3ByiYGc52Trist6kOXdwInAQtJpp5QchyaquYOV7Su+fxVMaV3dc0RE2S6mUY0gLt2pMcYqrKIQ9w2l1gpQUMtQYcmmbt5DTNxdhnUCjQqtbK9SUSzvrC0mmhhE1e2FS2+oxypy/ZASutkmtjx3vcBC24PX65nbqkBCRhfjS9kIYPnee8cMagVOhI/3T1fAmdtAWZsCswTJCkQVNa0qWKSKPOpHAUhD9DrbVcyoYkwqhvh17vYAayXLQyKGYdxlUDFp494rBXRjYgO17DDYetNIUj/ezp6S0lnlpEwsWmJMkOwsKXeZKEAjIHn0EQJISaRBcO6UMINz7p/bEjjnw4ft+xmDvksxX4G2rIris7qaeKwAFMP2Oi7n4criuZwtpSUwpfLxSnORSrIqusc5ZFaXysqRWjiZ2DyAWEIL35tVSoQElFACjOeGGSE7AHEQgdo/LSvCOgGBvkxsmDbvlS3Fp5vhaB2TAGqRKrKKMrhLVpaGzEVjZ0OQxDhaCTA+QyRR1d15aQzrJntL3RibsipjG6jlgL4yqbS0sNYg1e84vhbBVrElK64CUcWYXDfKxhpIuxiVJZUxsbMy/uRBKTNRQ4kQ3LdRYLS0rJjRPlTPqY6gdJsEDc+aQXAn+HgsNUCbRuF0Oj0zwnA7bWDkbhO5Ens00qeQhS1laBMl5M/cAaxsLF8rKyql+Tf7ELLEGu/ixiimdCvo0TjfpjKwaggen4eh5v7LokLKbLuyvHhcZG8dhGrEDx7Hg93ZppJF7qBqO3iVveXEDQNInzeoe8Yq6ePaZBZ2JviM3W2UAGotekRCAGq4EkF1X3DOnR11yRsBL1tRa0PVcZiNFXZ2c34FskvomInQQ6lzpJoZbJxk43NwKJFBquJSsrByHydxKOnTxQASBmS3j+JMnsHSla3Ec6K9VWoJVn9zfjwOM7hqYAAqJQwE2a3nA48J2QGegRkpZNivSY+ys3EkKd4oJIwsvIHl3cWgLt5k4NH6OmtLWdpurOkwEMupYc7eMtDRhOcI2ui5JhVIzXzLyto/GAPuZoyo8wkoduVgJglCt7OhGbgID4Mq4si+63zUS1FuFFXFlqyaj2emHlLMcBqYu0FMuR28BbB7lOxRMSiCQXFhCKuwkhZ+pYDiGSgbsKKV8MiSRsuHSIWM9rklRiIlZZuqXjsQK8ooYJMgq3JKWVkhHbhsVxFUzthOWPkYijcbx54IKsSdT+uLr3crGKyoYgFiGR9iBk4kfloUX+JIlQRQqabmpgnhqtpQpb6RVQ1WH5DnrS4hEoGZqaerQ2dhFbz8XePxShmDbo70eISjoorO2vK8SJXI4SUmEU4zWKDzUDtWTYw7xXlbSTEj4FRg7zKnKoGRALv0Gs9Tgc1BpCywGZRQAtqVz2xrBcAMzEpfZwFSa2G5W0QBFjSMapWAEFa3HcGN7CxDzECyIkJ97qwrqWNTWVo876PPsjPkj2wvgroM5lLZKMETKVql/CvnWVFiFa/SzJUQwkoZsr67Y6vlSRV3/2tmNTOY3vnaxYwMuoPKqdzR1w7IqHymlPxaAThfU7Ko2ZXYj4AYJHL+kNdKwRQYESTRa5fsUZ/rVC1TMTyWVyYoqNtuzaHsMyv2tvoarxdfqwYgU1axFo/cnql1FGsqK+uAROV8BX4GU8WcZTATi2q7Qcyi0O0V+GhWBMNRUkn8H1SsWVE5By3Gi0ECqUeJoBfAtDa4amkdXG37AGP5Ggeb84p7UazpoKRzdFzeQ8HkoHGxprKy/Hpm5t12p47J6xTYDEz7uINEXSuxYXvFskYAc+ySxH9sf5ftKzU6IbwVBcUGg5e5FMCEXSErZR0wGayV19woM9guPjTqJdVTqR4uE4nJnLldWVkECCZLd2VLF+xtamex7IpiriSDUpvrpn9lrwGMCHyppMH+ps6LILsuFGUj1XEOXiqbqSHPUKnClpWV68kqtURVNDY4TNaocykoYeTU5ngGEQa/S1DnnE4AeXMcKjHPAmFVjCBENaeyLVNHfr3px8xUstJ94hIpfH4HKE/eDaArK6lSyVVFbdt1gxTIVk3pppVlFXi4pEhVBTObquohU85MLXn1iahvUkHJjSCMc01tLFveVVBx0DodM6jftCu7DOtIzYxrc0qp1JGP2ayYFz2Gb6HvMrO8cnGtV6Gjm3uImSfD2GpWK6uowbZGMxFKQCo1pOMtcMXFpRst+hXGoAomF3sSTBGgTglbBKWwsQ3tZqaYSp0Z1CimRDWFcCJUPYJ00BI5FkKYNoifuQxmN88SWVXWLMaUqqqgC0BmQJR6sk3u9NCf6jYLXxAfqsYEgVLAhRY2AtgtflZNFmFyhxdrLkAdWlk4D88M2ixHyepIdhMHrG/iR1ZGtq0MGpbDbRPYOXeSY1M6Ny4ZstvGSktK+XbFPATj2D371saPEsAMXhXrsZ0km/XStkhhMyBfsa6uXFZe2VCe+YMr1+GKgwrQyNYq1VRrB+EizAow6NsdNKcyVEkYeM73ys6q4kAHp6BiFklTkIrVC5oYV7uzwOGCz4UJ0Stq2lWMJy4wtb+RetL6tZFicnJmBw5UjCvXXMZVJX2MQkbf+XN5EWd78Vz8/JEsMZTBiKNzsm1inLRUQ74H4NidaqI68j5sAFgxcRveC7ieLJXfQYxjZZ2CsiWFewZXJmBIlZ1tdtrX4hSuateKso/RZOtOKW2nmq1oTzeK6dRWAWu2NRVb4hq0SXm1GvtugHrbr5IXqmSktg5CuDE2MSlPwsY5kNE2Wp3AqiZbWVLAxiBF+2iBZbuNj6MB6rsMLC7FyasaYDyo7KkoPyEtw3pEMXfPvxAJi2jAQQgjrz0rLIZSWZlIoNhwd5xK4AR9mYNjWAaLrnuImJeBVN9zBORObVvbr+mTTfFSEJLSRnHo7hEJoIi8MFqjxmvgmF5URZz4zLFgZZ8Ctu2X7ggVccKm9gVxIsOHqxXgNMKnFWZYnf1dBnOhayXq17QwFlWW09eNKyVJFmXqaONGA5aCegMbJ3UUkGY1ic3nKWgjq8qfVYGQG1gRt6rs62a6HiqqUOqdesK5NmX4nGofJoiE1d0dF9lVVkvT1/kEEaaCoYOwFpcVcoLM+7669PxC9rWqktH0sWUYld0VCpuBZ/stVRcGgy9WX2+U1Qthi9SzAqSxzZsy+OiFzBYnySGV6Gku44rD8BCOZBV3BvD5+AKRHNwMEsB6EzHnJpkTAeiUlEGkcECeB6GDZTp5YEJTlvdrknxYjTllMkfNtXwDjM7uVjK5JXUUn43rrqpK2jytaxHW0M5G8DC8rtHMYs7KSgduVQMGTYFqFvVS6rkD3sDJ46afdYFwoq11AOKCBLhvwoUgc8IGANycR6knZrdJPdsuxnyjfd3FovTlRMdEdtOl5CMV5EHsXQBis7TOwvIDZaGj2Vnpbh7cpK63VwYEMLwqbjzyl699sawFFkF1yqjUU31HfC6sW1ZFVFuXVXVgz9keEaw0ys1lWfm+azQAQSWA+hKYVfsZjPncAcUB9oIayy/UZXRNckDGji77GsWbvBo6tPrWPqOyVkBUq+INeqpzNdYs/u0ifh5qmpqIW+33JVSUcwY70KL4U9lYdU6ljtSls7lmfi9g3YzeQfVkaGFaV3ODCnaD2N8wsEDFklE3RzM3ZghdYkWHsszq70FIecnKkVkt8ezMzRq9bkGuKojRLBVSod3Y1yPqKgYW7JRQTPVyy5xIYLjOgxgT52RKJUY1dOrIiRd4futQx/A5AcSmEjz0vFWrkLzvbWAu9HOWbGgxFk1VNTpnBKk6TgwisI/HcxYXP1uAWO72ULFlBTq+aSu2VTUs6hrxM2CF+hEor1VIA9ZmFUaab1lSSgZsVs4sxzHlVLoJHr9H4DhONTkI1XC0/wiY2NoWAG5RlnHFnq6oLccpQddMuJ/O17JVA5OHLi0BqCztq7Y1++ucCd98qLI8MIHBV/cKjxQTme3hFBS3MyCqnDsuym2o80HjvFFTtrURmNaGJsmVahImjTsUXKtQZTAVs7Mvv8/+fzUrZAXcLJ6M4koe6XP0b6SmWWNDzyUpQ8bl+LtWx4tuqZ36cRYV3yuVxPNwvIiqiQCSmu7srgTzR6nkyhpCarXwFy1vGd5iP2cY06lFr5Njhhg1Y6+NB28ftbK83s8rf7kLJbKwDFPbLg25a0AdZJEiqr5phixKMDlRUtcssq1hriLqGoH+zeNgVm9OemjsETV8JdF0NHnkIFxWY1OB4Yrp7rtWJ7NgAAAPXklEQVQ3oNs5nplyVf8u2FoLu1JrHveaZWQjqAkshtFa2gzsSG3Zpkbvg3HafF9slPPlldjFlK80Gysm8Mr4MPhneNWENPGjAIpmilTPATdTRTXlCBYHYAQuPwA36xIpWtGN4q3Y2MhiGsUpuSSnlEJRD8PorC7CFYVw+F51qThgabxsTxWzCGY0ZSsb3lfqAy0OPNjNy8xiQQKsHYFQ2HBZVvVbBuq3m1oWKajqaonsM6uZUr6CjXWNZ0l5E3h3jURma6kP3MJIiy1Lm+kahQq41N2iZja5sjtlLYNZHZrH6qUGm4vMbDp6Rw2CFmvuyFkrBcCyMtFqBaECmsHoK9BZ2LA/lJcRqSaDqnaWbrZdGaz3DLgIvBln4woGztbyJGqslwxkhhHrTjTYFXCtOoKS8uLdofVdAbOylGU6nlYpXWZts4nXBq6WxJitMNokHUJnbnJplQm+aGpY2a5GMV2QD1hRubBPFKdumf5OHkLHz0F9luE5kjBjRa0nFE5CUGqHw32MmjZ6xkgINVnSnZ1VZStK2qKlRaLlQgK7uTq7JFXJwM+3SOEKyhZNI+tJ0I5qMYy9k2qJD7dVWdqKXa0CKNR0Ccjg+B2IYu2fcBZJZkMFgM11r0X92wilghFGgzVnexlqB7xL9mS29SiYUVY2nXOZjNBRsyDsQPRWW5hrZ4XcdC4HVWRbjgJr4sFofK5SzjQ7rhI1UebdPdEbj6sqIvTZQZ5va08rABsAW0UxeWytAk7A2KJ9ZpxzCioB24XFtYAeXYxr6anSqhLgppEqWbGwLunTgrV+IjWlL29ljaAl4EQMGsErp4apeZiquwRXLXAqOCeru32mmydc6oWTSWpFAGdzeTB8RTHVMEtlM90CbbQCYhPjq3egYr1FGdYIQjiuDGZ5zZ/AzobKGOyLxti6c4Rwtv2anyWlLICnlLhxJRXt6A5ebDBWFNONbxWZ2d02mnu4S9YECpeppV1zSWRBWxHYzVIv1CXSouwqqX3jBBBDZdYQbpTQW4ZQlS8r5kH4suSRmg2++3JN10x1PaAmEkmtYlEdeGpJEM6kOuCqCR22oSujj5IV2HdT0zj5prLKTjXFAPjdQlyq7xIBxAQP5yMczG4VxAKw0n6ilZ2QBce2pLulkuxxqnoIzFfgqyqjil9S1VNwBrFmeyeops8yOjZUybZdfS8CuaTIJumzs5tODaNtLpFDQ/PcJGweLhmeL1nB0KqiUDScsiUVD89Di3HtrKtSULw3RLiygZD+7sF8JTObgYsrGvDNUFRGl1iy0Ll1YkUc2aJYMog920I8qW6YDCg1Mqk0JHJFKXkbgbRreI+qpYNOZHrVcDUba7pjsphSJNtK6upgRNAVoOS0mugBeN4bIZgHhuPZ/s1ENaX6KsVr+YNrh1Nb7ipR0PE5zbNRegCbrHRUw6Yf07dLBJl1f8KB9as2V1nNqAsl62LBBhehwalerkHmB1JFIEZKSEusdl5JQj1nJlHXSCF342gJ9CYGrXelknJIXqVP8sD+qtplCR3XH2qfKq0ygMp+KnVkKxNlZ8m2YkIlVMiCnXUwl7qznBKSvQz3m3Pt6oQbXO5b5FixCh/fHxUQW/AEcK6zCNqKQnL9sywqmKuwvqSYzT/aPVNNpVyhvRW21aqciCsjdWvBwILUvh5VyCzbWoC1pJjJ680CWsl+udKB6T5RwG1mlohnlpbg47iz5U9ha0FGtmRLFYBtO99y97Ap0z+ZDTAog6kSLZsMHg/IFkkgp6CpvU2U0cYVSdnmkjwBdOmXbxTWNWzuIbipMioVxEckZEoahSOiy2M3K0jcC1LhVDwaqG0ZvkcWqCnrG4GIxykrqlbWdw6LQyBaZR8HmLRIhQWsHswD42ZXVLNkf9l+FlW0HVQ2lwFsC/Z1FdzlQR0KaPfo+Fdfu+/dwVRICu1CGR7AEIiAhc+AZUF0kOBaPxmUqg4i64vQnU4nFDYJ9Nz+1fVXveH9qmr+kPILx8oKcRV/BFbxbE0JMT0kSD4w6L/lNY8ocsqagVdU3A3MjxhxcGuqzsPH4irpaow1q6OyrVjvp9Npc59E91LldboYVzJWdimWfAW2SNEKcDaX2FmBLLA/uKxlmhh613Is1URQApbKfttwxL02q6Onx5pQxSbPojAg+v5hAnN6LHVRDXIsvKtRjiS0qJUyZTAXVbAK82ElFJWaQdVoqUC1Unt7BVaTQudM6SuqexjQJN4+0icaxv/utbKv83ETbT8H8gjcOKxOJmbUa6OOVXht3dFY6rHv9XoNzFLceEA1o8+pKm0LAHPHZ2rYKjFq0hfZFixsqHJgD3eD5n+U0kb1mFjXkn2lvMSSOsNE/CdIAKF0Sytq6urOHUN5gwg4GZosgbmggM5ucra2qrS2Ig1cbiBBcxYzgzUDNLCvL8GbZXNp6ORy3LmS+Kk83zRIAK6A1ioKa2I9NapIuiUFdfC9766PFZUtqUr6KbWk+zZU1a/ZrIXEztrjTOfz7hwKziCeXIaraHtbZIMz+2pGgazCmw4qWAFvEdhodYp0Xq0pV7G1YWYWbO4qhGq42+Z8BYtrLWvluNPpZAeaFFS1vubPgbgxsqcpnAaszBovKaFoDQ8BGtjfUOl4NAG2nmQV04feJgumvX2fsrQEWZghL0JnVdYkn3DOZIeRN86RqPWCmsvGVqEMRnwxQAxwS8EMYo3IzmY2+BCcLp4MKiuyuhImamlbZFcNoNl7tp+RHd18ZjQIRKyXdFRhN98/hyKqwXWNo7O1wiaXoHN108REZZWEq6grnIfjzeg8jdRf1XEL4kkXa5bBjKxoKaljBjeHlVxQ4GaycpW4lDOAKtnTxHAtOfzOtZwHAM7sqVXkV6yu6kap1nHkXKqWF/4XHqjenNKqBjpR3l1ch3Ejg1+EsgdQhsdG0B4FM9sWAVWpuAyiwTPleZxt9VyZVS2qXfReWqTAilpr9ApoWTjxymit7NwV4JTriZyOA9B0k7HFfULourmKYHVnRQvqGL5HMHdqFcR2qWpmcK6eTwx2dipWrviDilr+fKWq3OWRWdHKwA4eu8wjchbeRzFilqjjZN3ufCpfkJ0/scVpnYk6L0PI77lxdWCZ87WiWm7B/AGquQSnujGKsB8CJmiJq8q1pKIVWyqOiTK66r18BN8r74/AE71fdC3yPS2MxdOpnE1tlVxD9JmVOoggN+r4PjAXVFPa3Eg5jVJGFVUGNolH20GVrUB7BOySWq6WqYQdWR92pcFMYMwckbSgCKCqD67DiiWu1g8MQC9ByfcFqW1L+jL714qNCuznoSxt0da2gtWN1G8F0BK0NN0nuimelUF9dIdAfjO44UT3CjQLoUeLHJFTO3gmpRuIIOvwBQCbqNeo3qtZ9iF6xVK13GRlo4zqimq+CGdTiR1uRY8oqgE02hZBa79kZXPMquxRHKla2saZWN4mRqZUj0vLCKhkjKnqOQHNuSZVJoKvAqS1wpEquvWDC1B2ypwrCPsRMEPVTODMLJMDv6qeKXwi2JYV5Sq4qKyvgGsHCLiuj2jR59V8gMqSJ2FJZRXEHVRHj3sFPrct6OpqlW1GpatQdt0GvwfM6n63InsGVFhJGaBqgqqIV6IsXllZgySPq4R3bnt3wi5cv+cN2yqQLW1T95KYVsWWtKk4cB9W53WQQflQYR6Wl4HaJZjvVE0D5yvq+RKgZCs5qdBEP5sD94cAvQLlSgNaSMAtHx88BuNQ41zdFsX30zKbcs0MLD/ihkpQzl0wiTqKLTfbKmCmyYICnK0IbaieC4CG9iSyLQ7cIMGQwau6TKoq60Apl3WN40LZpca1CKKK9VQyyIEn8w0F8F6CL2h8o3ixGwC7s7EWzCOqmcApYxYD4jsAzVS0sl2t98pA7vrKophCVSonbYpgH6mvSn24pTBV4sdtV3BtMq5k82y+IADvUJ0uAlkCVTxIaPm+UNu/qkV4F1TzHXCGrXIAqItBKypqK99VtAOVs64O4ObX7pHLVCpYHcRmwvLR7TvYAKBBN58LGVzDuFz+hQbWgncQyCZAk+VbsPSouf93261iZgmfCpwRbAvqmSqriU2PwhjaoOyYqtIegVXViTsmyta6bGySpY3gyRrpIyAeaWDDxtpsXwKyalMDKNP7YBXMqEskUsi2uC8FNAPxAKTVfT1o6VzM0E0jF+1rWcUuHvdyg7vgoFplX8HpvHpMCOMRUPHzZkInsqlFKNX/EIO52E0SxSzOwob2VmRLW5D1XIU0rbgM1AzWgyC7fe8G7xUAK/taEBat7luqtyP7EmsaJQOj5F+mrnZfCuYCfBUAWwShyd6pMY/vAHG1UqOYpbI/gy5T0CMKm+UO3gFuC85dgfDVeguPDfITrIBLsLrcgdh3CFgFZjaKJ4Iv3F8ANEqvuxR1tVKOgLoCa1jxboBAkj6v7j/icFbA7f4rfRnQDLRViG13i0vqBQrYVqBbADZT0ZpiHoSzvQpopKIFS3sE1HfBWlHXd0H7LnArqvougMtljHBgZnh3Eoz/BKjLML4Z2Aq0+hEJr9jaVUBbvNzCIUiroC7AWmmFw4o5AK3MtB5VypZMSFgs05JyGVwlwBqsEGAAa2ZU1CjUexXGsE4rKriilBvFzOKKo3AuAroE6QFQU3u8YpNXwS5k+1TZt5UrwouN4KiUEw+k3ZWDp1RXHNRqXb21Ts39945yZSg3VnZFNQ9CF3XeZyr5DgBXKiwCMa2MxeTDYXgP1Fsf9QNKZc0k81RJk3r6EQ3rCmBVyLL75EjZ1pIVDHoFtiOAHoB0BdTVylqBsKKKS+AeBXJVLY+CXASuGvO/Auq7GuEjDfGKg1oKa1z/dmmi9I9SUGNhl0AtfulHAawoYrnSkmNXAVuGEhrEVXvUF+A5Ct2PqNOjDetyna4CmeUolmeXLN4Aq7C5Sj10Q7yjgl+t6CNxSRHmI5X+CpwreYB3Qfdqna4q21KdBuc4GoZsn49ZOOiVinwHqK9WzjvgeweEh2AU5+vtxZ9Cd9Wqkh49V18E5oj6vVyn0RStAyGIO5edXRKd5B0VGVXq2yr3xYp+5Ut+C4QJ4P1N339pQMjRejj4vb/Dcr6rQc3O/0rjmtZpeYCBiCHfCemRbNhbK/pNUPc3wfKy5f2D7OlL3/uPhve/oU4T0F8f+VNM2vyoiv0jK+KHQfdHq+0bncz4oz73/+Y6LbKw1o/5B7eOf1Rl/0du9B9tn/9bvrf/j+v0h6ttn2tp/r/4819y4/zv5391uvzzfwDifz6phT1MPgAAAABJRU5ErkJggg==")}.color-picker .box{display:flex;padding:4px 8px}.color-picker .box .left{position:relative;padding:16px 8px}.color-picker .box .right{flex:1 1 auto;padding:12px 8px}.color-picker .hue{cursor:pointer;width:100%;height:16px;border:none;margin-bottom:16px;background-size:100% 100%;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC")}.color-picker .alpha{cursor:pointer;width:100%;height:16px;border:none;background-size:100% 100%;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwYQlZMa3gAAAWVJREFUaN7tmEGO6jAQRCsOArHgBpyAJYGjcGocxAm4A2IHpmoWE0eBH+ezmFlNvU06shJ3W6VEelWMUQAIIF9f6qZpimsA1LYtS2uF51/u27YVAFZVRUkEoGHdPV/sIcbIEIIkUdI/9Xa7neyv61+SWFUVAVCSct00TWn2fv6u3+Ecfd3tXzy/0+nEUu+SPjo/kqzrmiQpScN6v98XewfA8/lMkiLJ2WxGSUopcT6fM6U0NX9/frfbjev1WtfrlZfLhYfDQQHG/AIOlnGwjINlHCxjHCzjYJm/TJWdCwquJXseFFzGwDNNeiKMOJTO8xQdDQaeB29+K9efeLaBo9J7vdvtJj1RjFFjfiv7qv95tjx/7leSQgh93e1ffMeIp6O+YQjho/N791t1XVOSSI7N//K+4/GoxWLBx+PB5/Op5XLJ+/3OlJJWqxU3m83ovv5iGf8KjYNlHCxjHCzjYBkHy5gf5gusvQU7U37jTAAAAABJRU5ErkJggg==")}.color-picker .selected-color{width:40px;height:40px;top:16px;left:8px;position:absolute;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-khtml-border-radius:50%}.color-picker .selected-color-background{width:40px;height:40px;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-khtml-border-radius:50%;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYR+2W0QlAMQgD60zdfwOdqa8TmI/wQMr5K0I5bZLIzLOa2nt37VVVbd+dDx5obgCC3KBLwJ2ff4PnVidkf+ucIhw80HQaCLo3DMH3CRK3iFsmAWVl6hPNDwt8EvNE5q+YuEXcMgkonVM6SdyCoEvAnZ8v1Hjx817MilmxSUB5rdLJDycZgUAZUch/AAAAAElFTkSuQmCC")}.color-picker .type-policy{position:absolute;top:215px;right:12px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAgCAYAAAAffCjxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACewAAAnsB01CO3AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAIASURBVEiJ7ZY9axRRFIafsxMStrLQJpAgpBFhi+C9w1YSo00I6RZ/g9vZpBf/QOr4GyRgkSKNSrAadsZqQGwCkuAWyRZJsySwvhZ7N/vhzrgbLH3Ld8597jlzz50zJokyxXH8DqDVar0qi6v8BbItqSGpEcfxdlmsFWXkvX8AfAVWg3UKPEnT9GKujMzsAFgZsVaCN1VTQd77XUnrgE1kv+6935268WRpzrnHZvYRWC7YvC3pRZZl3wozqtVqiyH9IgjAspkd1Gq1xUJQtVrdB9ZKIAOthdg/Qc65LUk7wNIMoCVJO865rYFhkqjX6/d7vV4GPJwBMqofURS5JEk6FYBer/eeYb/Mo9WwFnPOvQbeAvfuAAK4BN4sAJtAG/gJIElmNuiJyba3EGNmZiPeZuEVmVell/Y/6N+CzDn3AXhEOOo7Hv/3BeAz8IzQkMPnJbuPx1wC+yYJ7/0nYIP5S/0FHKdp+rwCEEXRS/rf5Hl1Gtb2M0iSpCOpCZzPATmX1EySpHMLAsiy7MjMDoHrGSDXZnaYZdnRwBh7J91utwmczAA6CbG3GgPleX4jqUH/a1CktqRGnuc3hSCAMB32gKspkCtgb3KCQMmkjeP4WNJThrNNZval1WptTIsv7JtQ4tmIdRa8qSoEpWl6YWZNoAN0zKxZNPehpLSBZv2t+Q0CJ9lLnARQLAAAAABJRU5ErkJggg==");background-repeat:no-repeat;background-position:center;background-size:8px 16px;-moz-background-size:8px 16px;-webkit-background-size:8px 16px;-o-background-size:8px 16px;width:16px;height:24px}.color-picker .hsla-text,.color-picker .rgba-text{width:100%;font-size:11px;padding:4px 8px}.color-picker .hsla-text .box,.color-picker .rgba-text .box{padding:0 24px 8px 8px}.color-picker .hsla-text .box input,.color-picker .rgba-text .box input{min-width:0;flex:1;margin:0;float:left;margin-right:8px;border:#a9a9a9 solid 1px;padding:1px}.color-picker .hsla-text .box input:last-child,.color-picker .rgba-text .box input:last-child{margin-right:0}.color-picker .hsla-text .box div,.color-picker .rgba-text .box div{flex:1 1 auto;text-align:center;color:#555;margin-right:8px}.color-picker .hsla-text .box div:last-child,.color-picker .rgba-text .box div:last-child{margin-right:0}.color-picker .hex-text{width:100%;font-size:11px;padding:4px 8px}.color-picker .hex-text .box{padding:0 24px 8px 8px}.color-picker .hex-text .box input{flex:1 1 auto;border:#a9a9a9 solid 1px;padding:1px}.color-picker .hex-text .box div{flex:1 1 auto;text-align:center;color:#555;float:left;clear:left}\n '] -}),__metadata("design:paramtypes",[core_1.ElementRef,color_picker_service_1.ColorPickerService])],DialogComponent),exports.DialogComponent=DialogComponent;var DynamicCpModule=function(){function t(){}return t}();DynamicCpModule=__decorate([core_2.NgModule({imports:[platform_browser_1.BrowserModule],declarations:[DialogComponent,TextDirective,SliderDirective]})],DynamicCpModule); \ No newline at end of file +"use strict";var __decorate=this&&this.__decorate||function(t,e,i,o){var r,s=arguments.length,n=s<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,i,o);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(n=(s<3?r(n):s>3?r(e,i,n):r(e,i))||n);return s>3&&n&&Object.defineProperty(e,i,n),n},__metadata=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(exports,"__esModule",{value:!0});var core_1=require("@angular/core"),color_picker_service_1=require("./color-picker.service"),classes_1=require("./classes"),core_2=require("@angular/core"),platform_browser_1=require("@angular/platform-browser"),ColorPickerDirective=function(){function t(t,e,i,o){this.compiler=t,this.vcRef=e,this.el=i,this.service=o,this.colorPickerChange=new core_1.EventEmitter(!0),this.cpToggleChange=new core_1.EventEmitter(!0),this.cpPosition="right",this.cpPositionOffset="0%",this.cpPositionRelativeToArrow=!1,this.cpOutputFormat="hex",this.cpPresetLabel="Preset colors",this.cpCancelButton=!1,this.cpCancelButtonClass="cp-cancel-button-class",this.cpCancelButtonText="Cancel",this.cpOKButton=!1,this.cpOKButtonClass="cp-ok-button-class",this.cpOKButtonText="OK",this.cpFallbackColor="#fff",this.cpHeight="auto",this.cpWidth="230px",this.cpIgnoredElements=[],this.cpDialogDisplay="popup",this.cpSaveClickOutside=!0,this.cpAlphaChannel="hex6",this.ignoreChanges=!1,this.created=!1}return t.prototype.ngOnChanges=function(t){t.cpToggle&&(t.cpToggle.currentValue&&this.openDialog(),!t.cpToggle.currentValue&&this.dialog&&this.dialog.closeColorPicker()),t.colorPicker&&(this.dialog&&!this.ignoreChanges&&("inline"===this.cpDialogDisplay&&this.dialog.setInitialColor(t.colorPicker.currentValue),this.dialog.setColorFromString(t.colorPicker.currentValue,!1)),this.ignoreChanges=!1)},t.prototype.ngOnInit=function(){var t=this.service.stringToHsva(this.colorPicker);null===t&&(t=this.service.stringToHsva(this.colorPicker,!0)),null==t&&(t=this.service.stringToHsva(this.cpFallbackColor)),this.colorPickerChange.emit(this.service.outputFormat(t,this.cpOutputFormat,"hex8"===this.cpAlphaChannel))},t.prototype.onClick=function(){var t=this;0===this.cpIgnoredElements.filter(function(e){return e===t.el.nativeElement}).length&&this.openDialog()},t.prototype.openDialog=function(){var t=this;this.created?this.dialog&&this.dialog.openDialog(this.colorPicker):(this.created=!0,this.compiler.compileModuleAndAllComponentsAsync(DynamicCpModule).then(function(e){var i=e.componentFactories.find(function(t){return t.componentType===DialogComponent}),o=core_2.ReflectiveInjector.fromResolvedProviders([],t.vcRef.parentInjector),r=t.vcRef.createComponent(i,0,o,[]);r.instance.setDialog(t,t.el,t.colorPicker,t.cpPosition,t.cpPositionOffset,t.cpPositionRelativeToArrow,t.cpOutputFormat,t.cpPresetLabel,t.cpPresetColors,t.cpCancelButton,t.cpCancelButtonClass,t.cpCancelButtonText,t.cpOKButton,t.cpOKButtonClass,t.cpOKButtonText,t.cpHeight,t.cpWidth,t.cpIgnoredElements,t.cpDialogDisplay,t.cpSaveClickOutside,t.cpAlphaChannel),t.dialog=r.instance}))},t.prototype.colorChanged=function(t,e){void 0===e&&(e=!0),this.ignoreChanges=e,this.colorPickerChange.emit(t)},t.prototype.changeInput=function(t){this.dialog.setColorFromString(t,!0)},t.prototype.toggle=function(t){this.cpToggleChange.emit(t)},t}();__decorate([core_1.Input("colorPicker"),__metadata("design:type",String)],ColorPickerDirective.prototype,"colorPicker",void 0),__decorate([core_1.Output("colorPickerChange"),__metadata("design:type",Object)],ColorPickerDirective.prototype,"colorPickerChange",void 0),__decorate([core_1.Input("cpToggle"),__metadata("design:type",Boolean)],ColorPickerDirective.prototype,"cpToggle",void 0),__decorate([core_1.Output("cpToggleChange"),__metadata("design:type",Object)],ColorPickerDirective.prototype,"cpToggleChange",void 0),__decorate([core_1.Input("cpPosition"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpPosition",void 0),__decorate([core_1.Input("cpPositionOffset"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpPositionOffset",void 0),__decorate([core_1.Input("cpPositionRelativeToArrow"),__metadata("design:type",Boolean)],ColorPickerDirective.prototype,"cpPositionRelativeToArrow",void 0),__decorate([core_1.Input("cpOutputFormat"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpOutputFormat",void 0),__decorate([core_1.Input("cpPresetLabel"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpPresetLabel",void 0),__decorate([core_1.Input("cpPresetColors"),__metadata("design:type",Array)],ColorPickerDirective.prototype,"cpPresetColors",void 0),__decorate([core_1.Input("cpCancelButton"),__metadata("design:type",Boolean)],ColorPickerDirective.prototype,"cpCancelButton",void 0),__decorate([core_1.Input("cpCancelButtonClass"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpCancelButtonClass",void 0),__decorate([core_1.Input("cpCancelButtonText"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpCancelButtonText",void 0),__decorate([core_1.Input("cpOKButton"),__metadata("design:type",Boolean)],ColorPickerDirective.prototype,"cpOKButton",void 0),__decorate([core_1.Input("cpOKButtonClass"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpOKButtonClass",void 0),__decorate([core_1.Input("cpOKButtonText"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpOKButtonText",void 0),__decorate([core_1.Input("cpFallbackColor"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpFallbackColor",void 0),__decorate([core_1.Input("cpHeight"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpHeight",void 0),__decorate([core_1.Input("cpWidth"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpWidth",void 0),__decorate([core_1.Input("cpIgnoredElements"),__metadata("design:type",Object)],ColorPickerDirective.prototype,"cpIgnoredElements",void 0),__decorate([core_1.Input("cpDialogDisplay"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpDialogDisplay",void 0),__decorate([core_1.Input("cpSaveClickOutside"),__metadata("design:type",Boolean)],ColorPickerDirective.prototype,"cpSaveClickOutside",void 0),__decorate([core_1.Input("cpAlphaChannel"),__metadata("design:type",String)],ColorPickerDirective.prototype,"cpAlphaChannel",void 0),ColorPickerDirective=__decorate([core_1.Directive({selector:"[colorPicker]",host:{"(input)":"changeInput($event.target.value)","(click)":"onClick()"}}),__metadata("design:paramtypes",[core_2.Compiler,core_1.ViewContainerRef,core_1.ElementRef,color_picker_service_1.ColorPickerService])],ColorPickerDirective),exports.ColorPickerDirective=ColorPickerDirective;var TextDirective=function(){function t(){this.newValue=new core_1.EventEmitter}return t.prototype.changeInput=function(t){if(void 0===this.rg)this.newValue.emit(t);else{var e=parseFloat(t);!isNaN(e)&&e>=0&&e<=this.rg&&this.newValue.emit({v:e,rg:this.rg})}},t}();__decorate([core_1.Output("newValue"),__metadata("design:type",Object)],TextDirective.prototype,"newValue",void 0),__decorate([core_1.Input("text"),__metadata("design:type",Object)],TextDirective.prototype,"text",void 0),__decorate([core_1.Input("rg"),__metadata("design:type",Number)],TextDirective.prototype,"rg",void 0),TextDirective=__decorate([core_1.Directive({selector:"[text]",host:{"(input)":"changeInput($event.target.value)"}})],TextDirective),exports.TextDirective=TextDirective;var SliderDirective=function(){function t(t){var e=this;this.el=t,this.newValue=new core_1.EventEmitter,this.listenerMove=function(t){e.move(t)},this.listenerStop=function(){e.stop()}}return t.prototype.setCursor=function(t){var e=this.el.nativeElement.offsetHeight,i=this.el.nativeElement.offsetWidth,o=Math.max(0,Math.min(this.getX(t),i)),r=Math.max(0,Math.min(this.getY(t),e));void 0!==this.rgX&&void 0!==this.rgY?this.newValue.emit({s:o/i,v:1-r/e,rgX:this.rgX,rgY:this.rgY}):void 0===this.rgX&&void 0!==this.rgY?this.newValue.emit({v:r/e,rg:this.rgY}):this.newValue.emit({v:o/i,rg:this.rgX})},t.prototype.move=function(t){t.preventDefault(),this.setCursor(t)},t.prototype.start=function(t){this.setCursor(t),document.addEventListener("mousemove",this.listenerMove),document.addEventListener("touchmove",this.listenerMove),document.addEventListener("mouseup",this.listenerStop),document.addEventListener("touchend",this.listenerStop)},t.prototype.stop=function(){document.removeEventListener("mousemove",this.listenerMove),document.removeEventListener("touchmove",this.listenerMove),document.removeEventListener("mouseup",this.listenerStop),document.removeEventListener("touchend",this.listenerStop)},t.prototype.getX=function(t){return(void 0!==t.pageX?t.pageX:t.touches[0].pageX)-this.el.nativeElement.getBoundingClientRect().left-window.pageXOffset},t.prototype.getY=function(t){return(void 0!==t.pageY?t.pageY:t.touches[0].pageY)-this.el.nativeElement.getBoundingClientRect().top-window.pageYOffset},t}();__decorate([core_1.Output("newValue"),__metadata("design:type",Object)],SliderDirective.prototype,"newValue",void 0),__decorate([core_1.Input("slider"),__metadata("design:type",String)],SliderDirective.prototype,"slider",void 0),__decorate([core_1.Input("rgX"),__metadata("design:type",Number)],SliderDirective.prototype,"rgX",void 0),__decorate([core_1.Input("rgY"),__metadata("design:type",Number)],SliderDirective.prototype,"rgY",void 0),SliderDirective=__decorate([core_1.Directive({selector:"[slider]",host:{"(mousedown)":"start($event)","(touchstart)":"start($event)"}}),__metadata("design:paramtypes",[core_1.ElementRef])],SliderDirective),exports.SliderDirective=SliderDirective;var DialogComponent=function(){function t(t,e){this.el=t,this.service=e,this.dialogArrowSize=10,this.dialogArrowOffset=15}return t.prototype.setDialog=function(t,e,i,o,r,s,n,a,p,l,c,d,h,u,g,v,A,m,x,f,C){this.directiveInstance=t,this.initialColor=i,this.directiveElementRef=e,this.cpPosition=o,this.cpPositionOffset=parseInt(r),s||(this.dialogArrowOffset=0),this.cpOutputFormat=n,this.cpPresetLabel=a,this.cpPresetColors=p,this.cpCancelButton=l,this.cpCancelButtonClass=c,this.cpCancelButtonText=d,this.cpOKButton=h,this.cpOKButtonClass=u,this.cpOKButtonText=g,this.cpHeight=parseInt(v),this.cpWidth=parseInt(A),this.cpIgnoredElements=m,this.cpDialogDisplay=x,"inline"===this.cpDialogDisplay&&(this.dialogArrowOffset=0,this.dialogArrowSize=0),this.cpSaveClickOutside=f,this.cpAlphaChannel=C},t.prototype.ngOnInit=function(){var t=this,e=this.alphaSlider.nativeElement.offsetWidth,i=this.hueSlider.nativeElement.offsetWidth;this.sliderDimMax=new classes_1.SliderDimension(i,this.cpWidth,130,e),this.slider=new classes_1.SliderPosition(0,0,0,0),"rgba"===this.cpOutputFormat?this.format=1:"hsla"===this.cpOutputFormat?this.format=2:this.format=0,this.listenerMouseDown=function(e){t.onMouseDown(e)},this.listenerResize=function(){t.onResize()},this.openDialog(this.initialColor,!1)},t.prototype.setInitialColor=function(t){this.initialColor=t},t.prototype.openDialog=function(t,e){void 0===e&&(e=!0),this.setInitialColor(t),this.setColorFromString(t,e),this.openColorPicker()},t.prototype.cancelColor=function(){this.setColorFromString(this.initialColor,!0),"popup"===this.cpDialogDisplay&&(this.directiveInstance.colorChanged(this.initialColor,!0),this.closeColorPicker())},t.prototype.oKColor=function(){"popup"===this.cpDialogDisplay&&this.closeColorPicker()},t.prototype.setColorFromString=function(t,e){void 0===e&&(e=!0);var i;"hex8"===this.cpAlphaChannel?(i=this.service.stringToHsva(t,!0))||this.hsva||(i=this.service.stringToHsva(t,!1)):i=this.service.stringToHsva(t,!1),i&&(this.hsva=i,this.update(e))},t.prototype.onMouseDown=function(t){this.isDescendant(this.el.nativeElement,t.target)||t.target==this.directiveElementRef.nativeElement||0!==this.cpIgnoredElements.filter(function(e){return e===t.target}).length||"popup"!==this.cpDialogDisplay||(this.cpSaveClickOutside||(this.setColorFromString(this.initialColor,!1),this.directiveInstance.colorChanged(this.initialColor)),this.closeColorPicker())},t.prototype.openColorPicker=function(){this.show||(this.setDialogPosition(),this.show=!0,this.directiveInstance.toggle(!0),document.addEventListener("mousedown",this.listenerMouseDown),window.addEventListener("resize",this.listenerResize))},t.prototype.closeColorPicker=function(){this.show&&(this.show=!1,this.directiveInstance.toggle(!1),document.removeEventListener("mousedown",this.listenerMouseDown),window.removeEventListener("resize",this.listenerResize))},t.prototype.onResize=function(){"fixed"===this.position&&this.setDialogPosition()},t.prototype.setDialogPosition=function(){for(var t=this.dialogElement.nativeElement.offsetHeight,e=this.directiveElementRef.nativeElement,i="static",o=null;null!==e&&"HTML"!==e.tagName&&(i=window.getComputedStyle(e).getPropertyValue("position"),"static"!==i&&null===o&&(o=e),"fixed"!==i);)e=e.parentNode;if("fixed"!==i){var r=this.createBox(this.directiveElementRef.nativeElement,!0);null===o&&(o=e);var s=this.createBox(o,!0);this.top=r.top-s.top,this.left=r.left-s.left}else{var r=this.createBox(this.directiveElementRef.nativeElement,!1);this.top=r.top,this.left=r.left,this.position="fixed"}"left"===this.cpPosition?(this.top+=r.height*this.cpPositionOffset/100-this.dialogArrowOffset,this.left-=this.cpWidth+this.dialogArrowSize-2):"top"===this.cpPosition?(this.top-=t+this.dialogArrowSize,this.left+=this.cpPositionOffset/100*r.width-this.dialogArrowOffset,this.arrowTop=t-1):"bottom"===this.cpPosition?(this.top+=r.height+this.dialogArrowSize,this.left+=this.cpPositionOffset/100*r.width-this.dialogArrowOffset):(this.top+=r.height*this.cpPositionOffset/100-this.dialogArrowOffset,this.left+=r.width+this.dialogArrowSize)},t.prototype.setSaturation=function(t){var e=this.service.hsva2hsla(this.hsva);e.s=t.v/t.rg,this.hsva=this.service.hsla2hsva(e),this.update()},t.prototype.setLightness=function(t){var e=this.service.hsva2hsla(this.hsva);e.l=t.v/t.rg,this.hsva=this.service.hsla2hsva(e),this.update()},t.prototype.setHue=function(t){this.hsva.h=t.v/t.rg,this.update()},t.prototype.setAlpha=function(t){this.hsva.a=t.v/t.rg,this.update()},t.prototype.setR=function(t){var e=this.service.hsvaToRgba(this.hsva);e.r=t.v/t.rg,this.hsva=this.service.rgbaToHsva(e),this.update()},t.prototype.setG=function(t){var e=this.service.hsvaToRgba(this.hsva);e.g=t.v/t.rg,this.hsva=this.service.rgbaToHsva(e),this.update()},t.prototype.setB=function(t){var e=this.service.hsvaToRgba(this.hsva);e.b=t.v/t.rg,this.hsva=this.service.rgbaToHsva(e),this.update()},t.prototype.setSaturationAndBrightness=function(t){this.hsva.s=t.s/t.rgX,this.hsva.v=t.v/t.rgY,this.update()},t.prototype.formatPolicy=function(){return this.format=(this.format+1)%3,0===this.format&&this.hsva.a<1&&"hex6"===this.cpAlphaChannel&&this.format++,this.format},t.prototype.update=function(t){void 0===t&&(t=!0);var e=this.service.hsva2hsla(this.hsva),i=this.service.denormalizeRGBA(this.service.hsvaToRgba(this.hsva)),o=this.service.denormalizeRGBA(this.service.hsvaToRgba(new classes_1.Hsva(this.hsva.h,1,1,1)));this.hslaText=new classes_1.Hsla(Math.round(360*e.h),Math.round(100*e.s),Math.round(100*e.l),Math.round(100*e.a)/100),this.rgbaText=new classes_1.Rgba(i.r,i.g,i.b,Math.round(100*i.a)/100),this.hexText=this.service.hexText(i,"hex8"===this.cpAlphaChannel),this.alphaSliderColor="rgb("+i.r+","+i.g+","+i.b+")",this.hueSliderColor="rgb("+o.r+","+o.g+","+o.b+")",0===this.format&&this.hsva.a<1&&"hex6"===this.cpAlphaChannel&&this.format++;var r=this.outputColor;this.outputColor=this.service.outputFormat(this.hsva,this.cpOutputFormat,"hex8"===this.cpAlphaChannel),this.selectedColor=this.service.outputFormat(this.hsva,"rgba",!1),this.slider=new classes_1.SliderPosition(this.hsva.h*this.sliderDimMax.h-8,this.hsva.s*this.sliderDimMax.s-8,(1-this.hsva.v)*this.sliderDimMax.v-8,this.hsva.a*this.sliderDimMax.a-8),t&&r!==this.outputColor&&this.directiveInstance.colorChanged(this.outputColor)},t.prototype.isDescendant=function(t,e){for(var i=e.parentNode;null!==i;){if(i===t)return!0;i=i.parentNode}return!1},t.prototype.createBox=function(t,e){return{top:t.getBoundingClientRect().top+(e?window.pageYOffset:0),left:t.getBoundingClientRect().left+(e?window.pageXOffset:0),width:t.offsetWidth,height:t.offsetHeight}},t}();__decorate([core_1.ViewChild("hueSlider"),__metadata("design:type",Object)],DialogComponent.prototype,"hueSlider",void 0),__decorate([core_1.ViewChild("alphaSlider"),__metadata("design:type",Object)],DialogComponent.prototype,"alphaSlider",void 0),__decorate([core_1.ViewChild("dialogPopup"),__metadata("design:type",Object)],DialogComponent.prototype,"dialogElement",void 0),DialogComponent=__decorate([core_1.Component({selector:"color-picker",template:'\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n
\n\n
\n
\n \n \n \n \n
\n
\n
H
S
L
A
\n
\n
\n\n
\n
\n \n \n \n \n
\n
\n
R
G
B
A
\n
\n
\n\n
\n
\n \n
\n
\n
Hex
\n
\n
\n\n
\n\n
\n
\n\n
{{cpPresetLabel}}
\n\n
\n
\n\n
\n \n \n
\n \n
\n ', +styles:['\n .color-picker *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;font-size:11px}.color-picker{cursor:default;width:230px;height:auto;border:#777 solid 1px;left:30px;top:250px;position:absolute;z-index:1000;background-color:#fff;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.color-picker i{cursor:default;position:relative}.color-picker input{text-align:center;font-size:13px;height:26px;-moz-appearance:textfield}.color-picker input:invalid{box-shadow:none}.color-picker input:-moz-submit-invalid{box-shadow:none}.color-picker input:-moz-ui-invalid{box-shadow:none}.color-picker input::-webkit-inner-spin-button,.color-picker input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.color-picker .button-area{padding:0 16px 16px 16px;text-align:right}.color-picker .preset-area{padding:4px 15px}.color-picker .preset-area .preset-label{width:100%;padding:4px;font-size:11px;text-align:left;color:#555}.color-picker .preset-area .preset-color{cursor:pointer;display:inline-block;width:18px;height:18px;margin:4px 6px 8px 6px;-moz-border-radius:25%;-webkit-border-radius:25%;border-radius:25%;-khtml-border-radius:25%;border:#a9a9a9 solid 1px}.color-picker .arrow{height:0;width:0;border-style:solid;position:absolute;z-index:999999}.color-picker .arrow-right{border-width:5px 10px;border-color:transparent #777 transparent transparent;top:10px;left:-20px}.color-picker .arrow-left{border-width:5px 10px;border-color:transparent transparent transparent #777;top:10px;left:231px}.color-picker .arrow-bottom{border-width:10px 5px;border-color:transparent transparent #777 transparent;top:-20px;left:10px}.color-picker .arrow-top{border-width:10px 5px;border-color:#777 transparent transparent transparent;left:10px}.color-picker div.cursor-sv{cursor:default;position:relative;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-khtml-border-radius:50%;width:15px;height:15px;border:#ddd solid 1px}.color-picker div.cursor{cursor:default;position:relative;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-khtml-border-radius:50%;width:16px;height:16px;border:#222 solid 2px}.color-picker .saturation-lightness{cursor:pointer;width:100%;height:130px;border:none;background-size:100% 100%;background-image:url("data:image/png;base64,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")}.color-picker .box{display:flex;padding:4px 8px}.color-picker .box .left{position:relative;padding:16px 8px}.color-picker .box .right{flex:1 1 auto;padding:12px 8px}.color-picker .hue{cursor:pointer;width:100%;height:16px;border:none;margin-bottom:16px;background-size:100% 100%;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC")}.color-picker .alpha{cursor:pointer;width:100%;height:16px;border:none;background-size:100% 100%;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwYQlZMa3gAAAWVJREFUaN7tmEGO6jAQRCsOArHgBpyAJYGjcGocxAm4A2IHpmoWE0eBH+ezmFlNvU06shJ3W6VEelWMUQAIIF9f6qZpimsA1LYtS2uF51/u27YVAFZVRUkEoGHdPV/sIcbIEIIkUdI/9Xa7neyv61+SWFUVAVCSct00TWn2fv6u3+Ecfd3tXzy/0+nEUu+SPjo/kqzrmiQpScN6v98XewfA8/lMkiLJ2WxGSUopcT6fM6U0NX9/frfbjev1WtfrlZfLhYfDQQHG/AIOlnGwjINlHCxjHCzjYJm/TJWdCwquJXseFFzGwDNNeiKMOJTO8xQdDQaeB29+K9efeLaBo9J7vdvtJj1RjFFjfiv7qv95tjx/7leSQgh93e1ffMeIp6O+YQjho/N791t1XVOSSI7N//K+4/GoxWLBx+PB5/Op5XLJ+/3OlJJWqxU3m83ovv5iGf8KjYNlHCxjHCzjYBkHy5gf5gusvQU7U37jTAAAAABJRU5ErkJggg==")}.color-picker .selected-color{width:40px;height:40px;top:16px;left:8px;position:absolute;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-khtml-border-radius:50%}.color-picker .selected-color-background{width:40px;height:40px;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-khtml-border-radius:50%;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYR+2W0QlAMQgD60zdfwOdqa8TmI/wQMr5K0I5bZLIzLOa2nt37VVVbd+dDx5obgCC3KBLwJ2ff4PnVidkf+ucIhw80HQaCLo3DMH3CRK3iFsmAWVl6hPNDwt8EvNE5q+YuEXcMgkonVM6SdyCoEvAnZ8v1Hjx817MilmxSUB5rdLJDycZgUAZUch/AAAAAElFTkSuQmCC")}.color-picker .type-policy{position:absolute;top:215px;right:12px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAgCAYAAAAffCjxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACewAAAnsB01CO3AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAIASURBVEiJ7ZY9axRRFIafsxMStrLQJpAgpBFhi+C9w1YSo00I6RZ/g9vZpBf/QOr4GyRgkSKNSrAadsZqQGwCkuAWyRZJsySwvhZ7N/vhzrgbLH3Ld8597jlzz50zJokyxXH8DqDVar0qi6v8BbItqSGpEcfxdlmsFWXkvX8AfAVWg3UKPEnT9GKujMzsAFgZsVaCN1VTQd77XUnrgE1kv+6935268WRpzrnHZvYRWC7YvC3pRZZl3wozqtVqiyH9IgjAspkd1Gq1xUJQtVrdB9ZKIAOthdg/Qc65LUk7wNIMoCVJO865rYFhkqjX6/d7vV4GPJwBMqofURS5JEk6FYBer/eeYb/Mo9WwFnPOvQbeAvfuAAK4BN4sAJtAG/gJIElmNuiJyba3EGNmZiPeZuEVmVell/Y/6N+CzDn3AXhEOOo7Hv/3BeAz8IzQkMPnJbuPx1wC+yYJ7/0nYIP5S/0FHKdp+rwCEEXRS/rf5Hl1Gtb2M0iSpCOpCZzPATmX1EySpHMLAsiy7MjMDoHrGSDXZnaYZdnRwBh7J91utwmczAA6CbG3GgPleX4jqUH/a1CktqRGnuc3hSCAMB32gKspkCtgb3KCQMmkjeP4WNJThrNNZval1WptTIsv7JtQ4tmIdRa8qSoEpWl6YWZNoAN0zKxZNPehpLSBZv2t+Q0CJ9lLnARQLAAAAABJRU5ErkJggg==");background-repeat:no-repeat;background-position:center;background-size:8px 16px;-moz-background-size:8px 16px;-webkit-background-size:8px 16px;-o-background-size:8px 16px;width:16px;height:24px}.color-picker .hsla-text,.color-picker .rgba-text{width:100%;font-size:11px;padding:4px 8px}.color-picker .hsla-text .box,.color-picker .rgba-text .box{padding:0 24px 8px 8px}.color-picker .hsla-text .box input,.color-picker .rgba-text .box input{min-width:0;flex:1;margin:0;float:left;margin-right:8px;border:#a9a9a9 solid 1px;padding:1px}.color-picker .hsla-text .box input:last-child,.color-picker .rgba-text .box input:last-child{margin-right:0}.color-picker .hsla-text .box div,.color-picker .rgba-text .box div{flex:1 1 auto;text-align:center;color:#555;margin-right:8px}.color-picker .hsla-text .box div:last-child,.color-picker .rgba-text .box div:last-child{margin-right:0}.color-picker .hex-text{width:100%;font-size:11px;padding:4px 8px}.color-picker .hex-text .box{padding:0 24px 8px 8px}.color-picker .hex-text .box input{flex:1 1 auto;border:#a9a9a9 solid 1px;padding:1px}.color-picker .hex-text .box div{flex:1 1 auto;text-align:center;color:#555;float:left;clear:left}\n ']}),__metadata("design:paramtypes",[core_1.ElementRef,color_picker_service_1.ColorPickerService])],DialogComponent),exports.DialogComponent=DialogComponent;var DynamicCpModule=function(){function t(){}return t}();DynamicCpModule=__decorate([core_2.NgModule({imports:[platform_browser_1.BrowserModule],declarations:[DialogComponent,TextDirective,SliderDirective]})],DynamicCpModule); \ No newline at end of file diff --git a/lib/color-picker.directive.js.map b/lib/color-picker.directive.js.map index ff75b64..f992442 100644 --- a/lib/color-picker.directive.js.map +++ b/lib/color-picker.directive.js.map @@ -1 +1 @@ -{"version":3,"sources":["color-picker.directive.ts"],"names":[],"mappings":"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","file":"color-picker.directive.js","sourcesContent":["import {Component, OnChanges, Directive, Input, Output, ViewContainerRef, ElementRef, EventEmitter, OnInit, ViewChild} from '@angular/core';\nimport {ColorPickerService} from './color-picker.service';\nimport {Rgba, Hsla, Hsva, SliderPosition, SliderDimension} from './classes';\nimport {NgModule, Compiler, ReflectiveInjector} from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\n\n@Directive({\n selector: '[colorPicker]',\n host: {\n '(input)': 'changeInput($event.target.value)',\n '(click)': 'onClick()'\n }\n})\nexport class ColorPickerDirective implements OnInit, OnChanges {\n @Input('colorPicker') colorPicker: string;\n @Output('colorPickerChange') colorPickerChange = new EventEmitter(true);\n @Input('cpToggle') cpToggle: boolean;\n @Output('cpToggleChange') cpToggleChange = new EventEmitter(true);\n @Input('cpPosition') cpPosition: string = 'right';\n @Input('cpPositionOffset') cpPositionOffset: string = '0%';\n @Input('cpPositionRelativeToArrow') cpPositionRelativeToArrow: boolean = false;\n @Input('cpOutputFormat') cpOutputFormat: string = 'hex';\n @Input('cpPresetLabel') cpPresetLabel: string = 'Preset colors';\n @Input('cpPresetColors') cpPresetColors: Array;\n @Input('cpCancelButton') cpCancelButton: boolean = false;\n @Input('cpCancelButtonClass') cpCancelButtonClass: string = 'cp-cancel-button-class';\n @Input('cpCancelButtonText') cpCancelButtonText: string = 'Cancel';\n @Input('cpOKButton') cpOKButton: boolean = false;\n @Input('cpOKButtonClass') cpOKButtonClass: string = 'cp-ok-button-class';\n @Input('cpOKButtonText') cpOKButtonText: string = 'OK';\n @Input('cpFallbackColor') cpFallbackColor: string = '#fff';\n @Input('cpHeight') cpHeight: string = 'auto';\n @Input('cpWidth') cpWidth: string = '230px';\n @Input('cpIgnoredElements') cpIgnoredElements: any = [];\n @Input('cpDialogDisplay') cpDialogDisplay: string = 'popup';\n @Input('cpSaveClickOutside') cpSaveClickOutside: boolean = true;\n @Input('cpAlphaChannel') cpAlphaChannel: string = 'hex6';\n\n private dialog: any;\n private created: boolean;\n private ignoreChanges: boolean = false;\n\n constructor(private compiler: Compiler, private vcRef: ViewContainerRef, private el: ElementRef, private service: ColorPickerService) {\n this.created = false;\n }\n\n ngOnChanges(changes: any): void {\n if (changes.cpToggle) {\n if (changes.cpToggle.currentValue) this.openDialog();\n if (!changes.cpToggle.currentValue && this.dialog) this.dialog.closeColorPicker();\n }\n if (changes.colorPicker) {\n if (this.dialog && !this.ignoreChanges) {\n if (this.cpDialogDisplay === 'inline') {\n this.dialog.setInitialColor(changes.colorPicker.currentValue);\n }\n this.dialog.setColorFromString(changes.colorPicker.currentValue, false);\n\n }\n this.ignoreChanges = false;\n }\n }\n\n ngOnInit() {\n let hsva = this.service.stringToHsva(this.colorPicker);\n if (hsva === null) hsva = this.service.stringToHsva(this.colorPicker, true);\n if (hsva == null) {\n hsva = this.service.stringToHsva(this.cpFallbackColor);\n }\n this.colorPickerChange.emit(this.service.outputFormat(hsva, this.cpOutputFormat, this.cpAlphaChannel === 'hex8'));\n }\n\n onClick() {\n if (this.cpIgnoredElements.filter((item: any) => item === this.el.nativeElement).length === 0) {\n this.openDialog();\n }\n }\n\n openDialog() {\n if (!this.created) {\n this.created = true;\n this.compiler.compileModuleAndAllComponentsAsync(DynamicCpModule)\n .then(factory => {\n const compFactory = factory.componentFactories.find(x => x.componentType === DialogComponent);\n const injector = ReflectiveInjector.fromResolvedProviders([], this.vcRef.parentInjector);\n const cmpRef = this.vcRef.createComponent(compFactory, 0, injector, []);\n cmpRef.instance.setDialog(this, this.el, this.colorPicker, this.cpPosition, this.cpPositionOffset,\n this.cpPositionRelativeToArrow, this.cpOutputFormat, this.cpPresetLabel, this.cpPresetColors,\n this.cpCancelButton, this.cpCancelButtonClass, this.cpCancelButtonText,\n this.cpOKButton, this.cpOKButtonClass, this.cpOKButtonText, this.cpHeight, this.cpWidth,\n this.cpIgnoredElements, this.cpDialogDisplay, this.cpSaveClickOutside, this.cpAlphaChannel);\n this.dialog = cmpRef.instance;\n });\n } else if (this.dialog) {\n this.dialog.openDialog(this.colorPicker);\n }\n }\n\n colorChanged(value: string, ignore: boolean = true) {\n this.ignoreChanges = ignore;\n this.colorPickerChange.emit(value)\n }\n\n changeInput(value: string) {\n this.dialog.setColorFromString(value, true);\n }\n\n toggle(value: boolean) {\n this.cpToggleChange.emit(value);\n }\n}\n\n\n@Directive({\n selector: '[text]',\n host: {\n '(input)': 'changeInput($event.target.value)'\n }\n})\nexport class TextDirective {\n @Output('newValue') newValue = new EventEmitter();\n @Input('text') text: any;\n @Input('rg') rg: number;\n\n changeInput(value: string) {\n if (this.rg === undefined) {\n this.newValue.emit(value);\n } else {\n let numeric = parseFloat(value)\n if (!isNaN(numeric) && numeric >= 0 && numeric <= this.rg) {\n this.newValue.emit({ v: numeric, rg: this.rg });\n }\n }\n }\n}\n\n@Directive({\n selector: '[slider]',\n host: {\n '(mousedown)': 'start($event)',\n '(touchstart)': 'start($event)'\n }\n})\nexport class SliderDirective {\n @Output('newValue') newValue = new EventEmitter();\n @Input('slider') slider: string;\n @Input('rgX') rgX: number;\n @Input('rgY') rgY: number;\n private listenerMove: any;\n private listenerStop: any;\n\n constructor(private el: ElementRef) {\n this.listenerMove = (event: any) => { this.move(event) };\n this.listenerStop = () => { this.stop() };\n }\n\n setCursor(event: any) {\n let height = this.el.nativeElement.offsetHeight;\n let width = this.el.nativeElement.offsetWidth;\n let x = Math.max(0, Math.min(this.getX(event), width));\n let y = Math.max(0, Math.min(this.getY(event), height));\n\n if (this.rgX !== undefined && this.rgY !== undefined) {\n this.newValue.emit({ s: x / width, v: (1 - y / height), rgX: this.rgX, rgY: this.rgY });\n } else if (this.rgX === undefined && this.rgY !== undefined) {//ready to use vertical sliders\n this.newValue.emit({ v: y / height, rg: this.rgY });\n } else {\n this.newValue.emit({ v: x / width, rg: this.rgX });\n }\n }\n\n move(event: any) {\n event.preventDefault();\n this.setCursor(event);\n }\n\n start(event: any) {\n this.setCursor(event);\n document.addEventListener('mousemove', this.listenerMove);\n document.addEventListener('touchmove', this.listenerMove);\n document.addEventListener('mouseup', this.listenerStop);\n document.addEventListener('touchend', this.listenerStop);\n }\n\n stop() {\n document.removeEventListener('mousemove', this.listenerMove);\n document.removeEventListener('touchmove', this.listenerMove);\n document.removeEventListener('mouseup', this.listenerStop);\n document.removeEventListener('touchend', this.listenerStop);\n }\n\n getX(event: any): number {\n return (event.pageX !== undefined ? event.pageX : event.touches[0].pageX) - this.el.nativeElement.getBoundingClientRect().left - window.pageXOffset;\n }\n getY(event: any): number {\n return (event.pageY !== undefined ? event.pageY : event.touches[0].pageY) - this.el.nativeElement.getBoundingClientRect().top - window.pageYOffset;\n }\n}\n\n@Component({\n selector: 'color-picker',\n template: `\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n
\n\n
\n
\n \n \n \n \n
\n
\n
H
S
L
A
\n
\n
\n\n
\n
\n \n \n \n \n
\n
\n
R
G
B
A
\n
\n
\n\n
\n
\n \n
\n
\n
Hex
\n
\n
\n\n
\n\n
\n
\n\n
{{cpPresetLabel}}
\n\n
\n
\n\n
\n \n \n
\n \n
\n `,\n styles: [`\n .color-picker *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;font-size:11px}.color-picker{cursor:default;width:230px;height:auto;border:#777 solid 1px;left:30px;top:250px;position:absolute;z-index:1000;background-color:#fff;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.color-picker i{cursor:default;position:relative}.color-picker input{text-align:center;font-size:13px;height:26px;-moz-appearance:textfield}.color-picker input:invalid{box-shadow:none}.color-picker input:-moz-submit-invalid{box-shadow:none}.color-picker input:-moz-ui-invalid{box-shadow:none}.color-picker input::-webkit-inner-spin-button,.color-picker input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.color-picker .button-area{padding:0 16px 16px 16px;text-align:right}.color-picker .preset-area{padding:4px 15px}.color-picker .preset-area .preset-label{width:100%;padding:4px;font-size:11px;text-align:left;color:#555}.color-picker .preset-area .preset-color{cursor:pointer;display:inline-block;width:18px;height:18px;margin:4px 6px 8px 6px;-moz-border-radius:25%;-webkit-border-radius:25%;border-radius:25%;-khtml-border-radius:25%;border:#a9a9a9 solid 1px}.color-picker .arrow{height:0;width:0;border-style:solid;position:absolute;z-index:999999}.color-picker .arrow-right{border-width:5px 10px;border-color:transparent #777 transparent transparent;top:10px;left:-20px}.color-picker .arrow-left{border-width:5px 10px;border-color:transparent transparent transparent #777;top:10px;left:231px}.color-picker .arrow-bottom{border-width:10px 5px;border-color:transparent transparent #777 transparent;top:-20px;left:10px}.color-picker .arrow-top{border-width:10px 5px;border-color:#777 transparent transparent transparent;left:10px}.color-picker div.cursor-sv{cursor:default;position:relative;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-khtml-border-radius:50%;width:15px;height:15px;border:#ddd solid 1px}.color-picker div.cursor{cursor:default;position:relative;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-khtml-border-radius:50%;width:16px;height:16px;border:#222 solid 2px}.color-picker .saturation-lightness{cursor:pointer;width:100%;height:130px;border:none;background-size:100% 100%;background-image:url(\"data:image/png;base64,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\")}.color-picker .box{display:flex;padding:4px 8px}.color-picker .box .left{position:relative;padding:16px 8px}.color-picker .box .right{flex:1 1 auto;padding:12px 8px}.color-picker .hue{cursor:pointer;width:100%;height:16px;border:none;margin-bottom:16px;background-size:100% 100%;background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC\")}.color-picker .alpha{cursor:pointer;width:100%;height:16px;border:none;background-size:100% 100%;background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwYQlZMa3gAAAWVJREFUaN7tmEGO6jAQRCsOArHgBpyAJYGjcGocxAm4A2IHpmoWE0eBH+ezmFlNvU06shJ3W6VEelWMUQAIIF9f6qZpimsA1LYtS2uF51/u27YVAFZVRUkEoGHdPV/sIcbIEIIkUdI/9Xa7neyv61+SWFUVAVCSct00TWn2fv6u3+Ecfd3tXzy/0+nEUu+SPjo/kqzrmiQpScN6v98XewfA8/lMkiLJ2WxGSUopcT6fM6U0NX9/frfbjev1WtfrlZfLhYfDQQHG/AIOlnGwjINlHCxjHCzjYJm/TJWdCwquJXseFFzGwDNNeiKMOJTO8xQdDQaeB29+K9efeLaBo9J7vdvtJj1RjFFjfiv7qv95tjx/7leSQgh93e1ffMeIp6O+YQjho/N791t1XVOSSI7N//K+4/GoxWLBx+PB5/Op5XLJ+/3OlJJWqxU3m83ovv5iGf8KjYNlHCxjHCzjYBkHy5gf5gusvQU7U37jTAAAAABJRU5ErkJggg==\")}.color-picker .selected-color{width:40px;height:40px;top:16px;left:8px;position:absolute;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-khtml-border-radius:50%}.color-picker .selected-color-background{width:40px;height:40px;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-khtml-border-radius:50%;background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYR+2W0QlAMQgD60zdfwOdqa8TmI/wQMr5K0I5bZLIzLOa2nt37VVVbd+dDx5obgCC3KBLwJ2ff4PnVidkf+ucIhw80HQaCLo3DMH3CRK3iFsmAWVl6hPNDwt8EvNE5q+YuEXcMgkonVM6SdyCoEvAnZ8v1Hjx817MilmxSUB5rdLJDycZgUAZUch/AAAAAElFTkSuQmCC\")}.color-picker .type-policy{position:absolute;top:215px;right:12px;background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAgCAYAAAAffCjxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACewAAAnsB01CO3AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAIASURBVEiJ7ZY9axRRFIafsxMStrLQJpAgpBFhi+C9w1YSo00I6RZ/g9vZpBf/QOr4GyRgkSKNSrAadsZqQGwCkuAWyRZJsySwvhZ7N/vhzrgbLH3Ld8597jlzz50zJokyxXH8DqDVar0qi6v8BbItqSGpEcfxdlmsFWXkvX8AfAVWg3UKPEnT9GKujMzsAFgZsVaCN1VTQd77XUnrgE1kv+6935268WRpzrnHZvYRWC7YvC3pRZZl3wozqtVqiyH9IgjAspkd1Gq1xUJQtVrdB9ZKIAOthdg/Qc65LUk7wNIMoCVJO865rYFhkqjX6/d7vV4GPJwBMqofURS5JEk6FYBer/eeYb/Mo9WwFnPOvQbeAvfuAAK4BN4sAJtAG/gJIElmNuiJyba3EGNmZiPeZuEVmVell/Y/6N+CzDn3AXhEOOo7Hv/3BeAz8IzQkMPnJbuPx1wC+yYJ7/0nYIP5S/0FHKdp+rwCEEXRS/rf5Hl1Gtb2M0iSpCOpCZzPATmX1EySpHMLAsiy7MjMDoHrGSDXZnaYZdnRwBh7J91utwmczAA6CbG3GgPleX4jqUH/a1CktqRGnuc3hSCAMB32gKspkCtgb3KCQMmkjeP4WNJThrNNZval1WptTIsv7JtQ4tmIdRa8qSoEpWl6YWZNoAN0zKxZNPehpLSBZv2t+Q0CJ9lLnARQLAAAAABJRU5ErkJggg==\");background-repeat:no-repeat;background-position:center;background-size:8px 16px;-moz-background-size:8px 16px;-webkit-background-size:8px 16px;-o-background-size:8px 16px;width:16px;height:24px}.color-picker .hsla-text,.color-picker .rgba-text{width:100%;font-size:11px;padding:4px 8px}.color-picker .hsla-text .box,.color-picker .rgba-text .box{padding:0 24px 8px 8px}.color-picker .hsla-text .box input,.color-picker .rgba-text .box input{min-width:0;flex:1;margin:0;float:left;margin-right:8px;border:#a9a9a9 solid 1px;padding:1px}.color-picker .hsla-text .box input:last-child,.color-picker .rgba-text .box input:last-child{margin-right:0}.color-picker .hsla-text .box div,.color-picker .rgba-text .box div{flex:1 1 auto;text-align:center;color:#555;margin-right:8px}.color-picker .hsla-text .box div:last-child,.color-picker .rgba-text .box div:last-child{margin-right:0}.color-picker .hex-text{width:100%;font-size:11px;padding:4px 8px}.color-picker .hex-text .box{padding:0 24px 8px 8px}.color-picker .hex-text .box input{flex:1 1 auto;border:#a9a9a9 solid 1px;padding:1px}.color-picker .hex-text .box div{flex:1 1 auto;text-align:center;color:#555;float:left;clear:left}\n `]\n})\n\nexport class DialogComponent implements OnInit {\n private hsva: Hsva;\n private rgbaText: Rgba;\n private hslaText: Hsla;\n private hexText: string;\n private outputColor: string;\n private selectedColor: string;\n private alphaSliderColor: string;\n private hueSliderColor: string;\n private slider: SliderPosition;\n private sliderDimMax: SliderDimension;\n private format: number;\n private show: boolean;\n private top: number;\n private left: number;\n private position: string;\n private directiveInstance: any;\n private initialColor: string;\n private directiveElementRef: ElementRef;\n\n private listenerMouseDown: any;\n private listenerResize: any;\n\n private cpPosition: string;\n private cpPositionOffset: number;\n private cpOutputFormat: string;\n private cpPresetLabel: string;\n private cpPresetColors: Array;\n private cpCancelButton: boolean;\n private cpCancelButtonClass: string;\n private cpCancelButtonText: string;\n private cpOKButton: boolean;\n private cpOKButtonClass: string;\n private cpOKButtonText: string;\n private cpHeight: number;\n private cpWidth: number;\n private cpIgnoredElements: any;\n private cpDialogDisplay: string;\n private cpSaveClickOutside: boolean;\n private cpAlphaChannel: string;\n\n private dialogArrowSize: number = 10;\n private dialogArrowOffset: number = 15;\n private arrowTop: number;\n\n @ViewChild('hueSlider') hueSlider: any;\n @ViewChild('alphaSlider') alphaSlider: any;\n\n @ViewChild('dialogPopup') dialogElement: any;\n\n constructor(private el: ElementRef, private service: ColorPickerService) { }\n\n setDialog(instance: any, elementRef: ElementRef, color: any, cpPosition: string, cpPositionOffset: string,\n cpPositionRelativeToArrow: boolean, cpOutputFormat: string, cpPresetLabel: string, cpPresetColors: Array,\n cpCancelButton: boolean, cpCancelButtonClass: string, cpCancelButtonText: string,\n cpOKButton: boolean, cpOKButtonClass: string, cpOKButtonText: string,\n cpHeight: string, cpWidth: string,\n cpIgnoredElements: any, cpDialogDisplay: string, cpSaveClickOutside: boolean, cpAlphaChannel: string) {\n this.directiveInstance = instance;\n this.initialColor = color;\n this.directiveElementRef = elementRef;\n this.cpPosition = cpPosition;\n this.cpPositionOffset = parseInt(cpPositionOffset);\n if (!cpPositionRelativeToArrow) {\n this.dialogArrowOffset = 0;\n }\n this.cpOutputFormat = cpOutputFormat;\n this.cpPresetLabel = cpPresetLabel;\n this.cpPresetColors = cpPresetColors;\n this.cpCancelButton = cpCancelButton;\n this.cpCancelButtonClass = cpCancelButtonClass;\n this.cpCancelButtonText = cpCancelButtonText;\n this.cpOKButton = cpOKButton;\n this.cpOKButtonClass = cpOKButtonClass;\n this.cpOKButtonText = cpOKButtonText;\n this.cpHeight = parseInt(cpHeight);\n this.cpWidth = parseInt(cpWidth);\n this.cpIgnoredElements = cpIgnoredElements;\n this.cpDialogDisplay = cpDialogDisplay;\n if (this.cpDialogDisplay === 'inline') {\n this.dialogArrowOffset = 0;\n this.dialogArrowSize = 0;\n }\n this.cpSaveClickOutside = cpSaveClickOutside;\n this.cpAlphaChannel = cpAlphaChannel;\n }\n\n ngOnInit() {\n let alphaWidth = this.alphaSlider.nativeElement.offsetWidth;\n let hueWidth = this.hueSlider.nativeElement.offsetWidth;\n this.sliderDimMax = new SliderDimension(hueWidth, this.cpWidth, 130, alphaWidth);\n this.slider = new SliderPosition(0, 0, 0, 0);\n if (this.cpOutputFormat === 'rgba') {\n this.format = 1;\n } else if (this.cpOutputFormat === 'hsla') {\n this.format = 2;\n } else {\n this.format = 0;\n }\n this.listenerMouseDown = (event: any) => { this.onMouseDown(event) };\n this.listenerResize = () => { this.onResize() };\n this.openDialog(this.initialColor, false);\n }\n\n setInitialColor(color: any) {\n this.initialColor = color;\n }\n\n openDialog(color: any, emit: boolean = true) {\n this.setInitialColor(color);\n this.setColorFromString(color, emit);\n this.openColorPicker();\n }\n\n cancelColor() {\n this.setColorFromString(this.initialColor, true);\n if (this.cpDialogDisplay === 'popup') {\n this.directiveInstance.colorChanged(this.initialColor, true);\n this.closeColorPicker();\n }\n }\n\n oKColor() {\n if (this.cpDialogDisplay === 'popup') {\n this.closeColorPicker();\n }\n }\n\n setColorFromString(value: string, emit: boolean = true) {\n let hsva: Hsva;\n if (this.cpAlphaChannel === 'hex8') {\n hsva = this.service.stringToHsva(value, true);\n if (!hsva && !this.hsva) {\n hsva = this.service.stringToHsva(value, false);\n }\n } else {\n hsva = this.service.stringToHsva(value, false);\n }\n if (hsva) {\n this.hsva = hsva;\n this.update(emit);\n }\n }\n\n onMouseDown(event: any) {\n if ((!this.isDescendant(this.el.nativeElement, event.target)\n && event.target != this.directiveElementRef.nativeElement &&\n this.cpIgnoredElements.filter((item: any) => item === event.target).length === 0) && this.cpDialogDisplay === 'popup') {\n if (!this.cpSaveClickOutside) {\n this.setColorFromString(this.initialColor, false);\n this.directiveInstance.colorChanged(this.initialColor)\n }\n this.closeColorPicker();\n }\n }\n\n openColorPicker() {\n if (!this.show) {\n this.setDialogPosition();\n this.show = true;\n this.directiveInstance.toggle(true);\n document.addEventListener('mousedown', this.listenerMouseDown);\n window.addEventListener('resize', this.listenerResize);\n }\n }\n\n closeColorPicker() {\n if (this.show) {\n this.show = false;\n this.directiveInstance.toggle(false);\n document.removeEventListener('mousedown', this.listenerMouseDown);\n window.removeEventListener('resize', this.listenerResize);\n }\n }\n\n onResize() {\n if (this.position === 'fixed') {\n this.setDialogPosition();\n }\n }\n\n setDialogPosition() {\n let dialogHeight = this.dialogElement.nativeElement.offsetHeight;\n let node = this.directiveElementRef.nativeElement, position = 'static';\n let parentNode: any = null;\n while (node !== null && node.tagName !== 'HTML') {\n position = window.getComputedStyle(node).getPropertyValue(\"position\");\n if (position !== 'static' && parentNode === null) {\n parentNode = node;\n }\n if (position === 'fixed') {\n break;\n }\n node = node.parentNode;\n }\n if (position !== 'fixed') {\n var boxDirective = this.createBox(this.directiveElementRef.nativeElement, true);\n if (parentNode === null) { parentNode = node }\n var boxParent = this.createBox(parentNode, true);\n this.top = boxDirective.top - boxParent.top;\n this.left = boxDirective.left - boxParent.left;\n } else {\n var boxDirective = this.createBox(this.directiveElementRef.nativeElement, false);\n this.top = boxDirective.top;\n this.left = boxDirective.left;\n this.position = 'fixed';\n }\n if (this.cpPosition === 'left') {\n this.top += boxDirective.height * this.cpPositionOffset / 100 - this.dialogArrowOffset;\n this.left -= this.cpWidth + this.dialogArrowSize - 2;\n } else if (this.cpPosition === 'top') {\n this.top -= dialogHeight + this.dialogArrowSize;\n this.left += this.cpPositionOffset / 100 * boxDirective.width - this.dialogArrowOffset;\n this.arrowTop = dialogHeight - 1;\n } else if (this.cpPosition === 'bottom') {\n this.top += boxDirective.height + this.dialogArrowSize;\n this.left += this.cpPositionOffset / 100 * boxDirective.width - this.dialogArrowOffset;\n } else {\n this.top += boxDirective.height * this.cpPositionOffset / 100 - this.dialogArrowOffset;\n this.left += boxDirective.width + this.dialogArrowSize;\n }\n }\n\n setSaturation(val: { v: number, rg: number }) {\n let hsla = this.service.hsva2hsla(this.hsva);\n hsla.s = val.v / val.rg;\n this.hsva = this.service.hsla2hsva(hsla);\n this.update();\n }\n\n setLightness(val: { v: number, rg: number }) {\n let hsla = this.service.hsva2hsla(this.hsva);\n hsla.l = val.v / val.rg;\n this.hsva = this.service.hsla2hsva(hsla);\n this.update();\n }\n\n setHue(val: { v: number, rg: number }) {\n this.hsva.h = val.v / val.rg;\n this.update();\n }\n\n setAlpha(val: { v: number, rg: number }) {\n this.hsva.a = val.v / val.rg;\n this.update();\n }\n\n setR(val: { v: number, rg: number }) {\n let rgba = this.service.hsvaToRgba(this.hsva);\n rgba.r = val.v / val.rg;\n this.hsva = this.service.rgbaToHsva(rgba);\n this.update();\n }\n setG(val: { v: number, rg: number }) {\n let rgba = this.service.hsvaToRgba(this.hsva);\n rgba.g = val.v / val.rg;\n this.hsva = this.service.rgbaToHsva(rgba);\n this.update();\n }\n setB(val: { v: number, rg: number }) {\n let rgba = this.service.hsvaToRgba(this.hsva);\n rgba.b = val.v / val.rg;\n this.hsva = this.service.rgbaToHsva(rgba);\n this.update();\n }\n\n setSaturationAndBrightness(val: { s: number, v: number, rgX: number, rgY: number }) {\n this.hsva.s = val.s / val.rgX;\n this.hsva.v = val.v / val.rgY;\n this.update();\n }\n\n formatPolicy(): number {\n this.format = (this.format + 1) % 3;\n if (this.format === 0 && this.hsva.a < 1 && this.cpAlphaChannel === 'hex6') {\n this.format++;\n }\n return this.format;\n }\n\n update(emit: boolean = true) {\n let hsla = this.service.hsva2hsla(this.hsva);\n let rgba = this.service.denormalizeRGBA(this.service.hsvaToRgba(this.hsva));\n let hueRgba = this.service.denormalizeRGBA(this.service.hsvaToRgba(new Hsva(this.hsva.h, 1, 1, 1)));\n\n this.hslaText = new Hsla(Math.round((hsla.h) * 360), Math.round(hsla.s * 100), Math.round(hsla.l * 100), Math.round(hsla.a * 100) / 100);\n this.rgbaText = new Rgba(rgba.r, rgba.g, rgba.b, Math.round(rgba.a * 100) / 100);\n this.hexText = this.service.hexText(rgba, this.cpAlphaChannel === 'hex8');\n\n this.alphaSliderColor = 'rgb(' + rgba.r + ',' + rgba.g + ',' + rgba.b + ')';\n this.hueSliderColor = 'rgb(' + hueRgba.r + ',' + hueRgba.g + ',' + hueRgba.b + ')';\n\n if (this.format === 0 && this.hsva.a < 1 && this.cpAlphaChannel === 'hex6') {\n this.format++;\n }\n\n let lastOutput = this.outputColor;\n this.outputColor = this.service.outputFormat(this.hsva, this.cpOutputFormat, this.cpAlphaChannel === 'hex8');\n this.selectedColor = this.service.outputFormat(this.hsva, 'rgba', false);\n\n this.slider = new SliderPosition((this.hsva.h) * this.sliderDimMax.h - 8, this.hsva.s * this.sliderDimMax.s - 8,\n (1 - this.hsva.v) * this.sliderDimMax.v - 8, this.hsva.a * this.sliderDimMax.a - 8)\n\n if (emit && lastOutput !== this.outputColor) {\n this.directiveInstance.colorChanged(this.outputColor);\n }\n }\n\n isDescendant(parent: any, child: any): boolean {\n let node: any = child.parentNode;\n while (node !== null) {\n if (node === parent) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n }\n\n createBox(element: any, offset: boolean): any {\n return {\n top: element.getBoundingClientRect().top + (offset ? window.pageYOffset : 0),\n left: element.getBoundingClientRect().left + (offset ? window.pageXOffset : 0),\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n }\n}\n\n@NgModule({\n imports: [BrowserModule],\n declarations: [DialogComponent, TextDirective, SliderDirective]\n})\nclass DynamicCpModule { };"]} \ No newline at end of file +{"version":3,"sources":["color-picker.directive.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,sCAA4I;AAC5I,+DAA0D;AAC1D,qCAA4E;AAC5E,sCAAqE;AACrE,8DAA0D;AAS1D,IAAa,oBAAoB;IA6B7B,8BAAoB,QAAkB,EAAU,KAAuB,EAAU,EAAc,EAAU,OAA2B;QAAhH,aAAQ,GAAR,QAAQ,CAAU;QAAU,UAAK,GAAL,KAAK,CAAkB;QAAU,OAAE,GAAF,EAAE,CAAY;QAAU,YAAO,GAAP,OAAO,CAAoB;QA3BvG,sBAAiB,GAAG,IAAI,mBAAY,CAAS,IAAI,CAAC,CAAC;QAEtD,mBAAc,GAAG,IAAI,mBAAY,CAAU,IAAI,CAAC,CAAC;QACtD,eAAU,GAAW,OAAO,CAAC;QACvB,qBAAgB,GAAW,IAAI,CAAC;QACvB,8BAAyB,GAAY,KAAK,CAAC;QACtD,mBAAc,GAAW,KAAK,CAAC;QAChC,kBAAa,GAAW,eAAe,CAAC;QAEvC,mBAAc,GAAY,KAAK,CAAC;QAC3B,wBAAmB,GAAW,wBAAwB,CAAC;QACxD,uBAAkB,GAAW,QAAQ,CAAC;QAC9C,eAAU,GAAY,KAAK,CAAC;QACvB,oBAAe,GAAW,oBAAoB,CAAC;QAChD,mBAAc,GAAW,IAAI,CAAC;QAC7B,oBAAe,GAAW,MAAM,CAAC;QACxC,aAAQ,GAAW,MAAM,CAAC;QAC3B,YAAO,GAAW,OAAO,CAAC;QAChB,sBAAiB,GAAQ,EAAE,CAAC;QAC9B,oBAAe,GAAW,OAAO,CAAC;QAC/B,uBAAkB,GAAY,IAAI,CAAC;QACvC,mBAAc,GAAW,MAAM,CAAC;QAIjD,kBAAa,GAAY,KAAK,CAAC;QAGnC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,0CAAW,GAAX,UAAY,OAAY;QACpB,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnB,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrD,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC;gBAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACtF,CAAC;QACD,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACtB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBACrC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACpC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBAClE,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAE5E,CAAC;YACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,uCAAQ,GAAR;QACI,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvD,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;YAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC5E,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;YACf,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC;IACtH,CAAC;IAED,sCAAO,GAAP;QAAA,iBAIC;QAHG,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAC,IAAS,IAAK,OAAA,IAAI,KAAK,KAAI,CAAC,EAAE,CAAC,aAAa,EAA9B,CAA8B,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,UAAU,EAAE,CAAC;QACtB,CAAC;IACL,CAAC;IAED,yCAAU,GAAV;QAAA,iBAkBC;QAjBG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,kCAAkC,CAAC,eAAe,CAAC;iBAC5D,IAAI,CAAC,UAAA,OAAO;gBACT,IAAM,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,aAAa,KAAK,eAAe,EAAnC,CAAmC,CAAC,CAAC;gBAC9F,IAAM,QAAQ,GAAG,yBAAkB,CAAC,qBAAqB,CAAC,EAAE,EAAE,KAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBACzF,IAAM,MAAM,GAAG,KAAI,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACxE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAI,EAAE,KAAI,CAAC,EAAE,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,UAAU,EAAE,KAAI,CAAC,gBAAgB,EAC7F,KAAI,CAAC,yBAAyB,EAAE,KAAI,CAAC,cAAc,EAAE,KAAI,CAAC,aAAa,EAAE,KAAI,CAAC,cAAc,EAC5F,KAAI,CAAC,cAAc,EAAE,KAAI,CAAC,mBAAmB,EAAE,KAAI,CAAC,kBAAkB,EACtE,KAAI,CAAC,UAAU,EAAE,KAAI,CAAC,eAAe,EAAE,KAAI,CAAC,cAAc,EAAE,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,EACvF,KAAI,CAAC,iBAAiB,EAAE,KAAI,CAAC,eAAe,EAAE,KAAI,CAAC,kBAAkB,EAAE,KAAI,CAAC,cAAc,CAAC,CAAC;gBAChG,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;YAClC,CAAC,CAAC,CAAC;QACX,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC;IAED,2CAAY,GAAZ,UAAa,KAAa,EAAE,MAAsB;QAAtB,uBAAA,EAAA,aAAsB;QAC9C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC;IAED,0CAAW,GAAX,UAAY,KAAa;QACrB,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,qCAAM,GAAN,UAAO,KAAc;QACjB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IACL,2BAAC;AAAD,CAjGA,AAiGC,IAAA;AAhGyB;IAArB,YAAK,CAAC,aAAa,CAAC;;yDAAqB;AACb;IAA5B,aAAM,CAAC,mBAAmB,CAAC;;+DAAoD;AAC7D;IAAlB,YAAK,CAAC,UAAU,CAAC;;sDAAmB;AACX;IAAzB,aAAM,CAAC,gBAAgB,CAAC;;4DAAkD;AACtD;IAApB,YAAK,CAAC,YAAY,CAAC;;wDAA8B;AACvB;IAA1B,YAAK,CAAC,kBAAkB,CAAC;;8DAAiC;AACvB;IAAnC,YAAK,CAAC,2BAA2B,CAAC;;uEAA4C;AACtD;IAAxB,YAAK,CAAC,gBAAgB,CAAC;;4DAAgC;AAChC;IAAvB,YAAK,CAAC,eAAe,CAAC;;2DAAyC;AACvC;IAAxB,YAAK,CAAC,gBAAgB,CAAC;8BAAiB,KAAK;4DAAS;AAC9B;IAAxB,YAAK,CAAC,gBAAgB,CAAC;;4DAAiC;AAC3B;IAA7B,YAAK,CAAC,qBAAqB,CAAC;;iEAAwD;AACxD;IAA5B,YAAK,CAAC,oBAAoB,CAAC;;gEAAuC;AAC9C;IAApB,YAAK,CAAC,YAAY,CAAC;;wDAA6B;AACvB;IAAzB,YAAK,CAAC,iBAAiB,CAAC;;6DAAgD;AAChD;IAAxB,YAAK,CAAC,gBAAgB,CAAC;;4DAA+B;AAC7B;IAAzB,YAAK,CAAC,iBAAiB,CAAC;;6DAAkC;AACxC;IAAlB,YAAK,CAAC,UAAU,CAAC;;sDAA2B;AAC3B;IAAjB,YAAK,CAAC,SAAS,CAAC;;qDAA2B;AAChB;IAA3B,YAAK,CAAC,mBAAmB,CAAC;;+DAA6B;AAC9B;IAAzB,YAAK,CAAC,iBAAiB,CAAC;;6DAAmC;AAC/B;IAA5B,YAAK,CAAC,oBAAoB,CAAC;;gEAAoC;AACvC;IAAxB,YAAK,CAAC,gBAAgB,CAAC;;4DAAiC;AAvBhD,oBAAoB;IAPhC,gBAAS,CAAC;QACP,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE;YACF,SAAS,EAAE,kCAAkC;YAC7C,SAAS,EAAE,WAAW;SACzB;KACJ,CAAC;qCA8BgC,eAAQ,EAAiB,uBAAgB,EAAc,iBAAU,EAAmB,yCAAkB;GA7B3H,oBAAoB,CAiGhC;AAjGY,oDAAoB;AA0GjC,IAAa,aAAa;IAN1B;QAOwB,aAAQ,GAAG,IAAI,mBAAY,EAAO,CAAC;IAc3D,CAAC;IAVG,mCAAW,GAAX,UAAY,KAAa;QACrB,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,IAAI,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;YAC/B,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACpD,CAAC;QACL,CAAC;IACL,CAAC;IACL,oBAAC;AAAD,CAfA,AAeC,IAAA;AAduB;IAAnB,aAAM,CAAC,UAAU,CAAC;;+CAAoC;AACxC;IAAd,YAAK,CAAC,MAAM,CAAC;;2CAAW;AACZ;IAAZ,YAAK,CAAC,IAAI,CAAC;;yCAAY;AAHf,aAAa;IANzB,gBAAS,CAAC;QACP,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE;YACF,SAAS,EAAE,kCAAkC;SAChD;KACJ,CAAC;GACW,aAAa,CAezB;AAfY,sCAAa;AAwB1B,IAAa,eAAe;IAQxB,yBAAoB,EAAc;QAAlC,iBAGC;QAHmB,OAAE,GAAF,EAAE,CAAY;QAPd,aAAQ,GAAG,IAAI,mBAAY,EAAO,CAAC;QAQnD,IAAI,CAAC,YAAY,GAAG,UAAC,KAAU,IAAO,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,GAAG,cAAQ,KAAI,CAAC,IAAI,EAAE,CAAA,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,mCAAS,GAAT,UAAU,KAAU;QAChB,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC;QAChD,IAAI,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAExD,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5F,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;IAED,8BAAI,GAAJ,UAAK,KAAU;QACX,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,+BAAK,GAAL,UAAM,KAAU;QACZ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtB,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1D,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1D,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxD,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7D,CAAC;IAED,8BAAI,GAAJ;QACI,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7D,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3D,QAAQ,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAChE,CAAC;IAED,8BAAI,GAAJ,UAAK,KAAU;QACX,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;IACxJ,CAAC;IACD,8BAAI,GAAJ,UAAK,KAAU;QACX,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC;IACvJ,CAAC;IACL,sBAAC;AAAD,CAtDA,AAsDC,IAAA;AArDuB;IAAnB,aAAM,CAAC,UAAU,CAAC;;iDAAoC;AACtC;IAAhB,YAAK,CAAC,QAAQ,CAAC;;+CAAgB;AAClB;IAAb,YAAK,CAAC,KAAK,CAAC;;4CAAa;AACZ;IAAb,YAAK,CAAC,KAAK,CAAC;;4CAAa;AAJjB,eAAe;IAP3B,gBAAS,CAAC;QACP,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE;YACF,aAAa,EAAE,eAAe;YAC9B,cAAc,EAAE,eAAe;SAClC;KACJ,CAAC;qCAS0B,iBAAU;GARzB,eAAe,CAsD3B;AAtDY,0CAAe;AA0I5B,IAAa,eAAe;IAkDxB,yBAAoB,EAAc,EAAU,OAA2B;QAAnD,OAAE,GAAF,EAAE,CAAY;QAAU,YAAO,GAAP,OAAO,CAAoB;QAT/D,oBAAe,GAAW,EAAE,CAAC;QAC7B,sBAAiB,GAAW,EAAE,CAAC;IAQoC,CAAC;IAE5E,mCAAS,GAAT,UAAU,QAAa,EAAE,UAAsB,EAAE,KAAU,EAAE,UAAkB,EAAE,gBAAwB,EACrG,yBAAkC,EAAE,cAAsB,EAAE,aAAqB,EAAE,cAA6B,EAChH,cAAuB,EAAE,mBAA2B,EAAE,kBAA0B,EAChF,UAAmB,EAAE,eAAuB,EAAE,cAAsB,EACpE,QAAgB,EAAE,OAAe,EACjC,iBAAsB,EAAE,eAAuB,EAAE,kBAA2B,EAAE,cAAsB;QACpG,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,mBAAmB,GAAG,UAAU,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACnD,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAED,kCAAQ,GAAR;QAAA,iBAeC;QAdG,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC;QAC5D,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC;QACxD,IAAI,CAAC,YAAY,GAAG,IAAI,yBAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;QACjF,IAAI,CAAC,MAAM,GAAG,IAAI,wBAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7C,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACpB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACpB,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,UAAC,KAAU,IAAO,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,cAAc,GAAG,cAAQ,KAAI,CAAC,QAAQ,EAAE,CAAA,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,yCAAe,GAAf,UAAgB,KAAU;QACtB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,oCAAU,GAAV,UAAW,KAAU,EAAE,IAAoB;QAApB,qBAAA,EAAA,WAAoB;QACvC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAED,qCAAW,GAAX;QACI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACjD,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAC7D,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,iCAAO,GAAP;QACI,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,4CAAkB,GAAlB,UAAmB,KAAa,EAAE,IAAoB;QAApB,qBAAA,EAAA,WAAoB;QAClD,IAAI,IAAU,CAAC;QACf,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC;YACjC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9C,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACL,CAAC;IAED,qCAAW,GAAX,UAAY,KAAU;QAClB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;eACrD,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,aAAa;YACzD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAC,IAAS,IAAK,OAAA,IAAI,KAAK,KAAK,CAAC,MAAM,EAArB,CAAqB,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC;YACxH,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAC3B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gBAClD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAC1D,CAAC;YACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,yCAAe,GAAf;QACI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC/D,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IAED,0CAAgB,GAAhB;QACI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACrC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAClE,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAED,kCAAQ,GAAR;QACI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,2CAAiB,GAAjB;QACI,IAAI,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY,CAAC;QACjE,IAAI,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,QAAQ,GAAG,QAAQ,CAAC;QACvE,IAAI,UAAU,GAAQ,IAAI,CAAC;QAC3B,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC9C,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YACtE,EAAE,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC;gBAC/C,UAAU,GAAG,IAAI,CAAC;YACtB,CAAC;YACD,EAAE,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC;gBACvB,KAAK,CAAC;YACV,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;QACD,EAAE,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC;YACvB,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAChF,EAAE,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC;gBAAC,UAAU,GAAG,IAAI,CAAA;YAAC,CAAC;YAC9C,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;YAC5C,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QACnD,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YACjF,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;YAC5B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC5B,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,GAAG,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACvF,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzD,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,GAAG,IAAI,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC;YAChD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,gBAAgB,GAAG,GAAG,GAAG,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACvF,IAAI,CAAC,QAAQ,GAAG,YAAY,GAAG,CAAC,CAAC;QACrC,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;YACvD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,gBAAgB,GAAG,GAAG,GAAG,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC3F,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,GAAG,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACvF,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;QAC3D,CAAC;IACL,CAAC;IAED,uCAAa,GAAb,UAAc,GAA8B;QACxC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,sCAAY,GAAZ,UAAa,GAA8B;QACvC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,gCAAM,GAAN,UAAO,GAA8B;QACjC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,kCAAQ,GAAR,UAAS,GAA8B;QACnC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,8BAAI,GAAJ,UAAK,GAA8B;QAC/B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IACD,8BAAI,GAAJ,UAAK,GAA8B;QAC/B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IACD,8BAAI,GAAJ,UAAK,GAA8B;QAC/B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,oDAA0B,GAA1B,UAA2B,GAAuD;QAC9E,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,sCAAY,GAAZ;QACI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACpC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,gCAAM,GAAN,UAAO,IAAoB;QAApB,qBAAA,EAAA,WAAoB;QACvB,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5E,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpG,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QACzI,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QACjF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC;QAE1E,IAAI,CAAC,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;QAC5E,IAAI,CAAC,cAAc,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC;QAEnF,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;QAED,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC;QAC7G,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAEzE,IAAI,CAAC,MAAM,GAAG,IAAI,wBAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAC3G,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAEvF,EAAE,CAAC,CAAC,IAAI,IAAI,UAAU,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAED,sCAAY,GAAZ,UAAa,MAAW,EAAE,KAAU;QAChC,IAAI,IAAI,GAAQ,KAAK,CAAC,UAAU,CAAC;QACjC,OAAO,IAAI,KAAK,IAAI,EAAE,CAAC;YACnB,EAAE,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC;YAChB,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;QACD,MAAM,CAAC,KAAK,CAAC;IACjB,CAAC;IAED,mCAAS,GAAT,UAAU,OAAY,EAAE,MAAe;QACnC,MAAM,CAAC;YACH,GAAG,EAAE,OAAO,CAAC,qBAAqB,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;YAC5E,IAAI,EAAE,OAAO,CAAC,qBAAqB,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;YAC9E,KAAK,EAAE,OAAO,CAAC,WAAW;YAC1B,MAAM,EAAE,OAAO,CAAC,YAAY;SAC/B,CAAC;IACN,CAAC;IACL,sBAAC;AAAD,CAvUA,AAuUC,IAAA;AA1R2B;IAAvB,gBAAS,CAAC,WAAW,CAAC;;kDAAgB;AACb;IAAzB,gBAAS,CAAC,aAAa,CAAC;;oDAAkB;AAEjB;IAAzB,gBAAS,CAAC,aAAa,CAAC;;sDAAoB;AAhDpC,eAAe;IAlF3B,gBAAS,CAAC;QACP,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,4nJA0ET;QACD,MAAM,EAAE,CAAC,25sBAER,CAAC;KACL,CAAC;qCAoD0B,iBAAU,EAAmB,yCAAkB;GAlD9D,eAAe,CAuU3B;AAvUY,0CAAe;AA6U5B,IAAM,eAAe;IAArB;IAAwB,CAAC;IAAD,sBAAC;AAAD,CAAxB,AAAyB,IAAA;AAAnB,eAAe;IAJpB,eAAQ,CAAC;QACN,OAAO,EAAE,CAAC,gCAAa,CAAC;QACxB,YAAY,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,eAAe,CAAC;KAClE,CAAC;GACI,eAAe,CAAI;AAAA,CAAC","file":"color-picker.directive.js","sourcesContent":["import {Component, OnChanges, Directive, Input, Output, ViewContainerRef, ElementRef, EventEmitter, OnInit, ViewChild} from '@angular/core';\nimport {ColorPickerService} from './color-picker.service';\nimport {Rgba, Hsla, Hsva, SliderPosition, SliderDimension} from './classes';\nimport {NgModule, Compiler, ReflectiveInjector} from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\n\n@Directive({\n selector: '[colorPicker]',\n host: {\n '(input)': 'changeInput($event.target.value)',\n '(click)': 'onClick()'\n }\n})\nexport class ColorPickerDirective implements OnInit, OnChanges {\n @Input('colorPicker') colorPicker: string;\n @Output('colorPickerChange') colorPickerChange = new EventEmitter(true);\n @Input('cpToggle') cpToggle: boolean;\n @Output('cpToggleChange') cpToggleChange = new EventEmitter(true);\n @Input('cpPosition') cpPosition: string = 'right';\n @Input('cpPositionOffset') cpPositionOffset: string = '0%';\n @Input('cpPositionRelativeToArrow') cpPositionRelativeToArrow: boolean = false;\n @Input('cpOutputFormat') cpOutputFormat: string = 'hex';\n @Input('cpPresetLabel') cpPresetLabel: string = 'Preset colors';\n @Input('cpPresetColors') cpPresetColors: Array;\n @Input('cpCancelButton') cpCancelButton: boolean = false;\n @Input('cpCancelButtonClass') cpCancelButtonClass: string = 'cp-cancel-button-class';\n @Input('cpCancelButtonText') cpCancelButtonText: string = 'Cancel';\n @Input('cpOKButton') cpOKButton: boolean = false;\n @Input('cpOKButtonClass') cpOKButtonClass: string = 'cp-ok-button-class';\n @Input('cpOKButtonText') cpOKButtonText: string = 'OK';\n @Input('cpFallbackColor') cpFallbackColor: string = '#fff';\n @Input('cpHeight') cpHeight: string = 'auto';\n @Input('cpWidth') cpWidth: string = '230px';\n @Input('cpIgnoredElements') cpIgnoredElements: any = [];\n @Input('cpDialogDisplay') cpDialogDisplay: string = 'popup';\n @Input('cpSaveClickOutside') cpSaveClickOutside: boolean = true;\n @Input('cpAlphaChannel') cpAlphaChannel: string = 'hex6';\n\n private dialog: any;\n private created: boolean;\n private ignoreChanges: boolean = false;\n\n constructor(private compiler: Compiler, private vcRef: ViewContainerRef, private el: ElementRef, private service: ColorPickerService) {\n this.created = false;\n }\n\n ngOnChanges(changes: any): void {\n if (changes.cpToggle) {\n if (changes.cpToggle.currentValue) this.openDialog();\n if (!changes.cpToggle.currentValue && this.dialog) this.dialog.closeColorPicker();\n }\n if (changes.colorPicker) {\n if (this.dialog && !this.ignoreChanges) {\n if (this.cpDialogDisplay === 'inline') {\n this.dialog.setInitialColor(changes.colorPicker.currentValue);\n }\n this.dialog.setColorFromString(changes.colorPicker.currentValue, false);\n\n }\n this.ignoreChanges = false;\n }\n }\n\n ngOnInit() {\n let hsva = this.service.stringToHsva(this.colorPicker);\n if (hsva === null) hsva = this.service.stringToHsva(this.colorPicker, true);\n if (hsva == null) {\n hsva = this.service.stringToHsva(this.cpFallbackColor);\n }\n this.colorPickerChange.emit(this.service.outputFormat(hsva, this.cpOutputFormat, this.cpAlphaChannel === 'hex8'));\n }\n\n onClick() {\n if (this.cpIgnoredElements.filter((item: any) => item === this.el.nativeElement).length === 0) {\n this.openDialog();\n }\n }\n\n openDialog() {\n if (!this.created) {\n this.created = true;\n this.compiler.compileModuleAndAllComponentsAsync(DynamicCpModule)\n .then(factory => {\n const compFactory = factory.componentFactories.find(x => x.componentType === DialogComponent);\n const injector = ReflectiveInjector.fromResolvedProviders([], this.vcRef.parentInjector);\n const cmpRef = this.vcRef.createComponent(compFactory, 0, injector, []);\n cmpRef.instance.setDialog(this, this.el, this.colorPicker, this.cpPosition, this.cpPositionOffset,\n this.cpPositionRelativeToArrow, this.cpOutputFormat, this.cpPresetLabel, this.cpPresetColors,\n this.cpCancelButton, this.cpCancelButtonClass, this.cpCancelButtonText,\n this.cpOKButton, this.cpOKButtonClass, this.cpOKButtonText, this.cpHeight, this.cpWidth,\n this.cpIgnoredElements, this.cpDialogDisplay, this.cpSaveClickOutside, this.cpAlphaChannel);\n this.dialog = cmpRef.instance;\n });\n } else if (this.dialog) {\n this.dialog.openDialog(this.colorPicker);\n }\n }\n\n colorChanged(value: string, ignore: boolean = true) {\n this.ignoreChanges = ignore;\n this.colorPickerChange.emit(value)\n }\n\n changeInput(value: string) {\n this.dialog.setColorFromString(value, true);\n }\n\n toggle(value: boolean) {\n this.cpToggleChange.emit(value);\n }\n}\n\n\n@Directive({\n selector: '[text]',\n host: {\n '(input)': 'changeInput($event.target.value)'\n }\n})\nexport class TextDirective {\n @Output('newValue') newValue = new EventEmitter();\n @Input('text') text: any;\n @Input('rg') rg: number;\n\n changeInput(value: string) {\n if (this.rg === undefined) {\n this.newValue.emit(value);\n } else {\n let numeric = parseFloat(value)\n if (!isNaN(numeric) && numeric >= 0 && numeric <= this.rg) {\n this.newValue.emit({ v: numeric, rg: this.rg });\n }\n }\n }\n}\n\n@Directive({\n selector: '[slider]',\n host: {\n '(mousedown)': 'start($event)',\n '(touchstart)': 'start($event)'\n }\n})\nexport class SliderDirective {\n @Output('newValue') newValue = new EventEmitter();\n @Input('slider') slider: string;\n @Input('rgX') rgX: number;\n @Input('rgY') rgY: number;\n private listenerMove: any;\n private listenerStop: any;\n\n constructor(private el: ElementRef) {\n this.listenerMove = (event: any) => { this.move(event) };\n this.listenerStop = () => { this.stop() };\n }\n\n setCursor(event: any) {\n let height = this.el.nativeElement.offsetHeight;\n let width = this.el.nativeElement.offsetWidth;\n let x = Math.max(0, Math.min(this.getX(event), width));\n let y = Math.max(0, Math.min(this.getY(event), height));\n\n if (this.rgX !== undefined && this.rgY !== undefined) {\n this.newValue.emit({ s: x / width, v: (1 - y / height), rgX: this.rgX, rgY: this.rgY });\n } else if (this.rgX === undefined && this.rgY !== undefined) {//ready to use vertical sliders\n this.newValue.emit({ v: y / height, rg: this.rgY });\n } else {\n this.newValue.emit({ v: x / width, rg: this.rgX });\n }\n }\n\n move(event: any) {\n event.preventDefault();\n this.setCursor(event);\n }\n\n start(event: any) {\n this.setCursor(event);\n document.addEventListener('mousemove', this.listenerMove);\n document.addEventListener('touchmove', this.listenerMove);\n document.addEventListener('mouseup', this.listenerStop);\n document.addEventListener('touchend', this.listenerStop);\n }\n\n stop() {\n document.removeEventListener('mousemove', this.listenerMove);\n document.removeEventListener('touchmove', this.listenerMove);\n document.removeEventListener('mouseup', this.listenerStop);\n document.removeEventListener('touchend', this.listenerStop);\n }\n\n getX(event: any): number {\n return (event.pageX !== undefined ? event.pageX : event.touches[0].pageX) - this.el.nativeElement.getBoundingClientRect().left - window.pageXOffset;\n }\n getY(event: any): number {\n return (event.pageY !== undefined ? event.pageY : event.touches[0].pageY) - this.el.nativeElement.getBoundingClientRect().top - window.pageYOffset;\n }\n}\n\n@Component({\n selector: 'color-picker',\n template: `\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n
\n\n
\n
\n \n \n \n \n
\n
\n
H
S
L
A
\n
\n
\n\n
\n
\n \n \n \n \n
\n
\n
R
G
B
A
\n
\n
\n\n
\n
\n \n
\n
\n
Hex
\n
\n
\n\n
\n\n
\n
\n\n
{{cpPresetLabel}}
\n\n
\n
\n\n
\n \n \n
\n \n
\n `,\n styles: [`\n .color-picker *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;font-size:11px}.color-picker{cursor:default;width:230px;height:auto;border:#777 solid 1px;left:30px;top:250px;position:absolute;z-index:1000;background-color:#fff;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.color-picker i{cursor:default;position:relative}.color-picker input{text-align:center;font-size:13px;height:26px;-moz-appearance:textfield}.color-picker input:invalid{box-shadow:none}.color-picker input:-moz-submit-invalid{box-shadow:none}.color-picker input:-moz-ui-invalid{box-shadow:none}.color-picker input::-webkit-inner-spin-button,.color-picker input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.color-picker .button-area{padding:0 16px 16px 16px;text-align:right}.color-picker .preset-area{padding:4px 15px}.color-picker .preset-area .preset-label{width:100%;padding:4px;font-size:11px;text-align:left;color:#555}.color-picker .preset-area .preset-color{cursor:pointer;display:inline-block;width:18px;height:18px;margin:4px 6px 8px 6px;-moz-border-radius:25%;-webkit-border-radius:25%;border-radius:25%;-khtml-border-radius:25%;border:#a9a9a9 solid 1px}.color-picker .arrow{height:0;width:0;border-style:solid;position:absolute;z-index:999999}.color-picker .arrow-right{border-width:5px 10px;border-color:transparent #777 transparent transparent;top:10px;left:-20px}.color-picker .arrow-left{border-width:5px 10px;border-color:transparent transparent transparent #777;top:10px;left:231px}.color-picker .arrow-bottom{border-width:10px 5px;border-color:transparent transparent #777 transparent;top:-20px;left:10px}.color-picker .arrow-top{border-width:10px 5px;border-color:#777 transparent transparent transparent;left:10px}.color-picker div.cursor-sv{cursor:default;position:relative;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-khtml-border-radius:50%;width:15px;height:15px;border:#ddd solid 1px}.color-picker div.cursor{cursor:default;position:relative;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-khtml-border-radius:50%;width:16px;height:16px;border:#222 solid 2px}.color-picker .saturation-lightness{cursor:pointer;width:100%;height:130px;border:none;background-size:100% 100%;background-image:url(\"data:image/png;base64,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\")}.color-picker .box{display:flex;padding:4px 8px}.color-picker .box .left{position:relative;padding:16px 8px}.color-picker .box .right{flex:1 1 auto;padding:12px 8px}.color-picker .hue{cursor:pointer;width:100%;height:16px;border:none;margin-bottom:16px;background-size:100% 100%;background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC\")}.color-picker .alpha{cursor:pointer;width:100%;height:16px;border:none;background-size:100% 100%;background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwYQlZMa3gAAAWVJREFUaN7tmEGO6jAQRCsOArHgBpyAJYGjcGocxAm4A2IHpmoWE0eBH+ezmFlNvU06shJ3W6VEelWMUQAIIF9f6qZpimsA1LYtS2uF51/u27YVAFZVRUkEoGHdPV/sIcbIEIIkUdI/9Xa7neyv61+SWFUVAVCSct00TWn2fv6u3+Ecfd3tXzy/0+nEUu+SPjo/kqzrmiQpScN6v98XewfA8/lMkiLJ2WxGSUopcT6fM6U0NX9/frfbjev1WtfrlZfLhYfDQQHG/AIOlnGwjINlHCxjHCzjYJm/TJWdCwquJXseFFzGwDNNeiKMOJTO8xQdDQaeB29+K9efeLaBo9J7vdvtJj1RjFFjfiv7qv95tjx/7leSQgh93e1ffMeIp6O+YQjho/N791t1XVOSSI7N//K+4/GoxWLBx+PB5/Op5XLJ+/3OlJJWqxU3m83ovv5iGf8KjYNlHCxjHCzjYBkHy5gf5gusvQU7U37jTAAAAABJRU5ErkJggg==\")}.color-picker .selected-color{width:40px;height:40px;top:16px;left:8px;position:absolute;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-khtml-border-radius:50%}.color-picker .selected-color-background{width:40px;height:40px;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;-khtml-border-radius:50%;background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYR+2W0QlAMQgD60zdfwOdqa8TmI/wQMr5K0I5bZLIzLOa2nt37VVVbd+dDx5obgCC3KBLwJ2ff4PnVidkf+ucIhw80HQaCLo3DMH3CRK3iFsmAWVl6hPNDwt8EvNE5q+YuEXcMgkonVM6SdyCoEvAnZ8v1Hjx817MilmxSUB5rdLJDycZgUAZUch/AAAAAElFTkSuQmCC\")}.color-picker .type-policy{position:absolute;top:215px;right:12px;background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAgCAYAAAAffCjxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACewAAAnsB01CO3AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAIASURBVEiJ7ZY9axRRFIafsxMStrLQJpAgpBFhi+C9w1YSo00I6RZ/g9vZpBf/QOr4GyRgkSKNSrAadsZqQGwCkuAWyRZJsySwvhZ7N/vhzrgbLH3Ld8597jlzz50zJokyxXH8DqDVar0qi6v8BbItqSGpEcfxdlmsFWXkvX8AfAVWg3UKPEnT9GKujMzsAFgZsVaCN1VTQd77XUnrgE1kv+6935268WRpzrnHZvYRWC7YvC3pRZZl3wozqtVqiyH9IgjAspkd1Gq1xUJQtVrdB9ZKIAOthdg/Qc65LUk7wNIMoCVJO865rYFhkqjX6/d7vV4GPJwBMqofURS5JEk6FYBer/eeYb/Mo9WwFnPOvQbeAvfuAAK4BN4sAJtAG/gJIElmNuiJyba3EGNmZiPeZuEVmVell/Y/6N+CzDn3AXhEOOo7Hv/3BeAz8IzQkMPnJbuPx1wC+yYJ7/0nYIP5S/0FHKdp+rwCEEXRS/rf5Hl1Gtb2M0iSpCOpCZzPATmX1EySpHMLAsiy7MjMDoHrGSDXZnaYZdnRwBh7J91utwmczAA6CbG3GgPleX4jqUH/a1CktqRGnuc3hSCAMB32gKspkCtgb3KCQMmkjeP4WNJThrNNZval1WptTIsv7JtQ4tmIdRa8qSoEpWl6YWZNoAN0zKxZNPehpLSBZv2t+Q0CJ9lLnARQLAAAAABJRU5ErkJggg==\");background-repeat:no-repeat;background-position:center;background-size:8px 16px;-moz-background-size:8px 16px;-webkit-background-size:8px 16px;-o-background-size:8px 16px;width:16px;height:24px}.color-picker .hsla-text,.color-picker .rgba-text{width:100%;font-size:11px;padding:4px 8px}.color-picker .hsla-text .box,.color-picker .rgba-text .box{padding:0 24px 8px 8px}.color-picker .hsla-text .box input,.color-picker .rgba-text .box input{min-width:0;flex:1;margin:0;float:left;margin-right:8px;border:#a9a9a9 solid 1px;padding:1px}.color-picker .hsla-text .box input:last-child,.color-picker .rgba-text .box input:last-child{margin-right:0}.color-picker .hsla-text .box div,.color-picker .rgba-text .box div{flex:1 1 auto;text-align:center;color:#555;margin-right:8px}.color-picker .hsla-text .box div:last-child,.color-picker .rgba-text .box div:last-child{margin-right:0}.color-picker .hex-text{width:100%;font-size:11px;padding:4px 8px}.color-picker .hex-text .box{padding:0 24px 8px 8px}.color-picker .hex-text .box input{flex:1 1 auto;border:#a9a9a9 solid 1px;padding:1px}.color-picker .hex-text .box div{flex:1 1 auto;text-align:center;color:#555;float:left;clear:left}\n `]\n})\n\nexport class DialogComponent implements OnInit {\n private hsva: Hsva;\n private rgbaText: Rgba;\n private hslaText: Hsla;\n private hexText: string;\n private outputColor: string;\n private selectedColor: string;\n private alphaSliderColor: string;\n private hueSliderColor: string;\n private slider: SliderPosition;\n private sliderDimMax: SliderDimension;\n private format: number;\n private show: boolean;\n private top: number;\n private left: number;\n private position: string;\n private directiveInstance: any;\n private initialColor: string;\n private directiveElementRef: ElementRef;\n\n private listenerMouseDown: any;\n private listenerResize: any;\n\n private cpPosition: string;\n private cpPositionOffset: number;\n private cpOutputFormat: string;\n private cpPresetLabel: string;\n private cpPresetColors: Array;\n private cpCancelButton: boolean;\n private cpCancelButtonClass: string;\n private cpCancelButtonText: string;\n private cpOKButton: boolean;\n private cpOKButtonClass: string;\n private cpOKButtonText: string;\n private cpHeight: number;\n private cpWidth: number;\n private cpIgnoredElements: any;\n private cpDialogDisplay: string;\n private cpSaveClickOutside: boolean;\n private cpAlphaChannel: string;\n\n private dialogArrowSize: number = 10;\n private dialogArrowOffset: number = 15;\n private arrowTop: number;\n\n @ViewChild('hueSlider') hueSlider: any;\n @ViewChild('alphaSlider') alphaSlider: any;\n\n @ViewChild('dialogPopup') dialogElement: any;\n\n constructor(private el: ElementRef, private service: ColorPickerService) { }\n\n setDialog(instance: any, elementRef: ElementRef, color: any, cpPosition: string, cpPositionOffset: string,\n cpPositionRelativeToArrow: boolean, cpOutputFormat: string, cpPresetLabel: string, cpPresetColors: Array,\n cpCancelButton: boolean, cpCancelButtonClass: string, cpCancelButtonText: string,\n cpOKButton: boolean, cpOKButtonClass: string, cpOKButtonText: string,\n cpHeight: string, cpWidth: string,\n cpIgnoredElements: any, cpDialogDisplay: string, cpSaveClickOutside: boolean, cpAlphaChannel: string) {\n this.directiveInstance = instance;\n this.initialColor = color;\n this.directiveElementRef = elementRef;\n this.cpPosition = cpPosition;\n this.cpPositionOffset = parseInt(cpPositionOffset);\n if (!cpPositionRelativeToArrow) {\n this.dialogArrowOffset = 0;\n }\n this.cpOutputFormat = cpOutputFormat;\n this.cpPresetLabel = cpPresetLabel;\n this.cpPresetColors = cpPresetColors;\n this.cpCancelButton = cpCancelButton;\n this.cpCancelButtonClass = cpCancelButtonClass;\n this.cpCancelButtonText = cpCancelButtonText;\n this.cpOKButton = cpOKButton;\n this.cpOKButtonClass = cpOKButtonClass;\n this.cpOKButtonText = cpOKButtonText;\n this.cpHeight = parseInt(cpHeight);\n this.cpWidth = parseInt(cpWidth);\n this.cpIgnoredElements = cpIgnoredElements;\n this.cpDialogDisplay = cpDialogDisplay;\n if (this.cpDialogDisplay === 'inline') {\n this.dialogArrowOffset = 0;\n this.dialogArrowSize = 0;\n }\n this.cpSaveClickOutside = cpSaveClickOutside;\n this.cpAlphaChannel = cpAlphaChannel;\n }\n\n ngOnInit() {\n let alphaWidth = this.alphaSlider.nativeElement.offsetWidth;\n let hueWidth = this.hueSlider.nativeElement.offsetWidth;\n this.sliderDimMax = new SliderDimension(hueWidth, this.cpWidth, 130, alphaWidth);\n this.slider = new SliderPosition(0, 0, 0, 0);\n if (this.cpOutputFormat === 'rgba') {\n this.format = 1;\n } else if (this.cpOutputFormat === 'hsla') {\n this.format = 2;\n } else {\n this.format = 0;\n }\n this.listenerMouseDown = (event: any) => { this.onMouseDown(event) };\n this.listenerResize = () => { this.onResize() };\n this.openDialog(this.initialColor, false);\n }\n\n setInitialColor(color: any) {\n this.initialColor = color;\n }\n\n openDialog(color: any, emit: boolean = true) {\n this.setInitialColor(color);\n this.setColorFromString(color, emit);\n this.openColorPicker();\n }\n\n cancelColor() {\n this.setColorFromString(this.initialColor, true);\n if (this.cpDialogDisplay === 'popup') {\n this.directiveInstance.colorChanged(this.initialColor, true);\n this.closeColorPicker();\n }\n }\n\n oKColor() {\n if (this.cpDialogDisplay === 'popup') {\n this.closeColorPicker();\n }\n }\n\n setColorFromString(value: string, emit: boolean = true) {\n let hsva: Hsva;\n if (this.cpAlphaChannel === 'hex8') {\n hsva = this.service.stringToHsva(value, true);\n if (!hsva && !this.hsva) {\n hsva = this.service.stringToHsva(value, false);\n }\n } else {\n hsva = this.service.stringToHsva(value, false);\n }\n if (hsva) {\n this.hsva = hsva;\n this.update(emit);\n }\n }\n\n onMouseDown(event: any) {\n if ((!this.isDescendant(this.el.nativeElement, event.target)\n && event.target != this.directiveElementRef.nativeElement &&\n this.cpIgnoredElements.filter((item: any) => item === event.target).length === 0) && this.cpDialogDisplay === 'popup') {\n if (!this.cpSaveClickOutside) {\n this.setColorFromString(this.initialColor, false);\n this.directiveInstance.colorChanged(this.initialColor)\n }\n this.closeColorPicker();\n }\n }\n\n openColorPicker() {\n if (!this.show) {\n this.setDialogPosition();\n this.show = true;\n this.directiveInstance.toggle(true);\n document.addEventListener('mousedown', this.listenerMouseDown);\n window.addEventListener('resize', this.listenerResize);\n }\n }\n\n closeColorPicker() {\n if (this.show) {\n this.show = false;\n this.directiveInstance.toggle(false);\n document.removeEventListener('mousedown', this.listenerMouseDown);\n window.removeEventListener('resize', this.listenerResize);\n }\n }\n\n onResize() {\n if (this.position === 'fixed') {\n this.setDialogPosition();\n }\n }\n\n setDialogPosition() {\n let dialogHeight = this.dialogElement.nativeElement.offsetHeight;\n let node = this.directiveElementRef.nativeElement, position = 'static';\n let parentNode: any = null;\n while (node !== null && node.tagName !== 'HTML') {\n position = window.getComputedStyle(node).getPropertyValue(\"position\");\n if (position !== 'static' && parentNode === null) {\n parentNode = node;\n }\n if (position === 'fixed') {\n break;\n }\n node = node.parentNode;\n }\n if (position !== 'fixed') {\n var boxDirective = this.createBox(this.directiveElementRef.nativeElement, true);\n if (parentNode === null) { parentNode = node }\n var boxParent = this.createBox(parentNode, true);\n this.top = boxDirective.top - boxParent.top;\n this.left = boxDirective.left - boxParent.left;\n } else {\n var boxDirective = this.createBox(this.directiveElementRef.nativeElement, false);\n this.top = boxDirective.top;\n this.left = boxDirective.left;\n this.position = 'fixed';\n }\n if (this.cpPosition === 'left') {\n this.top += boxDirective.height * this.cpPositionOffset / 100 - this.dialogArrowOffset;\n this.left -= this.cpWidth + this.dialogArrowSize - 2;\n } else if (this.cpPosition === 'top') {\n this.top -= dialogHeight + this.dialogArrowSize;\n this.left += this.cpPositionOffset / 100 * boxDirective.width - this.dialogArrowOffset;\n this.arrowTop = dialogHeight - 1;\n } else if (this.cpPosition === 'bottom') {\n this.top += boxDirective.height + this.dialogArrowSize;\n this.left += this.cpPositionOffset / 100 * boxDirective.width - this.dialogArrowOffset;\n } else {\n this.top += boxDirective.height * this.cpPositionOffset / 100 - this.dialogArrowOffset;\n this.left += boxDirective.width + this.dialogArrowSize;\n }\n }\n\n setSaturation(val: { v: number, rg: number }) {\n let hsla = this.service.hsva2hsla(this.hsva);\n hsla.s = val.v / val.rg;\n this.hsva = this.service.hsla2hsva(hsla);\n this.update();\n }\n\n setLightness(val: { v: number, rg: number }) {\n let hsla = this.service.hsva2hsla(this.hsva);\n hsla.l = val.v / val.rg;\n this.hsva = this.service.hsla2hsva(hsla);\n this.update();\n }\n\n setHue(val: { v: number, rg: number }) {\n this.hsva.h = val.v / val.rg;\n this.update();\n }\n\n setAlpha(val: { v: number, rg: number }) {\n this.hsva.a = val.v / val.rg;\n this.update();\n }\n\n setR(val: { v: number, rg: number }) {\n let rgba = this.service.hsvaToRgba(this.hsva);\n rgba.r = val.v / val.rg;\n this.hsva = this.service.rgbaToHsva(rgba);\n this.update();\n }\n setG(val: { v: number, rg: number }) {\n let rgba = this.service.hsvaToRgba(this.hsva);\n rgba.g = val.v / val.rg;\n this.hsva = this.service.rgbaToHsva(rgba);\n this.update();\n }\n setB(val: { v: number, rg: number }) {\n let rgba = this.service.hsvaToRgba(this.hsva);\n rgba.b = val.v / val.rg;\n this.hsva = this.service.rgbaToHsva(rgba);\n this.update();\n }\n\n setSaturationAndBrightness(val: { s: number, v: number, rgX: number, rgY: number }) {\n this.hsva.s = val.s / val.rgX;\n this.hsva.v = val.v / val.rgY;\n this.update();\n }\n\n formatPolicy(): number {\n this.format = (this.format + 1) % 3;\n if (this.format === 0 && this.hsva.a < 1 && this.cpAlphaChannel === 'hex6') {\n this.format++;\n }\n return this.format;\n }\n\n update(emit: boolean = true) {\n let hsla = this.service.hsva2hsla(this.hsva);\n let rgba = this.service.denormalizeRGBA(this.service.hsvaToRgba(this.hsva));\n let hueRgba = this.service.denormalizeRGBA(this.service.hsvaToRgba(new Hsva(this.hsva.h, 1, 1, 1)));\n\n this.hslaText = new Hsla(Math.round((hsla.h) * 360), Math.round(hsla.s * 100), Math.round(hsla.l * 100), Math.round(hsla.a * 100) / 100);\n this.rgbaText = new Rgba(rgba.r, rgba.g, rgba.b, Math.round(rgba.a * 100) / 100);\n this.hexText = this.service.hexText(rgba, this.cpAlphaChannel === 'hex8');\n\n this.alphaSliderColor = 'rgb(' + rgba.r + ',' + rgba.g + ',' + rgba.b + ')';\n this.hueSliderColor = 'rgb(' + hueRgba.r + ',' + hueRgba.g + ',' + hueRgba.b + ')';\n\n if (this.format === 0 && this.hsva.a < 1 && this.cpAlphaChannel === 'hex6') {\n this.format++;\n }\n\n let lastOutput = this.outputColor;\n this.outputColor = this.service.outputFormat(this.hsva, this.cpOutputFormat, this.cpAlphaChannel === 'hex8');\n this.selectedColor = this.service.outputFormat(this.hsva, 'rgba', false);\n\n this.slider = new SliderPosition((this.hsva.h) * this.sliderDimMax.h - 8, this.hsva.s * this.sliderDimMax.s - 8,\n (1 - this.hsva.v) * this.sliderDimMax.v - 8, this.hsva.a * this.sliderDimMax.a - 8)\n\n if (emit && lastOutput !== this.outputColor) {\n this.directiveInstance.colorChanged(this.outputColor);\n }\n }\n\n isDescendant(parent: any, child: any): boolean {\n let node: any = child.parentNode;\n while (node !== null) {\n if (node === parent) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n }\n\n createBox(element: any, offset: boolean): any {\n return {\n top: element.getBoundingClientRect().top + (offset ? window.pageYOffset : 0),\n left: element.getBoundingClientRect().left + (offset ? window.pageXOffset : 0),\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n }\n}\n\n@NgModule({\n imports: [BrowserModule],\n declarations: [DialogComponent, TextDirective, SliderDirective]\n})\nclass DynamicCpModule { };"]} \ No newline at end of file diff --git a/lib/color-picker.module.d.ts b/lib/color-picker.module.d.ts index b0dfc5b..2493826 100644 --- a/lib/color-picker.module.d.ts +++ b/lib/color-picker.module.d.ts @@ -1,2 +1,4 @@ +import { ModuleWithProviders } from '@angular/core'; export declare class ColorPickerModule { + static forRoot(): ModuleWithProviders; } diff --git a/lib/color-picker.module.js b/lib/color-picker.module.js index 12bb9a0..64fa17b 100644 --- a/lib/color-picker.module.js +++ b/lib/color-picker.module.js @@ -1 +1 @@ -"use strict";var __decorate=this&&this.__decorate||function(e,r,o,c){var i,t=arguments.length,l=t<3?r:null===c?c=Object.getOwnPropertyDescriptor(r,o):c;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,r,o,c);else for(var _=e.length-1;_>=0;_--)(i=e[_])&&(l=(t<3?i(l):t>3?i(r,o,l):i(r,o))||l);return t>3&&l&&Object.defineProperty(r,o,l),l},core_1=require("@angular/core"),common_1=require("@angular/common"),color_picker_service_1=require("./color-picker.service"),color_picker_directive_1=require("./color-picker.directive"),ColorPickerModule=function(){function e(){}return e}();ColorPickerModule=__decorate([core_1.NgModule({imports:[common_1.CommonModule],providers:[color_picker_service_1.ColorPickerService],declarations:[color_picker_directive_1.ColorPickerDirective],exports:[color_picker_directive_1.ColorPickerDirective]})],ColorPickerModule),exports.ColorPickerModule=ColorPickerModule; \ No newline at end of file +"use strict";var __decorate=this&&this.__decorate||function(e,r,o,c){var i,t=arguments.length,l=t<3?r:null===c?c=Object.getOwnPropertyDescriptor(r,o):c;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,r,o,c);else for(var _=e.length-1;_>=0;_--)(i=e[_])&&(l=(t<3?i(l):t>3?i(r,o,l):i(r,o))||l);return t>3&&l&&Object.defineProperty(r,o,l),l};Object.defineProperty(exports,"__esModule",{value:!0});var core_1=require("@angular/core"),common_1=require("@angular/common"),color_picker_service_1=require("./color-picker.service"),color_picker_directive_1=require("./color-picker.directive"),ColorPickerModule=ColorPickerModule_1=function(){function e(){}return e.forRoot=function(){return{ngModule:ColorPickerModule_1,providers:[color_picker_service_1.ColorPickerService]}},e}();ColorPickerModule=ColorPickerModule_1=__decorate([core_1.NgModule({imports:[common_1.CommonModule],providers:[],declarations:[color_picker_directive_1.ColorPickerDirective],exports:[color_picker_directive_1.ColorPickerDirective]})],ColorPickerModule),exports.ColorPickerModule=ColorPickerModule;var ColorPickerModule_1; \ No newline at end of file diff --git a/lib/color-picker.module.js.map b/lib/color-picker.module.js.map index 7ee1fc7..038ba80 100644 --- a/lib/color-picker.module.js.map +++ b/lib/color-picker.module.js.map @@ -1 +1 @@ -{"version":3,"sources":["color-picker.module.ts"],"names":[],"mappings":";;;;;;;AAAA,sCAAuC;AACvC,0CAA6C;AAE7C,+DAA0D;AAC1D,mEAA8D;AAQ9D,IAAa,iBAAiB;IAA9B;IAAgC,CAAC;IAAD,wBAAC;AAAD,CAAhC,AAAiC,IAAA;AAApB,iBAAiB;IAN7B,eAAQ,CAAC;QACN,OAAO,EAAE,CAAC,qBAAY,CAAC;QACvB,SAAS,EAAE,CAAC,yCAAkB,CAAC;QAC/B,YAAY,EAAE,CAAC,6CAAoB,CAAC;QACpC,OAAO,EAAE,CAAC,6CAAoB,CAAC;KAClC,CAAC;GACW,iBAAiB,CAAG;AAApB,8CAAiB","file":"color-picker.module.js","sourcesContent":["import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {ColorPickerService} from './color-picker.service';\nimport {ColorPickerDirective} from './color-picker.directive';\n\n@NgModule({\n imports: [CommonModule],\n providers: [ColorPickerService],\n declarations: [ColorPickerDirective],\n exports: [ColorPickerDirective]\n})\nexport class ColorPickerModule {}\n"]} \ No newline at end of file +{"version":3,"sources":["color-picker.module.ts"],"names":[],"mappings":";;;;;;;;AAAA,sCAA4D;AAC5D,0CAA6C;AAE7C,+DAA0D;AAC1D,mEAA8D;AAQ9D,IAAa,iBAAiB;IAA9B;IAOA,CAAC;IANU,yBAAO,GAAd;QACI,MAAM,CAAC;YACH,QAAQ,EAAE,mBAAiB;YAC3B,SAAS,EAAE,CAAC,yCAAkB,CAAC;SAClC,CAAC;IACN,CAAC;IACL,wBAAC;AAAD,CAPA,AAOC,IAAA;AAPY,iBAAiB;IAN7B,eAAQ,CAAC;QACN,OAAO,EAAE,CAAC,qBAAY,CAAC;QACvB,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,CAAC,6CAAoB,CAAC;QACpC,OAAO,EAAE,CAAC,6CAAoB,CAAC;KAClC,CAAC;GACW,iBAAiB,CAO7B;AAPY,8CAAiB","file":"color-picker.module.js","sourcesContent":["import {NgModule, ModuleWithProviders} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {ColorPickerService} from './color-picker.service';\nimport {ColorPickerDirective} from './color-picker.directive';\n\n@NgModule({\n imports: [CommonModule],\n providers: [],\n declarations: [ColorPickerDirective],\n exports: [ColorPickerDirective]\n})\nexport class ColorPickerModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ColorPickerModule,\n providers: [ColorPickerService]\n };\n }\n}\n"]} \ No newline at end of file diff --git a/lib/color-picker.module.ts b/lib/color-picker.module.ts index 1172302..e55a0a7 100644 --- a/lib/color-picker.module.ts +++ b/lib/color-picker.module.ts @@ -1,4 +1,4 @@ -import {NgModule} from '@angular/core'; +import {NgModule, ModuleWithProviders} from '@angular/core'; import {CommonModule} from '@angular/common'; import {ColorPickerService} from './color-picker.service'; @@ -6,8 +6,15 @@ import {ColorPickerDirective} from './color-picker.directive'; @NgModule({ imports: [CommonModule], - providers: [ColorPickerService], + providers: [], declarations: [ColorPickerDirective], exports: [ColorPickerDirective] }) -export class ColorPickerModule {} +export class ColorPickerModule { + static forRoot(): ModuleWithProviders { + return { + ngModule: ColorPickerModule, + providers: [ColorPickerService] + }; + } +} diff --git a/lib/color-picker.service.js b/lib/color-picker.service.js index d28f15a..4405dd0 100644 --- a/lib/color-picker.service.js +++ b/lib/color-picker.service.js @@ -1 +1 @@ -"use strict";var __decorate=this&&this.__decorate||function(a,e,s,r){var t,n=arguments.length,o=n<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(a,e,s,r);else for(var i=a.length-1;i>=0;i--)(t=a[i])&&(o=(n<3?t(o):n>3?t(e,s,o):t(e,s))||o);return n>3&&o&&Object.defineProperty(e,s,o),o},__metadata=this&&this.__metadata||function(a,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(a,e)},core_1=require("@angular/core"),classes_1=require("./classes"),ColorPickerService=function(){function a(){}return a.prototype.hsla2hsva=function(a){var e=Math.min(a.h,1),s=Math.min(a.s,1),r=Math.min(a.l,1),t=Math.min(a.a,1);if(0===r)return new classes_1.Hsva(e,0,0,t);var n=r+s*(1-Math.abs(2*r-1))/2;return new classes_1.Hsva(e,2*(n-r)/n,n,t)},a.prototype.hsva2hsla=function(a){var e=a.h,s=a.s,r=a.v,t=a.a;if(0===r)return new classes_1.Hsla(e,0,0,t);if(0===s&&1===r)return new classes_1.Hsla(e,1,1,t);var n=r*(2-s)/2;return new classes_1.Hsla(e,r*s/(1-Math.abs(2*n-1)),n,t)},a.prototype.rgbaToHsva=function(a){var e,s,r=Math.min(a.r,1),t=Math.min(a.g,1),n=Math.min(a.b,1),o=Math.min(a.a,1),i=Math.max(r,t,n),c=Math.min(r,t,n),h=i,l=i-c;if(s=0===i?0:l/i,i===c)e=0;else{switch(i){case r:e=(t-n)/l+(t=0;i--)(t=e[i])&&(o=(n<3?t(o):n>3?t(a,s,o):t(a,s))||o);return n>3&&o&&Object.defineProperty(a,s,o),o},__metadata=this&&this.__metadata||function(e,a){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,a)};Object.defineProperty(exports,"__esModule",{value:!0});var core_1=require("@angular/core"),classes_1=require("./classes"),ColorPickerService=function(){function e(){}return e.prototype.hsla2hsva=function(e){var a=Math.min(e.h,1),s=Math.min(e.s,1),r=Math.min(e.l,1),t=Math.min(e.a,1);if(0===r)return new classes_1.Hsva(a,0,0,t);var n=r+s*(1-Math.abs(2*r-1))/2;return new classes_1.Hsva(a,2*(n-r)/n,n,t)},e.prototype.hsva2hsla=function(e){var a=e.h,s=e.s,r=e.v,t=e.a;if(0===r)return new classes_1.Hsla(a,0,0,t);if(0===s&&1===r)return new classes_1.Hsla(a,1,1,t);var n=r*(2-s)/2;return new classes_1.Hsla(a,r*s/(1-Math.abs(2*n-1)),n,t)},e.prototype.rgbaToHsva=function(e){var a,s,r=Math.min(e.r,1),t=Math.min(e.g,1),n=Math.min(e.b,1),o=Math.min(e.a,1),i=Math.max(r,t,n),c=Math.min(r,t,n),h=i,l=i-c;if(s=0===i?0:l/i,i===c)a=0;else{switch(i){case r:a=(t-n)/l+(t