{"version":3,"file":"primeng-colorpicker.mjs","sources":["../../src/colorpicker/style/colorpickerstyle.ts","../../src/colorpicker/colorpicker.ts","../../src/colorpicker/primeng-colorpicker.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/colorpicker';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n    root: ({ instance }) => ['p-colorpicker p-component', { 'p-colorpicker-overlay': !instance.inline, 'p-colorpicker-dragging': instance.colorDragging || instance.hueDragging }],\n    preview: ({ instance }) => ['p-colorpicker-preview', { 'p-disabled': instance.$disabled() }],\n    panel: ({ instance }) => [\n        'p-colorpicker-panel',\n        {\n            'p-colorpicker-panel-inline': instance.inline,\n            'p-disabled': instance.$disabled()\n        }\n    ],\n    content: 'p-colorpicker-content',\n    colorSelector: 'p-colorpicker-color-selector',\n    colorBackground: 'p-colorpicker-color-background',\n    colorHandle: 'p-colorpicker-color-handle',\n    hue: 'p-colorpicker-hue',\n    hueHandle: 'p-colorpicker-hue-handle'\n};\n\n@Injectable()\nexport class ColorPickerStyle extends BaseStyle {\n    name = 'colorpicker';\n\n    style = style;\n\n    classes = classes;\n}\n\n/**\n *\n * ColorPicker groups a collection of contents in tabs.\n *\n * [Live Demo](https://www.primeng.org/colorpicker/)\n *\n * @module colorpickerstyle\n *\n */\nexport enum ColorPickerClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-colorpicker',\n    /**\n     * Class name of the preview element\n     */\n    preview = 'p-colorpicker-preview',\n    /**\n     * Class name of the panel element\n     */\n    panel = 'p-colorpicker-panel',\n    /**\n     * Class name of the color selector element\n     */\n    colorSelector = 'p-colorpicker-color-selector',\n    /**\n     * Class name of the color background element\n     */\n    colorBackground = 'p-colorpicker-color-background',\n    /**\n     * Class name of the color handle element\n     */\n    colorHandle = 'p-colorpicker-color-handle',\n    /**\n     * Class name of the hue element\n     */\n    hue = 'p-colorpicker-hue',\n    /**\n     * Class name of the hue handle element\n     */\n    hueHandle = 'p-colorpicker-hue-handle'\n}\n\nexport interface ColorPickerStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { AfterViewChecked, booleanAttribute, ChangeDetectionStrategy, Component, computed, ElementRef, EventEmitter, forwardRef, inject, InjectionToken, input, Input, NgModule, Output, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MotionOptions } from '@primeuix/motion';\nimport { OverlayOptions, OverlayService, SharedModule, TranslationKeys } from 'primeng/api';\nimport { AutoFocusModule } from 'primeng/autofocus';\nimport { PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { Bind } from 'primeng/bind';\nimport { ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { MotionModule } from 'primeng/motion';\nimport { OverlayModule } from 'primeng/overlay';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport type { ColorPickerChangeEvent } from 'primeng/types/colorpicker';\nimport { ColorPickerPassThrough } from 'primeng/types/colorpicker';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { ColorPickerStyle } from './style/colorpickerstyle';\n\nexport const COLORPICKER_VALUE_ACCESSOR: any = {\n    provide: NG_VALUE_ACCESSOR,\n    useExisting: forwardRef(() => ColorPicker),\n    multi: true\n};\n\nconst COLORPICKER_INSTANCE = new InjectionToken<ColorPicker>('COLORPICKER_INSTANCE');\n\n/**\n * ColorPicker groups a collection of contents in tabs.\n * @group Components\n */\n@Component({\n    selector: 'p-colorPicker, p-colorpicker, p-color-picker',\n    standalone: true,\n    imports: [CommonModule, AutoFocusModule, SharedModule, Bind, MotionModule, OverlayModule],\n    hostDirectives: [Bind],\n    template: `\n        <input\n            *ngIf=\"!inline\"\n            #input\n            type=\"text\"\n            [class]=\"cx('preview')\"\n            readonly\n            [attr.tabindex]=\"tabindex\"\n            [attr.disabled]=\"$disabled() ? '' : undefined\"\n            (click)=\"onInputClick()\"\n            (keydown)=\"onInputKeydown($event)\"\n            (focus)=\"onInputFocus()\"\n            [attr.id]=\"inputId\"\n            [style.backgroundColor]=\"inputBgColor\"\n            [attr.aria-label]=\"ariaLabel\"\n            [pAutoFocus]=\"autofocus\"\n            [pBind]=\"ptm('preview')\"\n        />\n\n        <p-overlay\n            #overlay\n            [hostAttrSelector]=\"$attrSelector\"\n            [(visible)]=\"overlayVisible\"\n            [options]=\"overlayOptions()\"\n            [target]=\"'@parent'\"\n            [inline]=\"inline\"\n            [appendTo]=\"$appendTo()\"\n            [unstyled]=\"unstyled()\"\n            [pt]=\"ptm('pcOverlay')\"\n            [motionOptions]=\"motionOptions()\"\n            (onBeforeEnter)=\"onOverlayBeforeEnter()\"\n            (onAfterLeave)=\"onOverlayAfterLeave()\"\n            (onHide)=\"hide()\"\n        >\n            <ng-template #content>\n                <div [class]=\"cx('panel')\" [pBind]=\"ptm('panel')\">\n                    <div [class]=\"cx('content')\" [pBind]=\"ptm('content')\">\n                        <div #colorSelector [class]=\"cx('colorSelector')\" (touchstart)=\"onColorDragStart($event)\" (touchmove)=\"onDrag($event)\" (touchend)=\"onDragEnd()\" (mousedown)=\"onColorMousedown($event)\" [pBind]=\"ptm('colorSelector')\">\n                            <div [class]=\"cx('colorBackground')\" [pBind]=\"ptm('colorBackground')\">\n                                <div #colorHandle [class]=\"cx('colorHandle')\" [pBind]=\"ptm('colorHandle')\"></div>\n                            </div>\n                        </div>\n                        <div #hue [class]=\"cx('hue')\" (mousedown)=\"onHueMousedown($event)\" (touchstart)=\"onHueDragStart($event)\" (touchmove)=\"onDrag($event)\" (touchend)=\"onDragEnd()\" [pBind]=\"ptm('hue')\">\n                            <div #hueHandle [class]=\"cx('hueHandle')\" [pBind]=\"ptm('hueHandle')\"></div>\n                        </div>\n                    </div>\n                </div>\n            </ng-template>\n        </p-overlay>\n    `,\n    providers: [COLORPICKER_VALUE_ACCESSOR, ColorPickerStyle, { provide: COLORPICKER_INSTANCE, useExisting: ColorPicker }, { provide: PARENT_INSTANCE, useExisting: ColorPicker }],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        '[class]': \"cn(cx('root'), styleClass)\"\n    }\n})\nexport class ColorPicker extends BaseEditableHolder<ColorPickerPassThrough> implements AfterViewChecked {\n    componentName = 'ColorPicker';\n\n    $pcColorPicker: ColorPicker | undefined = inject(COLORPICKER_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n    bindDirectiveInstance = inject(Bind, { self: true });\n\n    onAfterViewChecked(): void {\n        this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n    }\n\n    /**\n     * Style class of the component.\n     * @deprecated since v20.0.0, use `class` instead.\n     * @group Props\n     */\n    @Input() styleClass: string | undefined;\n    /**\n     * Transition options of the show animation.\n     * @group Props\n     * @deprecated since v21.0.0, use `motionOptions` instead.\n     */\n    @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n    /**\n     * Transition options of the hide animation.\n     * @group Props\n     * @deprecated since v21.0.0, use `motionOptions` instead.\n     */\n    @Input() hideTransitionOptions: string = '.1s linear';\n    /**\n     * Whether to display as an overlay or not.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) inline: boolean | undefined;\n    /**\n     * Format to use in value binding.\n     * @group Props\n     */\n    @Input() format: 'hex' | 'rgb' | 'hsb' = 'hex';\n    /**\n     * Index of the element in tabbing order.\n     * @group Props\n     */\n    @Input() tabindex: string | undefined;\n    /**\n     * Identifier of the focus input to match a label defined for the dropdown.\n     * @group Props\n     */\n    @Input() inputId: string | undefined;\n    /**\n     * Whether to automatically manage layering.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) autoZIndex: boolean = true;\n    /**\n     * When present, it specifies that the component should automatically get focus on load.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n    /**\n     * Default color to display initially when model value is not present.\n     * @group Props\n     */\n    @Input() defaultColor: string | undefined = 'ff0000';\n    /**\n     * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n     * @defaultValue 'self'\n     * @group Props\n     */\n    appendTo = input<HTMLElement | ElementRef | TemplateRef<any> | 'self' | 'body' | null | undefined | any>(undefined);\n    /**\n     * Whether to use overlay API feature. The properties of overlay API can be used like an object in it.\n     * @group Props\n     */\n    overlayOptions = input<OverlayOptions | undefined>(undefined);\n    /**\n     * The motion options.\n     * @group Props\n     */\n    motionOptions = input<MotionOptions | undefined>(undefined);\n    /**\n     * Callback to invoke on value change.\n     * @param {ColorPickerChangeEvent} event - Custom value change event.\n     * @group Emits\n     */\n    @Output() onChange: EventEmitter<ColorPickerChangeEvent> = new EventEmitter<ColorPickerChangeEvent>();\n    /**\n     * Callback to invoke on panel is shown.\n     * @group Emits\n     */\n    @Output() onShow: EventEmitter<any> = new EventEmitter<any>();\n    /**\n     * Callback to invoke on panel is hidden.\n     * @group Emits\n     */\n    @Output() onHide: EventEmitter<any> = new EventEmitter<any>();\n\n    @ViewChild('input') inputViewChild: Nullable<ElementRef>;\n\n    @ViewChild('overlay') overlayViewChild!: ElementRef<HTMLDivElement>;\n\n    $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n    value: any = { h: 0, s: 100, b: 100 };\n\n    inputBgColor: string | undefined;\n\n    shown: Nullable<boolean>;\n\n    overlayVisible: Nullable<boolean>;\n\n    documentMousemoveListener: VoidListener;\n\n    documentMouseupListener: VoidListener;\n\n    documentHueMoveListener: VoidListener;\n\n    scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n    colorDragging: Nullable<boolean>;\n\n    hueDragging: Nullable<boolean>;\n\n    overlay: Nullable<HTMLDivElement>;\n\n    colorSelectorViewChild: Nullable<ElementRef>;\n\n    colorHandleViewChild: Nullable<ElementRef>;\n\n    hueViewChild: Nullable<ElementRef>;\n\n    hueHandleViewChild: Nullable<ElementRef>;\n\n    _componentStyle = inject(ColorPickerStyle);\n\n    constructor(public overlayService: OverlayService) {\n        super();\n    }\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    get ariaLabel() {\n        return this.config?.getTranslation(TranslationKeys.ARIA)[TranslationKeys.SELECT_COLOR];\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    onHueDragStart(event: TouchEvent) {\n        if (this.$disabled()) {\n            return;\n        }\n\n        this.hueDragging = true;\n        this.pickHue(event, (event as TouchEvent).changedTouches[0]);\n    }\n\n    onColorDragStart(event: TouchEvent) {\n        if (this.$disabled()) {\n            return;\n        }\n\n        this.colorDragging = true;\n        this.pickColor(event, (event as TouchEvent).changedTouches[0]);\n        this.el.nativeElement.setAttribute('p-colorpicker-dragging', 'true');\n    }\n\n    pickHue(event: MouseEvent | TouchEvent, position?: any) {\n        let pageY = position ? position.pageY : (event as MouseEvent).pageY;\n        let top: number = this.hueViewChild?.nativeElement.getBoundingClientRect().top + ((this.document as any).defaultView.pageYOffset || this.document.documentElement.scrollTop || this.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    onDrag(event: TouchEvent) {\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        this.el.nativeElement.setAttribute('p-colorpicker-dragging', 'false');\n        this.unbindDocumentMousemoveListener();\n        this.unbindDocumentMouseupListener();\n    }\n\n    pickColor(event: MouseEvent | TouchEvent, position?: any) {\n        let pageX = position ? position.pageX : (event as MouseEvent).pageX;\n        let pageY = position ? position.pageY : (event as MouseEvent).pageY;\n        let rect = this.colorSelectorViewChild?.nativeElement.getBoundingClientRect();\n        let top = rect.top + ((this.document as any).defaultView.pageYOffset || this.document.documentElement.scrollTop || this.document.body.scrollTop || 0);\n        let left = rect.left + this.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        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        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    onOverlayBeforeEnter() {\n        if (!this.inline) {\n            this.updateColorSelector();\n            this.updateUI();\n            this.onShow.emit({});\n        }\n    }\n\n    onOverlayAfterLeave() {\n        if (!this.inline) {\n            this.onHide.emit({});\n        }\n    }\n\n    hide() {\n        this.overlayVisible = false;\n        this.cd.markForCheck();\n    }\n\n    onInputClick() {\n        this.togglePanel();\n    }\n\n    togglePanel() {\n        if (!this.overlayVisible) this.show();\n        else this.hide();\n    }\n\n    onInputKeydown(event: KeyboardEvent) {\n        switch (event.code) {\n            case 'Space':\n                this.togglePanel();\n                event.preventDefault();\n                break;\n\n            case 'Escape':\n            case 'Tab':\n                this.hide();\n                break;\n\n            default:\n                //NoOp\n                break;\n        }\n    }\n\n    onOverlayClick(event: MouseEvent) {\n        this.overlayService.add({\n            originalEvent: event,\n            target: this.el.nativeElement\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    validateHSB(hsb: { h: number; s: number; b: number }) {\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: { r: number; g: number; b: number }) {\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: string) {\n        var len = 6 - hex.length;\n        if (len > 0) {\n            var o: any = [];\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: string) {\n        if (!hex || typeof hex !== 'string') {\n            return { r: 0, g: 0, b: 0 };\n        }\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: string) {\n        return this.RGBtoHSB(this.HEXtoRGB(hex));\n    }\n\n    RGBtoHSB(rgb: { r: number; g: number; b: number }) {\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: { h: number; s: number; b: number }) {\n        var rgb = {\n            r: 0,\n            g: 0,\n            b: 0\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        } 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) {\n                rgb.r = t1;\n                rgb.b = t2;\n                rgb.g = t2 + t3;\n            } else if (h < 120) {\n                rgb.g = t1;\n                rgb.b = t2;\n                rgb.r = t1 - t3;\n            } else if (h < 180) {\n                rgb.g = t1;\n                rgb.r = t2;\n                rgb.b = t2 + t3;\n            } else if (h < 240) {\n                rgb.b = t1;\n                rgb.r = t2;\n                rgb.g = t1 - t3;\n            } else if (h < 300) {\n                rgb.b = t1;\n                rgb.g = t2;\n                rgb.r = t2 + t3;\n            } else if (h < 360) {\n                rgb.r = t1;\n                rgb.g = t2;\n                rgb.b = t1 - t3;\n            } else {\n                rgb.r = 0;\n                rgb.g = 0;\n                rgb.b = 0;\n            }\n        }\n        return { r: Math.round(rgb.r), g: Math.round(rgb.g), b: Math.round(rgb.b) };\n    }\n\n    RGBtoHEX(rgb: { r: number; g: number; b: number }) {\n        var hex = [rgb.r.toString(16), rgb.g.toString(16), rgb.b.toString(16)];\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: { h: number; s: number; b: number }) {\n        return this.RGBtoHEX(this.HSBtoRGB(hsb));\n    }\n\n    onAfterViewInit() {\n        if (this.inline) {\n            this.updateColorSelector();\n            this.updateUI();\n        }\n    }\n\n    /**\n     * @override\n     *\n     * @see {@link BaseEditableHolder.writeControlValue}\n     * Writes the value to the control.\n     */\n    writeControlValue(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        } else {\n            this.value = this.HEXtoHSB(this.defaultColor as string);\n        }\n\n        this.updateColorSelector();\n        this.updateUI();\n        this.cd.markForCheck();\n    }\n\n    onDestroy() {\n        if (this.scrollHandler) {\n            this.scrollHandler.destroy();\n            this.scrollHandler = null;\n        }\n\n        if (this.overlayViewChild?.nativeElement && this.autoZIndex) {\n            ZIndexUtils.clear(this.overlayViewChild?.nativeElement);\n        }\n    }\n}\n\n@NgModule({\n    imports: [ColorPicker, SharedModule],\n    exports: [ColorPicker, SharedModule]\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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"}