{"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.directive.ts","../../components/color-picker/src/components/picker.component.ts","../../components/color-picker/src/components/gradient.directive.ts","../../components/color-picker/src/components/slider.component.ts","../../components/color-picker/src/ng-antd-color-preset.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 { TemplateRef } from '@angular/core';\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\nexport interface NzPresetColor {\n  label: TemplateRef<void> | string;\n  colors: Array<string | NzColor>;\n  defaultOpen?: boolean;\n  key?: string | number;\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 { 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 { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport type { Color } from './interfaces/color';\nimport { defaultColor, generateColor } from './util/util';\n\n@Component({\n  // eslint-disable-next-line @angular-eslint/component-selector\n  selector: 'ng-antd-color-block',\n  template: `<div class=\"ant-color-picker-color-block-inner\" [style.background-color]=\"color\"></div>`,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  host: {\n    class: 'ant-color-picker-color-block ant-color-picker-presets-color',\n    '[class.ant-color-picker-presets-color-checked]': 'isChecked',\n    '[class.ant-color-picker-presets-color-bright]': 'isBright',\n    '(click)': 'nzOnClick.emit()'\n  }\n})\nexport class NgAntdColorBlockComponent {\n  @Input() color: string = defaultColor.toHsbString();\n  @Input() value: Color | null = null;\n  @Output() readonly nzOnClick = new EventEmitter<void>();\n\n  get isChecked(): boolean {\n    if (!this.value) {\n      return false;\n    }\n    const current = generateColor(this.value).toHexString();\n    const colorPreset = generateColor(this.color).toHexString();\n    return current === colorPreset;\n  }\n\n  get isBright(): boolean {\n    const { r, g, b, a } = generateColor(this.color).toRgb();\n    if (a !== undefined && a <= 0.5) return true;\n    const brightness = r * 0.299 + g * 0.587 + b * 0.114;\n    return brightness > 192;\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 { Directive, Input } from '@angular/core';\n\ntype HandlerSize = 'default' | 'small';\n\n@Directive({\n  selector: 'color-handler',\n  host: {\n    class: 'ant-color-picker-handler',\n    '[style.background-color]': 'color',\n    '[class.ant-color-picker-handler-sm]': `size === 'small'`\n  }\n})\nexport class HandlerDirective {\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 {\n  AfterViewInit,\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  DOCUMENT,\n  ElementRef,\n  EventEmitter,\n  inject,\n  Input,\n  OnChanges,\n  OnInit,\n  Output,\n  SimpleChanges,\n  ViewChild\n} from '@angular/core';\n\nimport { HandlerDirective } from './handler.directive';\nimport { Color } from '../interfaces/color';\nimport { HsbaColorType, TransformOffset } from '../interfaces/type';\nimport { calculateColor, calculateOffset } from '../util/util';\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  imports: [HandlerDirective],\n  template: `\n    <div class=\"ant-color-picker-palette\">\n      <div #transform class=\"ant-color-picker-transform\" [style.left.px]=\"offsetValue.x\" [style.top.px]=\"offsetValue.y\">\n        <color-handler [color]=\"toRgbString()\" />\n      </div>\n      <div class=\"ant-color-picker-saturation\" [style.background-color]=\"toHsb()\"></div>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  host: {\n    class: 'ant-color-picker-select',\n    '(mousedown)': 'dragStartHandle($event)',\n    '(touchstart)': 'dragStartHandle($event)'\n  }\n})\nexport class PickerComponent implements OnInit, AfterViewInit, OnChanges {\n  private document = inject(DOCUMENT);\n  private cdr = inject(ChangeDetectorRef);\n  containerRef = inject<ElementRef<HTMLDivElement>>(ElementRef);\n\n  @ViewChild('transform', { static: true }) 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\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  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 { Directive, 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@Directive({\n  selector: 'color-gradient',\n  host: {\n    class: 'ant-color-picker-gradient',\n    '[style.background]': `'linear-gradient(' + direction + ', ' + gradientColors + ')'`\n  }\n})\nexport class GradientDirective 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  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 {\n  AfterViewInit,\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  DOCUMENT,\n  ElementRef,\n  EventEmitter,\n  inject,\n  Input,\n  OnChanges,\n  OnInit,\n  Output,\n  SimpleChanges,\n  ViewChild\n} from '@angular/core';\n\nimport { GradientDirective } from './gradient.directive';\nimport { HandlerDirective } from './handler.directive';\nimport { Color } from '../interfaces/color';\nimport { HsbaColorType, TransformOffset } from '../interfaces/type';\nimport { calculateColor, calculateOffset } from '../util/util';\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  imports: [GradientDirective, HandlerDirective],\n  template: `\n    <div class=\"ant-color-picker-palette\">\n      <div #transform class=\"ant-color-picker-transform\" [style.left.px]=\"offsetValue.x\" [style.top.px]=\"offsetValue.y\">\n        <color-handler size=\"small\" [color]=\"value\" />\n      </div>\n      <color-gradient [colors]=\"gradientColors\" [direction]=\"direction\" [type]=\"type\" />\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  host: {\n    class: 'ant-color-picker-slider',\n    '[class]': `'ant-color-picker-slider-' + type`,\n    '(mousedown)': `dragStartHandle($event)`,\n    '(touchstart)': `dragStartHandle($event)`\n  }\n})\nexport class SliderComponent implements OnInit, AfterViewInit, OnChanges {\n  private document = inject(DOCUMENT);\n  private cdr = inject(ChangeDetectorRef);\n  containerRef = inject<ElementRef<HTMLDivElement>>(ElementRef);\n\n  @ViewChild('transform', { static: true }) 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\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 {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  EventEmitter,\n  inject,\n  Input,\n  OnInit,\n  Output\n} from '@angular/core';\n\nimport { NzCollapseModule } from 'ng-zorro-antd/collapse';\n\nimport { NzColor, NzPresetColor } from '../typings';\nimport type { Color } from './interfaces/color';\nimport { NgAntdColorBlockComponent } from './ng-antd-color-block.component';\nimport { generateColor } from './util/util';\n\n@Component({\n  // eslint-disable-next-line @angular-eslint/component-selector\n  selector: 'ng-antd-color-preset',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [NzCollapseModule, NgAntdColorBlockComponent],\n  template: `\n    <div class=\"ant-color-picker-presets\">\n      <nz-collapse nzGhost>\n        @for (preset of presets; track preset.key || $index) {\n          <nz-collapse-panel\n            [nzActive]=\"openPresets.has($index)\"\n            (nzActiveChange)=\"onPanelActiveChange($index, $event)\"\n            [nzHeader]=\"preset.label\"\n          >\n            <div class=\"ant-color-picker-presets-items\">\n              @for (color of preset.colors; track $index) {\n                <ng-antd-color-block\n                  [value]=\"value\"\n                  [color]=\"getColorString(color)\"\n                  (nzOnClick)=\"selectPresetColor(color)\"\n                />\n              }\n            </div>\n          </nz-collapse-panel>\n        }\n      </nz-collapse>\n    </div>\n  `,\n  host: {\n    class: 'ant-color-picker-presets-wrapper'\n  }\n})\nexport class NgAntdColorPresetComponent implements OnInit {\n  private cdr = inject(ChangeDetectorRef);\n  protected openPresets = new Set<string | number>();\n\n  @Input() presets: NzPresetColor[] = [];\n  @Input() value: Color | null = null;\n  @Output() readonly presetSelect = new EventEmitter<NzColor>();\n\n  ngOnInit(): void {\n    this.presets.forEach((preset, index) => {\n      if (preset.defaultOpen) {\n        this.openPresets.add(index);\n      }\n    });\n  }\n\n  onPanelActiveChange(index: number, active: boolean): void {\n    if (active) {\n      this.openPresets.add(index);\n    } else {\n      this.openPresets.delete(index);\n    }\n    this.cdr.markForCheck();\n  }\n\n  selectPresetColor(color: string | NzColor): void {\n    const colorInstance = typeof color === 'string' ? generateColor(color) : color;\n    this.presetSelect.emit(colorInstance);\n  }\n\n  getColorString(color: string | NzColor): string {\n    if (typeof color === 'string') {\n      return color;\n    }\n    return color.toRgbString();\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  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  EventEmitter,\n  Input,\n  OnChanges,\n  OnInit,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n  booleanAttribute,\n  inject\n} from '@angular/core';\n\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\n\nimport { NzPresetColor } from '../typings';\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 { NgAntdColorPresetComponent } from './ng-antd-color-preset.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  imports: [\n    PickerComponent,\n    SliderComponent,\n    NgAntdColorBlockComponent,\n    NgTemplateOutlet,\n    NgAntdColorPresetComponent,\n    NzDividerModule\n  ],\n  template: `\n    <div class=\"ant-color-picker-inner-content\">\n      <div class=\"ant-color-picker-panel\" [class.ant-color-picker-panel-disabled]=\"disabled\">\n        @if (panelRenderHeader) {\n          <ng-template [ngTemplateOutlet]=\"panelRenderHeader\" />\n        }\n        <color-picker\n          [color]=\"colorValue\"\n          (nzOnChange)=\"handleChange($event)\"\n          [disabled]=\"disabled\"\n          (nzOnChangeComplete)=\"nzOnChangeComplete.emit($event)\"\n        />\n        <div class=\"ant-color-picker-slider-container\">\n          <div\n            class=\"ant-color-picker-slider-group\"\n            [class.ant-color-picker-slider-group-disabled-alpha]=\"disabledAlpha\"\n          >\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            />\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              />\n            }\n          </div>\n          <ng-antd-color-block [color]=\"toRgbString\" />\n        </div>\n      </div>\n      @if (panelRenderFooter) {\n        <ng-template [ngTemplateOutlet]=\"panelRenderFooter\" />\n      }\n      @if (presets && presets.length > 0) {\n        <nz-divider nzSize=\"small\" />\n        <ng-antd-color-preset [value]=\"colorValue\" [presets]=\"presets\" (presetSelect)=\"handleChange($event)\" />\n      }\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  host: {\n    class: 'ant-color-picker-inner'\n  }\n})\nexport class NgAntdColorPickerComponent implements OnInit, OnChanges {\n  private cdr = inject(ChangeDetectorRef);\n\n  @Input() value: string = '';\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  @Input() presets: NzPresetColor[] | null = null;\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  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';\nimport { NgAntdColorPresetComponent } from './ng-antd-color-preset.component';\n\n@NgModule({\n  imports: [NgAntdColorPickerComponent, NgAntdColorBlockComponent, NgAntdColorPresetComponent],\n  exports: [NgAntdColorPickerComponent, NgAntdColorBlockComponent, NgAntdColorPresetComponent]\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  imports: [NgAntdColorPickerModule],\n  template: `<ng-antd-color-block [color]=\"nzColor\" (nzOnClick)=\"nzOnClick.emit()\" />`,\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<void>();\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  DestroyRef,\n  EventEmitter,\n  Input,\n  OnChanges,\n  OnInit,\n  Output,\n  SimpleChanges,\n  booleanAttribute,\n  inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n  AbstractControl,\n  FormBuilder,\n  FormControl,\n  FormGroup,\n  ReactiveFormsModule,\n  ValidationErrors,\n  ValidatorFn\n} from '@angular/forms';\nimport { debounceTime, distinctUntilChanged, filter } from 'rxjs/operators';\n\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } 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  imports: [ReactiveFormsModule, NzSelectModule, NzInputModule, NzInputNumberModule],\n  template: `\n    <div class=\"ant-color-picker-format-select\">\n      <nz-select [formControl]=\"validateForm.controls.isFormat\" nzVariant=\"borderless\" 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-wrapper nzPrefix=\"#\">\n              <input nz-input nzSize=\"small\" [formControl]=\"validateForm.controls.hex\" />\n            </nz-input-wrapper>\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                [formControl]=\"validateForm.controls.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                [formControl]=\"validateForm.controls.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                [formControl]=\"validateForm.controls.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\n                [formControl]=\"validateForm.controls.rgbR\"\n                [nzMin]=\"0\"\n                [nzMax]=\"255\"\n                [nzStep]=\"1\"\n                nzSize=\"small\"\n              />\n            </div>\n            <div class=\"ant-color-picker-steppers ant-color-picker-rgb-input\">\n              <nz-input-number\n                [formControl]=\"validateForm.controls.rgbG\"\n                [nzMin]=\"0\"\n                [nzMax]=\"255\"\n                [nzStep]=\"1\"\n                nzSize=\"small\"\n              />\n            </div>\n            <div class=\"ant-color-picker-steppers ant-color-picker-rgb-input\">\n              <nz-input-number\n                [formControl]=\"validateForm.controls.rgbB\"\n                [nzMin]=\"0\"\n                [nzMax]=\"255\"\n                [nzStep]=\"1\"\n                nzSize=\"small\"\n              />\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          [formControl]=\"validateForm.controls.roundA\"\n          [nzMin]=\"0\"\n          [nzMax]=\"100\"\n          [nzStep]=\"1\"\n          [nzFormatter]=\"formatterPercent\"\n          [nzParser]=\"parserPercent\"\n          nzSize=\"small\"\n        />\n      </div>\n    }\n  `,\n  host: {\n    class: 'ant-color-picker-input-container'\n  }\n})\nexport class NzColorFormatComponent implements OnChanges, OnInit {\n  private destroyRef = inject(DestroyRef);\n  private formBuilder = inject(FormBuilder);\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  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  }> = this.formBuilder.nonNullable.group({\n    isFormat: this.formBuilder.control<NzColorPickerFormatType>('hex'),\n    hex: this.formBuilder.control<string>('1677FF', hexValidator),\n    hsbH: 215,\n    hsbS: 91,\n    hsbB: 100,\n    rgbR: 22,\n    rgbG: 119,\n    rgbB: 255,\n    roundA: 100\n  });\n\n  formatterPercent = (value: number): string => `${value} %`;\n  parserPercent = (value: string): number => +value.replace(' %', '');\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        takeUntilDestroyed(this.destroyRef)\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        }\n        this.formatChange.emit({ color, format: value.isFormat || this.format || 'hex' });\n      });\n\n    this.validateForm\n      .get('isFormat')\n      ?.valueChanges.pipe(takeUntilDestroyed(this.destroyRef))\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\nconst hexValidator: ValidatorFn = (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 * 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  computed,\n  DestroyRef,\n  EventEmitter,\n  forwardRef,\n  inject,\n  Input,\n  OnChanges,\n  OnInit,\n  Output,\n  signal,\n  SimpleChanges,\n  TemplateRef\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, FormBuilder, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { NZ_FORM_SIZE } from 'ng-zorro-antd/core/form';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport { NzSafeAny, NzSizeLDSType } from 'ng-zorro-antd/core/types';\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, NzPresetColor } from './typings';\n\n@Component({\n  selector: 'nz-color-picker',\n  exportAs: 'nzColorPicker',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [\n    NgAntdColorPickerModule,\n    NzPopoverDirective,\n    NzColorBlockComponent,\n    NzColorFormatComponent,\n    NgTemplateOutlet,\n    NzStringTemplateOutletDirective\n  ],\n  template: `\n    <div\n      [class.ant-color-picker-trigger]=\"!nzFlipFlop\"\n      [class.ant-color-picker-sm]=\"finalSize() === 'small'\"\n      [class.ant-color-picker-lg]=\"finalSize() === '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]=\"finalSize()\" />\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]=\"blockColor\"\n        [defaultValue]=\"nzDefaultValue\"\n        [disabled]=\"nzDisabled\"\n        [panelRenderHeader]=\"nzPanelRenderHeader\"\n        [panelRenderFooter]=\"nzPanelRenderFooter\"\n        [disabledAlpha]=\"nzDisabledAlpha\"\n        [presets]=\"nzPresets\"\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            <ng-template [nzStringTemplateOutlet]=\"nzTitle\">{{ nzTitle }}</ng-template>\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 {\n  private cdr = inject(ChangeDetectorRef);\n  private destroyRef = inject(DestroyRef);\n  private formBuilder = inject(FormBuilder);\n\n  private readonly formSize = inject(NZ_FORM_SIZE, { optional: true });\n\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  @Input() nzPresets: NzPresetColor[] | null = null;\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  private isNzDisableFirstChange: boolean = true;\n  blockColor: string = '';\n  clearColor: boolean = false;\n  showText: string = defaultColor.toHexString();\n  formControl = this.formBuilder.control('');\n  private readonly size = signal(this.nzSize);\n\n  protected readonly finalSize = computed(() => this.formSize?.() || this.size());\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(takeUntilDestroyed(this.destroyRef)).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, nzSize } = changes;\n    if (nzValue || nzDefaultValue) {\n      this.getBlockColor();\n    }\n    if (nzSize) {\n      this.size.set(nzSize.currentValue);\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.nzOnChange.emit({ color: value.color, format: this.nzFormat ?? 'hex' });\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","/**\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","i1.NgAntdColorBlockComponent","i1.NgAntdColorPickerComponent"],"mappings":"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"}