{"version":3,"file":"ngx-color.mjs","sources":["../../src/lib/helpers/checkboard.ts","../../src/lib/checkboard.component.ts","../../src/lib/coordinates.directive.ts","../../src/lib/alpha.component.ts","../../src/lib/helpers/color.ts","../../src/lib/color-wrap.component.ts","../../src/lib/editable-input.component.ts","../../src/lib/hue.component.ts","../../src/lib/raised.component.ts","../../src/lib/saturation.component.ts","../../src/lib/swatch.component.ts","../../src/lib/shade.component.ts","../../src/lib/ngx-color.ts"],"sourcesContent":["const checkboardCache: { [key: string]: string } = {};\n\nexport function render(c1: string, c2: string, size: number) {\n  if (typeof document === 'undefined') {\n    return null;\n  }\n  const canvas = document.createElement('canvas');\n  canvas.width = size * 2;\n  canvas.height = size * 2;\n  const ctx = canvas.getContext('2d');\n  if (!ctx) {\n    return null;\n  } // If no context can be found, return early.\n  ctx.fillStyle = c1;\n  ctx.fillRect(0, 0, canvas.width, canvas.height);\n  ctx.fillStyle = c2;\n  ctx.fillRect(0, 0, size, size);\n  ctx.translate(size, size);\n  ctx.fillRect(0, 0, size, size);\n  return canvas.toDataURL();\n}\n\nexport function getCheckerboard(c1: string, c2: string, size: number) {\n  const key = `${c1}-${c2}-${size}`;\n  if (checkboardCache[key]) {\n    return checkboardCache[key];\n  }\n  const checkboard = render(c1, c2, size);\n  if (!checkboard) {\n    return null;\n  }\n  checkboardCache[key] = checkboard;\n  return checkboard;\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, NgModule, OnInit } from '@angular/core';\n\nimport { getCheckerboard } from './helpers/checkboard';\n\n@Component({\n  selector: 'color-checkboard',\n  template: `<div class=\"grid\" [ngStyle]=\"gridStyles\"></div>`,\n  styles: [\n    `\n      .grid {\n        top: 0px;\n        right: 0px;\n        bottom: 0px;\n        left: 0px;\n        position: absolute;\n      }\n    `,\n  ],\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class CheckboardComponent implements OnInit {\n  @Input() white = 'transparent';\n  @Input() size = 8;\n  @Input() grey = 'rgba(0,0,0,.08)';\n  @Input() boxShadow!: string;\n  @Input() borderRadius!: string;\n  gridStyles!: Record<string, string>;\n\n  ngOnInit() {\n    const background = getCheckerboard(this.white, this.grey, this.size);\n    this.gridStyles = {\n      borderRadius: this.borderRadius,\n      boxShadow: this.boxShadow,\n      background: `url(${background}) center left`,\n    };\n  }\n}\n\n@NgModule({\n  declarations: [CheckboardComponent],\n  exports: [CheckboardComponent],\n  imports: [CommonModule],\n})\nexport class CheckboardModule {}\n","import {\n  Directive,\n  ElementRef,\n  HostListener,\n  NgModule,\n  OnDestroy,\n  OnInit,\n  Output,\n  inject,\n} from '@angular/core';\n\nimport { Subject, Subscription } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Directive({\n  selector: '[ngx-color-coordinates]',\n  standalone: false,\n})\nexport class CoordinatesDirective implements OnInit, OnDestroy {\n  private el = inject(ElementRef);\n\n  @Output()\n  coordinatesChange = new Subject<{\n    x: number;\n    y: number;\n    top: number;\n    left: number;\n    containerWidth: number;\n    containerHeight: number;\n    $event: any;\n  }>();\n  private mousechange = new Subject<{\n    x: number;\n    y: number;\n    $event: any;\n    isTouch: boolean;\n  }>();\n\n  private mouseListening = false;\n  private sub?: Subscription;\n  @HostListener('window:mousemove', ['$event', '$event.pageX', '$event.pageY'])\n  @HostListener('window:touchmove', [\n    '$event',\n    '$event.touches[0].clientX',\n    '$event.touches[0].clientY',\n    'true',\n  ])\n  mousemove($event: Event, x: number, y: number, isTouch = false) {\n    if (this.mouseListening) {\n      $event.preventDefault();\n      this.mousechange.next({ $event, x, y, isTouch });\n    }\n  }\n  @HostListener('window:mouseup')\n  @HostListener('window:touchend')\n  mouseup() {\n    this.mouseListening = false;\n  }\n  @HostListener('mousedown', ['$event', '$event.pageX', '$event.pageY'])\n  @HostListener('touchstart', [\n    '$event',\n    '$event.touches[0].clientX',\n    '$event.touches[0].clientY',\n    'true',\n  ])\n  mousedown($event: Event, x: number, y: number, isTouch = false) {\n    $event.preventDefault();\n    this.mouseListening = true;\n    this.mousechange.next({ $event, x, y, isTouch });\n  }\n\n  ngOnInit() {\n    this.sub = this.mousechange\n      .pipe(\n        // limit times it is updated for the same area\n        distinctUntilChanged((p, q) => p.x === q.x && p.y === q.y),\n      )\n      .subscribe(n => this.handleChange(n.x, n.y, n.$event, n.isTouch));\n  }\n\n  ngOnDestroy() {\n    this.sub?.unsubscribe();\n  }\n\n  handleChange(x: number, y: number, $event: Event, isTouch: boolean) {\n    const containerWidth = this.el.nativeElement.clientWidth;\n    const containerHeight = this.el.nativeElement.clientHeight;\n    const left = x - (this.el.nativeElement.getBoundingClientRect().left + window.pageXOffset);\n    let top = y - this.el.nativeElement.getBoundingClientRect().top;\n\n    if (!isTouch) {\n      top = top - window.pageYOffset;\n    }\n    this.coordinatesChange.next({\n      x,\n      y,\n      top,\n      left,\n      containerWidth,\n      containerHeight,\n      $event,\n    });\n  }\n}\n\n@NgModule({\n  declarations: [CoordinatesDirective],\n  exports: [CoordinatesDirective],\n})\nexport class CoordinatesModule {}\n","import { CommonModule } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  NgModule,\n  OnChanges,\n  Output,\n} from '@angular/core';\n\nimport { CheckboardModule } from './checkboard.component';\nimport { CoordinatesModule } from './coordinates.directive';\nimport { HSLA, RGBA } from './helpers/color.interfaces';\n\n@Component({\n  selector: 'color-alpha',\n  template: `\n    <div class=\"alpha\" [style.border-radius]=\"radius\">\n      <div class=\"alpha-checkboard\">\n        <color-checkboard></color-checkboard>\n      </div>\n      <div\n        class=\"alpha-gradient\"\n        [ngStyle]=\"gradient\"\n        [style.box-shadow]=\"shadow\"\n        [style.border-radius]=\"radius\"\n      ></div>\n      <div\n        ngx-color-coordinates\n        (coordinatesChange)=\"handleChange($event)\"\n        class=\"alpha-container color-alpha-{{ direction }}\"\n      >\n        <div class=\"alpha-pointer\" [style.left.%]=\"pointerLeft\" [style.top.%]=\"pointerTop\">\n          <div class=\"alpha-slider\" [ngStyle]=\"pointer\"></div>\n        </div>\n      </div>\n    </div>\n  `,\n  styles: [\n    `\n      .alpha {\n        position: absolute;\n        top: 0;\n        bottom: 0;\n        left: 0;\n        right: 0;\n      }\n      .alpha-checkboard {\n        position: absolute;\n        top: 0;\n        bottom: 0;\n        left: 0;\n        right: 0;\n        overflow: hidden;\n      }\n      .alpha-gradient {\n        position: absolute;\n        top: 0;\n        bottom: 0;\n        left: 0;\n        right: 0;\n      }\n      .alpha-container {\n        position: relative;\n        height: 100%;\n        margin: 0 3px;\n      }\n      .alpha-pointer {\n        position: absolute;\n      }\n      .alpha-slider {\n        width: 4px;\n        border-radius: 1px;\n        height: 8px;\n        box-shadow: 0 0 2px rgba(0, 0, 0, 0.6);\n        background: #fff;\n        margin-top: 1px;\n        transform: translateX(-2px);\n      }\n    `,\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  standalone: false,\n})\nexport class AlphaComponent implements OnChanges {\n  @Input() hsl!: HSLA;\n  @Input() rgb!: RGBA;\n  @Input() pointer!: Record<string, string>;\n  @Input() shadow!: string;\n  @Input() radius!: number | string;\n  @Input() direction: 'horizontal' | 'vertical' = 'horizontal';\n  @Output() onChange = new EventEmitter<any>();\n  gradient!: Record<string, string>;\n  pointerLeft!: number;\n  pointerTop!: number;\n\n  ngOnChanges() {\n    if (this.direction === 'vertical') {\n      this.pointerLeft = 0;\n      this.pointerTop = this.rgb.a * 100;\n      this.gradient = {\n        background: `linear-gradient(to bottom, rgba(${this.rgb.r},${this.rgb.g},${this.rgb.b}, 0) 0%,\n          rgba(${this.rgb.r},${this.rgb.g},${this.rgb.b}, 1) 100%)`,\n      };\n    } else {\n      this.gradient = {\n        background: `linear-gradient(to right, rgba(${this.rgb.r},${this.rgb.g},${this.rgb.b}, 0) 0%,\n          rgba(${this.rgb.r},${this.rgb.g},${this.rgb.b}, 1) 100%)`,\n      };\n      this.pointerLeft = this.rgb.a * 100;\n    }\n  }\n  handleChange({ top, left, containerHeight, containerWidth, $event }): void {\n    let data: any;\n    if (this.direction === 'vertical') {\n      let a: number;\n      if (top < 0) {\n        a = 0;\n      } else if (top > containerHeight) {\n        a = 1;\n      } else {\n        a = Math.round((top * 100) / containerHeight) / 100;\n      }\n\n      if (this.hsl.a !== a) {\n        data = {\n          h: this.hsl.h,\n          s: this.hsl.s,\n          l: this.hsl.l,\n          a,\n          source: 'rgb',\n        };\n      }\n    } else {\n      let a: number;\n      if (left < 0) {\n        a = 0;\n      } else if (left > containerWidth) {\n        a = 1;\n      } else {\n        a = Math.round((left * 100) / containerWidth) / 100;\n      }\n\n      if (this.hsl.a !== a) {\n        data = {\n          h: this.hsl.h,\n          s: this.hsl.s,\n          l: this.hsl.l,\n          a,\n          source: 'rgb',\n        };\n      }\n    }\n\n    if (!data) {\n      return;\n    }\n\n    this.onChange.emit({ data, $event });\n  }\n}\n\n@NgModule({\n  declarations: [AlphaComponent],\n  exports: [AlphaComponent],\n  imports: [CommonModule, CheckboardModule, CoordinatesModule],\n})\nexport class AlphaModule {}\n","import { TinyColor } from '@ctrl/tinycolor';\n\nimport { Color } from './color.interfaces';\n\nexport function simpleCheckForValidColor(data) {\n  const keysToCheck = ['r', 'g', 'b', 'a', 'h', 's', 'l', 'v'];\n  let checked = 0;\n  let passed = 0;\n  keysToCheck.forEach(letter => {\n    if (!data[letter]) {\n      return;\n    }\n    checked += 1;\n    if (!isNaN(data[letter])) {\n      passed += 1;\n    }\n    if (letter === 's' || letter === 'l') {\n      const percentPatt = /^\\d+%$/;\n      if (percentPatt.test(data[letter])) {\n        passed += 1;\n      }\n    }\n  });\n  return checked === passed ? data : false;\n}\n\nexport function toState(data, oldHue?: number, disableAlpha?: boolean): Color {\n  const color = data.hex ? new TinyColor(data.hex) : new TinyColor(data);\n  if (disableAlpha) {\n    color.setAlpha(1);\n  }\n\n  const hsl = color.toHsl();\n  const hsv = color.toHsv();\n  const rgb = color.toRgb();\n  const hex = color.toHex();\n  if (hsl.s === 0) {\n    hsl.h = oldHue || 0;\n    hsv.h = oldHue || 0;\n  }\n  const transparent = hex === '000000' && rgb.a === 0;\n\n  return {\n    hsl,\n    hex: transparent ? 'transparent' : color.toHexString(),\n    rgb,\n    hsv,\n    oldHue: data.h || oldHue || hsl.h,\n    source: data.source,\n  };\n}\n\nexport function isValidHex(hex: string) {\n  return new TinyColor(hex).isValid;\n}\n\nexport function getContrastingColor(data) {\n  if (!data) {\n    return '#fff';\n  }\n  const col = toState(data);\n  if (col.hex === 'transparent') {\n    return 'rgba(0,0,0,0.4)';\n  }\n  const yiq = (col.rgb.r * 299 + col.rgb.g * 587 + col.rgb.b * 114) / 1000;\n  return yiq >= 128 ? '#000' : '#fff';\n}\n","import { CommonModule } from '@angular/common';\nimport {\n  Component,\n  EventEmitter,\n  forwardRef,\n  Input,\n  isDevMode,\n  NgModule,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Output,\n} from '@angular/core';\n\nimport { Subscription } from 'rxjs';\nimport { debounceTime, tap } from 'rxjs/operators';\n\nimport { simpleCheckForValidColor, toState } from './helpers/color';\nimport { Color, HSLA, HSVA, RGBA } from './helpers/color.interfaces';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport interface ColorEvent {\n  $event: Event;\n  color: Color;\n}\n\nexport enum ColorMode {\n  HEX = 'hex',\n  HSL = 'hsl',\n  HSV = 'hsv',\n  RGB = 'rgb',\n}\n\n@Component({\n  // create seletor base for test override property\n  selector: 'color-wrap',\n  template: ``,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => ColorWrap),\n      multi: true,\n    },\n  ],\n  standalone: false,\n})\nexport class ColorWrap implements OnInit, OnChanges, OnDestroy, ControlValueAccessor {\n  @Input() className?: string;\n\n  /**\n   * Descriptors the return color format if the component is used with two-way binding\n   */\n  @Input() mode: ColorMode = ColorMode.HEX;\n\n  @Input() color: HSLA | HSVA | RGBA | string = {\n    h: 250,\n    s: 0.5,\n    l: 0.2,\n    a: 1,\n  };\n  @Output() colorChange = new EventEmitter<HSLA | HSVA | RGBA | string>();\n  @Output() onChange = new EventEmitter<ColorEvent>();\n  @Output() onChangeComplete = new EventEmitter<ColorEvent>();\n  @Output() onSwatchHover = new EventEmitter<ColorEvent>();\n  oldHue!: number;\n  hsl!: HSLA;\n  hsv!: HSVA;\n  rgb!: RGBA;\n  hex!: string;\n  source!: string;\n  currentColor!: string;\n  changes?: Subscription;\n  disableAlpha?: boolean;\n\n  private _onChangeCompleteSubscription = new Subscription();\n  private _onSwatchHoverSubscription = new Subscription();\n\n  ngOnInit() {\n    this.changes = this.onChange\n      .pipe(\n        debounceTime(100),\n        tap(event => {\n          this.onChangeComplete.emit(event);\n          switch (this.mode) {\n            case ColorMode.HEX:\n              this.colorChange.emit(event.color.hex);\n              break;\n            case ColorMode.HSL:\n              this.colorChange.emit(event.color.hsl);\n              break;\n            case ColorMode.HSV:\n              this.colorChange.emit(event.color.hsv);\n              break;\n            case ColorMode.RGB:\n              this.colorChange.emit(event.color.rgb);\n              break;\n            default:\n              const msg = `The mode '${this.mode}' is not supported`;\n              if (isDevMode()) {\n                throw new Error(msg);\n              } else {\n                console.warn(msg);\n              }\n              break;\n          }\n        }),\n      )\n      .subscribe();\n    this.setState(toState(this.color, 0));\n    this.currentColor = this.hex;\n  }\n  ngOnChanges() {\n    this.setState(toState(this.color, this.oldHue));\n  }\n  ngOnDestroy() {\n    this.changes?.unsubscribe();\n    this._onChangeCompleteSubscription?.unsubscribe();\n    this._onSwatchHoverSubscription?.unsubscribe();\n  }\n  setState(data) {\n    this.oldHue = data.oldHue;\n    this.hsl = data.hsl;\n    this.hsv = data.hsv;\n    this.rgb = data.rgb;\n    this.hex = data.hex;\n    this.source = data.source;\n    this.afterValidChange();\n  }\n  handleChange(data, $event) {\n    const isValidColor = simpleCheckForValidColor(data);\n    if (isValidColor) {\n      const color = toState(data, data.h || this.oldHue, this.disableAlpha);\n      this.setState(color);\n      this.onChange.emit({ color, $event });\n      this.afterValidChange();\n    }\n  }\n  /** hook for components after a complete change */\n  afterValidChange() {}\n\n  handleSwatchHover(data, $event) {\n    const isValidColor = simpleCheckForValidColor(data);\n    if (isValidColor) {\n      const color = toState(data, data.h || this.oldHue);\n      this.setState(color);\n      this.onSwatchHover.emit({ color, $event });\n    }\n  }\n\n  registerOnChange(fn: (hex: string) => void): void {\n    this._onChangeCompleteSubscription.add(\n      this.onChangeComplete.pipe(tap(event => fn(event.color.hex))).subscribe(),\n    );\n  }\n\n  registerOnTouched(fn: () => void): void {\n    this._onSwatchHoverSubscription.add(this.onSwatchHover.pipe(tap(() => fn())).subscribe());\n  }\n\n  setDisabledState(isDisabled: boolean): void {}\n\n  writeValue(hex: string): void {\n    this.color = hex;\n  }\n}\n\n@NgModule({\n  declarations: [ColorWrap],\n  exports: [ColorWrap],\n  imports: [CommonModule],\n})\nexport class ColorWrapModule {}\n","import { CommonModule } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  NgModule,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Output,\n} from '@angular/core';\n\nimport { fromEvent, Subscription } from 'rxjs';\n\nlet nextUniqueId = 0;\n\n@Component({\n  selector: 'color-editable-input',\n  template: `\n    <div class=\"wrap\" [ngStyle]=\"wrapStyle\">\n      <input\n        [ngStyle]=\"inputStyle\"\n        spellCheck=\"false\"\n        [value]=\"currentValue\"\n        [placeholder]=\"placeholder\"\n        (keydown)=\"handleKeydown($event)\"\n        (keyup)=\"handleKeyup($event)\"\n        (focus)=\"handleFocus($event)\"\n        (focusout)=\"handleFocusOut($event)\"\n        [attr.aria-labelledby]=\"uniqueId\"\n      />\n      @if (label) {\n        <span [id]=\"uniqueId\" [ngStyle]=\"labelStyle\" (mousedown)=\"handleMousedown($event)\">\n          {{ label }}\n        </span>\n      }\n    </div>\n  `,\n  styles: [\n    `\n      :host {\n        display: flex;\n      }\n      .wrap {\n        position: relative;\n      }\n    `,\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class EditableInputComponent implements OnInit, OnChanges, OnDestroy {\n  @Input() style!: {\n    wrap?: Record<string, any>;\n    input?: Record<string, any>;\n    label?: Record<string, any>;\n  };\n  @Input() label!: string;\n  @Input() value!: string | number;\n  @Input() arrowOffset!: number;\n  @Input() dragLabel!: boolean;\n  @Input() dragMax!: number;\n  @Input() placeholder = '';\n  @Output() onChange = new EventEmitter();\n  currentValue!: string | number;\n  blurValue!: string;\n  wrapStyle!: Record<string, string>;\n  inputStyle!: Record<string, string>;\n  labelStyle!: Record<string, string>;\n  focus = false;\n  mousemove!: Subscription;\n  mouseup!: Subscription;\n  uniqueId: string = `editableInput-${++nextUniqueId}`;\n\n  ngOnInit() {\n    this.wrapStyle = this.style && this.style.wrap ? this.style.wrap : {};\n    this.inputStyle = this.style && this.style.input ? this.style.input : {};\n    this.labelStyle = this.style && this.style.label ? this.style.label : {};\n    if (this.dragLabel) {\n      this.labelStyle.cursor = 'ew-resize';\n    }\n  }\n  handleFocus($event) {\n    this.focus = true;\n  }\n  handleFocusOut($event) {\n    this.focus = false;\n    this.currentValue = this.blurValue;\n  }\n  handleKeydown($event) {\n    // In case `e.target.value` is a percentage remove the `%` character\n    // and update accordingly with a percentage\n    // https://github.com/casesandberg/react-color/issues/383\n    const stringValue = String($event.target.value);\n    const isPercentage = stringValue.indexOf('%') > -1;\n    const num = Number(stringValue.replace(/%/g, ''));\n    if (isNaN(num)) {\n      return;\n    }\n    const amount = this.arrowOffset || 1;\n\n    // Up\n    if ($event.keyCode === 38) {\n      if (this.label) {\n        this.onChange.emit({\n          data: { [this.label]: num + amount },\n          $event,\n        });\n      } else {\n        this.onChange.emit({ data: num + amount, $event });\n      }\n\n      if (isPercentage) {\n        this.currentValue = `${num + amount}%`;\n      } else {\n        this.currentValue = num + amount;\n      }\n    }\n\n    // Down\n    if ($event.keyCode === 40) {\n      if (this.label) {\n        this.onChange.emit({\n          data: { [this.label]: num - amount },\n          $event,\n        });\n      } else {\n        this.onChange.emit({ data: num - amount, $event });\n      }\n\n      if (isPercentage) {\n        this.currentValue = `${num - amount}%`;\n      } else {\n        this.currentValue = num - amount;\n      }\n    }\n  }\n  handleKeyup($event) {\n    if ($event.keyCode === 40 || $event.keyCode === 38) {\n      return;\n    }\n    if (`${this.currentValue}` === $event.target.value) {\n      return;\n    }\n\n    if (this.label) {\n      this.onChange.emit({\n        data: { [this.label]: $event.target.value },\n        $event,\n      });\n    } else {\n      this.onChange.emit({ data: $event.target.value, $event });\n    }\n  }\n  ngOnChanges() {\n    if (!this.focus) {\n      this.currentValue = String(this.value).toUpperCase();\n      this.blurValue = String(this.value).toUpperCase();\n    } else {\n      this.blurValue = String(this.value).toUpperCase();\n    }\n  }\n  ngOnDestroy() {\n    this.unsubscribe();\n  }\n  subscribe() {\n    this.mousemove = fromEvent(document, 'mousemove').subscribe((ev: Event) => this.handleDrag(ev));\n    this.mouseup = fromEvent(document, 'mouseup').subscribe(() => this.unsubscribe());\n  }\n  unsubscribe() {\n    this.mousemove?.unsubscribe();\n    this.mouseup?.unsubscribe();\n  }\n  handleMousedown($event: Event) {\n    if (this.dragLabel) {\n      $event.preventDefault();\n      this.handleDrag($event);\n      this.subscribe();\n    }\n  }\n  handleDrag($event) {\n    if (this.dragLabel) {\n      const newValue = Math.round(this.value + $event.movementX);\n      if (newValue >= 0 && newValue <= this.dragMax) {\n        this.onChange.emit({ data: { [this.label]: newValue }, $event });\n      }\n    }\n  }\n}\n\n@NgModule({\n  declarations: [EditableInputComponent],\n  exports: [EditableInputComponent],\n  imports: [CommonModule],\n})\nexport class EditableInputModule {}\n","import { CommonModule } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  NgModule,\n  OnChanges,\n  Output,\n} from '@angular/core';\n\nimport { CoordinatesModule } from './coordinates.directive';\nimport { HSLA, HSLAsource } from './helpers/color.interfaces';\n\n@Component({\n  selector: 'color-hue',\n  template: `\n    <div\n      class=\"color-hue color-hue-{{ direction }}\"\n      [style.border-radius.px]=\"radius\"\n      [style.box-shadow]=\"shadow\"\n    >\n      <div\n        ngx-color-coordinates\n        (coordinatesChange)=\"handleChange($event)\"\n        class=\"color-hue-container\"\n      >\n        @if (!hidePointer) {\n          <div class=\"color-hue-pointer\" [style.left]=\"left\" [style.top]=\"top\">\n            <div class=\"color-hue-slider\" [ngStyle]=\"pointer\"></div>\n          </div>\n        }\n      </div>\n    </div>\n  `,\n  styles: [\n    `\n      .color-hue {\n        position: absolute;\n        top: 0;\n        bottom: 0;\n        left: 0;\n        right: 0;\n      }\n      .color-hue-container {\n        margin: 0 2px;\n        position: relative;\n        height: 100%;\n      }\n      .color-hue-pointer {\n        position: absolute;\n      }\n      .color-hue-slider {\n        margin-top: 1px;\n        width: 4px;\n        border-radius: 1px;\n        height: 8px;\n        box-shadow: 0 0 2px rgba(0, 0, 0, 0.6);\n        background: #fff;\n        transform: translateX(-2px);\n      }\n      .color-hue-horizontal {\n        background: linear-gradient(\n          to right,\n          #f00 0%,\n          #ff0 17%,\n          #0f0 33%,\n          #0ff 50%,\n          #00f 67%,\n          #f0f 83%,\n          #f00 100%\n        );\n      }\n      .color-hue-vertical {\n        background: linear-gradient(\n          to top,\n          #f00 0%,\n          #ff0 17%,\n          #0f0 33%,\n          #0ff 50%,\n          #00f 67%,\n          #f0f 83%,\n          #f00 100%\n        );\n      }\n    `,\n  ],\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class HueComponent implements OnChanges {\n  @Input() hsl!: HSLA;\n  @Input() pointer!: Record<string, string>;\n  @Input() radius!: number;\n  @Input() shadow!: string;\n  @Input() hidePointer = false;\n  @Input() direction: 'horizontal' | 'vertical' = 'horizontal';\n  @Output() onChange = new EventEmitter<{ data: HSLAsource; $event: Event }>();\n  left = '0px';\n  top = '';\n\n  ngOnChanges(): void {\n    if (this.direction === 'horizontal') {\n      this.left = `${(this.hsl.h * 100) / 360}%`;\n    } else {\n      this.top = `${-((this.hsl.h * 100) / 360) + 100}%`;\n    }\n  }\n  handleChange({ top, left, containerHeight, containerWidth, $event }): void {\n    let data: HSLAsource | undefined;\n    if (this.direction === 'vertical') {\n      let h: number;\n      if (top < 0) {\n        h = 359;\n      } else if (top > containerHeight) {\n        h = 0;\n      } else {\n        const percent = -((top * 100) / containerHeight) + 100;\n        h = (360 * percent) / 100;\n      }\n\n      if (this.hsl.h !== h) {\n        data = {\n          h,\n          s: this.hsl.s,\n          l: this.hsl.l,\n          a: this.hsl.a,\n          source: 'rgb',\n        };\n      }\n    } else {\n      let h: number;\n      if (left < 0) {\n        h = 0;\n      } else if (left > containerWidth) {\n        h = 359;\n      } else {\n        const percent = (left * 100) / containerWidth;\n        h = (360 * percent) / 100;\n      }\n\n      if (this.hsl.h !== h) {\n        data = {\n          h,\n          s: this.hsl.s,\n          l: this.hsl.l,\n          a: this.hsl.a,\n          source: 'rgb',\n        };\n      }\n    }\n\n    if (!data) {\n      return;\n    }\n\n    this.onChange.emit({ data, $event });\n  }\n}\n\n@NgModule({\n  declarations: [HueComponent],\n  exports: [HueComponent],\n  imports: [CommonModule, CoordinatesModule],\n})\nexport class HueModule {}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, NgModule } from '@angular/core';\n\nexport type zDepth = 0 | 1 | 2 | 3 | 4 | 5;\n\n@Component({\n  selector: 'color-raised',\n  template: `\n    <div class=\"raised-wrap\">\n      <div class=\"raised-bg zDepth-{{ zDepth }}\" [style.background]=\"background\"></div>\n      <div class=\"raised-content\">\n        <ng-content></ng-content>\n      </div>\n    </div>\n  `,\n  styles: [\n    `\n      .raised-wrap {\n        position: relative;\n        display: inline-block;\n      }\n      .raised-bg {\n        position: absolute;\n        top: 0px;\n        right: 0px;\n        bottom: 0px;\n        left: 0px;\n      }\n      .raised-content {\n        position: relative;\n      }\n      .zDepth-0 {\n        box-shadow: none;\n      }\n      .zDepth-1 {\n        box-shadow:\n          0 2px 10px rgba(0, 0, 0, 0.12),\n          0 2px 5px rgba(0, 0, 0, 0.16);\n      }\n      .zDepth-2 {\n        box-shadow:\n          0 6px 20px rgba(0, 0, 0, 0.19),\n          0 8px 17px rgba(0, 0, 0, 0.2);\n      }\n      .zDepth-3 {\n        box-shadow:\n          0 17px 50px rgba(0, 0, 0, 0.19),\n          0 12px 15px rgba(0, 0, 0, 0.24);\n      }\n      .zDepth-4 {\n        box-shadow:\n          0 25px 55px rgba(0, 0, 0, 0.21),\n          0 16px 28px rgba(0, 0, 0, 0.22);\n      }\n      .zDepth-5 {\n        box-shadow:\n          0 40px 77px rgba(0, 0, 0, 0.22),\n          0 27px 24px rgba(0, 0, 0, 0.2);\n      }\n    `,\n  ],\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class RaisedComponent {\n  @Input() zDepth: zDepth = 1;\n  @Input() radius = 1;\n  @Input() background = '#fff';\n}\n\n@NgModule({\n  declarations: [RaisedComponent],\n  exports: [RaisedComponent],\n  imports: [CommonModule],\n})\nexport class RaisedModule {}\n","import { CommonModule } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  NgModule,\n  OnChanges,\n  Output,\n} from '@angular/core';\n\nimport { CoordinatesModule } from './coordinates.directive';\nimport { HSLA, HSVA, HSVAsource } from './helpers/color.interfaces';\n\n@Component({\n  selector: 'color-saturation',\n  template: `\n    <div\n      class=\"color-saturation\"\n      ngx-color-coordinates\n      (coordinatesChange)=\"handleChange($event)\"\n      [style.background]=\"background\"\n    >\n      <div class=\"saturation-white\">\n        <div class=\"saturation-black\"></div>\n        <div\n          class=\"saturation-pointer\"\n          [ngStyle]=\"pointer\"\n          [style.top]=\"pointerTop\"\n          [style.left]=\"pointerLeft\"\n        >\n          <div class=\"saturation-circle\" [ngStyle]=\"circle\"></div>\n        </div>\n      </div>\n    </div>\n  `,\n  styles: [\n    `\n      .saturation-white {\n        background: linear-gradient(to right, #fff, rgba(255, 255, 255, 0));\n        position: absolute;\n        top: 0;\n        bottom: 0;\n        left: 0;\n        right: 0;\n      }\n      .saturation-black {\n        background: linear-gradient(to top, #000, rgba(0, 0, 0, 0));\n        position: absolute;\n        top: 0;\n        bottom: 0;\n        left: 0;\n        right: 0;\n      }\n      .color-saturation {\n        position: absolute;\n        top: 0;\n        bottom: 0;\n        left: 0;\n        right: 0;\n      }\n      .saturation-pointer {\n        position: absolute;\n        cursor: default;\n      }\n      .saturation-circle {\n        width: 4px;\n        height: 4px;\n        box-shadow:\n          0 0 0 1.5px #fff,\n          inset 0 0 1px 1px rgba(0, 0, 0, 0.3),\n          0 0 1px 2px rgba(0, 0, 0, 0.4);\n        border-radius: 50%;\n        cursor: hand;\n        transform: translate(-2px, -4px);\n      }\n    `,\n  ],\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class SaturationComponent implements OnChanges {\n  @Input() hsl!: HSLA;\n  @Input() hsv!: HSVA;\n  @Input() radius!: number;\n  @Input() pointer!: Record<string, string>;\n  @Input() circle!: Record<string, string>;\n  @Output() onChange = new EventEmitter<{ data: HSVAsource; $event: Event }>();\n  background!: string;\n  pointerTop!: string;\n  pointerLeft!: string;\n\n  ngOnChanges() {\n    this.background = `hsl(${this.hsl.h}, 100%, 50%)`;\n    this.pointerTop = -(this.hsv.v * 100) + 1 + 100 + '%';\n    this.pointerLeft = this.hsv.s * 100 + '%';\n  }\n  handleChange({ top, left, containerHeight, containerWidth, $event }) {\n    if (left < 0) {\n      left = 0;\n    } else if (left > containerWidth) {\n      left = containerWidth;\n    } else if (top < 0) {\n      top = 0;\n    } else if (top > containerHeight) {\n      top = containerHeight;\n    }\n\n    const saturation = left / containerWidth;\n    let bright = -(top / containerHeight) + 1;\n    bright = bright > 0 ? bright : 0;\n    bright = bright > 1 ? 1 : bright;\n\n    const data: HSVAsource = {\n      h: this.hsl.h,\n      s: saturation,\n      v: bright,\n      a: this.hsl.a,\n      source: 'hsva',\n    };\n    this.onChange.emit({ data, $event });\n  }\n}\n\n@NgModule({\n  declarations: [SaturationComponent],\n  exports: [SaturationComponent],\n  imports: [CommonModule, CoordinatesModule],\n})\nexport class SaturationModule {}\n","import { CommonModule } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  NgModule,\n  OnInit,\n  Output,\n} from '@angular/core';\n\nimport { CheckboardModule } from './checkboard.component';\n\n@Component({\n  selector: 'color-swatch',\n  template: `\n    <div\n      class=\"swatch\"\n      [ngStyle]=\"currentStyles()\"\n      [attr.title]=\"color\"\n      (click)=\"handleClick(color, $event)\"\n      (keydown.enter)=\"handleClick(color, $event)\"\n      (focus)=\"handleFocus()\"\n      (blur)=\"handleFocusOut()\"\n      (mouseover)=\"handleHover(color, $event)\"\n      tabindex=\"0\"\n    >\n      <ng-content></ng-content>\n      @if (color === 'transparent') {\n        <color-checkboard boxShadow=\"inset 0 0 0 1px rgba(0,0,0,0.1)\"></color-checkboard>\n      }\n    </div>\n  `,\n  styles: [\n    `\n      .swatch {\n        outline: none;\n        height: 100%;\n        width: 100%;\n        cursor: pointer;\n        position: relative;\n      }\n    `,\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class SwatchComponent implements OnInit {\n  @Input() color!: string;\n  @Input() style: Record<string, string> = {};\n  @Input() focusStyle: Record<string, string> = {};\n  @Input() focus!: boolean;\n  @Output() onClick = new EventEmitter<any>();\n  @Output() onHover = new EventEmitter<any>();\n  divStyles: Record<string, string> = {};\n  focusStyles: Record<string, string> = {};\n  inFocus = false;\n\n  ngOnInit() {\n    this.divStyles = {\n      background: this.color as string,\n      ...this.style,\n    };\n  }\n  currentStyles() {\n    this.focusStyles = {\n      ...this.divStyles,\n      ...this.focusStyle,\n    };\n    return this.focus || this.inFocus ? this.focusStyles : this.divStyles;\n  }\n  handleFocusOut() {\n    this.inFocus = false;\n  }\n  handleFocus() {\n    this.inFocus = true;\n  }\n  handleHover(hex: string, $event) {\n    this.onHover.emit({ hex, $event });\n  }\n  handleClick(hex: string, $event) {\n    this.onClick.emit({ hex, $event });\n  }\n}\n\n@NgModule({\n  declarations: [SwatchComponent],\n  exports: [SwatchComponent],\n  imports: [CommonModule, CheckboardModule],\n})\nexport class SwatchModule {}\n","import { CommonModule } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  NgModule,\n  OnChanges,\n  Output,\n} from '@angular/core';\nimport { CoordinatesModule } from './coordinates.directive';\nimport { HSLA, RGBA } from './helpers/color.interfaces';\nimport { TinyColor } from '@ctrl/tinycolor';\n\n@Component({\n  selector: 'color-shade',\n  template: `\n    <div class=\"shade\" [style.border-radius]=\"radius\">\n      <div\n        class=\"shade-gradient\"\n        [ngStyle]=\"gradient\"\n        [style.box-shadow]=\"shadow\"\n        [style.border-radius]=\"radius\"\n      ></div>\n      <div ngx-color-coordinates (coordinatesChange)=\"handleChange($event)\" class=\"shade-container\">\n        <div class=\"shade-pointer\" [style.left.%]=\"pointerLeft\" [style.top.%]=\"pointerTop\">\n          <div class=\"shade-slider\" [ngStyle]=\"pointer\"></div>\n        </div>\n      </div>\n    </div>\n  `,\n  styles: [\n    `\n      .shade {\n        position: absolute;\n        top: 0;\n        bottom: 0;\n        left: 0;\n        right: 0;\n      }\n      .shade-gradient {\n        position: absolute;\n        top: 0;\n        bottom: 0;\n        left: 0;\n        right: 0;\n      }\n      .shade-container {\n        position: relative;\n        height: 100%;\n        margin: 0 3px;\n      }\n      .shade-pointer {\n        position: absolute;\n      }\n      .shade-slider {\n        width: 4px;\n        border-radius: 1px;\n        height: 8px;\n        box-shadow: 0 0 2px rgba(0, 0, 0, 0.6);\n        background: #fff;\n        margin-top: 1px;\n        transform: translateX(-2px);\n      }\n    `,\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  standalone: false,\n})\nexport class ShadeComponent implements OnChanges {\n  @Input() hsl!: HSLA;\n  @Input() rgb!: RGBA;\n  @Input() pointer!: Record<string, string>;\n  @Input() shadow!: string;\n  @Input() radius!: string;\n  @Output() onChange = new EventEmitter<any>();\n  gradient!: Record<string, string>;\n  pointerLeft!: number;\n  pointerTop?: number;\n\n  ngOnChanges() {\n    this.gradient = {\n      background: `linear-gradient(to right,\n          hsl(${this.hsl.h}, 90%, 55%),\n          #000)`,\n    };\n    const hsv = new TinyColor(this.hsl).toHsv();\n    this.pointerLeft = 100 - hsv.v * 100;\n  }\n\n  handleChange({ left, containerWidth, $event }): void {\n    let data;\n    let v: number;\n    if (left < 0) {\n      v = 0;\n    } else if (left > containerWidth) {\n      v = 1;\n    } else {\n      v = Math.round((left * 100) / containerWidth) / 100;\n    }\n\n    const hsv = new TinyColor(this.hsl).toHsv();\n    if (hsv.v !== v) {\n      data = {\n        h: this.hsl.h,\n        s: 100,\n        v: 1 - v,\n        l: this.hsl.l,\n        a: this.hsl.a,\n        source: 'rgb',\n      };\n    }\n\n    if (!data) {\n      return;\n    }\n\n    this.onChange.emit({ data, $event });\n  }\n}\n\n@NgModule({\n  declarations: [ShadeComponent],\n  exports: [ShadeComponent],\n  imports: [CommonModule, CoordinatesModule],\n})\nexport class ShadeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2.CheckboardComponent","i3.CoordinatesDirective","i2.CoordinatesDirective"],"mappings":"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"}