{"version":3,"file":"ng-zorro-antd-color-picker.mjs","sources":["../../components/color-picker/typings.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 'ng-antd-color-picker';\n\nexport type NzColorPickerFormatType = 'rgb' | 'hex' | 'hsb';\n\nexport type NzColorPickerTriggerType = 'click' | 'hover';\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 { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { defaultColor } from 'ng-antd-color-picker';\n\nimport { NzSizeLDSType } from 'ng-zorro-antd/core/types';\n\n@Component({\n  selector: 'nz-color-block',\n  exportAs: 'NzColorBlock',\n  changeDetection: ChangeDetectionStrategy.OnPush,\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  SimpleChanges,\n  Component,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Output,\n  EventEmitter\n} from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { debounceTime, filter, takeUntil } from 'rxjs/operators';\n\nimport { generateColor } from 'ng-antd-color-picker';\n\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\n\nimport { NzColorPickerFormatType } from './typings';\n\n@Component({\n  selector: 'nz-color-format',\n  exportAs: 'NzColorFormat',\n  changeDetection: ChangeDetectionStrategy.OnPush,\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\"></nz-option>\n          <nz-option nzValue=\"hsb\" nzLabel=\"HSB\"></nz-option>\n          <nz-option nzValue=\"rgb\" nzLabel=\"RGB\"></nz-option>\n        </nz-select>\n      </div>\n      <div class=\"ant-color-picker-input\" [ngSwitch]=\"validateForm.get('isFormat')?.value\">\n        <div class=\"ant-color-picker-hex-input\" *ngSwitchCase=\"'hex'\">\n          <nz-input-group nzPrefix=\"#\" nzSize=\"small\">\n            <input nz-input nzSize=\"small\" formControlName=\"hex\" />\n          </nz-input-group>\n        </div>\n\n        <div class=\"ant-color-picker-hsb-input\" *ngSwitchCase=\"'hsb'\">\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            ></nz-input-number>\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            ></nz-input-number>\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            ></nz-input-number>\n          </div>\n        </div>\n\n        <div class=\"ant-color-picker-rgb-input\" *ngSwitchDefault>\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            </nz-input-number>\n          </div>\n          <div class=\"ant-color-picker-steppers ant-color-picker-rgb-input\">\n            <nz-input-number\n              formControlName=\"rgbG\"\n              [nzMin]=\"0\"\n              [nzMax]=\"255\"\n              [nzStep]=\"1\"\n              nzSize=\"small\"\n            ></nz-input-number>\n          </div>\n          <div class=\"ant-color-picker-steppers ant-color-picker-rgb-input\">\n            <nz-input-number\n              formControlName=\"rgbB\"\n              [nzMin]=\"0\"\n              [nzMax]=\"255\"\n              [nzStep]=\"1\"\n              nzSize=\"small\"\n            ></nz-input-number>\n          </div>\n        </div>\n      </div>\n\n      <ng-container *ngIf=\"!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          ></nz-input-number>\n        </div>\n      </ng-container>\n    </div>\n  `\n})\nexport class NzColorFormatComponent implements OnChanges, OnInit, OnDestroy {\n  @Input() format: NzColorPickerFormatType | null = null;\n  @Input() colorValue: string = '';\n  @Input() clearColor: boolean = false;\n  @Input() @InputBoolean() 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        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 {\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 { defaultColor, generateColor } from 'ng-antd-color-picker';\n\nimport { BooleanInput, NzSafeAny, NzSizeLDSType } from 'ng-zorro-antd/core/types';\nimport { InputBoolean, isNonEmptyString, isTemplateRef } from 'ng-zorro-antd/core/util';\n\nimport { NzColor, NzColorPickerTriggerType, NzColorPickerFormatType } from './typings';\n\n@Component({\n  selector: 'nz-color-picker',\n  exportAs: 'NzColorPicker',\n  changeDetection: ChangeDetectionStrategy.OnPush,\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      <ng-container *ngIf=\"!nzFlipFlop\">\n        <nz-color-block [nzColor]=\"blockColor\" [nzSize]=\"nzSize\"></nz-color-block>\n      </ng-container>\n      <ng-container *ngIf=\"nzFlipFlop\">\n        <ng-template [ngTemplateOutlet]=\"nzFlipFlop\"></ng-template>\n      </ng-container>\n      <div class=\"ant-color-picker-trigger-text\" *ngIf=\"nzShowText && !!showText && !nzFlipFlop\">\n        {{ showText }}\n      </div>\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      ></ng-antd-color-picker>\n    </ng-template>\n    <ng-template #nzPanelRenderHeader>\n      <div class=\"ant-color-picker-title\" *ngIf=\"nzAllowClear || nzTitle\">\n        <div class=\"ant-color-picker-title-content\">\n          <ng-container [ngSwitch]=\"true\">\n            <ng-container *ngSwitchCase=\"isTemplateRef(nzTitle)\">\n              <ng-container *ngTemplateOutlet=\"$any(nzTitle)\"></ng-container>\n            </ng-container>\n            <ng-container *ngSwitchCase=\"isNonEmptyString(nzTitle)\">\n              <span [innerHTML]=\"nzTitle\"></span>\n            </ng-container>\n          </ng-container>\n        </div>\n        <div class=\"ant-color-picker-clear\" *ngIf=\"nzAllowClear\" (click)=\"clearColorHandle()\"></div>\n      </div>\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      ></nz-color-format>\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  static ngAcceptInputType_nzShowText: BooleanInput;\n  static ngAcceptInputType_nzOpen: BooleanInput;\n  static ngAcceptInputType_nzAllowClear: BooleanInput;\n  static ngAcceptInputType_nzDisabled: BooleanInput;\n  static ngAcceptInputType_nzDisabledAlpha: BooleanInput;\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() @InputBoolean() nzShowText: boolean = false;\n  @Input() @InputBoolean() nzOpen: boolean = false;\n  @Input() @InputBoolean() nzAllowClear: boolean = false;\n  @Input() @InputBoolean() nzDisabled: boolean = false;\n  @Input() @InputBoolean() 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","/**\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 { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { NgAntdColorPickerModule } from 'ng-antd-color-picker';\n\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzPopoverModule } from 'ng-zorro-antd/popover';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\n\nimport { NzColorBlockComponent } from './color-block.component';\nimport { NzColorFormatComponent } from './color-format.component';\nimport { NzColorPickerComponent } from './color-picker.component';\n\n@NgModule({\n  declarations: [NzColorPickerComponent, NzColorBlockComponent, NzColorFormatComponent],\n  imports: [\n    CommonModule,\n    NgAntdColorPickerModule,\n    NzPopoverModule,\n    NzSelectModule,\n    FormsModule,\n    NzInputNumberModule,\n    NzInputModule,\n    ReactiveFormsModule\n  ],\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":["i1","i3","i4","i5.NzColorBlockComponent","i6.NzColorFormatComponent"],"mappings":"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"}