{"version":3,"file":"primeng-colorpicker.mjs","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';\nimport { OverlayService, PrimeNGConfig } from 'primeng/api';\nimport { ZIndexUtils } from 'primeng/utils';\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        <div #container [ngStyle]=\"style\" [class]=\"styleClass\" [ngClass]=\"{'p-colorpicker p-component':true,'p-colorpicker-overlay':!inline,'p-colorpicker-dragging':colorDragging||hueDragging}\">\n            <input #input type=\"text\" *ngIf=\"!inline\" class=\"p-colorpicker-preview p-inputtext\" readonly=\"readonly\" [ngClass]=\"{'p-disabled': disabled}\"\n                (focus)=\"onInputFocus()\" (click)=\"onInputClick()\" (keydown)=\"onInputKeydown($event)\" [attr.id]=\"inputId\" [attr.tabindex]=\"tabindex\" [disabled]=\"disabled\"\n                [style.backgroundColor]=\"inputBgColor\">\n            <div *ngIf=\"inline || overlayVisible\" [ngClass]=\"{'p-colorpicker-panel': true, 'p-colorpicker-overlay-panel':!inline, 'p-disabled': disabled}\" (click)=\"onOverlayClick($event)\"\n                [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" [@.disabled]=\"inline === true\"\n                    (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\" (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\">\n                <div class=\"p-colorpicker-content\">\n                    <div #colorSelector class=\"p-colorpicker-color-selector\" (touchstart)=\"onColorTouchStart($event)\" (touchmove)=\"onMove($event)\" (touchend)=\"onDragEnd()\" (mousedown)=\"onColorMousedown($event)\">\n                        <div class=\"p-colorpicker-color\">\n                            <div #colorHandle class=\"p-colorpicker-color-handle\"></div>\n                        </div>\n                    </div>\n                    <div #hue class=\"p-colorpicker-hue\" (mousedown)=\"onHueMousedown($event)\" (touchstart)=\"onHueTouchStart($event)\" (touchmove)=\"onMove($event)\" (touchend)=\"onDragEnd()\">\n                        <div #hueHandle class=\"p-colorpicker-hue-handle\"></div>\n                    </div>\n                </div>\n            </div>\n        </div>\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    host: {\n        'class': 'p-element'\n    }\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: any;\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<any> = new EventEmitter();\n\n    @Output() onShow: EventEmitter<any> = new EventEmitter();\n\n    @Output() onHide: EventEmitter<any> = new EventEmitter();\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, public config: PrimeNGConfig, public overlayService: OverlayService) {}\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    onHueTouchStart(event) {\n        if (this.disabled) {\n            return;\n        }\n\n        this.hueDragging = true;\n        this.pickHue(event, event.changedTouches[0]);\n    }\n\n    onColorTouchStart(event) {\n        if (this.disabled) {\n            return;\n        }\n\n        this.colorDragging = true;\n        this.pickColor(event, event.changedTouches[0]);\n    }\n\n    pickHue(event, position?) {\n        let pageY = position ? position.pageY : event.pageY;\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, (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    onMove(event) {\n        if (this.colorDragging) {\n            this.pickColor(event, event.changedTouches[0]);\n            event.preventDefault();\n        }\n\n        if (this.hueDragging) {\n            this.pickHue(event, event.changedTouches[0]);\n            event.preventDefault();\n        }\n    }\n\n    onDragEnd() {\n        this.colorDragging = false;\n        this.hueDragging = false;\n\n        this.unbindDocumentMousemoveListener();\n        this.unbindDocumentMouseupListener();\n    }\n\n    pickColor(event, position?) {\n        let pageX = position ? position.pageX : event.pageX;\n        let pageY = position ? position.pageY : event.pageY;\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, ((pageX)- left)))) / 150);\n        let brightness = Math.floor(100 * (150 - Math.max(0, Math.min(150, ((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        this.cd.markForCheck();\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\n                    if (this.autoZIndex) {\n                        ZIndexUtils.set('overlay', this.overlay, this.config.zIndex.overlay);\n                    }\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                if (this.autoZIndex) {\n                    ZIndexUtils.clear(event.element);\n                }\n\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    onOverlayClick(event) {\n        this.overlayService.add({\n            originalEvent: event,\n            target: this.el.nativeElement\n        });\n\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<len; i++) {\n                o.push('0');\n            }\n            o.push(hex);\n            hex = o.join('');\n        }\n        return hex;\n    }\n\n    HEXtoRGB(hex) {\n        let hexValue = parseInt(((hex.indexOf('#') > -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        if (this.overlay && this.autoZIndex) {\n            ZIndexUtils.clear(this.overlay);\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":[],"mappings":"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"}