ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
1 lines • 92.1 kB
Source Map (JSON)
{"version":3,"file":"ng-zorro-antd-color-picker.mjs","sources":["../../components/color-picker/typings.ts","../../components/color-picker/src/interfaces/color.ts","../../components/color-picker/src/util/util.ts","../../components/color-picker/src/ng-antd-color-block.component.ts","../../components/color-picker/src/components/handler.component.ts","../../components/color-picker/src/components/palette.component.ts","../../components/color-picker/src/components/picker.component.ts","../../components/color-picker/src/components/gradient.component.ts","../../components/color-picker/src/components/slider.component.ts","../../components/color-picker/src/ng-antd-color-picker.component.ts","../../components/color-picker/src/ng-antd-color-picker.module.ts","../../components/color-picker/color-block.component.ts","../../components/color-picker/color-format.component.ts","../../components/color-picker/color-picker.component.ts","../../components/color-picker/color-picker.module.ts","../../components/color-picker/public-api.ts","../../components/color-picker/ng-zorro-antd-color-picker.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Color } from './src/interfaces/color';\n\nexport type NzColorPickerFormatType = 'rgb' | 'hex' | 'hsb';\n\nexport type NzColorPickerTriggerType = 'click' | 'hover';\n\nexport interface ValidForm {\n isFormat: NzColorPickerFormatType | null;\n hex: string | null;\n hsbH: number;\n hsbS: number;\n hsbB: number;\n rgbR: number;\n rgbG: number;\n rgbB: number;\n roundA: number;\n}\n\nexport type ValidFormKey = keyof ValidForm;\n\nexport interface NzColor extends Color {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { ColorInput, HSVA, Numberify, TinyColor } from '@ctrl/tinycolor';\n\nimport type { ColorGenInput, HSB, HSBA } from './type';\n\nexport const getRoundNumber = (value: number): number => Math.round(Number(value || 0));\n\nconst convertHsb2Hsv = (color: ColorGenInput): ColorInput => {\n if (color && typeof color === 'object' && 'h' in color && 'b' in color) {\n const { b, ...resets } = color as HSB;\n return {\n ...resets,\n v: b\n };\n }\n if (typeof color === 'string' && /hsb/.test(color)) {\n return color.replace(/hsb/, 'hsv');\n }\n return color as ColorInput;\n};\n\nexport class Color extends TinyColor {\n constructor(color: ColorGenInput) {\n super(convertHsb2Hsv(color));\n }\n\n toHsbString(): string {\n const hsb = this.toHsb();\n const saturation = getRoundNumber(hsb.s * 100);\n const lightness = getRoundNumber(hsb.b * 100);\n const hue = getRoundNumber(hsb.h);\n const alpha = hsb.a;\n const hsbString = `hsb(${hue}, ${saturation}%, ${lightness}%)`;\n const hsbaString = `hsba(${hue}, ${saturation}%, ${lightness}%, ${alpha.toFixed(alpha === 0 ? 0 : 2)})`;\n return alpha === 1 ? hsbString : hsbaString;\n }\n\n toHsb(): Numberify<HSBA> {\n let hsv = this.toHsv();\n if (typeof this.originalInput === 'object' && this.originalInput) {\n if ('h' in this.originalInput) {\n hsv = this.originalInput as Numberify<HSVA>;\n }\n }\n\n const { v, ...resets } = hsv;\n return {\n ...resets,\n b: hsv.v\n };\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Color } from '../interfaces/color';\nimport type { ColorGenInput, HsbaColorType, TransformOffset } from '../interfaces/type';\n\nexport const generateColor = (color: ColorGenInput): Color => {\n if (color instanceof Color) {\n return color;\n }\n return new Color(color);\n};\n\nexport const defaultColor = generateColor('#1677ff');\n\nexport function calculateColor(\n offset: TransformOffset,\n containerRef: HTMLDivElement,\n targetRef: HTMLDivElement,\n color?: Color | null,\n type?: HsbaColorType\n): Color {\n const { width, height } = containerRef.getBoundingClientRect();\n const { width: targetWidth, height: targetHeight } = targetRef.getBoundingClientRect();\n const centerOffsetX = targetWidth / 2;\n const centerOffsetY = targetHeight / 2;\n const saturation = (offset.x + centerOffsetX) / width;\n const bright = 1 - (offset.y + centerOffsetY) / height;\n const hsb = color?.toHsb() || { a: 0, h: 0, s: 0, b: 0 };\n const alphaOffset = saturation;\n const hueOffset = ((offset.x + centerOffsetX) / width) * 360;\n\n if (type) {\n switch (type) {\n case 'hue':\n return generateColor({\n ...hsb,\n h: hueOffset <= 0 ? 0 : hueOffset\n });\n case 'alpha':\n return generateColor({\n ...hsb,\n a: alphaOffset <= 0 ? 0 : alphaOffset\n });\n }\n }\n\n return generateColor({\n h: hsb.h,\n s: saturation <= 0 ? 0 : saturation,\n b: bright >= 1 ? 1 : bright,\n a: hsb.a\n });\n}\n\nexport const calculateOffset = (\n containerRef: HTMLDivElement,\n targetRef: HTMLDivElement,\n color?: Color | null,\n type?: HsbaColorType\n): TransformOffset | null => {\n const { width, height } = containerRef.getBoundingClientRect();\n const { width: targetWidth, height: targetHeight } = targetRef.getBoundingClientRect();\n const centerOffsetX = targetWidth / 2;\n const centerOffsetY = targetHeight / 2;\n const hsb = color?.toHsb() || { a: 0, h: 0, s: 0, b: 0 };\n\n // Exclusion of boundary cases\n if ((targetWidth === 0 && targetHeight === 0) || targetWidth !== targetHeight) {\n return null;\n }\n\n if (type) {\n switch (type) {\n case 'hue':\n return {\n x: (hsb.h / 360) * width - centerOffsetX,\n y: -centerOffsetY / 3\n };\n case 'alpha':\n return {\n x: hsb.a * width - centerOffsetX,\n y: -centerOffsetY / 3\n };\n }\n }\n return {\n x: hsb.s * width - centerOffsetX,\n y: (1 - hsb.b) * height - centerOffsetY\n };\n};\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { defaultColor } from './util/util';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'ng-antd-color-block',\n standalone: true,\n template: `\n <div class=\"ant-color-picker-color-block\" (click)=\"nzOnClick.emit(true)\">\n <div class=\"ant-color-picker-color-block-inner\" [style.background-color]=\"color\"></div>\n </div>\n `\n})\nexport class NgAntdColorBlockComponent {\n @Input() color: string = defaultColor.toHsbString();\n @Output() readonly nzOnClick = new EventEmitter<boolean>();\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Component, Input } from '@angular/core';\n\ntype HandlerSize = 'default' | 'small';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'color-handler',\n standalone: true,\n template: `\n <div\n class=\"ant-color-picker-handler\"\n [style.background-color]=\"color\"\n [class.ant-color-picker-handler-sm]=\"size === 'small'\"\n ></div>\n `\n})\nexport class HandlerComponent {\n @Input() color: string | null = null;\n @Input() size: HandlerSize = 'default';\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Component } from '@angular/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'color-palette',\n standalone: true,\n template: `\n <div class=\"ant-color-picker-palette\">\n <ng-content></ng-content>\n </div>\n `\n})\nexport class PaletteComponent {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n booleanAttribute,\n inject\n} from '@angular/core';\n\nimport { Color } from '../interfaces/color';\nimport { HsbaColorType, TransformOffset } from '../interfaces/type';\nimport { calculateColor, calculateOffset } from '../util/util';\nimport { HandlerComponent } from './handler.component';\nimport { PaletteComponent } from './palette.component';\n\ntype EventType = MouseEvent | TouchEvent;\n\ntype EventHandle = (e: EventType) => void;\n\nfunction getPosition(e: EventType): { pageX: number; pageY: number } {\n const obj = 'touches' in e ? e.touches[0] : e;\n const scrollXOffset = document.documentElement.scrollLeft || document.body.scrollLeft || window.pageXOffset;\n const scrollYOffset = document.documentElement.scrollTop || document.body.scrollTop || window.pageYOffset;\n return { pageX: obj.pageX - scrollXOffset, pageY: obj.pageY - scrollYOffset };\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'color-picker',\n standalone: true,\n imports: [HandlerComponent, PaletteComponent],\n template: `\n <div\n #slider\n class=\"ant-color-picker-select\"\n (mousedown)=\"dragStartHandle($event)\"\n (touchstart)=\"dragStartHandle($event)\"\n >\n <color-palette>\n <div\n #transform\n class=\"ant-color-picker-transform\"\n [style.left]=\"offsetValue.x + 'px'\"\n [style.top]=\"offsetValue.y + 'px'\"\n >\n <color-handler [color]=\"toRgbString()\" />\n </div>\n <div class=\"ant-color-picker-saturation\" [style.background-color]=\"toHsb()\"></div>\n </color-palette>\n </div>\n `\n})\nexport class PickerComponent implements OnInit, AfterViewInit, OnChanges {\n @ViewChild('slider', { static: false }) containerRef!: ElementRef<HTMLDivElement>;\n @ViewChild('transform', { static: false }) transformRef!: ElementRef<HTMLDivElement>;\n\n @Input() color: Color | null = null;\n @Output() readonly nzOnChange = new EventEmitter<Color>();\n @Output() readonly nzOnChangeComplete = new EventEmitter<HsbaColorType>();\n @Input({ transform: booleanAttribute }) disabled: boolean = false;\n\n offsetValue: TransformOffset = { x: 0, y: 0 };\n dragRef: boolean = false;\n private document: Document = inject(DOCUMENT);\n\n mouseMoveRef: (e: MouseEvent | TouchEvent) => void = () => null;\n mouseUpRef: (e: MouseEvent | TouchEvent) => void = () => null;\n\n toRgbString(): string {\n return this.color?.toRgbString() as string;\n }\n\n toHsb(): string {\n return `hsl(${this.color?.toHsb().h},100%, 50%)`;\n }\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.document.removeEventListener('mousemove', this.mouseMoveRef);\n this.document.removeEventListener('mouseup', this.mouseUpRef);\n this.document.removeEventListener('touchmove', this.mouseMoveRef);\n this.document.removeEventListener('touchend', this.mouseUpRef);\n this.mouseMoveRef = () => null;\n this.mouseUpRef = () => null;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { color } = changes;\n\n if (color) {\n if (!this.dragRef && this.containerRef && this.transformRef) {\n const calcOffset = calculateOffset(\n this.containerRef.nativeElement,\n this.transformRef.nativeElement,\n this.color\n );\n if (calcOffset) {\n this.offsetValue = calcOffset;\n this.cdr.detectChanges();\n }\n }\n }\n }\n\n ngAfterViewInit(): void {\n if (!this.dragRef && this.containerRef && this.transformRef) {\n const calcOffset = calculateOffset(this.containerRef.nativeElement, this.transformRef.nativeElement, this.color);\n if (calcOffset) {\n this.offsetValue = calcOffset;\n this.cdr.detectChanges();\n }\n }\n }\n\n dragStartHandle(e: MouseEvent | TouchEvent): void {\n this.onDragStart(e);\n }\n\n updateOffset: EventHandle = (e: EventType, direction: 'x' | 'y' = 'y') => {\n const { pageX, pageY } = getPosition(e);\n const {\n x: rectX,\n y: rectY,\n width,\n height\n } = this.containerRef?.nativeElement?.getBoundingClientRect() || { x: 0, y: 0, width: 0, height: 0 };\n const { width: targetWidth, height: targetHeight } = this.transformRef?.nativeElement?.getBoundingClientRect() || {\n width: 0,\n height: 0\n };\n\n const centerOffsetX = targetWidth / 2;\n const centerOffsetY = targetHeight / 2;\n\n const offsetX = Math.max(0, Math.min(pageX - rectX, width)) - centerOffsetX;\n const offsetY = Math.max(0, Math.min(pageY - rectY, height)) - centerOffsetY;\n\n const calcOffset = {\n x: offsetX,\n y: direction === 'x' ? this.offsetValue.y : offsetY\n };\n // Exclusion of boundary cases\n if ((targetWidth === 0 && targetHeight === 0) || targetWidth !== targetHeight) {\n return;\n }\n this.offsetValue = calcOffset;\n this.nzOnChange.emit(\n calculateColor(calcOffset, this.containerRef.nativeElement, this.transformRef.nativeElement, this.color)\n );\n this.cdr.detectChanges();\n };\n\n onDragMove: EventHandle = (e: EventType) => {\n e.preventDefault();\n this.updateOffset(e);\n };\n\n onDragStop: EventHandle = (e: EventType) => {\n e.preventDefault();\n this.dragRef = false;\n this.document.removeEventListener('mousemove', this.onDragMove);\n this.document.removeEventListener('mouseup', this.mouseUpRef);\n this.document.removeEventListener('touchmove', this.mouseMoveRef);\n this.document.removeEventListener('touchend', this.mouseUpRef);\n this.mouseMoveRef = () => null;\n this.mouseUpRef = () => null;\n this.nzOnChangeComplete?.emit();\n };\n\n onDragStart: EventHandle = (e: EventType) => {\n if (this.disabled) {\n return;\n }\n this.updateOffset(e);\n this.dragRef = true;\n this.document.addEventListener('mousemove', this.onDragMove);\n this.document.addEventListener('mouseup', this.onDragStop);\n this.document.addEventListener('touchmove', this.onDragMove);\n this.document.addEventListener('touchend', this.onDragStop);\n this.mouseMoveRef = this.onDragMove;\n this.mouseUpRef = this.onDragStop;\n this.cdr.markForCheck();\n };\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\n\nimport { Color } from '../interfaces/color';\nimport { HsbaColorType } from '../interfaces/type';\nimport { generateColor } from '../util/util';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'color-gradient',\n standalone: true,\n template: `\n <div\n class=\"ant-color-picker-gradient\"\n [style.background]=\"'linear-gradient(' + direction + ', ' + gradientColors + ')'\"\n >\n <ng-content></ng-content>\n </div>\n `\n})\nexport class GradientComponent implements OnInit, OnChanges {\n @Input() colors: Color[] | string[] = [];\n @Input() direction: string = 'to right';\n @Input() type: HsbaColorType = 'hue';\n\n gradientColors: string = '';\n\n constructor() {}\n\n ngOnInit(): void {\n this.useMemo();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { colors, type } = changes;\n if (colors || type) {\n this.useMemo();\n }\n }\n\n useMemo(): void {\n this.gradientColors = this.colors\n .map((color, idx) => {\n const result = generateColor(color);\n if (this.type === 'alpha' && idx === this.colors.length - 1) {\n result.setAlpha(1);\n }\n return result.toRgbString();\n })\n .join(',');\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { DOCUMENT, NgClass } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n booleanAttribute,\n inject\n} from '@angular/core';\n\nimport { Color } from '../interfaces/color';\nimport { HsbaColorType, TransformOffset } from '../interfaces/type';\nimport { calculateColor, calculateOffset } from '../util/util';\nimport { GradientComponent } from './gradient.component';\nimport { HandlerComponent } from './handler.component';\nimport { PaletteComponent } from './palette.component';\n\ntype EventType = MouseEvent | TouchEvent;\n\ntype EventHandle = (e: EventType) => void;\n\nfunction getPosition(e: EventType): { pageX: number; pageY: number } {\n const obj = 'touches' in e ? e.touches[0] : e;\n const scrollXOffset = document.documentElement.scrollLeft || document.body.scrollLeft || window.pageXOffset;\n const scrollYOffset = document.documentElement.scrollTop || document.body.scrollTop || window.pageYOffset;\n return { pageX: obj.pageX - scrollXOffset, pageY: obj.pageY - scrollYOffset };\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'color-slider',\n standalone: true,\n imports: [PaletteComponent, GradientComponent, HandlerComponent, NgClass],\n template: `\n <div\n #slider\n (mousedown)=\"dragStartHandle($event)\"\n (touchstart)=\"dragStartHandle($event)\"\n class=\"ant-color-picker-slider\"\n [ngClass]=\"'ant-color-picker-slider-' + type\"\n >\n <color-palette>\n <div\n #transform\n class=\"ant-color-picker-transform\"\n [style.left]=\"offsetValue.x + 'px'\"\n [style.top]=\"offsetValue.y + 'px'\"\n >\n <color-handler size=\"small\" [color]=\"value\"></color-handler>\n </div>\n <color-gradient [colors]=\"gradientColors\" [direction]=\"direction\" [type]=\"type\"></color-gradient>\n </color-palette>\n </div>\n `,\n styles: [\n `\n :host {\n display: block;\n width: 100%;\n }\n `\n ]\n})\nexport class SliderComponent implements OnInit, AfterViewInit, OnChanges {\n @ViewChild('slider', { static: false }) containerRef!: ElementRef<HTMLDivElement>;\n @ViewChild('transform', { static: false }) transformRef!: ElementRef<HTMLDivElement>;\n\n @Input() gradientColors: string[] = [];\n @Input() direction: string = 'to right';\n @Input() type: HsbaColorType = 'hue';\n @Input() color: Color | null = null;\n @Input() value: string | null = null;\n @Input({ transform: booleanAttribute }) disabled: boolean = false;\n @Output() readonly nzOnChange = new EventEmitter<Color>();\n @Output() readonly nzOnChangeComplete = new EventEmitter<HsbaColorType>();\n\n offsetValue: TransformOffset = { x: 0, y: 0 };\n dragRef: boolean = false;\n mouseMoveRef: (e: MouseEvent | TouchEvent) => void = () => null;\n mouseUpRef: (e: MouseEvent | TouchEvent) => void = () => null;\n private document: Document = inject(DOCUMENT);\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.document.removeEventListener('mousemove', this.mouseMoveRef);\n this.document.removeEventListener('mouseup', this.mouseUpRef);\n this.document.removeEventListener('touchmove', this.mouseMoveRef);\n this.document.removeEventListener('touchend', this.mouseUpRef);\n this.mouseMoveRef = () => null;\n this.mouseUpRef = () => null;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { color } = changes;\n\n if (color) {\n if (!this.dragRef && this.containerRef && this.transformRef) {\n const calcOffset = calculateOffset(\n this.containerRef.nativeElement,\n this.transformRef.nativeElement,\n this.color,\n this.type\n );\n if (calcOffset) {\n this.offsetValue = calcOffset;\n this.cdr.detectChanges();\n }\n }\n }\n }\n\n ngAfterViewInit(): void {\n if (!this.dragRef && this.containerRef && this.transformRef) {\n const calcOffset = calculateOffset(\n this.containerRef.nativeElement,\n this.transformRef.nativeElement,\n this.color,\n this.type\n );\n if (calcOffset) {\n this.offsetValue = calcOffset;\n this.cdr.detectChanges();\n }\n }\n }\n\n dragStartHandle(e: MouseEvent | TouchEvent): void {\n this.onDragStart(e);\n }\n\n updateOffset: EventHandle = (e: EventType, direction: 'x' | 'y' = 'x') => {\n const { pageX, pageY } = getPosition(e);\n const {\n x: rectX,\n y: rectY,\n width,\n height\n } = this.containerRef?.nativeElement?.getBoundingClientRect() || { x: 0, y: 0, width: 0, height: 0 };\n const { width: targetWidth, height: targetHeight } = this.transformRef?.nativeElement?.getBoundingClientRect() || {\n width: 0,\n height: 0\n };\n\n const centerOffsetX = targetWidth / 2;\n const centerOffsetY = targetHeight / 2;\n\n const offsetX = Math.max(0, Math.min(pageX - rectX, width)) - centerOffsetX;\n const offsetY = Math.max(0, Math.min(pageY - rectY, height)) - centerOffsetY;\n\n const calcOffset = {\n x: offsetX,\n y: direction === 'x' ? this.offsetValue.y : offsetY\n };\n\n // Exclusion of boundary cases\n if ((targetWidth === 0 && targetHeight === 0) || targetWidth !== targetHeight) {\n return;\n }\n\n this.offsetValue = calcOffset;\n this.nzOnChange.emit(\n calculateColor(\n calcOffset,\n this.containerRef.nativeElement,\n this.transformRef.nativeElement,\n this.color,\n this.type\n )\n );\n this.cdr.detectChanges();\n };\n\n onDragMove: EventHandle = (e: EventType) => {\n e.preventDefault();\n this.updateOffset(e);\n };\n\n onDragStop: EventHandle = (e: EventType) => {\n e.preventDefault();\n this.dragRef = false;\n this.document.removeEventListener('mousemove', this.onDragMove);\n this.document.removeEventListener('mouseup', this.mouseUpRef);\n this.document.removeEventListener('touchmove', this.mouseMoveRef);\n this.document.removeEventListener('touchend', this.mouseUpRef);\n this.mouseMoveRef = () => null;\n this.mouseUpRef = () => null;\n this.nzOnChangeComplete?.emit(this.type);\n };\n\n onDragStart: EventHandle = (e: EventType) => {\n if (this.disabled) {\n return;\n }\n this.updateOffset(e);\n this.dragRef = true;\n this.document.addEventListener('mousemove', this.onDragMove);\n this.document.addEventListener('mouseup', this.onDragStop);\n this.document.addEventListener('touchmove', this.onDragMove);\n this.document.addEventListener('touchend', this.onDragStop);\n this.mouseMoveRef = this.onDragMove;\n this.mouseUpRef = this.onDragStop;\n this.cdr.markForCheck();\n };\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n booleanAttribute\n} from '@angular/core';\n\nimport { PickerComponent } from './components/picker.component';\nimport { SliderComponent } from './components/slider.component';\nimport { Color } from './interfaces/color';\nimport { ColorGenInput, ColorValue, HsbaColorType } from './interfaces/type';\nimport { NgAntdColorBlockComponent } from './ng-antd-color-block.component';\nimport { defaultColor, generateColor } from './util/util';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'ng-antd-color-picker',\n standalone: true,\n imports: [PickerComponent, SliderComponent, NgAntdColorBlockComponent, NgTemplateOutlet],\n template: `\n <div class=\"ant-color-picker-panel\" [class.ant-color-picker-panel-disabled]=\"disabled\">\n @if (panelRenderHeader) {\n <ng-template [ngTemplateOutlet]=\"panelRenderHeader\"></ng-template>\n }\n <color-picker\n [color]=\"colorValue\"\n (nzOnChange)=\"handleChange($event)\"\n [disabled]=\"disabled\"\n (nzOnChangeComplete)=\"nzOnChangeComplete.emit($event)\"\n ></color-picker>\n <div class=\"ant-color-picker-slider-container\">\n <div class=\"ant-color-picker-slider-group\" [class.ant-color-picker-slider-group-disabled-alpha]=\"disabledAlpha\">\n <color-slider\n [color]=\"colorValue\"\n [value]=\"'hsl(' + colorValue?.toHsb()?.h + ',100%, 50%)'\"\n [gradientColors]=\"hueColor\"\n (nzOnChange)=\"handleChange($event, 'hue')\"\n [disabled]=\"disabled\"\n (nzOnChangeComplete)=\"nzOnChangeComplete.emit($event)\"\n ></color-slider>\n @if (!disabledAlpha) {\n <color-slider\n type=\"alpha\"\n [color]=\"colorValue\"\n [value]=\"toRgbString\"\n [gradientColors]=\"gradientColors\"\n (nzOnChange)=\"handleChange($event, 'alpha')\"\n [disabled]=\"disabled\"\n (nzOnChangeComplete)=\"nzOnChangeComplete.emit($event)\"\n ></color-slider>\n }\n </div>\n <ng-antd-color-block [color]=\"toRgbString\"></ng-antd-color-block>\n </div>\n @if (panelRenderFooter) {\n <ng-template [ngTemplateOutlet]=\"panelRenderFooter\"></ng-template>\n }\n </div>\n `\n})\nexport class NgAntdColorPickerComponent implements OnInit, OnChanges {\n @Input() value: ColorValue;\n @Input() defaultValue: ColorValue;\n @Output() readonly nzOnChange = new EventEmitter<{ color: Color; type?: HsbaColorType }>();\n @Output() readonly nzOnChangeComplete = new EventEmitter<HsbaColorType>();\n @Input() panelRenderHeader: TemplateRef<void> | null = null;\n @Input() panelRenderFooter: TemplateRef<void> | null = null;\n @Input({ transform: booleanAttribute }) disabledAlpha: boolean = false;\n @Input({ transform: booleanAttribute }) disabled: boolean = false;\n\n colorValue: Color | null = null;\n alphaColor: string = '';\n\n hueColor: string[] = [\n 'rgb(255, 0, 0) 0%',\n 'rgb(255, 255, 0) 17%',\n 'rgb(0, 255, 0) 33%',\n 'rgb(0, 255, 255) 50%',\n 'rgb(0, 0, 255) 67%',\n 'rgb(255, 0, 255) 83%',\n 'rgb(255, 0, 0) 100%'\n ];\n\n gradientColors: string[] = ['rgba(255, 0, 4, 0) 0%', this.alphaColor];\n\n toRgbString: string = this.colorValue?.toRgbString() || '';\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.setColorValue(this.value);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { value, defaultValue } = changes;\n if (value || defaultValue) {\n this.setColorValue(this.value);\n }\n }\n\n hasValue(value: ColorValue): boolean {\n return !!value;\n }\n\n setColorValue(color: ColorValue): void {\n let mergeState;\n if (this.hasValue(color)) {\n mergeState = color;\n } else if (this.hasValue(this.defaultValue)) {\n mergeState = this.defaultValue;\n } else {\n mergeState = defaultColor;\n }\n this.colorValue = generateColor(mergeState as ColorGenInput);\n this.setAlphaColor(this.colorValue);\n this.toRgbString = this.colorValue?.toRgbString() || '';\n this.cdr.detectChanges();\n }\n\n setAlphaColor(colorValue: Color): void {\n const rgb = generateColor(colorValue.toRgbString());\n this.alphaColor = rgb.toRgbString();\n this.gradientColors = ['rgba(255, 0, 4, 0) 0%', this.alphaColor];\n this.cdr.markForCheck();\n }\n\n handleChange(color: Color, type?: HsbaColorType): void {\n this.setColorValue(color);\n this.nzOnChange.emit({ color, type });\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { NgAntdColorBlockComponent } from './ng-antd-color-block.component';\nimport { NgAntdColorPickerComponent } from './ng-antd-color-picker.component';\n\n@NgModule({\n imports: [NgAntdColorPickerComponent, NgAntdColorBlockComponent],\n exports: [NgAntdColorPickerComponent, NgAntdColorBlockComponent]\n})\nexport class NgAntdColorPickerModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { NzSizeLDSType } from 'ng-zorro-antd/core/types';\n\nimport { NgAntdColorPickerModule } from './src/ng-antd-color-picker.module';\nimport { defaultColor } from './src/util/util';\n\n@Component({\n selector: 'nz-color-block',\n exportAs: 'NzColorBlock',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgAntdColorPickerModule],\n template: ` <ng-antd-color-block [color]=\"nzColor\" (nzOnClick)=\"nzOnClick.emit($event)\"></ng-antd-color-block> `,\n host: {\n class: 'ant-color-picker-inline',\n '[class.ant-color-picker-inline-sm]': `nzSize === 'small'`,\n '[class.ant-color-picker-inline-lg]': `nzSize === 'large'`\n }\n})\nexport class NzColorBlockComponent {\n @Input() nzColor: string = defaultColor.toHexString();\n @Input() nzSize: NzSizeLDSType = 'default';\n @Output() readonly nzOnClick = new EventEmitter<boolean>();\n\n constructor() {}\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n booleanAttribute\n} from '@angular/core';\nimport {\n AbstractControl,\n FormBuilder,\n FormControl,\n FormGroup,\n ReactiveFormsModule,\n ValidationErrors,\n ValidatorFn\n} from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter, takeUntil } from 'rxjs/operators';\n\nimport { NzInputDirective, NzInputGroupComponent } from 'ng-zorro-antd/input';\nimport { NzInputNumberComponent } from 'ng-zorro-antd/input-number';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\n\nimport { generateColor } from './src/util/util';\nimport { NzColorPickerFormatType, ValidFormKey } from './typings';\n\n@Component({\n selector: 'nz-color-format',\n exportAs: 'NzColorFormat',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ReactiveFormsModule, NzSelectModule, NzInputDirective, NzInputGroupComponent, NzInputNumberComponent],\n template: `\n <div [formGroup]=\"validateForm\" class=\"ant-color-picker-input-container\">\n <div class=\"ant-color-picker-format-select\">\n <nz-select formControlName=\"isFormat\" nzBorderless nzSize=\"small\">\n <nz-option nzValue=\"hex\" nzLabel=\"HEX\" />\n <nz-option nzValue=\"hsb\" nzLabel=\"HSB\" />\n <nz-option nzValue=\"rgb\" nzLabel=\"RGB\" />\n </nz-select>\n </div>\n\n <div class=\"ant-color-picker-input\">\n @switch (validateForm.controls.isFormat.value) {\n @case ('hex') {\n <div class=\"ant-color-picker-hex-input\">\n <nz-input-group nzPrefix=\"#\" nzSize=\"small\">\n <input nz-input nzSize=\"small\" formControlName=\"hex\" />\n </nz-input-group>\n </div>\n }\n @case ('hsb') {\n <div class=\"ant-color-picker-hsb-input\">\n <div class=\"ant-color-picker-steppers ant-color-picker-hsb-input\">\n <nz-input-number\n formControlName=\"hsbH\"\n [nzMin]=\"0\"\n [nzMax]=\"360\"\n [nzStep]=\"1\"\n [nzPrecision]=\"0\"\n nzSize=\"small\"\n />\n </div>\n <div class=\"ant-color-picker-steppers ant-color-picker-hsb-input\">\n <nz-input-number\n formControlName=\"hsbS\"\n [nzMin]=\"0\"\n [nzMax]=\"100\"\n [nzStep]=\"1\"\n [nzFormatter]=\"formatterPercent\"\n [nzParser]=\"parserPercent\"\n nzSize=\"small\"\n />\n </div>\n <div class=\"ant-color-picker-steppers ant-color-picker-hsb-input\">\n <nz-input-number\n formControlName=\"hsbB\"\n [nzMin]=\"0\"\n [nzMax]=\"100\"\n [nzStep]=\"1\"\n [nzFormatter]=\"formatterPercent\"\n [nzParser]=\"parserPercent\"\n nzSize=\"small\"\n />\n </div>\n </div>\n }\n @default {\n <div class=\"ant-color-picker-rgb-input\">\n <div class=\"ant-color-picker-steppers ant-color-picker-rgb-input\">\n <nz-input-number formControlName=\"rgbR\" [nzMin]=\"0\" [nzMax]=\"255\" [nzStep]=\"1\" nzSize=\"small\" />\n </div>\n <div class=\"ant-color-picker-steppers ant-color-picker-rgb-input\">\n <nz-input-number formControlName=\"rgbG\" [nzMin]=\"0\" [nzMax]=\"255\" [nzStep]=\"1\" nzSize=\"small\" />\n </div>\n <div class=\"ant-color-picker-steppers ant-color-picker-rgb-input\">\n <nz-input-number formControlName=\"rgbB\" [nzMin]=\"0\" [nzMax]=\"255\" [nzStep]=\"1\" nzSize=\"small\" />\n </div>\n </div>\n }\n }\n </div>\n\n @if (!nzDisabledAlpha) {\n <div class=\"ant-color-picker-steppers ant-color-picker-alpha-input\">\n <nz-input-number\n formControlName=\"roundA\"\n [nzMin]=\"0\"\n [nzMax]=\"100\"\n [nzStep]=\"1\"\n [nzFormatter]=\"formatterPercent\"\n [nzParser]=\"parserPercent\"\n nzSize=\"small\"\n />\n </div>\n }\n </div>\n `\n})\nexport class NzColorFormatComponent implements OnChanges, OnInit, OnDestroy {\n @Input() format: NzColorPickerFormatType | null = null;\n @Input() colorValue: string = '';\n @Input({ transform: booleanAttribute }) clearColor: boolean = false;\n @Input({ transform: booleanAttribute }) nzDisabledAlpha: boolean = false;\n @Output() readonly formatChange = new EventEmitter<{ color: string; format: NzColorPickerFormatType }>();\n @Output() readonly nzOnFormatChange = new EventEmitter<NzColorPickerFormatType>();\n\n private destroy$ = new Subject<void>();\n\n validatorFn(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const REGEXP = /^[0-9a-fA-F]{6}$/;\n if (!control.value) {\n return { error: true };\n } else if (!REGEXP.test(control.value)) {\n return { error: true };\n }\n return null;\n };\n }\n\n validateForm: FormGroup<{\n isFormat: FormControl<NzColorPickerFormatType | null>;\n hex: FormControl<string | null>;\n hsbH: FormControl<number>;\n hsbS: FormControl<number>;\n hsbB: FormControl<number>;\n rgbR: FormControl<number>;\n rgbG: FormControl<number>;\n rgbB: FormControl<number>;\n roundA: FormControl<number>;\n }>;\n\n formatterPercent = (value: number): string => `${value} %`;\n parserPercent = (value: string): string => value.replace(' %', '');\n\n constructor(private formBuilder: FormBuilder) {\n this.validateForm = this.formBuilder.nonNullable.group({\n isFormat: this.formBuilder.control<NzColorPickerFormatType>('hex'),\n hex: this.formBuilder.control<string>('1677FF', this.validatorFn()),\n hsbH: 215,\n hsbS: 91,\n hsbB: 100,\n rgbR: 22,\n rgbG: 119,\n rgbB: 255,\n roundA: 100\n });\n }\n\n ngOnInit(): void {\n this.validateForm.valueChanges\n .pipe(\n filter(() => this.validateForm.valid),\n debounceTime(200),\n distinctUntilChanged((prev, current) =>\n Object.keys(prev).every(key => prev[key as ValidFormKey] === current[key as ValidFormKey])\n ),\n takeUntil(this.destroy$)\n )\n .subscribe(value => {\n let color = '';\n switch (value.isFormat) {\n case 'hsb':\n color = generateColor({\n h: Number(value.hsbH),\n s: Number(value.hsbS) / 100,\n b: Number(value.hsbB) / 100,\n a: Number(value.roundA) / 100\n }).toHsbString();\n break;\n case 'rgb':\n color = generateColor({\n r: Number(value.rgbR),\n g: Number(value.rgbG),\n b: Number(value.rgbB),\n a: Number(value.roundA) / 100\n }).toRgbString();\n break;\n default:\n const hex = generateColor(value.hex as NzColorPickerFormatType);\n const hexColor = generateColor({\n r: hex.r,\n g: hex.g,\n b: hex.b,\n a: Number(value.roundA) / 100\n });\n color = hexColor.getAlpha() < 1 ? hexColor.toHex8String() : hexColor.toHexString();\n break;\n }\n this.formatChange.emit({ color, format: value.isFormat || this.format || 'hex' });\n });\n\n this.validateForm\n .get('isFormat')\n ?.valueChanges.pipe(takeUntil(this.destroy$))\n .subscribe(value => {\n this.nzOnFormatChange.emit(value as NzColorPickerFormatType);\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { colorValue, format, clearColor } = changes;\n if (colorValue) {\n const colorValue = {\n hex: generateColor(this.colorValue).toHex(),\n hsbH: Math.round(generateColor(this.colorValue).toHsb().h),\n hsbS: Math.round(generateColor(this.colorValue).toHsb().s * 100),\n hsbB: Math.round(generateColor(this.colorValue).toHsb().b * 100),\n rgbR: Math.round(generateColor(this.colorValue).r),\n rgbG: Math.round(generateColor(this.colorValue).g),\n rgbB: Math.round(generateColor(this.colorValue).b),\n roundA: Math.round(generateColor(this.colorValue).roundA * 100)\n };\n this.validateForm.patchValue(colorValue);\n }\n\n if (format && this.format) {\n this.validateForm.get('isFormat')?.patchValue(this.format);\n }\n\n if (clearColor && this.clearColor) {\n this.validateForm.get('roundA')?.patchValue(0);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef\n} from '@angular/core';\nimport { ControlValueAccessor, FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NzSafeAny, NzSizeLDSType } from 'ng-zorro-antd/core/types';\nimport { isNonEmptyString, isTemplateRef } from 'ng-zorro-antd/core/util';\nimport { NzPopoverDirective } from 'ng-zorro-antd/popover';\n\nimport { NzColorBlockComponent } from './color-block.component';\nimport { NzColorFormatComponent } from './color-format.component';\nimport { NgAntdColorPickerModule } from './src/ng-antd-color-picker.module';\nimport { defaultColor, generateColor } from './src/util/util';\nimport { NzColor, NzColorPickerFormatType, NzColorPickerTriggerType } from './typings';\n\n@Component({\n selector: 'nz-color-picker',\n exportAs: 'NzColorPicker',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgAntdColorPickerModule,\n NzPopoverDirective,\n NzColorBlockComponent,\n NzColorFormatComponent,\n NgTemplateOutlet\n ],\n template: `\n <div\n [class.ant-color-picker-trigger]=\"!nzFlipFlop\"\n [class.ant-color-picker-sm]=\"nzSize === 'small'\"\n [class.ant-color-picker-lg]=\"nzSize === 'large'\"\n nz-popover\n [nzPopoverContent]=\"colorPicker\"\n [nzPopoverTrigger]=\"!nzDisabled ? nzTrigger : null\"\n [nzPopoverVisible]=\"nzOpen\"\n (nzPopoverVisibleChange)=\"nzOnOpenChange.emit($event)\"\n >\n @if (!nzFlipFlop) {\n <nz-color-block [nzColor]=\"blockColor\" [nzSize]=\"nzSize\" />\n } @else {\n <ng-template [ngTemplateOutlet]=\"nzFlipFlop\" />\n }\n @if (nzShowText && !!showText && !nzFlipFlop) {\n <div class=\"ant-color-picker-trigger-text\">\n {{ showText }}\n </div>\n }\n </div>\n <ng-template #colorPicker>\n <ng-antd-color-picker\n [value]=\"nzValue\"\n [defaultValue]=\"nzDefaultValue\"\n [disabled]=\"nzDisabled\"\n [panelRenderHeader]=\"nzPanelRenderHeader\"\n [panelRenderFooter]=\"nzPanelRenderFooter\"\n [disabledAlpha]=\"nzDisabledAlpha\"\n (nzOnChange)=\"colorChange($event)\"\n />\n </ng-template>\n <ng-template #nzPanelRenderHeader>\n @if (nzTitle || nzAllowClear) {\n <div class=\"ant-color-picker-title\">\n <div class=\"ant-color-picker-title-content\">\n @if (isNzTitleTemplateRef) {\n <ng-container *ngTemplateOutlet=\"$any(nzTitle)\" />\n }\n @if (isNzTitleNonEmptyString) {\n <span [innerHTML]=\"nzTitle\"></span>\n }\n </div>\n @if (nzAllowClear) {\n <div class=\"ant-color-picker-clear\" (click)=\"clearColorHandle()\"></div>\n }\n </div>\n }\n </ng-template>\n <ng-template #nzPanelRenderFooter>\n <nz-color-format\n [colorValue]=\"blockColor\"\n [clearColor]=\"clearColor\"\n [format]=\"nzFormat\"\n [nzDisabledAlpha]=\"nzDisabledAlpha\"\n (formatChange)=\"formatChange($event)\"\n (nzOnFormatChange)=\"nzOnFormatChange.emit($event)\"\n />\n </ng-template>\n `,\n host: {\n class: 'ant-color-picker-inline',\n '[class.ant-color-picker-disabled]': `nzDisabled`\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NzColorPickerComponent),\n multi: true\n }\n ]\n})\nexport class NzColorPickerComponent implements OnInit, OnChanges, ControlValueAccessor, OnDestroy {\n @Input() nzFormat: NzColorPickerFormatType | null = null;\n @Input() nzValue: string | NzColor = '';\n @Input() nzSize: NzSizeLDSType = 'default';\n @Input() nzDefaultValue: string | NzColor = '';\n @Input() nzTrigger: NzColorPickerTriggerType = 'click';\n @Input() nzTitle: TemplateRef<void> | string = '';\n @Input() nzFlipFlop: TemplateRef<void> | null = null;\n @Input({ transform: booleanAttribute }) nzShowText: boolean = false;\n @Input({ transform: booleanAttribute }) nzOpen: boolean = false;\n @Input({ transform: booleanAttribute }) nzAllowClear: boolean = false;\n @Input({ transform: booleanAttribute }) nzDisabled: boolean = false;\n @Input({ transform: booleanAttribute }) nzDisabledAlpha: boolean = false;\n @Output() readonly nzOnChange = new EventEmitter<{ color: NzColor; format: string }>();\n @Output() readonly nzOnFormatChange = new EventEmitter<NzColorPickerFormatType>();\n @Output() readonly nzOnClear = new EventEmitter<boolean>();\n @Output() readonly nzOnOpenChange = new EventEmitter<boolean>();\n\n protected readonly isTemplateRef = isTemplateRef;\n protected readonly isNonEmptyString = isNonEmptyString;\n private destroy$ = new Subject<void>();\n private isNzDisableFirstChange: boolean = true;\n blockColor: string = '';\n clearColor: boolean = false;\n showText: string = defaultColor.toHexString();\n\n constructor(\n private formBuilder: FormBuilder,\n private cdr: ChangeDetectorRef\n ) {}\n\n formControl = this.formBuilder.control('');\n\n onChange: (value: string) => void = () => {};\n\n writeValue(value: string): void {\n this.nzValue = value;\n this.getBlockColor();\n this.formControl.patchValue(value);\n }\n\n registerOnChange(fn: NzSafeAny): void {\n this.onChange = fn;\n }\n\n registerOnTouched(): void {}\n\n setDisabledState(isDisabled: boolean): void {\n this.nzDisabled = (this.isNzDisableFirstChange && this.nzDisabled) || isDisabled;\n this.isNzDisableFirstChange = false;\n this.cdr.markForCheck();\n }\n\n ngOnInit(): void {\n this.getBlockColor();\n this.formControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {\n if (!!value) {\n let color = value;\n if (this.nzFormat === 'hex') {\n color =\n generateColor(value).getAlpha() < 1\n ? generateColor(value).toHex8String()\n : generateColor(value).toHexString();\n } else if (this.nzFormat === 'hsb') {\n color = generateColor(value).toHsbString();\n } else if (this.nzFormat === 'rgb') {\n color = generateColor(value).toRgbString();\n }\n this.showText = color;\n this.onChange(color);\n this.cdr.markForCheck();\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { nzValue, nzDefaultValue } = changes;\n if (nzValue || nzDefaultValue) {\n this.getBlockColor();\n }\n }\n\n clearColorHandle(): void {\n this.clearColor = true;\n this.nzOnClear.emit(true);\n this.cdr.markForCheck();\n }\n\n getBlockColor(): void {\n if (!!this.nzValue) {\n this.blockColor = generateColor(this.nzValue).toRgbString();\n } else if (!!this.nzDefaultValue) {\n this.blockColor = generateColor(this.nzDefaultValue).toRgbString();\n } else {\n this.blockColor = defaultColor.toHexString();\n }\n }\n\n colorChange(value: { color: NzColor }): void {\n this.blockColor = value.color.getAlpha() < 1 ? value.color.toHex8String() : value.color.toHexString();\n this.clearColor = false;\n this.cdr.markForCheck();\n }\n\n formatChange(value: { color: string; format: NzColorPickerFormatType }): void {\n this.nzValue = value.color;\n this.clearColor = false;\n this.getBlockColor();\n this.nzOnChange.emit({ color: generateColor(value.color), format: value.format });\n this.formControl.patchValue(value.color);\n this.cdr.markForCheck();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n get isNzTitleNonEmptyString(): boolean {\n return isNonEmptyString(this.nzTitle);\n }\n\n get isNzTitleTemplateRef(): boolean {\n return isTemplateRef(this.nzTitle);\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { NzColorBlockComponent } from './color-block.component';\nimport { NzColorFormatComponent } from './color-format.component';\nimport { NzColorPickerComponent } from './color-picker.component';\n\n@NgModule({\n imports: [NzColorPickerComponent, NzColorBlockComponent, NzColorFormatComponent],\n exports: [NzColorPickerComponent, NzColorBlockComponent]\n})\nexport class NzColorPickerModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './typings';\nexport * from './color-picker.component';\nexport * from './color-block.component';\nexport * from './color-picker.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["getPosition","i1.NgAntdColorBlockComponent"],"mappings":"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"}