{"version":3,"file":"primeng-colorpicker.umd.js","sources":["../../src/app/components/colorpicker/colorpicker.ts","../../src/app/components/colorpicker/primeng-colorpicker.ts"],"sourcesContent":["import { NgModule, Component, ElementRef, Input, Output, OnDestroy, EventEmitter, forwardRef, Renderer2, ViewChild, ChangeDetectorRef, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\nimport { trigger, state, style, transition, animate, AnimationEvent } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n\nexport const COLORPICKER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ColorPicker),\n multi: true\n};\n\n@Component({\n selector: 'p-colorPicker',\n template: `\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n `,\n animations: [\n trigger('overlayAnimation', [\n transition(':enter', [\n style({opacity: 0, transform: 'scaleY(0.8)'}),\n animate('{{showTransitionParams}}')\n ]),\n transition(':leave', [\n animate('{{hideTransitionParams}}', style({ opacity: 0 }))\n ])\n ])\n ],\n providers: [COLORPICKER_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./colorpicker.css']\n})\nexport class ColorPicker implements ControlValueAccessor, OnDestroy {\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() inline: boolean;\n\n @Input() format: string = 'hex';\n\n @Input() appendTo: string;\n\n @Input() disabled: boolean;\n\n @Input() tabindex: string;\n\n @Input() inputId: string;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() hideTransitionOptions: string = '.1s linear';\n\n @Output() onChange: EventEmitter = new EventEmitter();\n\n @Output() onShow: EventEmitter = new EventEmitter();\n\n @Output() onHide: EventEmitter = new EventEmitter();\n\n\n @ViewChild('container') containerViewChild: ElementRef;\n\n @ViewChild('input') inputViewChild: ElementRef;\n\n value: any = {h:0, s: 100, b: 100};\n\n inputBgColor: string;\n\n shown: boolean;\n\n overlayVisible: boolean;\n\n defaultColor: string = 'ff0000';\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n documentClickListener: Function;\n\n documentResizeListener: any;\n\n documentMousemoveListener: Function;\n\n documentMouseupListener: Function;\n\n documentHueMoveListener: Function;\n\n scrollHandler: any;\n\n selfClick: boolean;\n\n colorDragging: boolean;\n\n hueDragging: boolean;\n\n overlay: HTMLDivElement;\n\n colorSelectorViewChild: ElementRef;\n\n colorHandleViewChild: ElementRef;\n\n hueViewChild: ElementRef;\n\n hueHandleViewChild: ElementRef;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef) {}\n\n @ViewChild('colorSelector') set colorSelector(element: ElementRef) {\n this.colorSelectorViewChild = element;\n }\n\n @ViewChild('colorHandle') set colorHandle(element: ElementRef) {\n this.colorHandleViewChild = element;\n }\n\n @ViewChild('hue') set hue(element: ElementRef) {\n this.hueViewChild = element;\n }\n\n @ViewChild('hueHandle') set hueHandle(element: ElementRef) {\n this.hueHandleViewChild = element;\n }\n\n onHueMousedown(event: MouseEvent) {\n if (this.disabled) {\n return;\n }\n\n this.bindDocumentMousemoveListener();\n this.bindDocumentMouseupListener();\n\n this.hueDragging = true;\n this.pickHue(event);\n }\n\n pickHue(event: MouseEvent) {\n let top: number = this.hueViewChild.nativeElement.getBoundingClientRect().top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0);\n this.value = this.validateHSB({\n h: Math.floor(360 * (150 - Math.max(0, Math.min(150, (event.pageY - top)))) / 150),\n s: this.value.s,\n b: this.value.b\n });\n\n this.updateColorSelector();\n this.updateUI();\n this.updateModel();\n this.onChange.emit({originalEvent: event, value: this.getValueToUpdate()});\n }\n\n onColorMousedown(event: MouseEvent) {\n if (this.disabled) {\n return;\n }\n\n this.bindDocumentMousemoveListener();\n this.bindDocumentMouseupListener();\n\n this.colorDragging = true;\n this.pickColor(event);\n }\n\n pickColor(event: MouseEvent) {\n let rect = this.colorSelectorViewChild.nativeElement.getBoundingClientRect();\n let top = rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0);\n let left = rect.left + document.body.scrollLeft;\n let saturation = Math.floor(100 * (Math.max(0, Math.min(150, (event.pageX - left)))) / 150);\n let brightness = Math.floor(100 * (150 - Math.max(0, Math.min(150, (event.pageY - top)))) / 150);\n this.value = this.validateHSB({\n h: this.value.h,\n s: saturation,\n b: brightness\n });\n\n this.updateUI();\n this.updateModel();\n this.onChange.emit({originalEvent: event, value: this.getValueToUpdate()});\n }\n\n getValueToUpdate() {\n let val: any;\n switch(this.format) {\n case 'hex':\n val = '#' + this.HSBtoHEX(this.value);\n break;\n\n case 'rgb':\n val = this.HSBtoRGB(this.value);\n break;\n\n case 'hsb':\n val = this.value;\n break;\n }\n\n return val;\n }\n\n updateModel(): void {\n this.onModelChange(this.getValueToUpdate());\n }\n\n writeValue(value: any): void {\n if (value) {\n switch(this.format) {\n case 'hex':\n this.value = this.HEXtoHSB(value);\n break;\n\n case 'rgb':\n this.value = this.RGBtoHSB(value);\n break;\n\n case 'hsb':\n this.value = value;\n break;\n }\n }\n else {\n this.value = this.HEXtoHSB(this.defaultColor);\n }\n\n this.updateColorSelector();\n this.updateUI();\n this.cd.markForCheck();\n }\n\n updateColorSelector() {\n if (this.colorSelectorViewChild) {\n const hsb: any = {};\n hsb.s = 100;\n hsb.b = 100;\n hsb.h = this.value.h;\n\n this.colorSelectorViewChild.nativeElement.style.backgroundColor = '#' + this.HSBtoHEX(hsb);\n }\n }\n\n updateUI() {\n if (this.colorHandleViewChild && this.hueHandleViewChild.nativeElement) {\n this.colorHandleViewChild.nativeElement.style.left = Math.floor(150 * this.value.s / 100) + 'px';\n this.colorHandleViewChild.nativeElement.style.top = Math.floor(150 * (100 - this.value.b) / 100) + 'px';\n this.hueHandleViewChild.nativeElement.style.top = Math.floor(150 - (150 * this.value.h / 360)) + 'px';\n\n }\n\n this.inputBgColor = '#' + this.HSBtoHEX(this.value);\n }\n\n onInputFocus() {\n this.onModelTouched();\n }\n\n show() {\n this.overlayVisible = true;\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch(event.toState) {\n case 'visible':\n if (!this.inline) {\n this.overlay = event.element;\n this.appendOverlay();\n if (this.autoZIndex) {\n this.overlay.style.zIndex = String(this.baseZIndex + (++DomHandler.zindex));\n }\n this.alignOverlay();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n\n this.updateColorSelector();\n this.updateUI();\n }\n break;\n\n case 'void':\n this.onOverlayHide();\n break;\n }\n }\n\n onOverlayAnimationEnd(event: AnimationEvent) {\n switch(event.toState) {\n case 'visible':\n if (!this.inline) {\n this.onShow.emit({})\n }\n break;\n\n case 'void':\n this.onHide.emit({})\n break;\n }\n }\n\n appendOverlay() {\n if (this.appendTo) {\n if (this.appendTo === 'body')\n document.body.appendChild(this.overlay);\n else\n DomHandler.appendChild(this.overlay, this.appendTo);\n }\n }\n\n restoreOverlayAppend() {\n if (this.overlay && this.appendTo) {\n this.el.nativeElement.appendChild(this.overlay);\n }\n }\n\n alignOverlay() {\n if (this.appendTo)\n DomHandler.absolutePosition(this.overlay, this.inputViewChild.nativeElement);\n else\n DomHandler.relativePosition(this.overlay, this.inputViewChild.nativeElement);\n }\n\n hide() {\n this.overlayVisible = false;\n this.cd.markForCheck();\n }\n\n onInputClick() {\n this.selfClick = true;\n this.togglePanel();\n }\n\n togglePanel() {\n if (!this.overlayVisible)\n this.show();\n else\n this.hide();\n }\n\n onInputKeydown(event: KeyboardEvent) {\n switch(event.which) {\n //space\n case 32:\n this.togglePanel();\n event.preventDefault();\n break;\n\n //escape and tab\n case 27:\n case 9:\n this.hide();\n break;\n }\n }\n\n onPanelClick() {\n this.selfClick = true;\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentClickListener = this.renderer.listen(documentTarget, 'click', () => {\n if (!this.selfClick) {\n this.overlayVisible = false;\n this.unbindDocumentClickListener();\n }\n\n this.selfClick = false;\n this.cd.markForCheck();\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n bindDocumentMousemoveListener() {\n if (!this.documentMousemoveListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentMousemoveListener = this.renderer.listen(documentTarget, 'mousemove', (event: MouseEvent) => {\n if (this.colorDragging) {\n this.pickColor(event);\n }\n\n if (this.hueDragging) {\n this.pickHue(event);\n }\n });\n }\n }\n\n unbindDocumentMousemoveListener() {\n if (this.documentMousemoveListener) {\n this.documentMousemoveListener();\n this.documentMousemoveListener = null;\n }\n }\n\n bindDocumentMouseupListener() {\n if (!this.documentMouseupListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentMouseupListener = this.renderer.listen(documentTarget, 'mouseup', () => {\n this.colorDragging = false;\n this.hueDragging = false;\n this.unbindDocumentMousemoveListener();\n this.unbindDocumentMouseupListener();\n });\n }\n }\n\n unbindDocumentMouseupListener() {\n if (this.documentMouseupListener) {\n this.documentMouseupListener();\n this.documentMouseupListener = null;\n }\n }\n\n bindDocumentResizeListener() {\n this.documentResizeListener = this.onWindowResize.bind(this);\n window.addEventListener('resize', this.documentResizeListener);\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n\n onWindowResize() {\n this.hide();\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.containerViewChild.nativeElement, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n validateHSB(hsb) {\n return {\n h: Math.min(360, Math.max(0, hsb.h)),\n s: Math.min(100, Math.max(0, hsb.s)),\n b: Math.min(100, Math.max(0, hsb.b))\n };\n }\n\n validateRGB(rgb) {\n return {\n r: Math.min(255, Math.max(0, rgb.r)),\n g: Math.min(255, Math.max(0, rgb.g)),\n b: Math.min(255, Math.max(0, rgb.b))\n };\n }\n\n validateHEX(hex) {\n var len = 6 - hex.length;\n if (len > 0) {\n var o = [];\n for (var i=0; i -1) ? hex.substring(1) : hex), 16);\n return {r: hexValue >> 16, g: (hexValue & 0x00FF00) >> 8, b: (hexValue & 0x0000FF)};\n }\n\n HEXtoHSB(hex) {\n return this.RGBtoHSB(this.HEXtoRGB(hex));\n }\n\n RGBtoHSB(rgb) {\n var hsb = {\n h: 0,\n s: 0,\n b: 0\n };\n var min = Math.min(rgb.r, rgb.g, rgb.b);\n var max = Math.max(rgb.r, rgb.g, rgb.b);\n var delta = max - min;\n hsb.b = max;\n hsb.s = max != 0 ? 255 * delta / max : 0;\n if (hsb.s != 0) {\n if (rgb.r == max) {\n hsb.h = (rgb.g - rgb.b) / delta;\n } else if (rgb.g == max) {\n hsb.h = 2 + (rgb.b - rgb.r) / delta;\n } else {\n hsb.h = 4 + (rgb.r - rgb.g) / delta;\n }\n } else {\n hsb.h = -1;\n }\n hsb.h *= 60;\n if (hsb.h < 0) {\n hsb.h += 360;\n }\n hsb.s *= 100/255;\n hsb.b *= 100/255;\n return hsb;\n }\n\n HSBtoRGB(hsb) {\n var rgb = {\n r: null, g: null, b: null\n };\n let h: number = hsb.h;\n let s: number = hsb.s*255/100;\n let v: number = hsb.b*255/100;\n if (s == 0) {\n rgb = {\n r: v,\n g: v,\n b: v\n }\n }\n else {\n let t1: number = v;\n let t2: number = (255-s)*v/255;\n let t3: number = (t1-t2)*(h%60)/60;\n if (h==360) h = 0;\n if (h<60) {rgb.r=t1;\trgb.b=t2; rgb.g=t2+t3}\n else if (h<120) {rgb.g=t1; rgb.b=t2;\trgb.r=t1-t3}\n else if (h<180) {rgb.g=t1; rgb.r=t2;\trgb.b=t2+t3}\n else if (h<240) {rgb.b=t1; rgb.r=t2;\trgb.g=t1-t3}\n else if (h<300) {rgb.b=t1; rgb.g=t2;\trgb.r=t2+t3}\n else if (h<360) {rgb.r=t1; rgb.g=t2;\trgb.b=t1-t3}\n else {rgb.r=0; rgb.g=0;\trgb.b=0}\n }\n return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};\n }\n\n RGBtoHEX(rgb) {\n var hex = [\n rgb.r.toString(16),\n rgb.g.toString(16),\n rgb.b.toString(16)\n ];\n\n for(var key in hex) {\n if (hex[key].length == 1) {\n hex[key] = '0' + hex[key];\n }\n }\n\n return hex.join('');\n }\n\n HSBtoHEX(hsb) {\n return this.RGBtoHEX(this.HSBtoRGB(hsb));\n }\n\n onOverlayHide() {\n this.unbindScrollListener();\n this.unbindDocumentResizeListener();\n this.unbindDocumentClickListener();\n this.overlay = null;\n }\n\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.restoreOverlayAppend();\n this.onOverlayHide();\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [ColorPicker],\n declarations: [ColorPicker]\n})\nexport class ColorPickerModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["NG_VALUE_ACCESSOR","forwardRef","EventEmitter","DomHandler","ConnectedOverlayScrollHandler","Component","trigger","transition","style","animate","ChangeDetectionStrategy","ViewEncapsulation","ElementRef","Renderer2","ChangeDetectorRef","Input","Output","ViewChild","NgModule","CommonModule"],"mappings":"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"}