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

ngx-color-picker

Package Overview
Dependencies
Maintainers
1
Versions
86
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ngx-color-picker - npm Package Compare versions

Comparing version 4.5.0 to 5.0.0

bundles/ngx-color-picker.umd.min.js.map

2

bundles/ngx-color-picker.umd.min.js

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

!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("@angular/core"),require("@angular/common")):"function"==typeof define&&define.amd?define("ngx-color-picker",["@angular/core","@angular/common"],e):"object"==typeof exports?exports["ngx-color-picker"]=e(require("@angular/core"),require("@angular/common")):t["ngx-color-picker"]=e(t["@angular/core"],t["@angular/common"])}(this,function(t,e){return function(t){function e(i){if(o[i])return o[i].exports;var n=o[i]={i:i,l:!1,exports:{}};return t[i].call(n.exports,n,n.exports,e),n.l=!0,n.exports}var o={};return e.m=t,e.c=o,e.i=function(t){return t},e.d=function(t,o,i){e.o(t,o)||Object.defineProperty(t,o,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var o=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(o,"a",o),o},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=9)}([function(e,o){e.exports=t},function(t,e,o){"use strict";var i=this&&this.__decorate||function(t,e,o,i){var n,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,o,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(s=(r<3?n(s):r>3?n(e,o,s):n(e,o))||s);return r>3&&s&&Object.defineProperty(e,o,s),s},n=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var r=o(0),s=o(3),a=function(){function t(){this.active=null}return t.prototype.setActive=function(t){this.active&&"inline"!==this.active.cpDialogDisplay&&this.active.closeColorPicker(),this.active=t},t.prototype.hsla2hsva=function(t){var e=Math.min(t.h,1),o=Math.min(t.s,1),i=Math.min(t.l,1),n=Math.min(t.a,1);if(0===i)return new s.Hsva(e,0,0,n);var r=i+o*(1-Math.abs(2*i-1))/2;return new s.Hsva(e,2*(r-i)/r,r,n)},t.prototype.hsva2hsla=function(t){var e=t.h,o=t.s,i=t.v,n=t.a;if(0===i)return new s.Hsla(e,0,0,n);if(0===o&&1===i)return new s.Hsla(e,1,1,n);var r=i*(2-o)/2;return new s.Hsla(e,i*o/(1-Math.abs(2*r-1)),r,n)},t.prototype.rgbaToHsva=function(t){var e,o,i=Math.min(t.r,1),n=Math.min(t.g,1),r=Math.min(t.b,1),a=Math.min(t.a,1),p=Math.max(i,n,r),l=Math.min(i,n,r),c=p,d=p-l;if(o=0===p?0:d/p,p===l)e=0;else{switch(p){case i:e=(n-r)/d+(n<r?6:0);break;case n:e=(r-i)/d+2;break;case r:e=(i-n)/d+4}e/=6}return new s.Hsva(e,o,c,a)},t.prototype.hsvaToRgba=function(t){var e,o,i,n=t.h,r=t.s,a=t.v,p=t.a,l=Math.floor(6*n),c=6*n-l,d=a*(1-r),h=a*(1-c*r),u=a*(1-(1-c)*r);switch(l%6){case 0:e=a,o=u,i=d;break;case 1:e=h,o=a,i=d;break;case 2:e=d,o=a,i=u;break;case 3:e=d,o=h,i=a;break;case 4:e=u,o=d,i=a;break;case 5:e=a,o=d,i=h}return new s.Rgba(e,o,i,p)},t.prototype.stringToHsva=function(t,e){void 0===t&&(t=""),void 0===e&&(e=!1);var o=[{re:/(rgb)a?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*%?,\s*(\d{1,3})\s*%?(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(t){return new s.Rgba(parseInt(t[2])/255,parseInt(t[3])/255,parseInt(t[4])/255,isNaN(parseFloat(t[5]))?1:parseFloat(t[5]))}},{re:/(hsl)a?\(\s*(\d{1,3})\s*,\s*(\d{1,3})%\s*,\s*(\d{1,3})%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(t){return new s.Hsla(parseInt(t[2])/360,parseInt(t[3])/100,parseInt(t[4])/100,isNaN(parseFloat(t[5]))?1:parseFloat(t[5]))}}];e?o.push({re:/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})?$/,parse:function(t){return new s.Rgba(parseInt(t[1],16)/255,parseInt(t[2],16)/255,parseInt(t[3],16)/255,parseInt(t[4]||"FF",16)/255)}}):o.push({re:/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/,parse:function(t){return new s.Rgba(parseInt(t[1],16)/255,parseInt(t[2],16)/255,parseInt(t[3],16)/255,1)}},{re:/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])$/,parse:function(t){return new s.Rgba(parseInt(t[1]+t[1],16)/255,parseInt(t[2]+t[2],16)/255,parseInt(t[3]+t[3],16)/255,1)}}),t=(t||"").toLowerCase();var i=null;for(var n in o)if(o.hasOwnProperty(n)){var r=o[n],a=r.re.exec(t),p=a&&r.parse(a);if(p)return p instanceof s.Rgba?i=this.rgbaToHsva(p):p instanceof s.Hsla&&(i=this.hsla2hsva(p)),i}return i},t.prototype.outputFormat=function(t,e,o){switch(e){case"hsla":var i=this.hsva2hsla(t),n=new s.Hsla(Math.round(360*i.h),Math.round(100*i.s),Math.round(100*i.l),Math.round(100*i.a)/100);return t.a<1||"always"===o?"hsla("+n.h+","+n.s+"%,"+n.l+"%,"+n.a+")":"hsl("+n.h+","+n.s+"%,"+n.l+"%)";case"rgba":var r=this.denormalizeRGBA(this.hsvaToRgba(t));return t.a<1||"always"===o?"rgba("+r.r+","+r.g+","+r.b+","+Math.round(100*r.a)/100+")":"rgb("+r.r+","+r.g+","+r.b+")";default:return this.hexText(this.denormalizeRGBA(this.hsvaToRgba(t)),"always"===o||"hex8"===o)}},t.prototype.hexText=function(t,e){var o="#"+(1<<24|t.r<<16|t.g<<8|t.b).toString(16).substr(1);return e&&(o+=(256|Math.round(255*t.a)).toString(16).substr(1)),o},t.prototype.denormalizeRGBA=function(t){return new s.Rgba(Math.round(255*t.r),Math.round(255*t.g),Math.round(255*t.b),t.a)},t=i([r.Injectable(),n("design:paramtypes",[])],t)}();e.ColorPickerService=a},function(t,e,o){"use strict";var i=this&&this.__decorate||function(t,e,o,i){var n,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,o,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(s=(r<3?n(s):r>3?n(e,o,s):n(e,o))||s);return r>3&&s&&Object.defineProperty(e,o,s),s},n=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var r=o(0),s=o(1),a=o(3),p=o(4),l=function(){function t(t,e,o){this.el=t,this.cdr=e,this.service=o,this.dialogArrowSize=10,this.dialogArrowOffset=15,this.useRootViewContainer=!1,this.isIE10=!1}return t.prototype.setDialog=function(t,e,o,i,n,r,s,a,l,c,d,h,u,g,v,f,A,C,b,x,m,y,w,k,B,V,R,I,S){this.directiveInstance=t,this.initialColor=o,this.directiveElementRef=e,this.cpPosition=i,this.cpPositionOffset=parseInt(n),r||(this.dialogArrowOffset=0),this.cpOutputFormat=s,this.cpPresetLabel=a,this.cpPresetEmptyMessage=l,this.cpPresetEmptyMessageClass=c,this.cpPresetColors=d,this.cpMaxPresetColorsLength=h,this.cpCancelButton=u,this.cpCancelButtonClass=g,this.cpCancelButtonText=v,this.cpOKButton=f,this.cpOKButtonClass=A,this.cpOKButtonText=C,this.cpAddColorButton=b,this.cpAddColorButtonClass=x,this.cpAddColorButtonText=m,this.cpRemoveColorButtonClass=y,this.width=this.cpWidth=parseInt(k),this.height=this.cpHeight=parseInt(w),this.cpIgnoredElements=B,this.cpDialogDisplay=V,"inline"===this.cpDialogDisplay&&(this.dialogArrowOffset=0,this.dialogArrowSize=0),this.cpSaveClickOutside=R,this.cpAlphaChannel=I,this.useRootViewContainer=S,"hex"===s&&"always"!==I&&"hex8"!==I&&(this.cpAlphaChannel="disabled"),this.isIE10=10===p.detectIE()},t.prototype.ngOnInit=function(){var t=this,e=this.alphaSlider.nativeElement.offsetWidth,o=this.hueSlider.nativeElement.offsetWidth;this.sliderDimMax=new p.SliderDimension(o,this.cpWidth,130,e),this.slider=new p.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.ngAfterViewInit=function(){if(230!=this.cpWidth){var t=this.alphaSlider.nativeElement.offsetWidth,e=this.hueSlider.nativeElement.offsetWidth;this.sliderDimMax=new p.SliderDimension(e,this.cpWidth,130,t),this.update(!1),this.cdr.detectChanges()}},t.prototype.setInitialColor=function(t){this.initialColor=t},t.prototype.setPresetConfig=function(t,e){this.cpPresetLabel=t,this.cpPresetColors=e},t.prototype.openDialog=function(t,e){void 0===e&&(e=!0),this.service.setActive(this),this.width||(this.cpWidth=this.directiveElementRef.nativeElement.offsetWidth),this.setInitialColor(t),this.setColorFromString(t,e),this.openColorPicker()},t.prototype.cancelColor=function(t){t&&t.stopPropagation&&t.stopPropagation(),this.setColorFromString(this.initialColor,!0),"popup"===this.cpDialogDisplay&&(this.directiveInstance.colorChanged(this.initialColor,!0),this.closeColorPicker()),this.directiveInstance.colorCanceled()},t.prototype.oKColor=function(t){t&&t.stopPropagation&&t.stopPropagation(),"popup"===this.cpDialogDisplay&&this.closeColorPicker(),this.outputColor&&this.directiveInstance.colorSelected(this.outputColor)},t.prototype.setColorFromString=function(t,e){void 0===e&&(e=!0);var o;"always"===this.cpAlphaChannel||"hex8"===this.cpAlphaChannel?(o=this.service.stringToHsva(t,!0))||this.hsva||(o=this.service.stringToHsva(t,!1)):o=this.service.stringToHsva(t,!1),o&&(this.hsva=o,this.update(e))},t.prototype.addPresetColor=function(t){this.cpPresetColors.filter(function(e){return e===t}).length||(this.cpPresetColors=this.cpPresetColors.concat(t),this.directiveInstance.presetColorsChanged(this.cpPresetColors))},t.prototype.removePresetColor=function(t){this.cpPresetColors=this.cpPresetColors.filter(function(e){return e!==t}),this.directiveInstance.presetColorsChanged(this.cpPresetColors)},t.prototype.onDragEnd=function(t){this.directiveInstance.sliderDragEnd({slider:t,color:this.outputColor})},t.prototype.onDragStart=function(t){this.directiveInstance.sliderDragStart({slider:t,color:this.outputColor})},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.isIE10||(this.cpSaveClickOutside||(this.setColorFromString(this.initialColor,!1),this.directiveInstance.colorChanged(this.initialColor)),this.closeColorPicker())},t.prototype.openColorPicker=function(){var t=this;this.show||(this.show=!0,this.hidden=!0,setTimeout(function(){t.setDialogPosition(),t.hidden=!1,t.cdr.detectChanges()},0),this.directiveInstance.toggle(!0),this.isIE10||document.addEventListener("mousedown",this.listenerMouseDown),window.addEventListener("resize",this.listenerResize))},t.prototype.closeColorPicker=function(){this.show&&(this.show=!1,this.directiveInstance.toggle(!1),this.isIE10||document.removeEventListener("mousedown",this.listenerMouseDown),window.removeEventListener("resize",this.listenerResize),this.cdr.detectChanges())},t.prototype.onResize=function(){"fixed"===this.position?this.setDialogPosition():"inline"!==this.cpDialogDisplay&&this.closeColorPicker()},t.prototype.setDialogPosition=function(){if("inline"===this.cpDialogDisplay)return void(this.position="relative");for(var t=this.dialogElement.nativeElement.offsetHeight,e=this.directiveElementRef.nativeElement.parentNode,o="static",i="",n=null,r=null,s=null;null!==e&&"HTML"!==e.tagName;){if(s=window.getComputedStyle(e),o=s.getPropertyValue("position"),i=s.getPropertyValue("transform"),"static"!==o&&null===n&&(n=e),i&&"none"!==i&&null===r&&(r=e),"fixed"===o){n=r;break}e=e.parentNode}var a=this.createBox(this.directiveElementRef.nativeElement,"fixed"!==o);if("fixed"===o&&!n||this.useRootViewContainer)this.top=a.top,this.left=a.left;else{null===n&&(n=e);var p=this.createBox(n,"fixed"!==o);this.top=a.top-p.top,this.left=a.left-p.left}"fixed"===o&&(this.position="fixed"),"left"===this.cpPosition?(this.top+=a.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*a.width-this.dialogArrowOffset,this.arrowTop=t-1):"bottom"===this.cpPosition?(this.top+=a.height+this.dialogArrowSize,this.left+=this.cpPositionOffset/100*a.width-this.dialogArrowOffset):(this.top+=a.height*this.cpPositionOffset/100-this.dialogArrowOffset,this.left+=a.width+this.dialogArrowSize-2)},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(),this.directiveInstance.inputChanged({input:"saturation",value:e.s,color:this.outputColor})},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(),this.directiveInstance.inputChanged({input:"lightness",value:e.l,color:this.outputColor})},t.prototype.setHue=function(t){this.hsva.h=t.v/t.rg,this.update(),this.directiveInstance.sliderChanged({slider:"hue",value:this.hsva.h,color:this.outputColor})},t.prototype.setAlpha=function(t){this.hsva.a=t.v/t.rg,this.update(),this.directiveInstance.sliderChanged({slider:"alpha",value:this.hsva.a,color:this.outputColor})},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(),this.directiveInstance.inputChanged({input:"red",value:e.r,color:this.outputColor})},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(),this.directiveInstance.inputChanged({input:"green",value:e.g,color:this.outputColor})},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(),this.directiveInstance.inputChanged({input:"blue",value:e.b,color:this.outputColor})},t.prototype.setA=function(t){this.hsva.a=t.v/t.rg,this.update(),this.directiveInstance.inputChanged({input:"alpha",value:this.hsva.a,color:this.outputColor})},t.prototype.setHex=function(t){this.setColorFromString(t),this.directiveInstance.inputChanged({input:"hex",value:t,color:this.outputColor})},t.prototype.setSaturationAndBrightness=function(t){this.hsva.s=t.s/t.rgX,this.hsva.v=t.v/t.rgY,this.update(),this.directiveInstance.sliderChanged({slider:"lightness",value:this.hsva.v,color:this.outputColor}),this.directiveInstance.sliderChanged({slider:"saturation",value:this.hsva.s,color:this.outputColor})},t.prototype.formatPolicy=function(){return this.format=(this.format+1)%3,this.format},t.prototype.update=function(t){if(void 0===t&&(t=!0),this.sliderDimMax){var e=this.service.hsva2hsla(this.hsva),o=this.service.denormalizeRGBA(this.service.hsvaToRgba(this.hsva)),i=this.service.denormalizeRGBA(this.service.hsvaToRgba(new a.Hsva(this.hsva.h,1,1,1)));this.hslaText=new a.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 a.Rgba(o.r,o.g,o.b,Math.round(100*o.a)/100),this.hexText=this.service.hexText(o,"always"===this.cpAlphaChannel||"hex8"===this.cpAlphaChannel),this.alphaSliderColor="rgb("+o.r+","+o.g+","+o.b+")",this.hueSliderColor="rgb("+i.r+","+i.g+","+i.b+")";var n=this.outputColor;this.outputColor=this.service.outputFormat(this.hsva,this.cpOutputFormat,this.cpAlphaChannel),this.selectedColor=this.service.outputFormat(this.hsva,"rgba",null),this.slider=new p.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&&n!==this.outputColor&&this.directiveInstance.colorChanged(this.outputColor)}},t.prototype.isDescendant=function(t,e){for(var o=e.parentNode;null!==o;){if(o===t)return!0;o=o.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}},i([r.ViewChild("hueSlider"),n("design:type",Object)],t.prototype,"hueSlider",void 0),i([r.ViewChild("alphaSlider"),n("design:type",Object)],t.prototype,"alphaSlider",void 0),i([r.ViewChild("dialogPopup"),n("design:type",Object)],t.prototype,"dialogElement",void 0),t=i([r.Component({selector:"color-picker",template:o(8),styles:[o(7)]}),n("design:paramtypes",[r.ElementRef,r.ChangeDetectorRef,s.ColorPickerService])],t)}();e.ColorPickerComponent=l},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e,o,i){this.h=t,this.s=e,this.v=o,this.a=i}return t}();e.Hsva=i;var n=function(){function t(t,e,o,i){this.h=t,this.s=e,this.l=o,this.a=i}return t}();e.Hsla=n;var r=function(){function t(t,e,o,i){this.r=t,this.g=e,this.b=o,this.a=i}return t}();e.Rgba=r},function(t,e,o){"use strict";function i(){var t="";"undefined"!=typeof navigator&&(t=navigator.userAgent.toLowerCase());var e=t.indexOf("msie ");return e>0&&parseInt(t.substring(e+5,t.indexOf(".",e)),10)}var n=this&&this.__decorate||function(t,e,o,i){var n,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,o,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(s=(r<3?n(s):r>3?n(e,o,s):n(e,o))||s);return r>3&&s&&Object.defineProperty(e,o,s),s},r=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var s=o(0),a=function(){function t(){this.newValue=new s.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})}},n([s.Output("newValue"),r("design:type",Object)],t.prototype,"newValue",void 0),n([s.Input("text"),r("design:type",Object)],t.prototype,"text",void 0),n([s.Input("rg"),r("design:type",Number)],t.prototype,"rg",void 0),t=n([s.Directive({selector:"[text]",host:{"(input)":"changeInput($event.target.value)"}})],t)}();e.TextDirective=a;var p=function(){function t(t){var e=this;this.el=t,this.newValue=new s.EventEmitter,this.dragStart=new s.EventEmitter,this.dragEnd=new s.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,o=this.el.nativeElement.offsetWidth,i=Math.max(0,Math.min(this.getX(t),o)),n=Math.max(0,Math.min(this.getY(t),e));void 0!==this.rgX&&void 0!==this.rgY?this.newValue.emit({s:i/o,v:1-n/e,rgX:this.rgX,rgY:this.rgY}):void 0===this.rgX&&void 0!==this.rgY?this.newValue.emit({v:n/e,rg:this.rgY}):this.newValue.emit({v:i/o,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),this.dragStart.emit()},t.prototype.stop=function(){document.removeEventListener("mousemove",this.listenerMove),document.removeEventListener("touchmove",this.listenerMove),document.removeEventListener("mouseup",this.listenerStop),document.removeEventListener("touchend",this.listenerStop),this.dragEnd.emit()},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},n([s.Output("newValue"),r("design:type",Object)],t.prototype,"newValue",void 0),n([s.Output("dragStart"),r("design:type",Object)],t.prototype,"dragStart",void 0),n([s.Output("dragEnd"),r("design:type",Object)],t.prototype,"dragEnd",void 0),n([s.Input("slider"),r("design:type",String)],t.prototype,"slider",void 0),n([s.Input("rgX"),r("design:type",Number)],t.prototype,"rgX",void 0),n([s.Input("rgY"),r("design:type",Number)],t.prototype,"rgY",void 0),t=n([s.Directive({selector:"[slider]",host:{"(mousedown)":"start($event)","(touchstart)":"start($event)"}}),r("design:paramtypes",[s.ElementRef])],t)}();e.SliderDirective=p;var l=function(){function t(t,e,o,i){this.h=t,this.s=e,this.v=o,this.a=i}return t}();e.SliderPosition=l;var c=function(){function t(t,e,o,i){this.h=t,this.s=e,this.v=o,this.a=i}return t}();e.SliderDimension=c,e.detectIE=i},function(t,e,o){"use strict";var i=this&&this.__decorate||function(t,e,o,i){var n,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,o,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(s=(r<3?n(s):r>3?n(e,o,s):n(e,o))||s);return r>3&&s&&Object.defineProperty(e,o,s),s},n=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};Object.defineProperty(e,"__esModule",{value:!0});var r=o(0),s=o(1),a=o(2),p=function(){function t(t,e,o,i,n,s){this.injector=t,this.cfr=e,this.appRef=o,this.vcRef=i,this.elRef=n,this.service=s,this.cpPosition="right",this.cpPositionOffset="0%",this.cpPositionRelativeToArrow=!1,this.cpOutputFormat="hex",this.cpPresetLabel="Preset colors",this.cpPresetEmptyMessage="No colors added",this.cpPresetEmptyMessageClass="preset-empty-message",this.cpMaxPresetColorsLength=6,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.cpAddColorButton=!1,this.cpAddColorButtonClass="cp-add-color-button-class",this.cpAddColorButtonText="Add color",this.cpRemoveColorButtonClass="cp-remove-color-button-class",this.cpFallbackColor="#fff",this.cpHeight="auto",this.cpWidth="230px",this.cpIgnoredElements=[],this.cpDialogDisplay="popup",this.cpSaveClickOutside=!0,this.cpAlphaChannel="enabled",this.cpUseRootViewContainer=!1,this.cpInputChange=new r.EventEmitter(!0),this.cpToggleChange=new r.EventEmitter(!0),this.cpSliderChange=new r.EventEmitter(!0),this.cpSliderDragEnd=new r.EventEmitter(!0),this.cpSliderDragStart=new r.EventEmitter(!0),this.colorPickerCancel=new r.EventEmitter(!0),this.colorPickerSelect=new r.EventEmitter(!0),this.colorPickerChange=new r.EventEmitter(!1),this.presetColorsChange=new r.EventEmitter(!0),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.cpPresetLabel||t.cpPresetColors)&&this.dialog&&this.dialog.setPresetConfig(this.cpPresetLabel,this.cpPresetColors)},t.prototype.ngOnInit=function(){this.colorPicker=this.colorPicker||this.cpFallbackColor||"rgba(0, 0, 0, 1)"},t.prototype.ngOnDestroy=function(){void 0!==this.cmpRef&&this.cmpRef.destroy()},t.prototype.openDialog=function(){if(this.colorPicker=this.colorPicker||this.cpFallbackColor||"rgba(0, 0, 0, 1)",this.created)this.dialog&&this.dialog.openDialog(this.colorPicker);else{this.created=!0;var t=this.vcRef;if(this.cpUseRootViewContainer&&"inline"!==this.cpDialogDisplay){var e=this.appRef.componentTypes[0],o=this.injector.get(e);t=o.vcRef||o.viewContainerRef||this.vcRef,t===this.vcRef&&console.warn("You are using cpUseRootViewContainer, but the root component is not exposing viewContainerRef!Please expose it by adding 'public vcRef: ViewContainerRef' to the constructor.")}var i=this.cfr.resolveComponentFactory(a.ColorPickerComponent),n=r.ReflectiveInjector.fromResolvedProviders([],t.parentInjector);this.cmpRef=t.createComponent(i,0,n,[]),this.cmpRef.instance.setDialog(this,this.elRef,this.colorPicker,this.cpPosition,this.cpPositionOffset,this.cpPositionRelativeToArrow,this.cpOutputFormat,this.cpPresetLabel,this.cpPresetEmptyMessage,this.cpPresetEmptyMessageClass,this.cpPresetColors,this.cpMaxPresetColorsLength,this.cpCancelButton,this.cpCancelButtonClass,this.cpCancelButtonText,this.cpOKButton,this.cpOKButtonClass,this.cpOKButtonText,this.cpAddColorButton,this.cpAddColorButtonClass,this.cpAddColorButtonText,this.cpRemoveColorButtonClass,this.cpHeight,this.cpWidth,this.cpIgnoredElements,this.cpDialogDisplay,this.cpSaveClickOutside,this.cpAlphaChannel,this.cpUseRootViewContainer),this.dialog=this.cmpRef.instance,this.vcRef!==t&&this.cmpRef.changeDetectorRef.detectChanges()}},t.prototype.toggle=function(t){this.cpToggleChange.emit(t)},t.prototype.colorChanged=function(t,e){void 0===e&&(e=!0),this.ignoreChanges=e,this.colorPickerChange.emit(t)},t.prototype.colorCanceled=function(){this.colorPickerCancel.emit()},t.prototype.colorSelected=function(t){this.colorPickerSelect.emit(t)},t.prototype.presetColorsChanged=function(t){this.presetColorsChange.emit(t)},t.prototype.inputFocus=function(){var t=this;0===this.cpIgnoredElements.filter(function(e){return e===t.elRef.nativeElement}).length&&this.openDialog()},t.prototype.inputChange=function(t){this.dialog?this.dialog.setColorFromString(t,!0):(this.colorPicker=t||this.cpFallbackColor||"rgba(0, 0, 0, 1)",this.colorPickerChange.emit(this.colorPicker))},t.prototype.inputChanged=function(t){this.cpInputChange.emit(t)},t.prototype.sliderChanged=function(t){this.cpSliderChange.emit(t)},t.prototype.sliderDragEnd=function(t){this.cpSliderDragEnd.emit(t)},t.prototype.sliderDragStart=function(t){this.cpSliderDragStart.emit(t)},i([r.Input("colorPicker"),n("design:type",String)],t.prototype,"colorPicker",void 0),i([r.Input("cpToggle"),n("design:type",Boolean)],t.prototype,"cpToggle",void 0),i([r.Input("cpPosition"),n("design:type",String)],t.prototype,"cpPosition",void 0),i([r.Input("cpPositionOffset"),n("design:type",String)],t.prototype,"cpPositionOffset",void 0),i([r.Input("cpPositionRelativeToArrow"),n("design:type",Boolean)],t.prototype,"cpPositionRelativeToArrow",void 0),i([r.Input("cpOutputFormat"),n("design:type",String)],t.prototype,"cpOutputFormat",void 0),i([r.Input("cpPresetLabel"),n("design:type",String)],t.prototype,"cpPresetLabel",void 0),i([r.Input("cpPresetEmptyMessage"),n("design:type",String)],t.prototype,"cpPresetEmptyMessage",void 0),i([r.Input("cpPresetEmptyMessageClass"),n("design:type",String)],t.prototype,"cpPresetEmptyMessageClass",void 0),i([r.Input("cpPresetColors"),n("design:type",Array)],t.prototype,"cpPresetColors",void 0),i([r.Input("cpMaxPresetColorsLength"),n("design:type",Number)],t.prototype,"cpMaxPresetColorsLength",void 0),i([r.Input("cpCancelButton"),n("design:type",Boolean)],t.prototype,"cpCancelButton",void 0),i([r.Input("cpCancelButtonClass"),n("design:type",String)],t.prototype,"cpCancelButtonClass",void 0),i([r.Input("cpCancelButtonText"),n("design:type",String)],t.prototype,"cpCancelButtonText",void 0),i([r.Input("cpOKButton"),n("design:type",Boolean)],t.prototype,"cpOKButton",void 0),i([r.Input("cpOKButtonClass"),n("design:type",String)],t.prototype,"cpOKButtonClass",void 0),i([r.Input("cpOKButtonText"),n("design:type",String)],t.prototype,"cpOKButtonText",void 0),i([r.Input("cpAddColorButton"),n("design:type",Boolean)],t.prototype,"cpAddColorButton",void 0),i([r.Input("cpAddColorButtonClass"),n("design:type",String)],t.prototype,"cpAddColorButtonClass",void 0),i([r.Input("cpAddColorButtonText"),n("design:type",String)],t.prototype,"cpAddColorButtonText",void 0),i([r.Input("cpRemoveColorButtonClass"),n("design:type",String)],t.prototype,"cpRemoveColorButtonClass",void 0),i([r.Input("cpFallbackColor"),n("design:type",String)],t.prototype,"cpFallbackColor",void 0),i([r.Input("cpHeight"),n("design:type",String)],t.prototype,"cpHeight",void 0),i([r.Input("cpWidth"),n("design:type",String)],t.prototype,"cpWidth",void 0),i([r.Input("cpIgnoredElements"),n("design:type",Object)],t.prototype,"cpIgnoredElements",void 0),i([r.Input("cpDialogDisplay"),n("design:type",String)],t.prototype,"cpDialogDisplay",void 0),i([r.Input("cpSaveClickOutside"),n("design:type",Boolean)],t.prototype,"cpSaveClickOutside",void 0),i([r.Input("cpAlphaChannel"),n("design:type",String)],t.prototype,"cpAlphaChannel",void 0),i([r.Input("cpUseRootViewContainer"),n("design:type",Boolean)],t.prototype,"cpUseRootViewContainer",void 0),i([r.Output("cpInputChange"),n("design:type",Object)],t.prototype,"cpInputChange",void 0),i([r.Output("cpToggleChange"),n("design:type",Object)],t.prototype,"cpToggleChange",void 0),i([r.Output("cpSliderChange"),n("design:type",Object)],t.prototype,"cpSliderChange",void 0),i([r.Output("cpSliderDragEnd"),n("design:type",Object)],t.prototype,"cpSliderDragEnd",void 0),i([r.Output("cpSliderDragStart"),n("design:type",Object)],t.prototype,"cpSliderDragStart",void 0),i([r.Output("colorPickerCancel"),n("design:type",Object)],t.prototype,"colorPickerCancel",void 0),i([r.Output("colorPickerSelect"),n("design:type",Object)],t.prototype,"colorPickerSelect",void 0),i([r.Output("colorPickerChange"),n("design:type",Object)],t.prototype,"colorPickerChange",void 0),i([r.Output("cpPresetColorsChange"),n("design:type",Object)],t.prototype,"presetColorsChange",void 0),t=i([r.Directive({selector:"[colorPicker]",host:{"(click)":"inputFocus()","(focus)":"inputFocus()","(input)":"inputChange($event.target.value)"}}),n("design:paramtypes",[r.Injector,r.ComponentFactoryResolver,r.ApplicationRef,r.ViewContainerRef,r.ElementRef,s.ColorPickerService])],t)}();e.ColorPickerDirective=p},function(t,e,o){"use strict";function i(t){for(var o in t)e.hasOwnProperty(o)||(e[o]=t[o])}Object.defineProperty(e,"__esModule",{value:!0}),i(o(2)),i(o(5)),i(o(10)),i(o(1)),i(o(3)),i(o(4))},function(t,e){t.exports='/*\n * Styles for Color Picker\n *\n * Alberto Pujante\n *\n * @licence: http://opensource.org/licenses/MIT\n */\n.color-picker * {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n font-size: 11px; }\n\n.color-picker {\n cursor: default;\n width: 230px;\n height: auto;\n border: #777 solid 1px;\n position: absolute;\n z-index: 100000;\n background-color: #fff;\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n .color-picker i {\n cursor: default;\n position: relative; }\n .color-picker input {\n text-align: center;\n font-size: 13px;\n height: 26px;\n min-width: 0;\n -moz-appearance: textfield; }\n .color-picker input:invalid {\n box-shadow: none; }\n .color-picker input:-moz-submit-invalid {\n box-shadow: none; }\n .color-picker input:-moz-ui-invalid {\n box-shadow: none; }\n .color-picker input::-webkit-inner-spin-button, .color-picker input::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0; }\n .color-picker .button-area {\n padding: 0 16px 16px 16px;\n text-align: right; }\n .color-picker .preset-area {\n padding: 4px 15px; }\n .color-picker .preset-area .preset-label {\n width: 100%;\n padding: 4px;\n font-size: 11px;\n text-align: left;\n color: #555; }\n .color-picker .preset-area .preset-color {\n -moz-border-radius: 25%;\n -webkit-border-radius: 25%;\n border-radius: 25%;\n -khtml-border-radius: 25%;\n border: #a9a9a9 solid 1px;\n cursor: pointer;\n display: inline-block;\n height: 18px;\n margin: 4px 6px 8px 6px;\n position: relative;\n width: 18px; }\n .color-picker .preset-area .preset-empty-message {\n font-style: italic;\n margin-bottom: 8px;\n margin-top: 4px;\n min-height: 18px;\n text-align: center; }\n .color-picker .arrow {\n height: 0;\n width: 0;\n border-style: solid;\n position: absolute;\n z-index: 999999; }\n .color-picker .arrow-right {\n border-width: 5px 10px;\n border-color: transparent #777 transparent transparent;\n top: 10px;\n left: -20px; }\n .color-picker .arrow-left {\n border-width: 5px 10px;\n border-color: transparent transparent transparent #777;\n top: 10px;\n left: 100%; }\n .color-picker .arrow-bottom {\n border-width: 10px 5px;\n border-color: transparent transparent #777 transparent;\n top: -20px;\n left: 10px; }\n .color-picker .arrow-top {\n border-width: 10px 5px;\n border-color: #777 transparent transparent transparent;\n left: 10px; }\n .color-picker div.cursor-sv {\n cursor: default;\n position: relative;\n -moz-border-radius: 50%;\n -webkit-border-radius: 50%;\n border-radius: 50%;\n -khtml-border-radius: 50%;\n width: 15px;\n height: 15px;\n border: #ddd solid 1px; }\n .color-picker div.cursor {\n cursor: default;\n position: relative;\n -moz-border-radius: 50%;\n -webkit-border-radius: 50%;\n border-radius: 50%;\n -khtml-border-radius: 50%;\n width: 16px;\n height: 16px;\n border: #222 solid 2px; }\n .color-picker .saturation-lightness {\n cursor: pointer;\n width: 100%;\n height: 130px;\n border: none;\n background-size: 100% 100%;\n background-image: url("data:image/png;base64,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"); }\n .color-picker .box {\n display: -webkit-box;\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox;\n display: flex;\n padding: 4px 8px; }\n .color-picker .box .left {\n position: relative;\n padding: 16px 8px; }\n .color-picker .box .right {\n -webkit-flex: 1 1 auto;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n padding: 12px 8px; }\n .color-picker .hue {\n cursor: pointer;\n width: 100%;\n height: 16px;\n border: none;\n margin-bottom: 16px;\n background-size: 100% 100%;\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC"); }\n .color-picker .alpha {\n cursor: pointer;\n width: 100%;\n height: 16px;\n border: none;\n background-size: 100% 100%;\n 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=="); }\n .color-picker .selected-color {\n width: 40px;\n height: 40px;\n top: 16px;\n left: 8px;\n position: absolute;\n -moz-border-radius: 50%;\n -webkit-border-radius: 50%;\n border-radius: 50%;\n -khtml-border-radius: 50%;\n border: 1px solid #a9a9a9; }\n .color-picker .selected-color-background {\n width: 40px;\n height: 40px;\n -moz-border-radius: 50%;\n -webkit-border-radius: 50%;\n border-radius: 50%;\n -khtml-border-radius: 50%;\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYR+2W0QlAMQgD60zdfwOdqa8TmI/wQMr5K0I5bZLIzLOa2nt37VVVbd+dDx5obgCC3KBLwJ2ff4PnVidkf+ucIhw80HQaCLo3DMH3CRK3iFsmAWVl6hPNDwt8EvNE5q+YuEXcMgkonVM6SdyCoEvAnZ8v1Hjx817MilmxSUB5rdLJDycZgUAZUch/AAAAAElFTkSuQmCC"); }\n .color-picker .type-policy {\n position: absolute;\n top: 215px;\n right: 12px;\n 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==");\n background-repeat: no-repeat;\n background-position: center;\n background-size: 8px 16px;\n -moz-background-size: 8px 16px;\n -webkit-background-size: 8px 16px;\n -o-background-size: 8px 16px;\n width: 16px;\n height: 24px; }\n .color-picker .hsla-text, .color-picker .rgba-text {\n width: 100%;\n font-size: 11px;\n padding: 4px 8px; }\n .color-picker .hsla-text .box, .color-picker .rgba-text .box {\n padding: 0 24px 8px 8px; }\n .color-picker .hsla-text .box input, .color-picker .rgba-text .box input {\n min-width: 0;\n -webkit-flex: 1;\n -ms-flex: 1;\n flex: 1;\n margin: 0;\n float: left;\n margin-right: 8px;\n border: #a9a9a9 solid 1px;\n padding: 1px; }\n .color-picker .hsla-text .box input:last-child, .color-picker .rgba-text .box input:last-child {\n margin-right: 0; }\n .color-picker .hsla-text .box div, .color-picker .rgba-text .box div {\n -webkit-flex: 1 1 auto;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n text-align: center;\n color: #555;\n margin-right: 8px; }\n .color-picker .hsla-text .box div:last-child, .color-picker .rgba-text .box div:last-child {\n margin-right: 0; }\n .color-picker .hex-text {\n width: 100%;\n font-size: 11px;\n padding: 4px 8px; }\n .color-picker .hex-text .box {\n padding: 0 24px 8px 8px; }\n .color-picker .hex-text .box input {\n -webkit-flex: 1 1 auto;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n border: #a9a9a9 solid 1px;\n padding: 1px; }\n .color-picker .hex-text .box div {\n -webkit-flex: 1 1 auto;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n text-align: center;\n color: #555;\n float: left;\n clear: left; }\n .color-picker .cp-add-color-button-class {\n background: transparent;\n border: 0;\n cursor: pointer;\n display: inline;\n margin-left: -3px;\n margin-top: 3px;\n padding: 0;\n position: absolute; }\n .color-picker .cp-add-color-button-class:hover {\n text-decoration: underline; }\n .color-picker .cp-add-color-button-class:disabled {\n color: #999;\n cursor: not-allowed; }\n .color-picker .cp-add-color-button-class:disabled:hover {\n text-decoration: none; }\n .color-picker .cp-remove-color-button-class {\n background: #fff;\n border-radius: 50%;\n box-shadow: 1px 1px 5px #333;\n cursor: pointer;\n display: block;\n height: 10px;\n position: absolute;\n right: -5px;\n text-align: center;\n top: -5px;\n width: 10px; }\n .color-picker .cp-remove-color-button-class:before {\n bottom: 3.5px;\n content: \'x\';\n display: inline-block;\n font-size: 10px;\n position: relative; }\n'},function(t,e){t.exports='<div class="color-picker" [style.visibility]="hidden || !show ? \'hidden\' : \'visible\'" [style.height.px]="cpHeight" [style.width.px]="cpWidth" [style.top.px]="top" [style.left.px]="left" [style.position]="position" #dialogPopup>\n <div *ngIf="cpDialogDisplay==\'popup\'" class="arrow arrow-{{cpPosition}}" [style.top.px]="arrowTop"></div>\n\n <div [slider] [style.background-color]="hueSliderColor" [rgX]="1" [rgY]="1" (newValue)="setSaturationAndBrightness($event)" (dragStart)="onDragStart(\'saturation-lightness\')" (dragEnd)="onDragEnd(\'saturation-lightness\')" class="saturation-lightness">\n <div [style.left.px]="slider.s" [style.top.px]="slider.v" class="cursor"></div>\n </div>\n <div class="box">\n <div class="left">\n <div class="selected-color-background"></div>\n <div [style.background-color]="selectedColor" class="selected-color"></div>\n <button \n *ngIf="cpAddColorButton" \n class="{{cpAddColorButtonClass}}" \n (click)="addPresetColor(selectedColor)" \n [disabled]="cpPresetColors && cpPresetColors.length >= cpMaxPresetColorsLength">\n {{cpAddColorButtonText}}\n </button>\n </div>\n <div class="right">\n <div *ngIf="cpAlphaChannel===\'disabled\'" style="height: 16px;"></div>\n\n <div [slider] [rgX]="1" (newValue)="setHue($event)" (dragStart)="onDragStart(\'hue\')" (dragEnd)="onDragEnd(\'hue\')" class="hue" #hueSlider>\n <div [style.left.px]="slider.h" class="cursor"></div>\n </div>\n\n <div [style.display]="cpAlphaChannel === \'disabled\' ? \'none\' : \'block\'" [slider] [style.background-color]="alphaSliderColor" [rgX]="1" (newValue)="setAlpha($event)" (dragStart)="onDragStart(\'alpha\')" (dragEnd)="onDragEnd(\'alpha\')" class="alpha" #alphaSlider>\n <div [style.left.px]="slider.a" class="cursor"></div>\n </div>\n </div>\n </div>\n\n <div [style.display]="format !== 2 ? \'none\' : \'block\'" class="hsla-text">\n <div class="box">\n <input [text] type="number" pattern="[0-9]*" min="0" max="360" [rg]="360" (newValue)="setHue($event)" [value]="hslaText.h"/>\n <input [text] type="number" pattern="[0-9]*" min="0" max="100" [rg]="100" (newValue)="setSaturation($event)" [value]="hslaText.s"/>\n <input [text] type="number" pattern="[0-9]*" min="0" max="100" [rg]="100" (newValue)="setLightness($event)" [value]="hslaText.l"/>\n <input *ngIf="cpAlphaChannel!==\'disabled\'" [text] type="number" pattern="[0-9]+([\\.,][0-9]{1,2})?" min="0" max="1" step="0.1" [rg]="1" (newValue)="setA($event)" [value]="hslaText.a"/>\n </div>\n <div class="box">\n <div>H</div><div>S</div><div>L</div><div *ngIf="cpAlphaChannel!==\'disabled\'">A</div>\n </div>\n </div>\n\n <div [style.display]="format !== 1 ? \'none\' : \'block\'" class="rgba-text">\n <div class="box">\n <input [text] type="number" pattern="[0-9]*" min="0" max="255" [rg]="255" (newValue)="setR($event)" [value]="rgbaText.r"/>\n <input [text] type="number" pattern="[0-9]*" min="0" max="255" [rg]="255" (newValue)="setG($event)" [value]="rgbaText.g"/>\n <input [text] type="number" pattern="[0-9]*" min="0" max="255" [rg]="255" (newValue)="setB($event)" [value]="rgbaText.b"/>\n <input *ngIf="cpAlphaChannel!==\'disabled\'" [text] type="number" pattern="[0-9]+([\\.,][0-9]{1,2})?" min="0" max="1" step="0.1" [rg]="1" (newValue)="setA($event)" [value]="rgbaText.a"/>\n </div>\n <div class="box">\n <div>R</div><div>G</div><div>B</div><div *ngIf="cpAlphaChannel!==\'disabled\'" >A</div>\n </div>\n </div>\n\n <div [style.display]="format !== 0 ? \'none\' : \'block\'" class="hex-text">\n <div class="box">\n <input [text] (newValue)="setHex($event)" [value]="hexText"/>\n </div>\n <div class="box">\n <div>Hex</div>\n </div>\n </div>\n\n <div (click)="formatPolicy()" class="type-policy"></div>\n\n <div *ngIf="cpPresetColors" class="preset-area">\n <hr>\n\n <div class="preset-label">{{cpPresetLabel}}</div>\n <div *ngIf="cpPresetColors.length">\n <div *ngFor="let color of cpPresetColors" class="preset-color" [style.backgroundColor]="color" (click)="setColorFromString(color)">\n <span *ngIf="cpAddColorButton" class="{{cpRemoveColorButtonClass}}" (click)="removePresetColor(color)"></span>\n </div>\n </div>\n\n <div *ngIf="!cpPresetColors.length && cpAddColorButton" class="{{cpPresetEmptyMessageClass}}">{{cpPresetEmptyMessage}}</div>\n </div>\n\n <div *ngIf="cpOKButton || cpCancelButton" class="button-area">\n <button *ngIf="cpOKButton" type="button" class="{{cpOKButtonClass}}" (click)="oKColor($event)">{{cpOKButtonText}}</button>\n <button *ngIf="cpCancelButton" type="button" class="{{cpCancelButtonClass}}" (click)="cancelColor($event)">{{cpCancelButtonText}}</button>\n </div>\n\n</div>\n'},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){for(var o in t)e.hasOwnProperty(o)||(e[o]=t[o])}(o(6))},function(t,e,o){"use strict";var i=this&&this.__decorate||function(t,e,o,i){var n,r=arguments.length,s=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,o,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(s=(r<3?n(s):r>3?n(e,o,s):n(e,o))||s);return r>3&&s&&Object.defineProperty(e,o,s),s};Object.defineProperty(e,"__esModule",{value:!0});var n=o(0),r=o(11),s=o(4),a=o(1),p=o(2),l=o(5),c=function(){function t(){}return t=i([n.NgModule({imports:[r.CommonModule],providers:[a.ColorPickerService],declarations:[p.ColorPickerComponent,l.ColorPickerDirective,s.TextDirective,s.SliderDirective],exports:[l.ColorPickerDirective],entryComponents:[p.ColorPickerComponent]})],t)}();e.ColorPickerModule=c},function(t,o){t.exports=e}])});
(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports,require("@angular/core"),require("@angular/common")):typeof define==="function"&&define.amd?define(["exports","@angular/core","@angular/common"],factory):factory((global.zef=global.zef||{},global.zef.ngxColorPicker={}),global.ng.core,global.ng.common)})(this,function(exports,core,common){"use strict";var Hsva=function(){function Hsva(h,s,v,a){this.h=h;this.s=s;this.v=v;this.a=a}return Hsva}();var Hsla=function(){function Hsla(h,s,l,a){this.h=h;this.s=s;this.l=l;this.a=a}return Hsla}();var Rgba=function(){function Rgba(r,g,b,a){this.r=r;this.g=g;this.b=b;this.a=a}return Rgba}();var ColorPickerService=function(){function ColorPickerService(){this.active=null}ColorPickerService.prototype.setActive=function(active){if(this.active&&this.active.cpDialogDisplay!=="inline"){this.active.closeColorPicker()}this.active=active};ColorPickerService.prototype.hsla2hsva=function(hsla){var h=Math.min(hsla.h,1),s=Math.min(hsla.s,1),l=Math.min(hsla.l,1),a=Math.min(hsla.a,1);if(l===0){return new Hsva(h,0,0,a)}else{var v=l+s*(1-Math.abs(2*l-1))/2;return new Hsva(h,2*(v-l)/v,v,a)}};ColorPickerService.prototype.hsva2hsla=function(hsva){var h=hsva.h,s=hsva.s,v=hsva.v,a=hsva.a;if(v===0){return new Hsla(h,0,0,a)}else if(s===0&&v===1){return new Hsla(h,1,1,a)}else{var l=v*(2-s)/2;return new Hsla(h,v*s/(1-Math.abs(2*l-1)),l,a)}};ColorPickerService.prototype.rgbaToHsva=function(rgba){var r=Math.min(rgba.r,1),g=Math.min(rgba.g,1),b=Math.min(rgba.b,1),a=Math.min(rgba.a,1);var max=Math.max(r,g,b),min=Math.min(r,g,b);var h,s,v=max;var d=max-min;s=max===0?0:d/max;if(max===min){h=0}else{switch(max){case r:h=(g-b)/d+(g<b?6:0);break;case g:h=(b-r)/d+2;break;case b:h=(r-g)/d+4;break}h/=6}return new Hsva(h,s,v,a)};ColorPickerService.prototype.hsvaToRgba=function(hsva){var h=hsva.h,s=hsva.s,v=hsva.v,a=hsva.a;var r,g,b;var i=Math.floor(h*6);var f=h*6-i;var p=v*(1-s);var q=v*(1-f*s);var t=v*(1-(1-f)*s);switch(i%6){case 0:r=v,g=t,b=p;break;case 1:r=q,g=v,b=p;break;case 2:r=p,g=v,b=t;break;case 3:r=p,g=q,b=v;break;case 4:r=t,g=p,b=v;break;case 5:r=v,g=p,b=q;break}return new Rgba(r,g,b,a)};ColorPickerService.prototype.stringToHsva=function(colorString,allowHex8){if(colorString===void 0){colorString=""}if(allowHex8===void 0){allowHex8=false}var stringParsers=[{re:/(rgb)a?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*%?,\s*(\d{1,3})\s*%?(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(execResult){return new Rgba(parseInt(execResult[2])/255,parseInt(execResult[3])/255,parseInt(execResult[4])/255,isNaN(parseFloat(execResult[5]))?1:parseFloat(execResult[5]))}},{re:/(hsl)a?\(\s*(\d{1,3})\s*,\s*(\d{1,3})%\s*,\s*(\d{1,3})%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,parse:function(execResult){return new Hsla(parseInt(execResult[2])/360,parseInt(execResult[3])/100,parseInt(execResult[4])/100,isNaN(parseFloat(execResult[5]))?1:parseFloat(execResult[5]))}}];if(allowHex8){stringParsers.push({re:/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})?$/,parse:function(execResult){return new Rgba(parseInt(execResult[1],16)/255,parseInt(execResult[2],16)/255,parseInt(execResult[3],16)/255,parseInt(execResult[4]||"FF",16)/255)}})}else{stringParsers.push({re:/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/,parse:function(execResult){return new Rgba(parseInt(execResult[1],16)/255,parseInt(execResult[2],16)/255,parseInt(execResult[3],16)/255,1)}},{re:/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])$/,parse:function(execResult){return new Rgba(parseInt(execResult[1]+execResult[1],16)/255,parseInt(execResult[2]+execResult[2],16)/255,parseInt(execResult[3]+execResult[3],16)/255,1)}})}colorString=(colorString||"").toLowerCase();var hsva=null;for(var key in stringParsers){if(stringParsers.hasOwnProperty(key)){var parser=stringParsers[key];var match=parser.re.exec(colorString),color=match&&parser.parse(match);if(color){if(color instanceof Rgba){hsva=this.rgbaToHsva(color)}else if(color instanceof Hsla){hsva=this.hsla2hsva(color)}return hsva}}}return hsva};ColorPickerService.prototype.outputFormat=function(hsva,outputFormat,alphaChannel){switch(outputFormat){case"hsla":var hsla=this.hsva2hsla(hsva);var hslaText=new Hsla(Math.round(hsla.h*360),Math.round(hsla.s*100),Math.round(hsla.l*100),Math.round(hsla.a*100)/100);if(hsva.a<1||alphaChannel==="always"){return"hsla("+hslaText.h+","+hslaText.s+"%,"+hslaText.l+"%,"+hslaText.a+")"}else{return"hsl("+hslaText.h+","+hslaText.s+"%,"+hslaText.l+"%)"}case"rgba":var rgba=this.denormalizeRGBA(this.hsvaToRgba(hsva));if(hsva.a<1||alphaChannel==="always"){return"rgba("+rgba.r+","+rgba.g+","+rgba.b+","+Math.round(rgba.a*100)/100+")"}else{return"rgb("+rgba.r+","+rgba.g+","+rgba.b+")"}default:return this.hexText(this.denormalizeRGBA(this.hsvaToRgba(hsva)),alphaChannel==="always"||alphaChannel==="hex8")}};ColorPickerService.prototype.hexText=function(rgba,allowHex8){var hexText="#"+(1<<24|rgba.r<<16|rgba.g<<8|rgba.b).toString(16).substr(1);if(allowHex8){hexText+=(1<<8|Math.round(rgba.a*255)).toString(16).substr(1)}return hexText};ColorPickerService.prototype.denormalizeRGBA=function(rgba){return new Rgba(Math.round(rgba.r*255),Math.round(rgba.g*255),Math.round(rgba.b*255),rgba.a)};ColorPickerService.decorators=[{type:core.Injectable}];ColorPickerService.ctorParameters=function(){return[]};return ColorPickerService}();var TextDirective=function(){function TextDirective(){this.newValue=new core.EventEmitter}TextDirective.prototype.changeInput=function(value){if(this.rg===undefined){this.newValue.emit(value)}else{var numeric=parseFloat(value);if(!isNaN(numeric)&&numeric>=0&&numeric<=this.rg){this.newValue.emit({v:numeric,rg:this.rg})}}};TextDirective.decorators=[{type:core.Directive,args:[{selector:"[text]",host:{"(input)":"changeInput($event.target.value)"}}]}];TextDirective.ctorParameters=function(){return[]};TextDirective.propDecorators={newValue:[{type:core.Output,args:["newValue"]}],text:[{type:core.Input,args:["text"]}],rg:[{type:core.Input,args:["rg"]}]};return TextDirective}();var SliderDirective=function(){function SliderDirective(el){var _this=this;this.el=el;this.newValue=new core.EventEmitter;this.dragStart=new core.EventEmitter;this.dragEnd=new core.EventEmitter;this.listenerMove=function(event){_this.move(event)};this.listenerStop=function(){_this.stop()}}SliderDirective.prototype.setCursor=function(event){var height=this.el.nativeElement.offsetHeight;var width=this.el.nativeElement.offsetWidth;var x=Math.max(0,Math.min(this.getX(event),width));var y=Math.max(0,Math.min(this.getY(event),height));if(this.rgX!==undefined&&this.rgY!==undefined){this.newValue.emit({s:x/width,v:1-y/height,rgX:this.rgX,rgY:this.rgY})}else if(this.rgX===undefined&&this.rgY!==undefined){this.newValue.emit({v:y/height,rg:this.rgY})}else{this.newValue.emit({v:x/width,rg:this.rgX})}};SliderDirective.prototype.move=function(event){event.preventDefault();this.setCursor(event)};SliderDirective.prototype.start=function(event){this.setCursor(event);document.addEventListener("mousemove",this.listenerMove);document.addEventListener("touchmove",this.listenerMove);document.addEventListener("mouseup",this.listenerStop);document.addEventListener("touchend",this.listenerStop);this.dragStart.emit()};SliderDirective.prototype.stop=function(){document.removeEventListener("mousemove",this.listenerMove);document.removeEventListener("touchmove",this.listenerMove);document.removeEventListener("mouseup",this.listenerStop);document.removeEventListener("touchend",this.listenerStop);this.dragEnd.emit()};SliderDirective.prototype.getX=function(event){return(event.pageX!==undefined?event.pageX:event.touches[0].pageX)-this.el.nativeElement.getBoundingClientRect().left-window.pageXOffset};SliderDirective.prototype.getY=function(event){return(event.pageY!==undefined?event.pageY:event.touches[0].pageY)-this.el.nativeElement.getBoundingClientRect().top-window.pageYOffset};SliderDirective.decorators=[{type:core.Directive,args:[{selector:"[slider]",host:{"(mousedown)":"start($event)","(touchstart)":"start($event)"}}]}];SliderDirective.ctorParameters=function(){return[{type:core.ElementRef}]};SliderDirective.propDecorators={newValue:[{type:core.Output,args:["newValue"]}],dragStart:[{type:core.Output,args:["dragStart"]}],dragEnd:[{type:core.Output,args:["dragEnd"]}],slider:[{type:core.Input,args:["slider"]}],rgX:[{type:core.Input,args:["rgX"]}],rgY:[{type:core.Input,args:["rgY"]}]};return SliderDirective}();var SliderPosition=function(){function SliderPosition(h,s,v,a){this.h=h;this.s=s;this.v=v;this.a=a}return SliderPosition}();var SliderDimension=function(){function SliderDimension(h,s,v,a){this.h=h;this.s=s;this.v=v;this.a=a}return SliderDimension}();function detectIE(){var ua="";if(typeof navigator!=="undefined"){ua=navigator.userAgent.toLowerCase()}var msie=ua.indexOf("msie ");if(msie>0){return parseInt(ua.substring(msie+5,ua.indexOf(".",msie)),10)}return false}var ColorPickerComponent=function(){function ColorPickerComponent(el,cdr,service){this.el=el;this.cdr=cdr;this.service=service;this.dialogArrowSize=10;this.dialogArrowOffset=15;this.useRootViewContainer=false;this.isIE10=false}ColorPickerComponent.prototype.setDialog=function(instance,elementRef,color,cpPosition,cpPositionOffset,cpPositionRelativeToArrow,cpOutputFormat,cpPresetLabel,cpPresetEmptyMessage,cpPresetEmptyMessageClass,cpPresetColors,cpMaxPresetColorsLength,cpCancelButton,cpCancelButtonClass,cpCancelButtonText,cpOKButton,cpOKButtonClass,cpOKButtonText,cpAddColorButton,cpAddColorButtonClass,cpAddColorButtonText,cpRemoveColorButtonClass,cpHeight,cpWidth,cpIgnoredElements,cpDialogDisplay,cpSaveClickOutside,cpAlphaChannel,cpUseRootViewContainer){this.directiveInstance=instance;this.initialColor=color;this.directiveElementRef=elementRef;this.cpPosition=cpPosition;this.cpPositionOffset=parseInt(cpPositionOffset);if(!cpPositionRelativeToArrow){this.dialogArrowOffset=0}this.cpOutputFormat=cpOutputFormat;this.cpPresetLabel=cpPresetLabel;this.cpPresetEmptyMessage=cpPresetEmptyMessage;this.cpPresetEmptyMessageClass=cpPresetEmptyMessageClass;this.cpPresetColors=cpPresetColors;this.cpMaxPresetColorsLength=cpMaxPresetColorsLength;this.cpCancelButton=cpCancelButton;this.cpCancelButtonClass=cpCancelButtonClass;this.cpCancelButtonText=cpCancelButtonText;this.cpOKButton=cpOKButton;this.cpOKButtonClass=cpOKButtonClass;this.cpOKButtonText=cpOKButtonText;this.cpAddColorButton=cpAddColorButton;this.cpAddColorButtonClass=cpAddColorButtonClass;this.cpAddColorButtonText=cpAddColorButtonText;this.cpRemoveColorButtonClass=cpRemoveColorButtonClass;this.width=this.cpWidth=parseInt(cpWidth);this.height=this.cpHeight=parseInt(cpHeight);this.cpIgnoredElements=cpIgnoredElements;this.cpDialogDisplay=cpDialogDisplay;if(this.cpDialogDisplay==="inline"){this.dialogArrowOffset=0;this.dialogArrowSize=0}this.cpSaveClickOutside=cpSaveClickOutside;this.cpAlphaChannel=cpAlphaChannel;this.useRootViewContainer=cpUseRootViewContainer;if(cpOutputFormat==="hex"&&cpAlphaChannel!=="always"&&cpAlphaChannel!=="hex8"){this.cpAlphaChannel="disabled"}this.isIE10=detectIE()===10};ColorPickerComponent.prototype.ngOnInit=function(){var _this=this;var alphaWidth=this.alphaSlider.nativeElement.offsetWidth;var hueWidth=this.hueSlider.nativeElement.offsetWidth;this.sliderDimMax=new SliderDimension(hueWidth,this.cpWidth,130,alphaWidth);this.slider=new SliderPosition(0,0,0,0);if(this.cpOutputFormat==="rgba"){this.format=1}else if(this.cpOutputFormat==="hsla"){this.format=2}else{this.format=0}this.listenerMouseDown=function(event){_this.onMouseDown(event)};this.listenerResize=function(){_this.onResize()};this.openDialog(this.initialColor,false)};ColorPickerComponent.prototype.ngAfterViewInit=function(){if(this.cpWidth!=230){var alphaWidth=this.alphaSlider.nativeElement.offsetWidth;var hueWidth=this.hueSlider.nativeElement.offsetWidth;this.sliderDimMax=new SliderDimension(hueWidth,this.cpWidth,130,alphaWidth);this.update(false);this.cdr.detectChanges()}};ColorPickerComponent.prototype.setInitialColor=function(color){this.initialColor=color};ColorPickerComponent.prototype.setPresetConfig=function(cpPresetLabel,cpPresetColors){this.cpPresetLabel=cpPresetLabel;this.cpPresetColors=cpPresetColors};ColorPickerComponent.prototype.openDialog=function(color,emit){if(emit===void 0){emit=true}this.service.setActive(this);if(!this.width){this.cpWidth=this.directiveElementRef.nativeElement.offsetWidth}this.setInitialColor(color);this.setColorFromString(color,emit);this.openColorPicker()};ColorPickerComponent.prototype.cancelColor=function(event){if(event&&event.stopPropagation){event.stopPropagation()}this.setColorFromString(this.initialColor,true);if(this.cpDialogDisplay==="popup"){this.directiveInstance.colorChanged(this.initialColor,true);this.closeColorPicker()}this.directiveInstance.colorCanceled()};ColorPickerComponent.prototype.oKColor=function(event){if(event&&event.stopPropagation){event.stopPropagation()}if(this.cpDialogDisplay==="popup"){this.closeColorPicker()}if(this.outputColor){this.directiveInstance.colorSelected(this.outputColor)}};ColorPickerComponent.prototype.setColorFromString=function(value,emit){if(emit===void 0){emit=true}var hsva;if(this.cpAlphaChannel==="always"||this.cpAlphaChannel==="hex8"){hsva=this.service.stringToHsva(value,true);if(!hsva&&!this.hsva){hsva=this.service.stringToHsva(value,false)}}else{hsva=this.service.stringToHsva(value,false)}if(hsva){this.hsva=hsva;this.update(emit)}};ColorPickerComponent.prototype.addPresetColor=function(value){if(!this.cpPresetColors.filter(function(color){return color===value}).length){this.cpPresetColors=this.cpPresetColors.concat(value);this.directiveInstance.presetColorsChanged(this.cpPresetColors)}};ColorPickerComponent.prototype.removePresetColor=function(value){this.cpPresetColors=this.cpPresetColors.filter(function(color){return color!==value});this.directiveInstance.presetColorsChanged(this.cpPresetColors)};ColorPickerComponent.prototype.onDragEnd=function(slider){this.directiveInstance.sliderDragEnd({slider:slider,color:this.outputColor})};ColorPickerComponent.prototype.onDragStart=function(slider){this.directiveInstance.sliderDragStart({slider:slider,color:this.outputColor})};ColorPickerComponent.prototype.onMouseDown=function(event){if(!this.isDescendant(this.el.nativeElement,event.target)&&event.target!=this.directiveElementRef.nativeElement&&this.cpIgnoredElements.filter(function(item){return item===event.target}).length===0&&this.cpDialogDisplay==="popup"&&!this.isIE10){if(!this.cpSaveClickOutside){this.setColorFromString(this.initialColor,false);this.directiveInstance.colorChanged(this.initialColor)}this.closeColorPicker()}};ColorPickerComponent.prototype.openColorPicker=function(){var _this=this;if(!this.show){this.show=true;this.hidden=true;setTimeout(function(){_this.setDialogPosition();_this.hidden=false;_this.cdr.detectChanges()},0);this.directiveInstance.toggle(true);if(!this.isIE10){document.addEventListener("mousedown",this.listenerMouseDown)}window.addEventListener("resize",this.listenerResize)}};ColorPickerComponent.prototype.closeColorPicker=function(){if(this.show){this.show=false;this.directiveInstance.toggle(false);if(!this.isIE10){document.removeEventListener("mousedown",this.listenerMouseDown)}window.removeEventListener("resize",this.listenerResize);this.cdr.detectChanges()}};ColorPickerComponent.prototype.onResize=function(){if(this.position==="fixed"){this.setDialogPosition()}else if(this.cpDialogDisplay!=="inline"){this.closeColorPicker()}};ColorPickerComponent.prototype.setDialogPosition=function(){if(this.cpDialogDisplay==="inline"){this.position="relative";return}var dialogHeight=this.dialogElement.nativeElement.offsetHeight;var node=this.directiveElementRef.nativeElement.parentNode,position="static",transform="";var parentNode=null,transformNode=null,style=null;while(node!==null&&node.tagName!=="HTML"){style=window.getComputedStyle(node);position=style.getPropertyValue("position");transform=style.getPropertyValue("transform");if(position!=="static"&&parentNode===null){parentNode=node}if(transform&&transform!=="none"&&transformNode===null){transformNode=node}if(position==="fixed"){parentNode=transformNode;break}node=node.parentNode}var boxDirective=this.createBox(this.directiveElementRef.nativeElement,position!=="fixed");if((position!=="fixed"||parentNode)&&!this.useRootViewContainer){if(parentNode===null){parentNode=node}var boxParent=this.createBox(parentNode,position!=="fixed");this.top=boxDirective.top-boxParent.top;this.left=boxDirective.left-boxParent.left}else{this.top=boxDirective.top;this.left=boxDirective.left}if(position==="fixed"){this.position="fixed"}if(this.cpPosition==="left"){this.top+=boxDirective.height*this.cpPositionOffset/100-this.dialogArrowOffset;this.left-=this.cpWidth+this.dialogArrowSize-2}else if(this.cpPosition==="top"){this.top-=dialogHeight+this.dialogArrowSize;this.left+=this.cpPositionOffset/100*boxDirective.width-this.dialogArrowOffset;this.arrowTop=dialogHeight-1}else if(this.cpPosition==="bottom"){this.top+=boxDirective.height+this.dialogArrowSize;this.left+=this.cpPositionOffset/100*boxDirective.width-this.dialogArrowOffset}else{this.top+=boxDirective.height*this.cpPositionOffset/100-this.dialogArrowOffset;this.left+=boxDirective.width+this.dialogArrowSize-2}};ColorPickerComponent.prototype.setSaturation=function(val){var hsla=this.service.hsva2hsla(this.hsva);hsla.s=val.v/val.rg;this.hsva=this.service.hsla2hsva(hsla);this.update();this.directiveInstance.inputChanged({input:"saturation",value:hsla.s,color:this.outputColor})};ColorPickerComponent.prototype.setLightness=function(val){var hsla=this.service.hsva2hsla(this.hsva);hsla.l=val.v/val.rg;this.hsva=this.service.hsla2hsva(hsla);this.update();this.directiveInstance.inputChanged({input:"lightness",value:hsla.l,color:this.outputColor})};ColorPickerComponent.prototype.setHue=function(val){this.hsva.h=val.v/val.rg;this.update();this.directiveInstance.sliderChanged({slider:"hue",value:this.hsva.h,color:this.outputColor})};ColorPickerComponent.prototype.setAlpha=function(val){this.hsva.a=val.v/val.rg;this.update();this.directiveInstance.sliderChanged({slider:"alpha",value:this.hsva.a,color:this.outputColor})};ColorPickerComponent.prototype.setR=function(val){var rgba=this.service.hsvaToRgba(this.hsva);rgba.r=val.v/val.rg;this.hsva=this.service.rgbaToHsva(rgba);this.update();this.directiveInstance.inputChanged({input:"red",value:rgba.r,color:this.outputColor})};ColorPickerComponent.prototype.setG=function(val){var rgba=this.service.hsvaToRgba(this.hsva);rgba.g=val.v/val.rg;this.hsva=this.service.rgbaToHsva(rgba);this.update();this.directiveInstance.inputChanged({input:"green",value:rgba.g,color:this.outputColor})};ColorPickerComponent.prototype.setB=function(val){var rgba=this.service.hsvaToRgba(this.hsva);rgba.b=val.v/val.rg;this.hsva=this.service.rgbaToHsva(rgba);this.update();this.directiveInstance.inputChanged({input:"blue",value:rgba.b,color:this.outputColor})};ColorPickerComponent.prototype.setA=function(val){this.hsva.a=val.v/val.rg;this.update();this.directiveInstance.inputChanged({input:"alpha",value:this.hsva.a,color:this.outputColor})};ColorPickerComponent.prototype.setHex=function(val){this.setColorFromString(val);this.directiveInstance.inputChanged({input:"hex",value:val,color:this.outputColor})};ColorPickerComponent.prototype.setSaturationAndBrightness=function(val){this.hsva.s=val.s/val.rgX;this.hsva.v=val.v/val.rgY;this.update();this.directiveInstance.sliderChanged({slider:"lightness",value:this.hsva.v,color:this.outputColor});this.directiveInstance.sliderChanged({slider:"saturation",value:this.hsva.s,color:this.outputColor})};ColorPickerComponent.prototype.formatPolicy=function(){this.format=(this.format+1)%3;return this.format};ColorPickerComponent.prototype.update=function(emit){if(emit===void 0){emit=true}if(this.sliderDimMax){var hsla=this.service.hsva2hsla(this.hsva);var rgba=this.service.denormalizeRGBA(this.service.hsvaToRgba(this.hsva));var hueRgba=this.service.denormalizeRGBA(this.service.hsvaToRgba(new Hsva(this.hsva.h,1,1,1)));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);this.rgbaText=new Rgba(rgba.r,rgba.g,rgba.b,Math.round(rgba.a*100)/100);this.hexText=this.service.hexText(rgba,this.cpAlphaChannel==="always"||this.cpAlphaChannel==="hex8");this.alphaSliderColor="rgb("+rgba.r+","+rgba.g+","+rgba.b+")";this.hueSliderColor="rgb("+hueRgba.r+","+hueRgba.g+","+hueRgba.b+")";var lastOutput=this.outputColor;this.outputColor=this.service.outputFormat(this.hsva,this.cpOutputFormat,this.cpAlphaChannel);this.selectedColor=this.service.outputFormat(this.hsva,"rgba",null);this.slider=new 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);if(emit&&lastOutput!==this.outputColor){this.directiveInstance.colorChanged(this.outputColor)}}};ColorPickerComponent.prototype.isDescendant=function(parent,child){var node=child.parentNode;while(node!==null){if(node===parent){return true}node=node.parentNode}return false};ColorPickerComponent.prototype.createBox=function(element,offset){return{top:element.getBoundingClientRect().top+(offset?window.pageYOffset:0),left:element.getBoundingClientRect().left+(offset?window.pageXOffset:0),width:element.offsetWidth,height:element.offsetHeight}};ColorPickerComponent.decorators=[{type:core.Component,args:[{selector:"color-picker",template:'<div class="color-picker" [style.visibility]="hidden || !show ? \'hidden\' : \'visible\'" [style.height.px]="cpHeight" [style.width.px]="cpWidth" [style.top.px]="top" [style.left.px]="left" [style.position]="position" #dialogPopup><div *ngIf="cpDialogDisplay==\'popup\'" class="arrow arrow-{{cpPosition}}" [style.top.px]="arrowTop"></div><div [slider] [style.background-color]="hueSliderColor" [rgX]="1" [rgY]="1" (newValue)="setSaturationAndBrightness($event)" (dragStart)="onDragStart(\'saturation-lightness\')" (dragEnd)="onDragEnd(\'saturation-lightness\')" class="saturation-lightness"><div [style.left.px]="slider.s" [style.top.px]="slider.v" class="cursor"></div></div><div class="box"><div class="left"><div class="selected-color-background"></div><div [style.background-color]="selectedColor" class="selected-color"></div><button *ngIf="cpAddColorButton" class="{{cpAddColorButtonClass}}" (click)="addPresetColor(selectedColor)" [disabled]="cpPresetColors && cpPresetColors.length >= cpMaxPresetColorsLength">{{cpAddColorButtonText}}</button></div><div class="right"><div *ngIf="cpAlphaChannel===\'disabled\'" style="height: 16px"></div><div [slider] [rgX]="1" (newValue)="setHue($event)" (dragStart)="onDragStart(\'hue\')" (dragEnd)="onDragEnd(\'hue\')" class="hue" #hueSlider><div [style.left.px]="slider.h" class="cursor"></div></div><div [style.display]="cpAlphaChannel === \'disabled\' ? \'none\' : \'block\'" [slider] [style.background-color]="alphaSliderColor" [rgX]="1" (newValue)="setAlpha($event)" (dragStart)="onDragStart(\'alpha\')" (dragEnd)="onDragEnd(\'alpha\')" class="alpha" #alphaSlider><div [style.left.px]="slider.a" class="cursor"></div></div></div></div><div [style.display]="format !== 2 ? \'none\' : \'block\'" class="hsla-text"><div class="box"><input [text] type="number" pattern="[0-9]*" min="0" max="360" [rg]="360" (newValue)="setHue($event)" [value]="hslaText.h"> <input [text] type="number" pattern="[0-9]*" min="0" max="100" [rg]="100" (newValue)="setSaturation($event)" [value]="hslaText.s"> <input [text] type="number" pattern="[0-9]*" min="0" max="100" [rg]="100" (newValue)="setLightness($event)" [value]="hslaText.l"> <input *ngIf="cpAlphaChannel!==\'disabled\'" [text] type="number" pattern="[0-9]+([.,][0-9]{1,2})?" min="0" max="1" step="0.1" [rg]="1" (newValue)="setA($event)" [value]="hslaText.a"></div><div class="box"><div>H</div><div>S</div><div>L</div><div *ngIf="cpAlphaChannel!==\'disabled\'">A</div></div></div><div [style.display]="format !== 1 ? \'none\' : \'block\'" class="rgba-text"><div class="box"><input [text] type="number" pattern="[0-9]*" min="0" max="255" [rg]="255" (newValue)="setR($event)" [value]="rgbaText.r"> <input [text] type="number" pattern="[0-9]*" min="0" max="255" [rg]="255" (newValue)="setG($event)" [value]="rgbaText.g"> <input [text] type="number" pattern="[0-9]*" min="0" max="255" [rg]="255" (newValue)="setB($event)" [value]="rgbaText.b"> <input *ngIf="cpAlphaChannel!==\'disabled\'" [text] type="number" pattern="[0-9]+([.,][0-9]{1,2})?" min="0" max="1" step="0.1" [rg]="1" (newValue)="setA($event)" [value]="rgbaText.a"></div><div class="box"><div>R</div><div>G</div><div>B</div><div *ngIf="cpAlphaChannel!==\'disabled\'">A</div></div></div><div [style.display]="format !== 0 ? \'none\' : \'block\'" class="hex-text"><div class="box"><input [text] (newValue)="setHex($event)" [value]="hexText"></div><div class="box"><div>Hex</div></div></div><div (click)="formatPolicy()" class="type-policy"></div><div *ngIf="cpPresetColors" class="preset-area"><hr><div class="preset-label">{{cpPresetLabel}}</div><div *ngIf="cpPresetColors.length"><div *ngFor="let color of cpPresetColors" class="preset-color" [style.backgroundColor]="color" (click)="setColorFromString(color)"><span *ngIf="cpAddColorButton" class="{{cpRemoveColorButtonClass}}" (click)="removePresetColor(color)"></span></div></div><div *ngIf="!cpPresetColors.length && cpAddColorButton" class="{{cpPresetEmptyMessageClass}}">{{cpPresetEmptyMessage}}</div></div><div *ngIf="cpOKButton || cpCancelButton" class="button-area"><button *ngIf="cpOKButton" type="button" class="{{cpOKButtonClass}}" (click)="oKColor($event)">{{cpOKButtonText}}</button> <button *ngIf="cpCancelButton" type="button" class="{{cpCancelButtonClass}}" (click)="cancelColor($event)">{{cpCancelButtonText}}</button></div></div>',styles:[".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;position:absolute;z-index:100000;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;min-width:0;-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{-moz-border-radius:25%;-webkit-border-radius:25%;border-radius:25%;-khtml-border-radius:25%;border:#a9a9a9 solid 1px;cursor:pointer;display:inline-block;height:18px;margin:4px 6px 8px 6px;position:relative;width:18px}.color-picker .preset-area .preset-empty-message{font-style:italic;margin-bottom:8px;margin-top:4px;min-height:18px;text-align:center}.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:100%}.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:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;padding:4px 8px}.color-picker .box .left{position:relative;padding:16px 8px}.color-picker .box .right{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;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%;border:1px solid #a9a9a9}.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;-webkit-flex:1;-ms-flex:1;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{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;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{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;border:#a9a9a9 solid 1px;padding:1px}.color-picker .hex-text .box div{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center;color:#555;float:left;clear:left}.color-picker .cp-add-color-button-class{background:0 0;border:0;cursor:pointer;display:inline;margin-left:-3px;margin-top:3px;padding:0;position:absolute}.color-picker .cp-add-color-button-class:hover{text-decoration:underline}.color-picker .cp-add-color-button-class:disabled{color:#999;cursor:not-allowed}.color-picker .cp-add-color-button-class:disabled:hover{text-decoration:none}.color-picker .cp-remove-color-button-class{background:#fff;border-radius:50%;box-shadow:1px 1px 5px #333;cursor:pointer;display:block;height:10px;position:absolute;right:-5px;text-align:center;top:-5px;width:10px}.color-picker .cp-remove-color-button-class:before{bottom:3.5px;content:'x';display:inline-block;font-size:10px;position:relative}"]}]}];ColorPickerComponent.ctorParameters=function(){return[{type:core.ElementRef},{type:core.ChangeDetectorRef},{type:ColorPickerService}]};ColorPickerComponent.propDecorators={hueSlider:[{type:core.ViewChild,args:["hueSlider"]}],alphaSlider:[{type:core.ViewChild,args:["alphaSlider"]}],dialogElement:[{type:core.ViewChild,args:["dialogPopup"]}]};return ColorPickerComponent}();var ColorPickerDirective=function(){function ColorPickerDirective(injector,cfr,appRef,vcRef,elRef,service){this.injector=injector;this.cfr=cfr;this.appRef=appRef;this.vcRef=vcRef;this.elRef=elRef;this.service=service;this.cpPosition="right";this.cpPositionOffset="0%";this.cpPositionRelativeToArrow=false;this.cpOutputFormat="hex";this.cpPresetLabel="Preset colors";this.cpPresetEmptyMessage="No colors added";this.cpPresetEmptyMessageClass="preset-empty-message";this.cpMaxPresetColorsLength=6;this.cpCancelButton=false;this.cpCancelButtonClass="cp-cancel-button-class";this.cpCancelButtonText="Cancel";this.cpOKButton=false;this.cpOKButtonClass="cp-ok-button-class";this.cpOKButtonText="OK";this.cpAddColorButton=false;this.cpAddColorButtonClass="cp-add-color-button-class";this.cpAddColorButtonText="Add color";this.cpRemoveColorButtonClass="cp-remove-color-button-class";this.cpFallbackColor="#fff";this.cpHeight="auto";this.cpWidth="230px";this.cpIgnoredElements=[];this.cpDialogDisplay="popup";this.cpSaveClickOutside=true;this.cpAlphaChannel="enabled";this.cpUseRootViewContainer=false;this.cpInputChange=new core.EventEmitter(true);this.cpToggleChange=new core.EventEmitter(true);this.cpSliderChange=new core.EventEmitter(true);this.cpSliderDragEnd=new core.EventEmitter(true);this.cpSliderDragStart=new core.EventEmitter(true);this.colorPickerCancel=new core.EventEmitter(true);this.colorPickerSelect=new core.EventEmitter(true);this.colorPickerChange=new core.EventEmitter(false);this.presetColorsChange=new core.EventEmitter(true);this.ignoreChanges=false;this.created=false}ColorPickerDirective.prototype.ngOnChanges=function(changes){if(changes.cpToggle){if(changes.cpToggle.currentValue)this.openDialog();if(!changes.cpToggle.currentValue&&this.dialog)this.dialog.closeColorPicker()}if(changes.colorPicker){if(this.dialog&&!this.ignoreChanges){if(this.cpDialogDisplay==="inline"){this.dialog.setInitialColor(changes.colorPicker.currentValue)}this.dialog.setColorFromString(changes.colorPicker.currentValue,false)}this.ignoreChanges=false}if(changes.cpPresetLabel||changes.cpPresetColors){if(this.dialog){this.dialog.setPresetConfig(this.cpPresetLabel,this.cpPresetColors)}}};ColorPickerDirective.prototype.ngOnInit=function(){this.colorPicker=this.colorPicker||this.cpFallbackColor||"rgba(0, 0, 0, 1)"};ColorPickerDirective.prototype.ngOnDestroy=function(){if(this.cmpRef!==undefined){this.cmpRef.destroy()}};ColorPickerDirective.prototype.openDialog=function(){this.colorPicker=this.colorPicker||this.cpFallbackColor||"rgba(0, 0, 0, 1)";if(!this.created){this.created=true;var vcRef=this.vcRef;if(this.cpUseRootViewContainer&&this.cpDialogDisplay!=="inline"){var classOfRootComponent=this.appRef.componentTypes[0];var appInstance=this.injector.get(classOfRootComponent);vcRef=appInstance.vcRef||appInstance.viewContainerRef||this.vcRef;if(vcRef===this.vcRef){console.warn("You are using cpUseRootViewContainer, but the root component is not exposing viewContainerRef!"+"Please expose it by adding 'public vcRef: ViewContainerRef' to the constructor.")}}var compFactory=this.cfr.resolveComponentFactory(ColorPickerComponent);var injector=core.ReflectiveInjector.fromResolvedProviders([],vcRef.parentInjector);this.cmpRef=vcRef.createComponent(compFactory,0,injector,[]);this.cmpRef.instance.setDialog(this,this.elRef,this.colorPicker,this.cpPosition,this.cpPositionOffset,this.cpPositionRelativeToArrow,this.cpOutputFormat,this.cpPresetLabel,this.cpPresetEmptyMessage,this.cpPresetEmptyMessageClass,this.cpPresetColors,this.cpMaxPresetColorsLength,this.cpCancelButton,this.cpCancelButtonClass,this.cpCancelButtonText,this.cpOKButton,this.cpOKButtonClass,this.cpOKButtonText,this.cpAddColorButton,this.cpAddColorButtonClass,this.cpAddColorButtonText,this.cpRemoveColorButtonClass,this.cpHeight,this.cpWidth,this.cpIgnoredElements,this.cpDialogDisplay,this.cpSaveClickOutside,this.cpAlphaChannel,this.cpUseRootViewContainer);this.dialog=this.cmpRef.instance;if(this.vcRef!==vcRef){this.cmpRef.changeDetectorRef.detectChanges()}}else if(this.dialog){this.dialog.openDialog(this.colorPicker)}};ColorPickerDirective.prototype.toggle=function(value){this.cpToggleChange.emit(value)};ColorPickerDirective.prototype.colorChanged=function(value,ignore){if(ignore===void 0){ignore=true}this.ignoreChanges=ignore;this.colorPickerChange.emit(value)};ColorPickerDirective.prototype.colorCanceled=function(){this.colorPickerCancel.emit()};ColorPickerDirective.prototype.colorSelected=function(value){this.colorPickerSelect.emit(value)};ColorPickerDirective.prototype.presetColorsChanged=function(value){this.presetColorsChange.emit(value)};ColorPickerDirective.prototype.inputFocus=function(){var _this=this;if(this.cpIgnoredElements.filter(function(item){return item===_this.elRef.nativeElement}).length===0){this.openDialog()}};ColorPickerDirective.prototype.inputChange=function(value){if(this.dialog){this.dialog.setColorFromString(value,true)}else{this.colorPicker=value||this.cpFallbackColor||"rgba(0, 0, 0, 1)";this.colorPickerChange.emit(this.colorPicker)}};ColorPickerDirective.prototype.inputChanged=function(event){this.cpInputChange.emit(event)};ColorPickerDirective.prototype.sliderChanged=function(event){this.cpSliderChange.emit(event)};ColorPickerDirective.prototype.sliderDragEnd=function(event){this.cpSliderDragEnd.emit(event)};ColorPickerDirective.prototype.sliderDragStart=function(event){this.cpSliderDragStart.emit(event)};ColorPickerDirective.decorators=[{type:core.Directive,args:[{selector:"[colorPicker]",host:{"(click)":"inputFocus()","(focus)":"inputFocus()","(input)":"inputChange($event.target.value)"}}]}];ColorPickerDirective.ctorParameters=function(){return[{type:core.Injector},{type:core.ComponentFactoryResolver},{type:core.ApplicationRef},{type:core.ViewContainerRef},{type:core.ElementRef},{type:ColorPickerService}]};ColorPickerDirective.propDecorators={colorPicker:[{type:core.Input,args:["colorPicker"]}],cpToggle:[{type:core.Input,args:["cpToggle"]}],cpPosition:[{type:core.Input,args:["cpPosition"]}],cpPositionOffset:[{type:core.Input,args:["cpPositionOffset"]}],cpPositionRelativeToArrow:[{type:core.Input,args:["cpPositionRelativeToArrow"]}],cpOutputFormat:[{type:core.Input,args:["cpOutputFormat"]}],cpPresetLabel:[{type:core.Input,args:["cpPresetLabel"]}],cpPresetEmptyMessage:[{type:core.Input,args:["cpPresetEmptyMessage"]}],cpPresetEmptyMessageClass:[{type:core.Input,args:["cpPresetEmptyMessageClass"]}],cpPresetColors:[{type:core.Input,args:["cpPresetColors"]}],cpMaxPresetColorsLength:[{type:core.Input,args:["cpMaxPresetColorsLength"]}],cpCancelButton:[{type:core.Input,args:["cpCancelButton"]}],cpCancelButtonClass:[{type:core.Input,args:["cpCancelButtonClass"]}],cpCancelButtonText:[{type:core.Input,args:["cpCancelButtonText"]}],cpOKButton:[{type:core.Input,args:["cpOKButton"]}],cpOKButtonClass:[{type:core.Input,args:["cpOKButtonClass"]}],cpOKButtonText:[{type:core.Input,args:["cpOKButtonText"]}],cpAddColorButton:[{type:core.Input,args:["cpAddColorButton"]}],cpAddColorButtonClass:[{type:core.Input,args:["cpAddColorButtonClass"]}],cpAddColorButtonText:[{type:core.Input,args:["cpAddColorButtonText"]}],cpRemoveColorButtonClass:[{type:core.Input,args:["cpRemoveColorButtonClass"]}],cpFallbackColor:[{type:core.Input,args:["cpFallbackColor"]}],cpHeight:[{type:core.Input,args:["cpHeight"]}],cpWidth:[{type:core.Input,args:["cpWidth"]}],cpIgnoredElements:[{type:core.Input,args:["cpIgnoredElements"]}],cpDialogDisplay:[{type:core.Input,args:["cpDialogDisplay"]}],cpSaveClickOutside:[{type:core.Input,args:["cpSaveClickOutside"]}],cpAlphaChannel:[{type:core.Input,args:["cpAlphaChannel"]}],cpUseRootViewContainer:[{type:core.Input,args:["cpUseRootViewContainer"]}],cpInputChange:[{type:core.Output,args:["cpInputChange"]}],cpToggleChange:[{type:core.Output,args:["cpToggleChange"]}],cpSliderChange:[{type:core.Output,args:["cpSliderChange"]}],cpSliderDragEnd:[{type:core.Output,args:["cpSliderDragEnd"]}],cpSliderDragStart:[{type:core.Output,args:["cpSliderDragStart"]}],colorPickerCancel:[{type:core.Output,args:["colorPickerCancel"]}],colorPickerSelect:[{type:core.Output,args:["colorPickerSelect"]}],colorPickerChange:[{type:core.Output,args:["colorPickerChange"]}],presetColorsChange:[{type:core.Output,args:["cpPresetColorsChange"]}]};return ColorPickerDirective}();var ColorPickerModule=function(){function ColorPickerModule(){}ColorPickerModule.decorators=[{type:core.NgModule,args:[{imports:[common.CommonModule],providers:[ColorPickerService],declarations:[ColorPickerComponent,ColorPickerDirective,TextDirective,SliderDirective],exports:[ColorPickerDirective],entryComponents:[ColorPickerComponent]}]}];ColorPickerModule.ctorParameters=function(){return[]};return ColorPickerModule}();exports.ColorPickerComponent=ColorPickerComponent;exports.ColorPickerDirective=ColorPickerDirective;exports.ColorPickerModule=ColorPickerModule;exports.ColorPickerService=ColorPickerService;exports.Hsva=Hsva;exports.Hsla=Hsla;exports.Rgba=Rgba;exports.TextDirective=TextDirective;exports.SliderDirective=SliderDirective;exports.SliderPosition=SliderPosition;exports.SliderDimension=SliderDimension;exports.detectIE=detectIE;Object.defineProperty(exports,"__esModule",{value:true})});

@@ -1,7 +0,6 @@

"use strict";
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"));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
export { ColorPickerComponent, ColorPickerDirective, ColorPickerModule, ColorPickerService, Hsva, Hsla, Rgba, TextDirective, SliderDirective, SliderPosition, SliderDimension, detectIE } from "./lib/index";
//# sourceMappingURL=index.js.map

@@ -1,7 +0,9 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular/core");
var color_picker_service_1 = require("./color-picker.service");
var formats_1 = require("./formats");
var helpers_1 = require("./helpers");
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { Component, ElementRef, ViewChild, ChangeDetectorRef } from "@angular/core";
import { ColorPickerService } from "./color-picker.service";
import { Rgba, Hsla, Hsva } from "./formats";
import { SliderPosition, SliderDimension, detectIE } from "./helpers";
var ColorPickerComponent = (function () {

@@ -17,3 +19,67 @@ function ColorPickerComponent(el, cdr, service) {

}
ColorPickerComponent.prototype.setDialog = function (instance, elementRef, color, cpPosition, cpPositionOffset, cpPositionRelativeToArrow, cpOutputFormat, cpPresetLabel, cpPresetEmptyMessage, cpPresetEmptyMessageClass, cpPresetColors, cpMaxPresetColorsLength, cpCancelButton, cpCancelButtonClass, cpCancelButtonText, cpOKButton, cpOKButtonClass, cpOKButtonText, cpAddColorButton, cpAddColorButtonClass, cpAddColorButtonText, cpRemoveColorButtonClass, cpHeight, cpWidth, cpIgnoredElements, cpDialogDisplay, cpSaveClickOutside, cpAlphaChannel, cpUseRootViewContainer) {
/**
* @param {?} instance
* @param {?} elementRef
* @param {?} color
* @param {?} cpPosition
* @param {?} cpPositionOffset
* @param {?} cpPositionRelativeToArrow
* @param {?} cpOutputFormat
* @param {?} cpPresetLabel
* @param {?} cpPresetEmptyMessage
* @param {?} cpPresetEmptyMessageClass
* @param {?} cpPresetColors
* @param {?} cpMaxPresetColorsLength
* @param {?} cpCancelButton
* @param {?} cpCancelButtonClass
* @param {?} cpCancelButtonText
* @param {?} cpOKButton
* @param {?} cpOKButtonClass
* @param {?} cpOKButtonText
* @param {?} cpAddColorButton
* @param {?} cpAddColorButtonClass
* @param {?} cpAddColorButtonText
* @param {?} cpRemoveColorButtonClass
* @param {?} cpHeight
* @param {?} cpWidth
* @param {?} cpIgnoredElements
* @param {?} cpDialogDisplay
* @param {?} cpSaveClickOutside
* @param {?} cpAlphaChannel
* @param {?} cpUseRootViewContainer
* @return {?}
*/
ColorPickerComponent.prototype.setDialog = /**
* @param {?} instance
* @param {?} elementRef
* @param {?} color
* @param {?} cpPosition
* @param {?} cpPositionOffset
* @param {?} cpPositionRelativeToArrow
* @param {?} cpOutputFormat
* @param {?} cpPresetLabel
* @param {?} cpPresetEmptyMessage
* @param {?} cpPresetEmptyMessageClass
* @param {?} cpPresetColors
* @param {?} cpMaxPresetColorsLength
* @param {?} cpCancelButton
* @param {?} cpCancelButtonClass
* @param {?} cpCancelButtonText
* @param {?} cpOKButton
* @param {?} cpOKButtonClass
* @param {?} cpOKButtonText
* @param {?} cpAddColorButton
* @param {?} cpAddColorButtonClass
* @param {?} cpAddColorButtonText
* @param {?} cpRemoveColorButtonClass
* @param {?} cpHeight
* @param {?} cpWidth
* @param {?} cpIgnoredElements
* @param {?} cpDialogDisplay
* @param {?} cpSaveClickOutside
* @param {?} cpAlphaChannel
* @param {?} cpUseRootViewContainer
* @return {?}
*/
function (instance, elementRef, color, cpPosition, cpPositionOffset, cpPositionRelativeToArrow, cpOutputFormat, cpPresetLabel, cpPresetEmptyMessage, cpPresetEmptyMessageClass, cpPresetColors, cpMaxPresetColorsLength, cpCancelButton, cpCancelButtonClass, cpCancelButtonText, cpOKButton, cpOKButtonClass, cpOKButtonText, cpAddColorButton, cpAddColorButtonClass, cpAddColorButtonText, cpRemoveColorButtonClass, cpHeight, cpWidth, cpIgnoredElements, cpDialogDisplay, cpSaveClickOutside, cpAlphaChannel, cpUseRootViewContainer) {
this.directiveInstance = instance;

@@ -57,10 +123,16 @@ this.initialColor = color;

}
this.isIE10 = helpers_1.detectIE() === 10;
this.isIE10 = detectIE() === 10;
};
ColorPickerComponent.prototype.ngOnInit = function () {
/**
* @return {?}
*/
ColorPickerComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
var alphaWidth = this.alphaSlider.nativeElement.offsetWidth;
var hueWidth = this.hueSlider.nativeElement.offsetWidth;
this.sliderDimMax = new helpers_1.SliderDimension(hueWidth, this.cpWidth, 130, alphaWidth);
this.slider = new helpers_1.SliderPosition(0, 0, 0, 0);
var /** @type {?} */ alphaWidth = this.alphaSlider.nativeElement.offsetWidth;
var /** @type {?} */ hueWidth = this.hueSlider.nativeElement.offsetWidth;
this.sliderDimMax = new SliderDimension(hueWidth, this.cpWidth, 130, alphaWidth);
this.slider = new SliderPosition(0, 0, 0, 0);
if (this.cpOutputFormat === 'rgba') {

@@ -79,7 +151,13 @@ this.format = 1;

};
ColorPickerComponent.prototype.ngAfterViewInit = function () {
/**
* @return {?}
*/
ColorPickerComponent.prototype.ngAfterViewInit = /**
* @return {?}
*/
function () {
if (this.cpWidth != 230) {
var alphaWidth = this.alphaSlider.nativeElement.offsetWidth;
var hueWidth = this.hueSlider.nativeElement.offsetWidth;
this.sliderDimMax = new helpers_1.SliderDimension(hueWidth, this.cpWidth, 130, alphaWidth);
var /** @type {?} */ alphaWidth = this.alphaSlider.nativeElement.offsetWidth;
var /** @type {?} */ hueWidth = this.hueSlider.nativeElement.offsetWidth;
this.sliderDimMax = new SliderDimension(hueWidth, this.cpWidth, 130, alphaWidth);
this.update(false);

@@ -89,10 +167,38 @@ this.cdr.detectChanges();

};
ColorPickerComponent.prototype.setInitialColor = function (color) {
/**
* @param {?} color
* @return {?}
*/
ColorPickerComponent.prototype.setInitialColor = /**
* @param {?} color
* @return {?}
*/
function (color) {
this.initialColor = color;
};
ColorPickerComponent.prototype.setPresetConfig = function (cpPresetLabel, cpPresetColors) {
/**
* @param {?} cpPresetLabel
* @param {?} cpPresetColors
* @return {?}
*/
ColorPickerComponent.prototype.setPresetConfig = /**
* @param {?} cpPresetLabel
* @param {?} cpPresetColors
* @return {?}
*/
function (cpPresetLabel, cpPresetColors) {
this.cpPresetLabel = cpPresetLabel;
this.cpPresetColors = cpPresetColors;
};
ColorPickerComponent.prototype.openDialog = function (color, emit) {
/**
* @param {?} color
* @param {?=} emit
* @return {?}
*/
ColorPickerComponent.prototype.openDialog = /**
* @param {?} color
* @param {?=} emit
* @return {?}
*/
function (color, emit) {
if (emit === void 0) { emit = true; }

@@ -107,3 +213,11 @@ this.service.setActive(this);

};
ColorPickerComponent.prototype.cancelColor = function (event) {
/**
* @param {?} event
* @return {?}
*/
ColorPickerComponent.prototype.cancelColor = /**
* @param {?} event
* @return {?}
*/
function (event) {
if (event && event.stopPropagation) {

@@ -119,3 +233,11 @@ event.stopPropagation();

};
ColorPickerComponent.prototype.oKColor = function (event) {
/**
* @param {?} event
* @return {?}
*/
ColorPickerComponent.prototype.oKColor = /**
* @param {?} event
* @return {?}
*/
function (event) {
if (event && event.stopPropagation) {

@@ -131,5 +253,15 @@ event.stopPropagation();

};
ColorPickerComponent.prototype.setColorFromString = function (value, emit) {
/**
* @param {?} value
* @param {?=} emit
* @return {?}
*/
ColorPickerComponent.prototype.setColorFromString = /**
* @param {?} value
* @param {?=} emit
* @return {?}
*/
function (value, emit) {
if (emit === void 0) { emit = true; }
var hsva;
var /** @type {?} */ hsva;
if (this.cpAlphaChannel === 'always' || this.cpAlphaChannel === 'hex8') {

@@ -149,3 +281,11 @@ hsva = this.service.stringToHsva(value, true);

};
ColorPickerComponent.prototype.addPresetColor = function (value) {
/**
* @param {?} value
* @return {?}
*/
ColorPickerComponent.prototype.addPresetColor = /**
* @param {?} value
* @return {?}
*/
function (value) {
if (!this.cpPresetColors.filter(function (color) { return color === value; }).length) {

@@ -156,13 +296,45 @@ this.cpPresetColors = this.cpPresetColors.concat(value);

};
ColorPickerComponent.prototype.removePresetColor = function (value) {
/**
* @param {?} value
* @return {?}
*/
ColorPickerComponent.prototype.removePresetColor = /**
* @param {?} value
* @return {?}
*/
function (value) {
this.cpPresetColors = this.cpPresetColors.filter(function (color) { return color !== value; });
this.directiveInstance.presetColorsChanged(this.cpPresetColors);
};
ColorPickerComponent.prototype.onDragEnd = function (slider) {
/**
* @param {?} slider
* @return {?}
*/
ColorPickerComponent.prototype.onDragEnd = /**
* @param {?} slider
* @return {?}
*/
function (slider) {
this.directiveInstance.sliderDragEnd({ slider: slider, color: this.outputColor });
};
ColorPickerComponent.prototype.onDragStart = function (slider) {
/**
* @param {?} slider
* @return {?}
*/
ColorPickerComponent.prototype.onDragStart = /**
* @param {?} slider
* @return {?}
*/
function (slider) {
this.directiveInstance.sliderDragStart({ slider: slider, color: this.outputColor });
};
ColorPickerComponent.prototype.onMouseDown = function (event) {
/**
* @param {?} event
* @return {?}
*/
ColorPickerComponent.prototype.onMouseDown = /**
* @param {?} event
* @return {?}
*/
function (event) {
// Workaround for IE10: We need to manually click on OK/Cancel button to close the color-picker [detectIE() !== 10]

@@ -180,3 +352,9 @@ if ((!this.isDescendant(this.el.nativeElement, event.target)

};
ColorPickerComponent.prototype.openColorPicker = function () {
/**
* @return {?}
*/
ColorPickerComponent.prototype.openColorPicker = /**
* @return {?}
*/
function () {
var _this = this;

@@ -193,8 +371,8 @@ if (!this.show) {

/**
* Required for IE10
* This event listener is conditional to avoid memory leaks
* If the directive was applied at the root level then this won't affect anything
* but if we implement this color picker in child components then it closes on clicking anywhere (including this component)
* and stopPropagation() does not work
*/
* Required for IE10
* This event listener is conditional to avoid memory leaks
* If the directive was applied at the root level then this won't affect anything
* but if we implement this color picker in child components then it closes on clicking anywhere (including this component)
* and stopPropagation() does not work
*/
if (!this.isIE10) {

@@ -206,3 +384,9 @@ document.addEventListener('mousedown', this.listenerMouseDown);

};
ColorPickerComponent.prototype.closeColorPicker = function () {
/**
* @return {?}
*/
ColorPickerComponent.prototype.closeColorPicker = /**
* @return {?}
*/
function () {
if (this.show) {

@@ -212,5 +396,5 @@ this.show = false;

/**
* Required for IE10
* If this is not attached then no need to remove the listener
*/
* Required for IE10
* If this is not attached then no need to remove the listener
*/
if (!this.isIE10) {

@@ -223,3 +407,9 @@ document.removeEventListener('mousedown', this.listenerMouseDown);

};
ColorPickerComponent.prototype.onResize = function () {
/**
* @return {?}
*/
ColorPickerComponent.prototype.onResize = /**
* @return {?}
*/
function () {
if (this.position === 'fixed') {

@@ -232,3 +422,9 @@ this.setDialogPosition();

};
ColorPickerComponent.prototype.setDialogPosition = function () {
/**
* @return {?}
*/
ColorPickerComponent.prototype.setDialogPosition = /**
* @return {?}
*/
function () {
if (this.cpDialogDisplay === 'inline') {

@@ -238,5 +434,5 @@ this.position = 'relative';

}
var dialogHeight = this.dialogElement.nativeElement.offsetHeight;
var node = this.directiveElementRef.nativeElement.parentNode, position = 'static', transform = '';
var parentNode = null, transformNode = null, style = null;
var /** @type {?} */ dialogHeight = this.dialogElement.nativeElement.offsetHeight;
var /** @type {?} */ node = this.directiveElementRef.nativeElement.parentNode, /** @type {?} */ position = 'static', /** @type {?} */ transform = '';
var /** @type {?} */ parentNode = null, /** @type {?} */ transformNode = null, /** @type {?} */ style = null;
while (node !== null && node.tagName !== 'HTML') {

@@ -258,3 +454,3 @@ style = window.getComputedStyle(node);

}
var boxDirective = this.createBox(this.directiveElementRef.nativeElement, (position !== 'fixed'));
var /** @type {?} */ boxDirective = this.createBox(this.directiveElementRef.nativeElement, (position !== 'fixed'));
if ((position !== 'fixed' || parentNode) && !this.useRootViewContainer) {

@@ -264,3 +460,3 @@ if (parentNode === null) {

}
var boxParent = this.createBox(parentNode, (position !== 'fixed'));
var /** @type {?} */ boxParent = this.createBox(parentNode, (position !== 'fixed'));
this.top = boxDirective.top - boxParent.top;

@@ -294,4 +490,12 @@ this.left = boxDirective.left - boxParent.left;

};
ColorPickerComponent.prototype.setSaturation = function (val) {
var hsla = this.service.hsva2hsla(this.hsva);
/**
* @param {?} val
* @return {?}
*/
ColorPickerComponent.prototype.setSaturation = /**
* @param {?} val
* @return {?}
*/
function (val) {
var /** @type {?} */ hsla = this.service.hsva2hsla(this.hsva);
hsla.s = val.v / val.rg;

@@ -302,4 +506,12 @@ this.hsva = this.service.hsla2hsva(hsla);

};
ColorPickerComponent.prototype.setLightness = function (val) {
var hsla = this.service.hsva2hsla(this.hsva);
/**
* @param {?} val
* @return {?}
*/
ColorPickerComponent.prototype.setLightness = /**
* @param {?} val
* @return {?}
*/
function (val) {
var /** @type {?} */ hsla = this.service.hsva2hsla(this.hsva);
hsla.l = val.v / val.rg;

@@ -310,3 +522,11 @@ this.hsva = this.service.hsla2hsva(hsla);

};
ColorPickerComponent.prototype.setHue = function (val) {
/**
* @param {?} val
* @return {?}
*/
ColorPickerComponent.prototype.setHue = /**
* @param {?} val
* @return {?}
*/
function (val) {
this.hsva.h = val.v / val.rg;

@@ -316,3 +536,11 @@ this.update();

};
ColorPickerComponent.prototype.setAlpha = function (val) {
/**
* @param {?} val
* @return {?}
*/
ColorPickerComponent.prototype.setAlpha = /**
* @param {?} val
* @return {?}
*/
function (val) {
this.hsva.a = val.v / val.rg;

@@ -322,4 +550,12 @@ this.update();

};
ColorPickerComponent.prototype.setR = function (val) {
var rgba = this.service.hsvaToRgba(this.hsva);
/**
* @param {?} val
* @return {?}
*/
ColorPickerComponent.prototype.setR = /**
* @param {?} val
* @return {?}
*/
function (val) {
var /** @type {?} */ rgba = this.service.hsvaToRgba(this.hsva);
rgba.r = val.v / val.rg;

@@ -330,4 +566,12 @@ this.hsva = this.service.rgbaToHsva(rgba);

};
ColorPickerComponent.prototype.setG = function (val) {
var rgba = this.service.hsvaToRgba(this.hsva);
/**
* @param {?} val
* @return {?}
*/
ColorPickerComponent.prototype.setG = /**
* @param {?} val
* @return {?}
*/
function (val) {
var /** @type {?} */ rgba = this.service.hsvaToRgba(this.hsva);
rgba.g = val.v / val.rg;

@@ -338,4 +582,12 @@ this.hsva = this.service.rgbaToHsva(rgba);

};
ColorPickerComponent.prototype.setB = function (val) {
var rgba = this.service.hsvaToRgba(this.hsva);
/**
* @param {?} val
* @return {?}
*/
ColorPickerComponent.prototype.setB = /**
* @param {?} val
* @return {?}
*/
function (val) {
var /** @type {?} */ rgba = this.service.hsvaToRgba(this.hsva);
rgba.b = val.v / val.rg;

@@ -346,3 +598,11 @@ this.hsva = this.service.rgbaToHsva(rgba);

};
ColorPickerComponent.prototype.setA = function (val) {
/**
* @param {?} val
* @return {?}
*/
ColorPickerComponent.prototype.setA = /**
* @param {?} val
* @return {?}
*/
function (val) {
this.hsva.a = val.v / val.rg;

@@ -352,7 +612,23 @@ this.update();

};
ColorPickerComponent.prototype.setHex = function (val) {
/**
* @param {?} val
* @return {?}
*/
ColorPickerComponent.prototype.setHex = /**
* @param {?} val
* @return {?}
*/
function (val) {
this.setColorFromString(val);
this.directiveInstance.inputChanged({ input: 'hex', value: val, color: this.outputColor });
};
ColorPickerComponent.prototype.setSaturationAndBrightness = function (val) {
/**
* @param {?} val
* @return {?}
*/
ColorPickerComponent.prototype.setSaturationAndBrightness = /**
* @param {?} val
* @return {?}
*/
function (val) {
this.hsva.s = val.s / val.rgX;

@@ -364,21 +640,35 @@ this.hsva.v = val.v / val.rgY;

};
ColorPickerComponent.prototype.formatPolicy = function () {
/**
* @return {?}
*/
ColorPickerComponent.prototype.formatPolicy = /**
* @return {?}
*/
function () {
this.format = (this.format + 1) % 3;
return this.format;
};
ColorPickerComponent.prototype.update = function (emit) {
/**
* @param {?=} emit
* @return {?}
*/
ColorPickerComponent.prototype.update = /**
* @param {?=} emit
* @return {?}
*/
function (emit) {
if (emit === void 0) { emit = true; }
if (this.sliderDimMax) {
var hsla = this.service.hsva2hsla(this.hsva);
var rgba = this.service.denormalizeRGBA(this.service.hsvaToRgba(this.hsva));
var hueRgba = this.service.denormalizeRGBA(this.service.hsvaToRgba(new formats_1.Hsva(this.hsva.h, 1, 1, 1)));
this.hslaText = new formats_1.Hsla(Math.round((hsla.h) * 360), Math.round(hsla.s * 100), Math.round(hsla.l * 100), Math.round(hsla.a * 100) / 100);
this.rgbaText = new formats_1.Rgba(rgba.r, rgba.g, rgba.b, Math.round(rgba.a * 100) / 100);
var /** @type {?} */ hsla = this.service.hsva2hsla(this.hsva);
var /** @type {?} */ rgba = this.service.denormalizeRGBA(this.service.hsvaToRgba(this.hsva));
var /** @type {?} */ hueRgba = this.service.denormalizeRGBA(this.service.hsvaToRgba(new Hsva(this.hsva.h, 1, 1, 1)));
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);
this.rgbaText = new Rgba(rgba.r, rgba.g, rgba.b, Math.round(rgba.a * 100) / 100);
this.hexText = this.service.hexText(rgba, this.cpAlphaChannel === 'always' || this.cpAlphaChannel === 'hex8');
this.alphaSliderColor = 'rgb(' + rgba.r + ',' + rgba.g + ',' + rgba.b + ')';
this.hueSliderColor = 'rgb(' + hueRgba.r + ',' + hueRgba.g + ',' + hueRgba.b + ')';
var lastOutput = this.outputColor;
var /** @type {?} */ lastOutput = this.outputColor;
this.outputColor = this.service.outputFormat(this.hsva, this.cpOutputFormat, this.cpAlphaChannel);
this.selectedColor = this.service.outputFormat(this.hsva, 'rgba', null);
this.slider = new helpers_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);
this.slider = new 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);
if (emit && lastOutput !== this.outputColor) {

@@ -389,4 +679,14 @@ this.directiveInstance.colorChanged(this.outputColor);

};
ColorPickerComponent.prototype.isDescendant = function (parent, child) {
var node = child.parentNode;
/**
* @param {?} parent
* @param {?} child
* @return {?}
*/
ColorPickerComponent.prototype.isDescendant = /**
* @param {?} parent
* @param {?} child
* @return {?}
*/
function (parent, child) {
var /** @type {?} */ node = child.parentNode;
while (node !== null) {

@@ -400,3 +700,13 @@ if (node === parent) {

};
ColorPickerComponent.prototype.createBox = function (element, offset) {
/**
* @param {?} element
* @param {?} offset
* @return {?}
*/
ColorPickerComponent.prototype.createBox = /**
* @param {?} element
* @param {?} offset
* @return {?}
*/
function (element, offset) {
return {

@@ -410,6 +720,6 @@ top: element.getBoundingClientRect().top + (offset ? window.pageYOffset : 0),

ColorPickerComponent.decorators = [
{ type: core_1.Component, args: [{
{ type: Component, args: [{
selector: 'color-picker',
template: '<div class="color-picker" [style.visibility]="hidden || !show ? \'hidden\' : \'visible\'" [style.height.px]="cpHeight" [style.width.px]="cpWidth" [style.top.px]="top" [style.left.px]="left" [style.position]="position" #dialogPopup><div *ngIf="cpDialogDisplay==\'popup\'" class="arrow arrow-{{cpPosition}}" [style.top.px]="arrowTop"></div><div [slider] [style.background-color]="hueSliderColor" [rgX]="1" [rgY]="1" (newValue)="setSaturationAndBrightness($event)" (dragStart)="onDragStart(\'saturation-lightness\')" (dragEnd)="onDragEnd(\'saturation-lightness\')" class="saturation-lightness"><div [style.left.px]="slider.s" [style.top.px]="slider.v" class="cursor"></div></div><div class="box"><div class="left"><div class="selected-color-background"></div><div [style.background-color]="selectedColor" class="selected-color"></div><button *ngIf="cpAddColorButton" class="{{cpAddColorButtonClass}}" (click)="addPresetColor(selectedColor)" [disabled]="cpPresetColors && cpPresetColors.length >= cpMaxPresetColorsLength">{{cpAddColorButtonText}}</button></div><div class="right"><div *ngIf="cpAlphaChannel===\'disabled\'" style="height: 16px"></div><div [slider] [rgX]="1" (newValue)="setHue($event)" (dragStart)="onDragStart(\'hue\')" (dragEnd)="onDragEnd(\'hue\')" class="hue" #hueSlider><div [style.left.px]="slider.h" class="cursor"></div></div><div [style.display]="cpAlphaChannel === \'disabled\' ? \'none\' : \'block\'" [slider] [style.background-color]="alphaSliderColor" [rgX]="1" (newValue)="setAlpha($event)" (dragStart)="onDragStart(\'alpha\')" (dragEnd)="onDragEnd(\'alpha\')" class="alpha" #alphaSlider><div [style.left.px]="slider.a" class="cursor"></div></div></div></div><div [style.display]="format !== 2 ? \'none\' : \'block\'" class="hsla-text"><div class="box"><input [text] type="number" pattern="[0-9]*" min="0" max="360" [rg]="360" (newValue)="setHue($event)" [value]="hslaText.h"> <input [text] type="number" pattern="[0-9]*" min="0" max="100" [rg]="100" (newValue)="setSaturation($event)" [value]="hslaText.s"> <input [text] type="number" pattern="[0-9]*" min="0" max="100" [rg]="100" (newValue)="setLightness($event)" [value]="hslaText.l"> <input *ngIf="cpAlphaChannel!==\'disabled\'" [text] type="number" pattern="[0-9]+([\.,][0-9]{1,2})?" min="0" max="1" step="0.1" [rg]="1" (newValue)="setA($event)" [value]="hslaText.a"></div><div class="box"><div>H</div><div>S</div><div>L</div><div *ngIf="cpAlphaChannel!==\'disabled\'">A</div></div></div><div [style.display]="format !== 1 ? \'none\' : \'block\'" class="rgba-text"><div class="box"><input [text] type="number" pattern="[0-9]*" min="0" max="255" [rg]="255" (newValue)="setR($event)" [value]="rgbaText.r"> <input [text] type="number" pattern="[0-9]*" min="0" max="255" [rg]="255" (newValue)="setG($event)" [value]="rgbaText.g"> <input [text] type="number" pattern="[0-9]*" min="0" max="255" [rg]="255" (newValue)="setB($event)" [value]="rgbaText.b"> <input *ngIf="cpAlphaChannel!==\'disabled\'" [text] type="number" pattern="[0-9]+([\.,][0-9]{1,2})?" min="0" max="1" step="0.1" [rg]="1" (newValue)="setA($event)" [value]="rgbaText.a"></div><div class="box"><div>R</div><div>G</div><div>B</div><div *ngIf="cpAlphaChannel!==\'disabled\'">A</div></div></div><div [style.display]="format !== 0 ? \'none\' : \'block\'" class="hex-text"><div class="box"><input [text] (newValue)="setHex($event)" [value]="hexText"></div><div class="box"><div>Hex</div></div></div><div (click)="formatPolicy()" class="type-policy"></div><div *ngIf="cpPresetColors" class="preset-area"><hr><div class="preset-label">{{cpPresetLabel}}</div><div *ngIf="cpPresetColors.length"><div *ngFor="let color of cpPresetColors" class="preset-color" [style.backgroundColor]="color" (click)="setColorFromString(color)"><span *ngIf="cpAddColorButton" class="{{cpRemoveColorButtonClass}}" (click)="removePresetColor(color)"></span></div></div><div *ngIf="!cpPresetColors.length && cpAddColorButton" class="{{cpPresetEmptyMessageClass}}">{{cpPresetEmptyMessage}}</div></div><div *ngIf="cpOKButton || cpCancelButton" class="button-area"><button *ngIf="cpOKButton" type="button" class="{{cpOKButtonClass}}" (click)="oKColor($event)">{{cpOKButtonText}}</button> <button *ngIf="cpCancelButton" type="button" class="{{cpCancelButtonClass}}" (click)="cancelColor($event)">{{cpCancelButtonText}}</button></div></div>',
styles: ['.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:1px solid #777;position:absolute;z-index:100000;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;min-width:0;-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;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{-moz-border-radius:25%;-webkit-border-radius:25%;border-radius:25%;-khtml-border-radius:25%;border:1px solid #a9a9a9;cursor:pointer;display:inline-block;height:18px;margin:4px 6px 8px;position:relative;width:18px}.color-picker .preset-area .preset-empty-message{font-style:italic;margin-bottom:8px;margin-top:4px;min-height:18px;text-align:center}.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:100%}.color-picker .arrow-bottom{border-width:10px 5px;border-color:transparent transparent #777;top:-20px;left:10px}.color-picker .arrow-top{border-width:10px 5px;border-color:#777 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:1px solid #ddd}.color-picker .selected-color,.color-picker div.cursor{-moz-border-radius:50%;-webkit-border-radius:50%;-khtml-border-radius:50%}.color-picker div.cursor{cursor:default;position:relative;border-radius:50%;width:16px;height:16px;border:2px solid #222}.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 .alpha,.color-picker .hue{width:100%;height:16px;border:none;background-size:100% 100%;cursor:pointer}.color-picker .box{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;padding:4px 8px}.color-picker .box .left{position:relative;padding:16px 8px}.color-picker .box .right{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:12px 8px}.color-picker .hue{margin-bottom:16px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC)}.color-picker .alpha{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;border-radius:50%;border:1px solid #a9a9a9}.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;-webkit-flex:1;-ms-flex:1;flex:1;margin:0 8px 0 0;float:left;border:1px solid #a9a9a9;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{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;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{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;border:1px solid #a9a9a9;padding:1px}.color-picker .hex-text .box div{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center;color:#555;float:left;clear:left}.color-picker .cp-add-color-button-class{background:0 0;border:0;cursor:pointer;display:inline;margin-left:-3px;margin-top:3px;padding:0;position:absolute}.color-picker .cp-add-color-button-class:hover{text-decoration:underline}.color-picker .cp-add-color-button-class:disabled{color:#999;cursor:not-allowed}.color-picker .cp-add-color-button-class:disabled:hover{text-decoration:none}.color-picker .cp-remove-color-button-class{background:#fff;border-radius:50%;box-shadow:1px 1px 5px #333;cursor:pointer;display:block;height:10px;position:absolute;right:-5px;text-align:center;top:-5px;width:10px}.color-picker .cp-remove-color-button-class:before{bottom:3.5px;content:\'x\';display:inline-block;font-size:10px;position:relative}']
styles: ['.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;position:absolute;z-index:100000;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;min-width:0;-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{-moz-border-radius:25%;-webkit-border-radius:25%;border-radius:25%;-khtml-border-radius:25%;border:#a9a9a9 solid 1px;cursor:pointer;display:inline-block;height:18px;margin:4px 6px 8px 6px;position:relative;width:18px}.color-picker .preset-area .preset-empty-message{font-style:italic;margin-bottom:8px;margin-top:4px;min-height:18px;text-align:center}.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:100%}.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:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;padding:4px 8px}.color-picker .box .left{position:relative;padding:16px 8px}.color-picker .box .right{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;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%;border:1px solid #a9a9a9}.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;-webkit-flex:1;-ms-flex:1;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{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;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{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;border:#a9a9a9 solid 1px;padding:1px}.color-picker .hex-text .box div{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center;color:#555;float:left;clear:left}.color-picker .cp-add-color-button-class{background:0 0;border:0;cursor:pointer;display:inline;margin-left:-3px;margin-top:3px;padding:0;position:absolute}.color-picker .cp-add-color-button-class:hover{text-decoration:underline}.color-picker .cp-add-color-button-class:disabled{color:#999;cursor:not-allowed}.color-picker .cp-add-color-button-class:disabled:hover{text-decoration:none}.color-picker .cp-remove-color-button-class{background:#fff;border-radius:50%;box-shadow:1px 1px 5px #333;cursor:pointer;display:block;height:10px;position:absolute;right:-5px;text-align:center;top:-5px;width:10px}.color-picker .cp-remove-color-button-class:before{bottom:3.5px;content:\'x\';display:inline-block;font-size:10px;position:relative}']
},] },

@@ -419,14 +729,141 @@ ];

ColorPickerComponent.ctorParameters = function () { return [
{ type: core_1.ElementRef, },
{ type: core_1.ChangeDetectorRef, },
{ type: color_picker_service_1.ColorPickerService, },
{ type: ElementRef, },
{ type: ChangeDetectorRef, },
{ type: ColorPickerService, },
]; };
ColorPickerComponent.propDecorators = {
'hueSlider': [{ type: core_1.ViewChild, args: ['hueSlider',] },],
'alphaSlider': [{ type: core_1.ViewChild, args: ['alphaSlider',] },],
'dialogElement': [{ type: core_1.ViewChild, args: ['dialogPopup',] },],
"hueSlider": [{ type: ViewChild, args: ['hueSlider',] },],
"alphaSlider": [{ type: ViewChild, args: ['alphaSlider',] },],
"dialogElement": [{ type: ViewChild, args: ['dialogPopup',] },],
};
return ColorPickerComponent;
}());
exports.ColorPickerComponent = ColorPickerComponent;
export { ColorPickerComponent };
function ColorPickerComponent_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
ColorPickerComponent.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
ColorPickerComponent.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
ColorPickerComponent.propDecorators;
/** @type {?} */
ColorPickerComponent.prototype.cpPosition;
/** @type {?} */
ColorPickerComponent.prototype.cpPositionOffset;
/** @type {?} */
ColorPickerComponent.prototype.cpOutputFormat;
/** @type {?} */
ColorPickerComponent.prototype.cpPresetLabel;
/** @type {?} */
ColorPickerComponent.prototype.cpPresetEmptyMessage;
/** @type {?} */
ColorPickerComponent.prototype.cpPresetEmptyMessageClass;
/** @type {?} */
ColorPickerComponent.prototype.cpPresetColors;
/** @type {?} */
ColorPickerComponent.prototype.cpMaxPresetColorsLength;
/** @type {?} */
ColorPickerComponent.prototype.cpCancelButton;
/** @type {?} */
ColorPickerComponent.prototype.cpCancelButtonClass;
/** @type {?} */
ColorPickerComponent.prototype.cpCancelButtonText;
/** @type {?} */
ColorPickerComponent.prototype.cpOKButton;
/** @type {?} */
ColorPickerComponent.prototype.cpOKButtonClass;
/** @type {?} */
ColorPickerComponent.prototype.cpOKButtonText;
/** @type {?} */
ColorPickerComponent.prototype.cpHeight;
/** @type {?} */
ColorPickerComponent.prototype.cpWidth;
/** @type {?} */
ColorPickerComponent.prototype.cpIgnoredElements;
/** @type {?} */
ColorPickerComponent.prototype.cpDialogDisplay;
/** @type {?} */
ColorPickerComponent.prototype.cpSaveClickOutside;
/** @type {?} */
ColorPickerComponent.prototype.cpAlphaChannel;
/** @type {?} */
ColorPickerComponent.prototype.cpAddColorButton;
/** @type {?} */
ColorPickerComponent.prototype.cpAddColorButtonClass;
/** @type {?} */
ColorPickerComponent.prototype.cpAddColorButtonText;
/** @type {?} */
ColorPickerComponent.prototype.cpRemoveColorButtonClass;
/** @type {?} */
ColorPickerComponent.prototype.rgbaText;
/** @type {?} */
ColorPickerComponent.prototype.hslaText;
/** @type {?} */
ColorPickerComponent.prototype.selectedColor;
/** @type {?} */
ColorPickerComponent.prototype.alphaSliderColor;
/** @type {?} */
ColorPickerComponent.prototype.hueSliderColor;
/** @type {?} */
ColorPickerComponent.prototype.slider;
/** @type {?} */
ColorPickerComponent.prototype.show;
/** @type {?} */
ColorPickerComponent.prototype.hidden;
/** @type {?} */
ColorPickerComponent.prototype.top;
/** @type {?} */
ColorPickerComponent.prototype.left;
/** @type {?} */
ColorPickerComponent.prototype.position;
/** @type {?} */
ColorPickerComponent.prototype.format;
/** @type {?} */
ColorPickerComponent.prototype.hexText;
/** @type {?} */
ColorPickerComponent.prototype.arrowTop;
/** @type {?} */
ColorPickerComponent.prototype.hsva;
/** @type {?} */
ColorPickerComponent.prototype.width;
/** @type {?} */
ColorPickerComponent.prototype.height;
/** @type {?} */
ColorPickerComponent.prototype.outputColor;
/** @type {?} */
ColorPickerComponent.prototype.sliderDimMax;
/** @type {?} */
ColorPickerComponent.prototype.directiveInstance;
/** @type {?} */
ColorPickerComponent.prototype.initialColor;
/** @type {?} */
ColorPickerComponent.prototype.directiveElementRef;
/** @type {?} */
ColorPickerComponent.prototype.listenerMouseDown;
/** @type {?} */
ColorPickerComponent.prototype.listenerResize;
/** @type {?} */
ColorPickerComponent.prototype.dialogArrowSize;
/** @type {?} */
ColorPickerComponent.prototype.dialogArrowOffset;
/** @type {?} */
ColorPickerComponent.prototype.useRootViewContainer;
/** @type {?} */
ColorPickerComponent.prototype.isIE10;
/** @type {?} */
ColorPickerComponent.prototype.hueSlider;
/** @type {?} */
ColorPickerComponent.prototype.alphaSlider;
/** @type {?} */
ColorPickerComponent.prototype.dialogElement;
/** @type {?} */
ColorPickerComponent.prototype.el;
/** @type {?} */
ColorPickerComponent.prototype.cdr;
/** @type {?} */
ColorPickerComponent.prototype.service;
}
//# sourceMappingURL=color-picker.component.js.map

@@ -1,6 +0,8 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular/core");
var color_picker_service_1 = require("./color-picker.service");
var color_picker_component_1 = require("./color-picker.component");
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { Directive, Input, Output, EventEmitter, Injector, ApplicationRef, ElementRef, ViewContainerRef, ReflectiveInjector, ComponentFactoryResolver } from "@angular/core";
import { ColorPickerService } from "./color-picker.service";
import { ColorPickerComponent } from "./color-picker.component";
var ColorPickerDirective = (function () {

@@ -40,15 +42,23 @@ function ColorPickerDirective(injector, cfr, appRef, vcRef, elRef, service) {

this.cpUseRootViewContainer = false;
this.cpInputChange = new core_1.EventEmitter(true);
this.cpToggleChange = new core_1.EventEmitter(true);
this.cpSliderChange = new core_1.EventEmitter(true);
this.cpSliderDragEnd = new core_1.EventEmitter(true);
this.cpSliderDragStart = new core_1.EventEmitter(true);
this.colorPickerCancel = new core_1.EventEmitter(true);
this.colorPickerSelect = new core_1.EventEmitter(true);
this.colorPickerChange = new core_1.EventEmitter(false);
this.presetColorsChange = new core_1.EventEmitter(true);
this.cpInputChange = new EventEmitter(true);
this.cpToggleChange = new EventEmitter(true);
this.cpSliderChange = new EventEmitter(true);
this.cpSliderDragEnd = new EventEmitter(true);
this.cpSliderDragStart = new EventEmitter(true);
this.colorPickerCancel = new EventEmitter(true);
this.colorPickerSelect = new EventEmitter(true);
this.colorPickerChange = new EventEmitter(false);
this.presetColorsChange = new EventEmitter(true);
this.ignoreChanges = false;
this.created = false;
}
ColorPickerDirective.prototype.ngOnChanges = function (changes) {
/**
* @param {?} changes
* @return {?}
*/
ColorPickerDirective.prototype.ngOnChanges = /**
* @param {?} changes
* @return {?}
*/
function (changes) {
if (changes.cpToggle) {

@@ -75,18 +85,30 @@ if (changes.cpToggle.currentValue)

};
ColorPickerDirective.prototype.ngOnInit = function () {
/**
* @return {?}
*/
ColorPickerDirective.prototype.ngOnInit = /**
* @return {?}
*/
function () {
this.colorPicker = this.colorPicker || this.cpFallbackColor || 'rgba(0, 0, 0, 1)';
/*let hsva = this.service.stringToHsva(this.colorPicker);
if (hsva === null) hsva = this.service.stringToHsva(this.colorPicker, true);
if (hsva == null) {
hsva = this.service.stringToHsva(this.cpFallbackColor);
}
let color = this.service.outputFormat(hsva, this.cpOutputFormat, this.cpAlphaChannel);
if (color !== this.colorPicker) {
//setTimeout(() => {
this.colorPickerChange.emit(color);
this.cdr.detectChanges();
//}, 0);
}*/
if (hsva === null) hsva = this.service.stringToHsva(this.colorPicker, true);
if (hsva == null) {
hsva = this.service.stringToHsva(this.cpFallbackColor);
}
let color = this.service.outputFormat(hsva, this.cpOutputFormat, this.cpAlphaChannel);
if (color !== this.colorPicker) {
//setTimeout(() => {
this.colorPickerChange.emit(color);
this.cdr.detectChanges();
//}, 0);
}*/
};
ColorPickerDirective.prototype.ngOnDestroy = function () {
/**
* @return {?}
*/
ColorPickerDirective.prototype.ngOnDestroy = /**
* @return {?}
*/
function () {
if (this.cmpRef !== undefined) {

@@ -96,10 +118,16 @@ this.cmpRef.destroy();

};
ColorPickerDirective.prototype.openDialog = function () {
/**
* @return {?}
*/
ColorPickerDirective.prototype.openDialog = /**
* @return {?}
*/
function () {
this.colorPicker = this.colorPicker || this.cpFallbackColor || 'rgba(0, 0, 0, 1)';
if (!this.created) {
this.created = true;
var vcRef = this.vcRef;
var /** @type {?} */ vcRef = this.vcRef;
if (this.cpUseRootViewContainer && this.cpDialogDisplay !== 'inline') {
var classOfRootComponent = this.appRef.componentTypes[0];
var appInstance = this.injector.get(classOfRootComponent);
var /** @type {?} */ classOfRootComponent = this.appRef.componentTypes[0];
var /** @type {?} */ appInstance = this.injector.get(classOfRootComponent);
vcRef = appInstance.vcRef || appInstance.viewContainerRef || this.vcRef;

@@ -111,4 +139,4 @@ if (vcRef === this.vcRef) {

}
var compFactory = this.cfr.resolveComponentFactory(color_picker_component_1.ColorPickerComponent);
var injector = core_1.ReflectiveInjector.fromResolvedProviders([], vcRef.parentInjector);
var /** @type {?} */ compFactory = this.cfr.resolveComponentFactory(ColorPickerComponent);
var /** @type {?} */ injector = ReflectiveInjector.fromResolvedProviders([], vcRef.parentInjector);
this.cmpRef = vcRef.createComponent(compFactory, 0, injector, []);

@@ -125,6 +153,24 @@ this.cmpRef.instance.setDialog(this, this.elRef, this.colorPicker, this.cpPosition, this.cpPositionOffset, this.cpPositionRelativeToArrow, this.cpOutputFormat, this.cpPresetLabel, this.cpPresetEmptyMessage, this.cpPresetEmptyMessageClass, this.cpPresetColors, this.cpMaxPresetColorsLength, this.cpCancelButton, this.cpCancelButtonClass, this.cpCancelButtonText, this.cpOKButton, this.cpOKButtonClass, this.cpOKButtonText, this.cpAddColorButton, this.cpAddColorButtonClass, this.cpAddColorButtonText, this.cpRemoveColorButtonClass, this.cpHeight, this.cpWidth, this.cpIgnoredElements, this.cpDialogDisplay, this.cpSaveClickOutside, this.cpAlphaChannel, this.cpUseRootViewContainer);

};
ColorPickerDirective.prototype.toggle = function (value) {
/**
* @param {?} value
* @return {?}
*/
ColorPickerDirective.prototype.toggle = /**
* @param {?} value
* @return {?}
*/
function (value) {
this.cpToggleChange.emit(value);
};
ColorPickerDirective.prototype.colorChanged = function (value, ignore) {
/**
* @param {?} value
* @param {?=} ignore
* @return {?}
*/
ColorPickerDirective.prototype.colorChanged = /**
* @param {?} value
* @param {?=} ignore
* @return {?}
*/
function (value, ignore) {
if (ignore === void 0) { ignore = true; }

@@ -134,12 +180,40 @@ this.ignoreChanges = ignore;

};
ColorPickerDirective.prototype.colorCanceled = function () {
/**
* @return {?}
*/
ColorPickerDirective.prototype.colorCanceled = /**
* @return {?}
*/
function () {
this.colorPickerCancel.emit();
};
ColorPickerDirective.prototype.colorSelected = function (value) {
/**
* @param {?} value
* @return {?}
*/
ColorPickerDirective.prototype.colorSelected = /**
* @param {?} value
* @return {?}
*/
function (value) {
this.colorPickerSelect.emit(value);
};
ColorPickerDirective.prototype.presetColorsChanged = function (value) {
/**
* @param {?} value
* @return {?}
*/
ColorPickerDirective.prototype.presetColorsChanged = /**
* @param {?} value
* @return {?}
*/
function (value) {
this.presetColorsChange.emit(value);
};
ColorPickerDirective.prototype.inputFocus = function () {
/**
* @return {?}
*/
ColorPickerDirective.prototype.inputFocus = /**
* @return {?}
*/
function () {
var _this = this;

@@ -150,3 +224,11 @@ if (this.cpIgnoredElements.filter(function (item) { return item === _this.elRef.nativeElement; }).length === 0) {

};
ColorPickerDirective.prototype.inputChange = function (value) {
/**
* @param {?} value
* @return {?}
*/
ColorPickerDirective.prototype.inputChange = /**
* @param {?} value
* @return {?}
*/
function (value) {
if (this.dialog) {

@@ -160,16 +242,48 @@ this.dialog.setColorFromString(value, true);

};
ColorPickerDirective.prototype.inputChanged = function (event) {
/**
* @param {?} event
* @return {?}
*/
ColorPickerDirective.prototype.inputChanged = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.cpInputChange.emit(event);
};
ColorPickerDirective.prototype.sliderChanged = function (event) {
/**
* @param {?} event
* @return {?}
*/
ColorPickerDirective.prototype.sliderChanged = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.cpSliderChange.emit(event);
};
ColorPickerDirective.prototype.sliderDragEnd = function (event) {
/**
* @param {?} event
* @return {?}
*/
ColorPickerDirective.prototype.sliderDragEnd = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.cpSliderDragEnd.emit(event);
};
ColorPickerDirective.prototype.sliderDragStart = function (event) {
/**
* @param {?} event
* @return {?}
*/
ColorPickerDirective.prototype.sliderDragStart = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.cpSliderDragStart.emit(event);
};
ColorPickerDirective.decorators = [
{ type: core_1.Directive, args: [{
{ type: Directive, args: [{
selector: '[colorPicker]',

@@ -185,52 +299,159 @@ host: {

ColorPickerDirective.ctorParameters = function () { return [
{ type: core_1.Injector, },
{ type: core_1.ComponentFactoryResolver, },
{ type: core_1.ApplicationRef, },
{ type: core_1.ViewContainerRef, },
{ type: core_1.ElementRef, },
{ type: color_picker_service_1.ColorPickerService, },
{ type: Injector, },
{ type: ComponentFactoryResolver, },
{ type: ApplicationRef, },
{ type: ViewContainerRef, },
{ type: ElementRef, },
{ type: ColorPickerService, },
]; };
ColorPickerDirective.propDecorators = {
'colorPicker': [{ type: core_1.Input, args: ['colorPicker',] },],
'cpToggle': [{ type: core_1.Input, args: ['cpToggle',] },],
'cpPosition': [{ type: core_1.Input, args: ['cpPosition',] },],
'cpPositionOffset': [{ type: core_1.Input, args: ['cpPositionOffset',] },],
'cpPositionRelativeToArrow': [{ type: core_1.Input, args: ['cpPositionRelativeToArrow',] },],
'cpOutputFormat': [{ type: core_1.Input, args: ['cpOutputFormat',] },],
'cpPresetLabel': [{ type: core_1.Input, args: ['cpPresetLabel',] },],
'cpPresetEmptyMessage': [{ type: core_1.Input, args: ['cpPresetEmptyMessage',] },],
'cpPresetEmptyMessageClass': [{ type: core_1.Input, args: ['cpPresetEmptyMessageClass',] },],
'cpPresetColors': [{ type: core_1.Input, args: ['cpPresetColors',] },],
'cpMaxPresetColorsLength': [{ type: core_1.Input, args: ['cpMaxPresetColorsLength',] },],
'cpCancelButton': [{ type: core_1.Input, args: ['cpCancelButton',] },],
'cpCancelButtonClass': [{ type: core_1.Input, args: ['cpCancelButtonClass',] },],
'cpCancelButtonText': [{ type: core_1.Input, args: ['cpCancelButtonText',] },],
'cpOKButton': [{ type: core_1.Input, args: ['cpOKButton',] },],
'cpOKButtonClass': [{ type: core_1.Input, args: ['cpOKButtonClass',] },],
'cpOKButtonText': [{ type: core_1.Input, args: ['cpOKButtonText',] },],
'cpAddColorButton': [{ type: core_1.Input, args: ['cpAddColorButton',] },],
'cpAddColorButtonClass': [{ type: core_1.Input, args: ['cpAddColorButtonClass',] },],
'cpAddColorButtonText': [{ type: core_1.Input, args: ['cpAddColorButtonText',] },],
'cpRemoveColorButtonClass': [{ type: core_1.Input, args: ['cpRemoveColorButtonClass',] },],
'cpFallbackColor': [{ type: core_1.Input, args: ['cpFallbackColor',] },],
'cpHeight': [{ type: core_1.Input, args: ['cpHeight',] },],
'cpWidth': [{ type: core_1.Input, args: ['cpWidth',] },],
'cpIgnoredElements': [{ type: core_1.Input, args: ['cpIgnoredElements',] },],
'cpDialogDisplay': [{ type: core_1.Input, args: ['cpDialogDisplay',] },],
'cpSaveClickOutside': [{ type: core_1.Input, args: ['cpSaveClickOutside',] },],
'cpAlphaChannel': [{ type: core_1.Input, args: ['cpAlphaChannel',] },],
'cpUseRootViewContainer': [{ type: core_1.Input, args: ['cpUseRootViewContainer',] },],
'cpInputChange': [{ type: core_1.Output, args: ['cpInputChange',] },],
'cpToggleChange': [{ type: core_1.Output, args: ['cpToggleChange',] },],
'cpSliderChange': [{ type: core_1.Output, args: ['cpSliderChange',] },],
'cpSliderDragEnd': [{ type: core_1.Output, args: ['cpSliderDragEnd',] },],
'cpSliderDragStart': [{ type: core_1.Output, args: ['cpSliderDragStart',] },],
'colorPickerCancel': [{ type: core_1.Output, args: ['colorPickerCancel',] },],
'colorPickerSelect': [{ type: core_1.Output, args: ['colorPickerSelect',] },],
'colorPickerChange': [{ type: core_1.Output, args: ['colorPickerChange',] },],
'presetColorsChange': [{ type: core_1.Output, args: ['cpPresetColorsChange',] },],
"colorPicker": [{ type: Input, args: ['colorPicker',] },],
"cpToggle": [{ type: Input, args: ['cpToggle',] },],
"cpPosition": [{ type: Input, args: ['cpPosition',] },],
"cpPositionOffset": [{ type: Input, args: ['cpPositionOffset',] },],
"cpPositionRelativeToArrow": [{ type: Input, args: ['cpPositionRelativeToArrow',] },],
"cpOutputFormat": [{ type: Input, args: ['cpOutputFormat',] },],
"cpPresetLabel": [{ type: Input, args: ['cpPresetLabel',] },],
"cpPresetEmptyMessage": [{ type: Input, args: ['cpPresetEmptyMessage',] },],
"cpPresetEmptyMessageClass": [{ type: Input, args: ['cpPresetEmptyMessageClass',] },],
"cpPresetColors": [{ type: Input, args: ['cpPresetColors',] },],
"cpMaxPresetColorsLength": [{ type: Input, args: ['cpMaxPresetColorsLength',] },],
"cpCancelButton": [{ type: Input, args: ['cpCancelButton',] },],
"cpCancelButtonClass": [{ type: Input, args: ['cpCancelButtonClass',] },],
"cpCancelButtonText": [{ type: Input, args: ['cpCancelButtonText',] },],
"cpOKButton": [{ type: Input, args: ['cpOKButton',] },],
"cpOKButtonClass": [{ type: Input, args: ['cpOKButtonClass',] },],
"cpOKButtonText": [{ type: Input, args: ['cpOKButtonText',] },],
"cpAddColorButton": [{ type: Input, args: ['cpAddColorButton',] },],
"cpAddColorButtonClass": [{ type: Input, args: ['cpAddColorButtonClass',] },],
"cpAddColorButtonText": [{ type: Input, args: ['cpAddColorButtonText',] },],
"cpRemoveColorButtonClass": [{ type: Input, args: ['cpRemoveColorButtonClass',] },],
"cpFallbackColor": [{ type: Input, args: ['cpFallbackColor',] },],
"cpHeight": [{ type: Input, args: ['cpHeight',] },],
"cpWidth": [{ type: Input, args: ['cpWidth',] },],
"cpIgnoredElements": [{ type: Input, args: ['cpIgnoredElements',] },],
"cpDialogDisplay": [{ type: Input, args: ['cpDialogDisplay',] },],
"cpSaveClickOutside": [{ type: Input, args: ['cpSaveClickOutside',] },],
"cpAlphaChannel": [{ type: Input, args: ['cpAlphaChannel',] },],
"cpUseRootViewContainer": [{ type: Input, args: ['cpUseRootViewContainer',] },],
"cpInputChange": [{ type: Output, args: ['cpInputChange',] },],
"cpToggleChange": [{ type: Output, args: ['cpToggleChange',] },],
"cpSliderChange": [{ type: Output, args: ['cpSliderChange',] },],
"cpSliderDragEnd": [{ type: Output, args: ['cpSliderDragEnd',] },],
"cpSliderDragStart": [{ type: Output, args: ['cpSliderDragStart',] },],
"colorPickerCancel": [{ type: Output, args: ['colorPickerCancel',] },],
"colorPickerSelect": [{ type: Output, args: ['colorPickerSelect',] },],
"colorPickerChange": [{ type: Output, args: ['colorPickerChange',] },],
"presetColorsChange": [{ type: Output, args: ['cpPresetColorsChange',] },],
};
return ColorPickerDirective;
}());
exports.ColorPickerDirective = ColorPickerDirective;
export { ColorPickerDirective };
function ColorPickerDirective_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
ColorPickerDirective.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
ColorPickerDirective.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
ColorPickerDirective.propDecorators;
/** @type {?} */
ColorPickerDirective.prototype.colorPicker;
/** @type {?} */
ColorPickerDirective.prototype.cpToggle;
/** @type {?} */
ColorPickerDirective.prototype.cpPosition;
/** @type {?} */
ColorPickerDirective.prototype.cpPositionOffset;
/** @type {?} */
ColorPickerDirective.prototype.cpPositionRelativeToArrow;
/** @type {?} */
ColorPickerDirective.prototype.cpOutputFormat;
/** @type {?} */
ColorPickerDirective.prototype.cpPresetLabel;
/** @type {?} */
ColorPickerDirective.prototype.cpPresetEmptyMessage;
/** @type {?} */
ColorPickerDirective.prototype.cpPresetEmptyMessageClass;
/** @type {?} */
ColorPickerDirective.prototype.cpPresetColors;
/** @type {?} */
ColorPickerDirective.prototype.cpMaxPresetColorsLength;
/** @type {?} */
ColorPickerDirective.prototype.cpCancelButton;
/** @type {?} */
ColorPickerDirective.prototype.cpCancelButtonClass;
/** @type {?} */
ColorPickerDirective.prototype.cpCancelButtonText;
/** @type {?} */
ColorPickerDirective.prototype.cpOKButton;
/** @type {?} */
ColorPickerDirective.prototype.cpOKButtonClass;
/** @type {?} */
ColorPickerDirective.prototype.cpOKButtonText;
/** @type {?} */
ColorPickerDirective.prototype.cpAddColorButton;
/** @type {?} */
ColorPickerDirective.prototype.cpAddColorButtonClass;
/** @type {?} */
ColorPickerDirective.prototype.cpAddColorButtonText;
/** @type {?} */
ColorPickerDirective.prototype.cpRemoveColorButtonClass;
/** @type {?} */
ColorPickerDirective.prototype.cpFallbackColor;
/** @type {?} */
ColorPickerDirective.prototype.cpHeight;
/** @type {?} */
ColorPickerDirective.prototype.cpWidth;
/** @type {?} */
ColorPickerDirective.prototype.cpIgnoredElements;
/** @type {?} */
ColorPickerDirective.prototype.cpDialogDisplay;
/** @type {?} */
ColorPickerDirective.prototype.cpSaveClickOutside;
/** @type {?} */
ColorPickerDirective.prototype.cpAlphaChannel;
/** @type {?} */
ColorPickerDirective.prototype.cpUseRootViewContainer;
/** @type {?} */
ColorPickerDirective.prototype.cpInputChange;
/** @type {?} */
ColorPickerDirective.prototype.cpToggleChange;
/** @type {?} */
ColorPickerDirective.prototype.cpSliderChange;
/** @type {?} */
ColorPickerDirective.prototype.cpSliderDragEnd;
/** @type {?} */
ColorPickerDirective.prototype.cpSliderDragStart;
/** @type {?} */
ColorPickerDirective.prototype.colorPickerCancel;
/** @type {?} */
ColorPickerDirective.prototype.colorPickerSelect;
/** @type {?} */
ColorPickerDirective.prototype.colorPickerChange;
/** @type {?} */
ColorPickerDirective.prototype.presetColorsChange;
/** @type {?} */
ColorPickerDirective.prototype.dialog;
/** @type {?} */
ColorPickerDirective.prototype.created;
/** @type {?} */
ColorPickerDirective.prototype.ignoreChanges;
/** @type {?} */
ColorPickerDirective.prototype.cmpRef;
/** @type {?} */
ColorPickerDirective.prototype.injector;
/** @type {?} */
ColorPickerDirective.prototype.cfr;
/** @type {?} */
ColorPickerDirective.prototype.appRef;
/** @type {?} */
ColorPickerDirective.prototype.vcRef;
/** @type {?} */
ColorPickerDirective.prototype.elRef;
/** @type {?} */
ColorPickerDirective.prototype.service;
}
//# sourceMappingURL=color-picker.directive.js.map

@@ -1,9 +0,11 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular/core");
var common_1 = require("@angular/common");
var helpers_1 = require("./helpers");
var color_picker_service_1 = require("./color-picker.service");
var color_picker_component_1 = require("./color-picker.component");
var color_picker_directive_1 = require("./color-picker.directive");
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { NgModule } from "@angular/core";
import { CommonModule } from "@angular/common";
import { TextDirective, SliderDirective } from "./helpers";
import { ColorPickerService } from "./color-picker.service";
import { ColorPickerComponent } from "./color-picker.component";
import { ColorPickerDirective } from "./color-picker.directive";
var ColorPickerModule = (function () {

@@ -13,8 +15,8 @@ function ColorPickerModule() {

ColorPickerModule.decorators = [
{ type: core_1.NgModule, args: [{
imports: [common_1.CommonModule],
providers: [color_picker_service_1.ColorPickerService],
declarations: [color_picker_component_1.ColorPickerComponent, color_picker_directive_1.ColorPickerDirective, helpers_1.TextDirective, helpers_1.SliderDirective],
exports: [color_picker_directive_1.ColorPickerDirective],
entryComponents: [color_picker_component_1.ColorPickerComponent]
{ type: NgModule, args: [{
imports: [CommonModule],
providers: [ColorPickerService],
declarations: [ColorPickerComponent, ColorPickerDirective, TextDirective, SliderDirective],
exports: [ColorPickerDirective],
entryComponents: [ColorPickerComponent]
},] },

@@ -26,3 +28,12 @@ ];

}());
exports.ColorPickerModule = ColorPickerModule;
export { ColorPickerModule };
function ColorPickerModule_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
ColorPickerModule.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
ColorPickerModule.ctorParameters;
}
//# sourceMappingURL=color-picker.module.js.map

@@ -1,5 +0,7 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular/core");
var formats_1 = require("./formats");
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { Injectable } from "@angular/core";
import { Rgba, Hsla, Hsva } from "./formats";
var ColorPickerService = (function () {

@@ -9,3 +11,11 @@ function ColorPickerService() {

}
ColorPickerService.prototype.setActive = function (active) {
/**
* @param {?} active
* @return {?}
*/
ColorPickerService.prototype.setActive = /**
* @param {?} active
* @return {?}
*/
function (active) {
if (this.active && this.active.cpDialogDisplay !== 'inline') {

@@ -16,30 +26,54 @@ this.active.closeColorPicker();

};
ColorPickerService.prototype.hsla2hsva = function (hsla) {
var h = Math.min(hsla.h, 1), s = Math.min(hsla.s, 1), l = Math.min(hsla.l, 1), a = Math.min(hsla.a, 1);
/**
* @param {?} hsla
* @return {?}
*/
ColorPickerService.prototype.hsla2hsva = /**
* @param {?} hsla
* @return {?}
*/
function (hsla) {
var /** @type {?} */ h = Math.min(hsla.h, 1), /** @type {?} */ s = Math.min(hsla.s, 1), /** @type {?} */ l = Math.min(hsla.l, 1), /** @type {?} */ a = Math.min(hsla.a, 1);
if (l === 0) {
return new formats_1.Hsva(h, 0, 0, a);
return new Hsva(h, 0, 0, a);
}
else {
var v = l + s * (1 - Math.abs(2 * l - 1)) / 2;
return new formats_1.Hsva(h, 2 * (v - l) / v, v, a);
var /** @type {?} */ v = l + s * (1 - Math.abs(2 * l - 1)) / 2;
return new Hsva(h, 2 * (v - l) / v, v, a);
}
};
ColorPickerService.prototype.hsva2hsla = function (hsva) {
var h = hsva.h, s = hsva.s, v = hsva.v, a = hsva.a;
/**
* @param {?} hsva
* @return {?}
*/
ColorPickerService.prototype.hsva2hsla = /**
* @param {?} hsva
* @return {?}
*/
function (hsva) {
var /** @type {?} */ h = hsva.h, /** @type {?} */ s = hsva.s, /** @type {?} */ v = hsva.v, /** @type {?} */ a = hsva.a;
if (v === 0) {
return new formats_1.Hsla(h, 0, 0, a);
return new Hsla(h, 0, 0, a);
}
else if (s === 0 && v === 1) {
return new formats_1.Hsla(h, 1, 1, a);
return new Hsla(h, 1, 1, a);
}
else {
var l = v * (2 - s) / 2;
return new formats_1.Hsla(h, v * s / (1 - Math.abs(2 * l - 1)), l, a);
var /** @type {?} */ l = v * (2 - s) / 2;
return new Hsla(h, v * s / (1 - Math.abs(2 * l - 1)), l, a);
}
};
ColorPickerService.prototype.rgbaToHsva = function (rgba) {
var r = Math.min(rgba.r, 1), g = Math.min(rgba.g, 1), b = Math.min(rgba.b, 1), a = Math.min(rgba.a, 1);
var max = Math.max(r, g, b), min = Math.min(r, g, b);
var h, s, v = max;
var d = max - min;
/**
* @param {?} rgba
* @return {?}
*/
ColorPickerService.prototype.rgbaToHsva = /**
* @param {?} rgba
* @return {?}
*/
function (rgba) {
var /** @type {?} */ r = Math.min(rgba.r, 1), /** @type {?} */ g = Math.min(rgba.g, 1), /** @type {?} */ b = Math.min(rgba.b, 1), /** @type {?} */ a = Math.min(rgba.a, 1);
var /** @type {?} */ max = Math.max(r, g, b), /** @type {?} */ min = Math.min(r, g, b);
var /** @type {?} */ h, /** @type {?} */ s, /** @type {?} */ v = max;
var /** @type {?} */ d = max - min;
s = max === 0 ? 0 : d / max;

@@ -63,12 +97,20 @@ if (max === min) {

}
return new formats_1.Hsva(h, s, v, a);
return new Hsva(h, s, v, a);
};
ColorPickerService.prototype.hsvaToRgba = function (hsva) {
var h = hsva.h, s = hsva.s, v = hsva.v, a = hsva.a;
var r, g, b;
var i = Math.floor(h * 6);
var f = h * 6 - i;
var p = v * (1 - s);
var q = v * (1 - f * s);
var t = v * (1 - (1 - f) * s);
/**
* @param {?} hsva
* @return {?}
*/
ColorPickerService.prototype.hsvaToRgba = /**
* @param {?} hsva
* @return {?}
*/
function (hsva) {
var /** @type {?} */ h = hsva.h, /** @type {?} */ s = hsva.s, /** @type {?} */ v = hsva.v, /** @type {?} */ a = hsva.a;
var /** @type {?} */ r, /** @type {?} */ g, /** @type {?} */ b;
var /** @type {?} */ i = Math.floor(h * 6);
var /** @type {?} */ f = h * 6 - i;
var /** @type {?} */ p = v * (1 - s);
var /** @type {?} */ q = v * (1 - f * s);
var /** @type {?} */ t = v * (1 - (1 - f) * s);
switch (i % 6) {

@@ -94,12 +136,22 @@ case 0:

}
return new formats_1.Rgba(r, g, b, a);
return new Rgba(r, g, b, a);
};
ColorPickerService.prototype.stringToHsva = function (colorString, allowHex8) {
/**
* @param {?=} colorString
* @param {?=} allowHex8
* @return {?}
*/
ColorPickerService.prototype.stringToHsva = /**
* @param {?=} colorString
* @param {?=} allowHex8
* @return {?}
*/
function (colorString, allowHex8) {
if (colorString === void 0) { colorString = ''; }
if (allowHex8 === void 0) { allowHex8 = false; }
var stringParsers = [
var /** @type {?} */ stringParsers = [
{
re: /(rgb)a?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*%?,\s*(\d{1,3})\s*%?(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,
parse: function (execResult) {
return new formats_1.Rgba(parseInt(execResult[2]) / 255, parseInt(execResult[3]) / 255, parseInt(execResult[4]) / 255, isNaN(parseFloat(execResult[5])) ? 1 : parseFloat(execResult[5]));
return new Rgba(parseInt(execResult[2]) / 255, parseInt(execResult[3]) / 255, parseInt(execResult[4]) / 255, isNaN(parseFloat(execResult[5])) ? 1 : parseFloat(execResult[5]));
}

@@ -110,3 +162,3 @@ },

parse: function (execResult) {
return new formats_1.Hsla(parseInt(execResult[2]) / 360, parseInt(execResult[3]) / 100, parseInt(execResult[4]) / 100, isNaN(parseFloat(execResult[5])) ? 1 : parseFloat(execResult[5]));
return new Hsla(parseInt(execResult[2]) / 360, parseInt(execResult[3]) / 100, parseInt(execResult[4]) / 100, isNaN(parseFloat(execResult[5])) ? 1 : parseFloat(execResult[5]));
}

@@ -119,3 +171,3 @@ }

parse: function (execResult) {
return new formats_1.Rgba(parseInt(execResult[1], 16) / 255, parseInt(execResult[2], 16) / 255, parseInt(execResult[3], 16) / 255, parseInt(execResult[4] || 'FF', 16) / 255);
return new Rgba(parseInt(execResult[1], 16) / 255, parseInt(execResult[2], 16) / 255, parseInt(execResult[3], 16) / 255, parseInt(execResult[4] || 'FF', 16) / 255);
}

@@ -128,3 +180,3 @@ });

parse: function (execResult) {
return new formats_1.Rgba(parseInt(execResult[1], 16) / 255, parseInt(execResult[2], 16) / 255, parseInt(execResult[3], 16) / 255, 1);
return new Rgba(parseInt(execResult[1], 16) / 255, parseInt(execResult[2], 16) / 255, parseInt(execResult[3], 16) / 255, 1);
}

@@ -134,3 +186,3 @@ }, {

parse: function (execResult) {
return new formats_1.Rgba(parseInt(execResult[1] + execResult[1], 16) / 255, parseInt(execResult[2] + execResult[2], 16) / 255, parseInt(execResult[3] + execResult[3], 16) / 255, 1);
return new Rgba(parseInt(execResult[1] + execResult[1], 16) / 255, parseInt(execResult[2] + execResult[2], 16) / 255, parseInt(execResult[3] + execResult[3], 16) / 255, 1);
}

@@ -140,12 +192,12 @@ });

colorString = (colorString || '').toLowerCase();
var hsva = null;
for (var key in stringParsers) {
var /** @type {?} */ hsva = null;
for (var /** @type {?} */ key in stringParsers) {
if (stringParsers.hasOwnProperty(key)) {
var parser = stringParsers[key];
var match = parser.re.exec(colorString), color = match && parser.parse(match);
var /** @type {?} */ parser = stringParsers[key];
var /** @type {?} */ match = parser.re.exec(colorString), /** @type {?} */ color = match && parser.parse(match);
if (color) {
if (color instanceof formats_1.Rgba) {
if (color instanceof Rgba) {
hsva = this.rgbaToHsva(color);
}
else if (color instanceof formats_1.Hsla) {
else if (color instanceof Hsla) {
hsva = this.hsla2hsva(color);

@@ -159,7 +211,19 @@ }

};
ColorPickerService.prototype.outputFormat = function (hsva, outputFormat, alphaChannel) {
/**
* @param {?} hsva
* @param {?} outputFormat
* @param {?} alphaChannel
* @return {?}
*/
ColorPickerService.prototype.outputFormat = /**
* @param {?} hsva
* @param {?} outputFormat
* @param {?} alphaChannel
* @return {?}
*/
function (hsva, outputFormat, alphaChannel) {
switch (outputFormat) {
case 'hsla':
var hsla = this.hsva2hsla(hsva);
var hslaText = new formats_1.Hsla(Math.round((hsla.h) * 360), Math.round(hsla.s * 100), Math.round(hsla.l * 100), Math.round(hsla.a * 100) / 100);
var /** @type {?} */ hsla = this.hsva2hsla(hsva);
var /** @type {?} */ hslaText = new Hsla(Math.round((hsla.h) * 360), Math.round(hsla.s * 100), Math.round(hsla.l * 100), Math.round(hsla.a * 100) / 100);
if (hsva.a < 1 || alphaChannel === 'always') {

@@ -172,3 +236,3 @@ return 'hsla(' + hslaText.h + ',' + hslaText.s + '%,' + hslaText.l + '%,' + hslaText.a + ')';

case 'rgba':
var rgba = this.denormalizeRGBA(this.hsvaToRgba(hsva));
var /** @type {?} */ rgba = this.denormalizeRGBA(this.hsvaToRgba(hsva));
if (hsva.a < 1 || alphaChannel === 'always') {

@@ -184,7 +248,17 @@ return 'rgba(' + rgba.r + ',' + rgba.g + ',' + rgba.b + ',' + Math.round(rgba.a * 100) / 100 + ')';

};
ColorPickerService.prototype.hexText = function (rgba, allowHex8) {
var hexText = '#' + ((1 << 24) | (rgba.r << 16) | (rgba.g << 8) | rgba.b).toString(16).substr(1);
/**
* @param {?} rgba
* @param {?} allowHex8
* @return {?}
*/
ColorPickerService.prototype.hexText = /**
* @param {?} rgba
* @param {?} allowHex8
* @return {?}
*/
function (rgba, allowHex8) {
var /** @type {?} */ hexText = '#' + ((1 << 24) | (rgba.r << 16) | (rgba.g << 8) | rgba.b).toString(16).substr(1);
/*if (hexText[1] === hexText[2] && hexText[3] === hexText[4] && hexText[5] === hexText[6] && !allowHex8) {
hexText = '#' + hexText[1] + hexText[3] + hexText[5];
}*/
hexText = '#' + hexText[1] + hexText[3] + hexText[5];
}*/
if (allowHex8) {

@@ -195,7 +269,15 @@ hexText += ((1 << 8) | Math.round(rgba.a * 255)).toString(16).substr(1);

};
ColorPickerService.prototype.denormalizeRGBA = function (rgba) {
return new formats_1.Rgba(Math.round(rgba.r * 255), Math.round(rgba.g * 255), Math.round(rgba.b * 255), rgba.a);
/**
* @param {?} rgba
* @return {?}
*/
ColorPickerService.prototype.denormalizeRGBA = /**
* @param {?} rgba
* @return {?}
*/
function (rgba) {
return new Rgba(Math.round(rgba.r * 255), Math.round(rgba.g * 255), Math.round(rgba.b * 255), rgba.a);
};
ColorPickerService.decorators = [
{ type: core_1.Injectable },
{ type: Injectable },
];

@@ -206,3 +288,14 @@ /** @nocollapse */

}());
exports.ColorPickerService = ColorPickerService;
export { ColorPickerService };
function ColorPickerService_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
ColorPickerService.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
ColorPickerService.ctorParameters;
/** @type {?} */
ColorPickerService.prototype.active;
}
//# sourceMappingURL=color-picker.service.js.map

@@ -1,3 +0,5 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
var Hsva = (function () {

@@ -12,3 +14,13 @@ function Hsva(h, s, v, a) {

}());
exports.Hsva = Hsva;
export { Hsva };
function Hsva_tsickle_Closure_declarations() {
/** @type {?} */
Hsva.prototype.h;
/** @type {?} */
Hsva.prototype.s;
/** @type {?} */
Hsva.prototype.v;
/** @type {?} */
Hsva.prototype.a;
}
var Hsla = (function () {

@@ -23,3 +35,13 @@ function Hsla(h, s, l, a) {

}());
exports.Hsla = Hsla;
export { Hsla };
function Hsla_tsickle_Closure_declarations() {
/** @type {?} */
Hsla.prototype.h;
/** @type {?} */
Hsla.prototype.s;
/** @type {?} */
Hsla.prototype.l;
/** @type {?} */
Hsla.prototype.a;
}
var Rgba = (function () {

@@ -34,3 +56,13 @@ function Rgba(r, g, b, a) {

}());
exports.Rgba = Rgba;
export { Rgba };
function Rgba_tsickle_Closure_declarations() {
/** @type {?} */
Rgba.prototype.r;
/** @type {?} */
Rgba.prototype.g;
/** @type {?} */
Rgba.prototype.b;
/** @type {?} */
Rgba.prototype.a;
}
//# sourceMappingURL=formats.js.map

@@ -1,9 +0,19 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular/core");
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { Directive, Input, Output, EventEmitter, ElementRef } from "@angular/core";
var TextDirective = (function () {
function TextDirective() {
this.newValue = new core_1.EventEmitter();
this.newValue = new EventEmitter();
}
TextDirective.prototype.changeInput = function (value) {
/**
* @param {?} value
* @return {?}
*/
TextDirective.prototype.changeInput = /**
* @param {?} value
* @return {?}
*/
function (value) {
if (this.rg === undefined) {

@@ -13,3 +23,3 @@ this.newValue.emit(value);

else {
var numeric = parseFloat(value);
var /** @type {?} */ numeric = parseFloat(value);
if (!isNaN(numeric) && numeric >= 0 && numeric <= this.rg) {

@@ -21,3 +31,3 @@ this.newValue.emit({ v: numeric, rg: this.rg });

TextDirective.decorators = [
{ type: core_1.Directive, args: [{
{ type: Directive, args: [{
selector: '[text]',

@@ -32,9 +42,26 @@ host: {

TextDirective.propDecorators = {
'newValue': [{ type: core_1.Output, args: ['newValue',] },],
'text': [{ type: core_1.Input, args: ['text',] },],
'rg': [{ type: core_1.Input, args: ['rg',] },],
"newValue": [{ type: Output, args: ['newValue',] },],
"text": [{ type: Input, args: ['text',] },],
"rg": [{ type: Input, args: ['rg',] },],
};
return TextDirective;
}());
exports.TextDirective = TextDirective;
export { TextDirective };
function TextDirective_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
TextDirective.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
TextDirective.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
TextDirective.propDecorators;
/** @type {?} */
TextDirective.prototype.newValue;
/** @type {?} */
TextDirective.prototype.text;
/** @type {?} */
TextDirective.prototype.rg;
}
var SliderDirective = (function () {

@@ -44,13 +71,21 @@ function SliderDirective(el) {

this.el = el;
this.newValue = new core_1.EventEmitter();
this.dragStart = new core_1.EventEmitter();
this.dragEnd = new core_1.EventEmitter();
this.newValue = new EventEmitter();
this.dragStart = new EventEmitter();
this.dragEnd = new EventEmitter();
this.listenerMove = function (event) { _this.move(event); };
this.listenerStop = function () { _this.stop(); };
}
SliderDirective.prototype.setCursor = function (event) {
var height = this.el.nativeElement.offsetHeight;
var width = this.el.nativeElement.offsetWidth;
var x = Math.max(0, Math.min(this.getX(event), width));
var y = Math.max(0, Math.min(this.getY(event), height));
/**
* @param {?} event
* @return {?}
*/
SliderDirective.prototype.setCursor = /**
* @param {?} event
* @return {?}
*/
function (event) {
var /** @type {?} */ height = this.el.nativeElement.offsetHeight;
var /** @type {?} */ width = this.el.nativeElement.offsetWidth;
var /** @type {?} */ x = Math.max(0, Math.min(this.getX(event), width));
var /** @type {?} */ y = Math.max(0, Math.min(this.getY(event), height));
if (this.rgX !== undefined && this.rgY !== undefined) {

@@ -60,2 +95,3 @@ this.newValue.emit({ s: x / width, v: (1 - y / height), rgX: this.rgX, rgY: this.rgY });

else if (this.rgX === undefined && this.rgY !== undefined) {
//ready to use vertical sliders
this.newValue.emit({ v: y / height, rg: this.rgY });

@@ -67,7 +103,23 @@ }

};
SliderDirective.prototype.move = function (event) {
/**
* @param {?} event
* @return {?}
*/
SliderDirective.prototype.move = /**
* @param {?} event
* @return {?}
*/
function (event) {
event.preventDefault();
this.setCursor(event);
};
SliderDirective.prototype.start = function (event) {
/**
* @param {?} event
* @return {?}
*/
SliderDirective.prototype.start = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.setCursor(event);

@@ -80,3 +132,9 @@ document.addEventListener('mousemove', this.listenerMove);

};
SliderDirective.prototype.stop = function () {
/**
* @return {?}
*/
SliderDirective.prototype.stop = /**
* @return {?}
*/
function () {
document.removeEventListener('mousemove', this.listenerMove);

@@ -88,10 +146,26 @@ document.removeEventListener('touchmove', this.listenerMove);

};
SliderDirective.prototype.getX = function (event) {
/**
* @param {?} event
* @return {?}
*/
SliderDirective.prototype.getX = /**
* @param {?} event
* @return {?}
*/
function (event) {
return (event.pageX !== undefined ? event.pageX : event.touches[0].pageX) - this.el.nativeElement.getBoundingClientRect().left - window.pageXOffset;
};
SliderDirective.prototype.getY = function (event) {
/**
* @param {?} event
* @return {?}
*/
SliderDirective.prototype.getY = /**
* @param {?} event
* @return {?}
*/
function (event) {
return (event.pageY !== undefined ? event.pageY : event.touches[0].pageY) - this.el.nativeElement.getBoundingClientRect().top - window.pageYOffset;
};
SliderDirective.decorators = [
{ type: core_1.Directive, args: [{
{ type: Directive, args: [{
selector: '[slider]',

@@ -106,15 +180,44 @@ host: {

SliderDirective.ctorParameters = function () { return [
{ type: core_1.ElementRef, },
{ type: ElementRef, },
]; };
SliderDirective.propDecorators = {
'newValue': [{ type: core_1.Output, args: ['newValue',] },],
'dragStart': [{ type: core_1.Output, args: ['dragStart',] },],
'dragEnd': [{ type: core_1.Output, args: ['dragEnd',] },],
'slider': [{ type: core_1.Input, args: ['slider',] },],
'rgX': [{ type: core_1.Input, args: ['rgX',] },],
'rgY': [{ type: core_1.Input, args: ['rgY',] },],
"newValue": [{ type: Output, args: ['newValue',] },],
"dragStart": [{ type: Output, args: ['dragStart',] },],
"dragEnd": [{ type: Output, args: ['dragEnd',] },],
"slider": [{ type: Input, args: ['slider',] },],
"rgX": [{ type: Input, args: ['rgX',] },],
"rgY": [{ type: Input, args: ['rgY',] },],
};
return SliderDirective;
}());
exports.SliderDirective = SliderDirective;
export { SliderDirective };
function SliderDirective_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
SliderDirective.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
SliderDirective.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
SliderDirective.propDecorators;
/** @type {?} */
SliderDirective.prototype.newValue;
/** @type {?} */
SliderDirective.prototype.dragStart;
/** @type {?} */
SliderDirective.prototype.dragEnd;
/** @type {?} */
SliderDirective.prototype.slider;
/** @type {?} */
SliderDirective.prototype.rgX;
/** @type {?} */
SliderDirective.prototype.rgY;
/** @type {?} */
SliderDirective.prototype.listenerMove;
/** @type {?} */
SliderDirective.prototype.listenerStop;
/** @type {?} */
SliderDirective.prototype.el;
}
var SliderPosition = (function () {

@@ -129,3 +232,13 @@ function SliderPosition(h, s, v, a) {

}());
exports.SliderPosition = SliderPosition;
export { SliderPosition };
function SliderPosition_tsickle_Closure_declarations() {
/** @type {?} */
SliderPosition.prototype.h;
/** @type {?} */
SliderPosition.prototype.s;
/** @type {?} */
SliderPosition.prototype.v;
/** @type {?} */
SliderPosition.prototype.a;
}
var SliderDimension = (function () {

@@ -140,9 +253,22 @@ function SliderDimension(h, s, v, a) {

}());
exports.SliderDimension = SliderDimension;
function detectIE() {
var ua = '';
export { SliderDimension };
function SliderDimension_tsickle_Closure_declarations() {
/** @type {?} */
SliderDimension.prototype.h;
/** @type {?} */
SliderDimension.prototype.s;
/** @type {?} */
SliderDimension.prototype.v;
/** @type {?} */
SliderDimension.prototype.a;
}
/**
* @return {?}
*/
export function detectIE() {
var /** @type {?} */ ua = '';
if (typeof navigator !== "undefined") {
ua = navigator.userAgent.toLowerCase();
}
var msie = ua.indexOf('msie ');
var /** @type {?} */ msie = ua.indexOf('msie ');
if (msie > 0) {

@@ -155,3 +281,2 @@ // IE 10 or older => return version number

}
exports.detectIE = detectIE;
//# sourceMappingURL=helpers.js.map

@@ -1,12 +0,11 @@

"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
Object.defineProperty(exports, "__esModule", { value: true });
__export(require("./color-picker.component"));
__export(require("./color-picker.directive"));
__export(require("./color-picker.module"));
__export(require("./color-picker.service"));
__export(require("./formats"));
__export(require("./helpers"));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
export { ColorPickerComponent } from "./color-picker.component";
export { ColorPickerDirective } from "./color-picker.directive";
export { ColorPickerModule } from "./color-picker.module";
export { ColorPickerService } from "./color-picker.service";
export { Hsva, Hsla, Rgba } from "./formats";
export { TextDirective, SliderDirective, SliderPosition, SliderDimension, detectIE } from "./helpers";
//# sourceMappingURL=index.js.map
{
"name": "ngx-color-picker",
"description": "Color picker widget for Angular (version 2 and newer)",
"description": "Color picker widget for Angular",
"bugs": "https://github.com/zefoy/ngx-color-picker/issues",
"license": "MIT",
"version": "4.5.0",
"main": "bundles/ngx-color-picker.umd.js",
"module": "./dist/index.js",
"typings": "./dist/index.d.ts",
"version": "5.0.0",
"main": "./bundles/ngx-color-picker.umd.js",
"module": "./dist/ngx-color-picker.es5.js",
"typings": "./dist/ngx-color-picker.d.ts",
"tslint": {

@@ -17,17 +17,17 @@ "extends": "./tslint.json"

"scripts": {
"init": "npm install",
"start": "npm run build",
"watch": "watch 'npm run build' src/",
"start": "npm run build && npm run bundle",
"watch": "watch 'npm run start' src/",
"clean": "rm -rf dist bundles node_modules",
"lint": "npm run lint:js && npm run lint:scss",
"build": "npm run build:umd && npm run build:aot",
"deploy": "npm run build && npm run inline && npm publish",
"inline": "ng2-inline --compress -b dist/lib/ -o ./ \"dist/lib/*.js\"",
"lint:ts": "tslint 'src/**/*.ts'",
"lint:scss": "stylelint 'src/**/*.scss' --syntax scss",
"build:js": "ngc -p src/tsconfig.json",
"lint": "npm run lint:ts && npm run lint:scss",
"build": "npm run build:html && npm run build:css && npm run build:js",
"bundle": "npm run bundle:es5 ; npm run bundle:umd ; npm run minify:umd",
"deploy": "npm run build && npm run bundle && npm publish",
"lint:ts": "tslint -p src/tsconfig.json \"src/**/*.ts\"",
"lint:scss": "stylelint --syntax scss \"src/**/*.scss\"",
"build:js": "ngc -p src/tsconfig.json && ngi -c -s dist/",
"build:css": "node-sass src/ -o dist/ --source-map=true",
"build:html": "cpx src/lib/*.html dist/lib/",
"build:umd": "webpack --config config/webpack.config.js",
"build:aot": "npm run build:js && npm run build:css && npm run build:html"
"bundle:es5": "rollup -c config/rollup-es5.config.js --silent",
"bundle:umd": "rollup -c config/rollup-umd.config.js --silent",
"minify:umd": "uglifyjs bundles/$npm_package_name.umd.js -o bundles/$npm_package_name.umd.min.js --source-map=\"filename=bundles/$npm_package_name.umd.min.js.map\""
},

@@ -40,33 +40,30 @@ "repository": {

"devDependencies": {
"@angular/common": "^4.0.0",
"@angular/compiler": "^4.0.0",
"@angular/compiler-cli": "^4.0.0",
"@angular/core": "^4.0.0",
"@angular/platform-browser": "^4.0.0",
"@types/node": "~6.0.0",
"angular2-inline-template-style": "~1.0.0",
"angular2-template-loader": "~0.6.0",
"awesome-typescript-loader": "~3.2.0",
"codelyzer": "^3.1.2",
"core-js": "~2.4.0",
"cpx": "~1.5.0",
"node-sass": "~4.5.0",
"raw-loader": "~0.5.0",
"rxjs": "~5.4.0",
"sass-loader": "~6.0.0",
"string-replace-loader": "~1.1.0",
"strip-sourcemap-loader": "~0.0.0",
"stylelint": "~8.0.0",
"stylelint-config-standard": "~17.0.0",
"stylelint-order": "~0.6.0",
"tslint": "~5.6.0",
"@angular/common": "^5.0.0",
"@angular/compiler": "^5.0.0",
"@angular/compiler-cli": "^5.0.0",
"@angular/core": "^5.0.0",
"@angular/platform-browser": "^5.0.0",
"@types/node": "^8.0.0",
"angular-inliner-cli": "^1.2.0",
"codelyzer": "^4.0.0",
"core-js": "^2.5.0",
"cpx": "^1.5.0",
"node-sass": "^4.5.0",
"rollup": "^0.50.0",
"rollup-plugin-node-resolve": "^3.0.0",
"rollup-plugin-sourcemaps": "^0.4.0",
"rxjs": "^5.5.0",
"stylelint": "^8.2.0",
"stylelint-config-standard": "^17.0.0",
"stylelint-order": "^0.7.0",
"tslint": "^5.8.0",
"typescript": "~2.4.0",
"watch": "~1.0.0",
"webpack": "~2.6.0",
"zone.js": "~0.8.0"
"uglify-es": "^3.1.0",
"watch": "^1.0.0",
"zone.js": "^0.8.0"
},
"peerDependencies": {
"@angular/common": ">=2.0.0",
"@angular/core": ">=2.0.0"
"@angular/common": ">=5.0.0",
"@angular/core": ">=5.0.0"
}
}

@@ -5,9 +5,9 @@ # Angular Color Picker

This is an AOT compatible version with some additional features of the cool angular2-color-picker by Alberplz.
This is a simple color picker based on the cool angular2-color-picker by Alberplz.
In future this library might merge with the angular2-color-picker or continue live as a separate library.
This documentation is for the latest 5.x.x version which requires Angular 5. For Angular 4 you need to use the latest 4.x.x version. Documentation for the 4.x.x can be found from <a href="https://github.com/zefoy/ngx-color-picker/tree/4.x.x/">here</a>.
See a live example application <a href="https://zefoy.github.io/ngx-color-picker/">here</a>.
### Library building
### Building the library

@@ -17,21 +17,19 @@ ```bash

npm run build
npm run inline
npm run bundle
```
### Library development
### Running the example
```bash
npm link
cd example
npm link ngx-color-picker
npm install
npm start
```
### Running the example
### Library development
```bash
npm link
cd example
npm install
npm start
(or 'npm run start:sjs' for using SystemJS)
npm link ngx-color-picker
```

@@ -105,3 +103,3 @@

[cpRemoveColorButtonClass] // Additional class for customizing the Remove Color button ('').
[cpMaxPresetColorsLength] // Use this option to set the max colors allowed into preset panel (6: number).
[cpMaxPresetColorsLength] // Use this option to set the max colors allowed in presets (null).

@@ -108,0 +106,0 @@ [cpPresetEmptyMessage] // Message for empty colors if any provided used ('No colors added').

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

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc