{"version":3,"file":"skyux-colorpicker.mjs","sources":["../../../../../libs/components/colorpicker/src/lib/modules/shared/sky-colorpicker-resources.module.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-input.service.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.service.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-input.directive.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-slider.directive.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-text.directive.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-classes.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/types/colorpicker-message-type.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.component.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.component.html","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.module.ts","../../../../../libs/components/colorpicker/src/skyux-colorpicker.ts"],"sourcesContent":["/* istanbul ignore file */\n\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-colorpicker' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n  SkyI18nModule,\n  SkyLibResources,\n  SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n  'EN-US': {\n    skyux_colorpicker_alpha: { message: 'A:' },\n    skyux_colorpicker_apply: { message: 'Apply' },\n    skyux_colorpicker_aria_alpha: {\n      message: 'Alpha channel value between 0 and 1',\n    },\n    skyux_colorpicker_aria_blue: { message: 'Blue value between 0 and 255' },\n    skyux_colorpicker_aria_green: { message: 'Green value between 0 and 255' },\n    skyux_colorpicker_aria_hex: { message: 'Hexadecimal color code' },\n    skyux_colorpicker_aria_red: { message: 'Red value between 0 and 255' },\n    skyux_colorpicker_aria_rgba: { message: 'RGBA values' },\n    skyux_colorpicker_blue: { message: 'B:' },\n    skyux_colorpicker_close: { message: 'Cancel' },\n    skyux_colorpicker_dropdown_button: { message: 'Select color value' },\n    skyux_colorpicker_green: { message: 'G:' },\n    skyux_colorpicker_hex: { message: 'Hex:' },\n    skyux_colorpicker_input_default_label: { message: 'Color value' },\n    skyux_colorpicker_preset_color: { message: 'Preset Color:' },\n    skyux_colorpicker_red: { message: 'R:' },\n    skyux_colorpicker_reset: { message: 'Reset color value to white' },\n  },\n  'FR-CA': {\n    skyux_colorpicker_alpha: { message: 'A :' },\n    skyux_colorpicker_apply: { message: 'Appliquer' },\n    skyux_colorpicker_aria_alpha: {\n      message: 'Valeur du canal alpha entre 0 et 1',\n    },\n    skyux_colorpicker_aria_blue: { message: 'Valeur bleue entre 0 et 255' },\n    skyux_colorpicker_aria_green: { message: 'Valeur verte entre 0 et 255' },\n    skyux_colorpicker_aria_hex: { message: 'Code de couleur hexadécimal' },\n    skyux_colorpicker_aria_red: { message: 'Valeur rouge entre 0 et 255' },\n    skyux_colorpicker_aria_rgba: { message: 'Valeurs RGBA' },\n    skyux_colorpicker_blue: { message: 'B :' },\n    skyux_colorpicker_close: { message: 'Annuler' },\n    skyux_colorpicker_dropdown_button: {\n      message: 'Sélectionner la valeur de la couleur',\n    },\n    skyux_colorpicker_green: { message: 'G :' },\n    skyux_colorpicker_hex: { message: 'Hexadécimale :' },\n    skyux_colorpicker_input_default_label: { message: 'Valeur de la couleur' },\n    skyux_colorpicker_preset_color: { message: 'Couleur prédéfinie :' },\n    skyux_colorpicker_red: { message: 'R :' },\n    skyux_colorpicker_reset: {\n      message: 'Réinitialiser la valeur de la couleur à blanc',\n    },\n  },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n  exports: [SkyI18nModule],\n})\nexport class SkyColorpickerResourcesModule {}\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { ReplaySubject } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyColorpickerInputService implements OnDestroy {\n  public inputId = new ReplaySubject<string>(1);\n  public labelText = new ReplaySubject<string | undefined>(1);\n  public ariaError = new ReplaySubject<{ hasError: boolean; errorId: string }>(\n    1,\n  );\n\n  public ngOnDestroy(): void {\n    this.inputId.complete();\n    this.labelText.complete();\n    this.ariaError.complete();\n  }\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkyColorpickerCmyk } from './types/colorpicker-cmyk';\nimport { SkyColorpickerHsla } from './types/colorpicker-hsla';\nimport { SkyColorpickerHsva } from './types/colorpicker-hsva';\nimport { SkyColorpickerOutput } from './types/colorpicker-output';\nimport { SkyColorpickerRgba } from './types/colorpicker-rgba';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyColorpickerService {\n  public rgbaToHsva(rgba: SkyColorpickerRgba): SkyColorpickerHsva {\n    const red = Math.min(rgba.red, 1);\n    const green = Math.min(rgba.green, 1);\n    const blue = Math.min(rgba.blue, 1);\n    const alpha = Math.min(rgba.alpha, 1);\n    const max = Math.max(red, green, blue);\n    const min = Math.min(red, green, blue);\n    const value = max;\n    const d = max - min;\n    const saturation = max === 0 ? 0 : d / max;\n    let hue = 0;\n    let maxValue: Record<number, number>;\n    if (max !== min) {\n      maxValue = {\n        [red]: (green - blue) / d + (green < blue ? 6 : 0),\n        [green]: (blue - red) / d + 2,\n        [blue]: (red - green) / d + 4,\n      };\n      hue = maxValue[max];\n      hue /= 6;\n    }\n    const hsva: SkyColorpickerHsva = {\n      hue: hue,\n      saturation: saturation,\n      value: value,\n      alpha: alpha,\n    };\n    return hsva;\n  }\n\n  public hsvaToRgba(hsva: SkyColorpickerHsva): SkyColorpickerRgba {\n    let red = 0;\n    let green = 0;\n    let blue = 0;\n    const hue = hsva.hue;\n    const saturation = hsva.saturation;\n    const value = hsva.value;\n    const alpha = hsva.alpha || hsva.alpha === 0 ? hsva.alpha : 1;\n    const i = Math.floor(hue * 6);\n    const f = hue * 6 - i;\n    const p = value * (1 - saturation);\n    const q = value * (1 - f * saturation);\n    const t = value * (1 - (1 - f) * saturation);\n    const color: Record<number, () => void> = {\n      0: (): void => {\n        red = value;\n        green = t;\n        blue = p;\n      },\n      1: (): void => {\n        red = q;\n        green = value;\n        blue = p;\n      },\n      2: (): void => {\n        red = p;\n        green = value;\n        blue = t;\n      },\n      3: (): void => {\n        red = p;\n        green = q;\n        blue = value;\n      },\n      4: (): void => {\n        red = t;\n        green = p;\n        blue = value;\n      },\n      5: (): void => {\n        red = value;\n        green = p;\n        blue = q;\n      },\n    };\n    color[i % 6]();\n\n    const rgba: SkyColorpickerRgba = {\n      red: red,\n      green: green,\n      blue: blue,\n      alpha: alpha,\n    };\n    return rgba;\n  }\n\n  public stringToHsva(\n    colorString: string,\n    hex8: boolean,\n  ): SkyColorpickerHsva | undefined {\n    const stringParsers: {\n      re: RegExp;\n      parse: (\n        execResult: RegExpExecArray,\n      ) => SkyColorpickerRgba | SkyColorpickerHsla;\n    }[] = [\n      {\n        re: /(rgb)a?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*%?,\\s*(\\d{1,3})\\s*%?(?:,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)/,\n        parse: (execResult): SkyColorpickerRgba => {\n          const rgba: SkyColorpickerRgba = {\n            red: parseInt(execResult[2], 0) / 255,\n            green: parseInt(execResult[3], 0) / 255,\n            blue: parseInt(execResult[4], 0) / 255,\n            alpha: parseFloat(execResult[5]),\n          };\n          return rgba;\n        },\n      },\n      {\n        re: /(hsl)a?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})%\\s*,\\s*(\\d{1,3})%\\s*(?:,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)/,\n        parse: (execResult): SkyColorpickerHsla => {\n          const hsla: SkyColorpickerHsla = {\n            hue: parseInt(execResult[2], 0) / 360,\n            saturation: parseInt(execResult[3], 0) / 100,\n            lightness: parseInt(execResult[4], 0) / 100,\n            alpha: parseFloat(execResult[5]),\n          };\n          return hsla;\n        },\n      },\n    ];\n    if (hex8) {\n      stringParsers.push({\n        re: /#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/,\n        parse: (execResult) => {\n          const rgba: SkyColorpickerRgba = {\n            red: parseInt(execResult[1], 16) / 255,\n            green: parseInt(execResult[2], 16) / 255,\n            blue: parseInt(execResult[3], 16) / 255,\n            alpha: parseInt(execResult[4], 16) / 255,\n          };\n          return rgba;\n        },\n      });\n    } else {\n      stringParsers.push(\n        {\n          re: /#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/,\n          parse: (execResult) => {\n            const rgba: SkyColorpickerRgba = {\n              red: parseInt(execResult[1], 16) / 255,\n              green: parseInt(execResult[2], 16) / 255,\n              blue: parseInt(execResult[3], 16) / 255,\n              alpha: 1,\n            };\n            return rgba;\n          },\n        },\n        {\n          re: /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])$/,\n          parse: (execResult) => {\n            const rgba: SkyColorpickerRgba = {\n              red: parseInt(execResult[1] + execResult[1], 16) / 255,\n              green: parseInt(execResult[2] + execResult[2], 16) / 255,\n              blue: parseInt(execResult[3] + execResult[3], 16) / 255,\n              alpha: 1,\n            };\n            return rgba;\n          },\n        },\n      );\n    }\n\n    for (const key in stringParsers) {\n      /* istanbul ignore else */ /* for in must be filtered by an if */\n      if (Object.prototype.hasOwnProperty.call(stringParsers, key)) {\n        const parser = stringParsers[key];\n        const match = parser.re.exec(colorString);\n        const color = match && parser.parse(match);\n        if (color) {\n          let hsva: SkyColorpickerHsva | undefined;\n\n          if ('red' in color) {\n            hsva = this.rgbaToHsva(color);\n          } else if ('hue' in color) {\n            hsva = this.#hsla2hsva(color);\n          }\n\n          if (hsva) {\n            return hsva;\n          }\n        }\n      }\n    }\n\n    return undefined;\n  }\n\n  public skyColorpickerOut(color: SkyColorpickerHsva): SkyColorpickerOutput {\n    const cmykText = this.#outputFormat(color, 'cmyk', true);\n    const hslaText = this.#outputFormat(color, 'hsla', true);\n    const rgbaText = this.#outputFormat(color, 'rgba', true);\n    const rgba = this.hsvaToRgba(color);\n    const hsla = this.#hsva2hsla(color);\n    const cmyk = this.#rgbaToCmyk(rgba);\n    const hex = this.#outputFormat(color, 'hex', false);\n\n    const formatColor: SkyColorpickerOutput = {\n      cmykText,\n      hslaText,\n      rgbaText,\n      hsva: this.#denormalizeHSVA(color),\n      rgba: this.denormalizeRGBA(rgba),\n      hsla: this.#denormalizeHSLA(hsla),\n      cmyk: this.#denormalizeCMYK(cmyk),\n      hex,\n    };\n\n    return formatColor;\n  }\n\n  public hexText(rgba: SkyColorpickerRgba, allowHex8: boolean): string {\n    let hexText =\n      '#' +\n      ((1 << 24) | (rgba.red << 16) | (rgba.green << 8) | rgba.blue)\n        .toString(16)\n        .substring(1);\n    if (\n      hexText[1] === hexText[2] &&\n      hexText[3] === hexText[4] &&\n      hexText[5] === hexText[6] &&\n      rgba.alpha === 1 &&\n      !allowHex8\n    ) {\n      hexText = '#' + hexText[1] + hexText[3] + hexText[5];\n    }\n    if (allowHex8) {\n      hexText += ((1 << 8) | Math.round(rgba.alpha * 255))\n        .toString(16)\n        .substring(1);\n    }\n    return hexText;\n  }\n\n  public denormalizeRGBA(rgba: SkyColorpickerRgba): SkyColorpickerRgba {\n    const denormalizeRgba: SkyColorpickerRgba = {\n      red: Math.round(rgba.red * 255),\n      green: Math.round(rgba.green * 255),\n      blue: Math.round(rgba.blue * 255),\n      alpha: Math.round(rgba.alpha * 100) / 100,\n    };\n    return denormalizeRgba;\n  }\n\n  #hsla2hsva(hsla: SkyColorpickerHsla): SkyColorpickerHsva {\n    const alpha = Math.min(hsla.alpha, 1);\n    const hue = Math.min(hsla.hue, 1);\n    const lightness = Math.min(hsla.lightness, 1);\n    const saturation = Math.min(hsla.saturation, 1);\n    const hsva: SkyColorpickerHsva = {\n      hue: hue,\n      saturation: saturation,\n      value: lightness,\n      alpha: alpha,\n    };\n    if (lightness === 0) {\n      hsva.saturation = 0;\n      hsva.value = 0;\n    } else {\n      hsva.value =\n        lightness + (saturation * (1 - Math.abs(2 * lightness - 1))) / 2;\n      hsva.saturation = (2 * (hsva.value - lightness)) / hsva.value;\n    }\n    return hsva;\n  }\n\n  #hsva2hsla(hsva: SkyColorpickerHsva): SkyColorpickerHsla {\n    const alpha = hsva.alpha;\n    const hue = hsva.hue;\n    const saturation = hsva.saturation;\n    const value = hsva.value;\n\n    const hsla: SkyColorpickerHsla = {\n      hue: hue,\n      saturation: saturation,\n      lightness: value,\n      alpha: alpha,\n    };\n    if (value === 0) {\n      hsla.lightness = 0;\n      hsla.saturation = 0;\n    } else {\n      hsla.lightness = (value * (2 - saturation)) / 2;\n      hsla.saturation =\n        (value * saturation) / (1 - Math.abs(2 * hsla.lightness - 1));\n      if (Number.isNaN(hsla.saturation)) {\n        hsla.saturation = 0;\n      }\n    }\n    return hsla;\n  }\n\n  #rgbaToCmyk(rgba: SkyColorpickerRgba): SkyColorpickerCmyk {\n    const cmyk: SkyColorpickerCmyk = { cyan: 0, magenta: 0, yellow: 0, key: 0 };\n    const key = 1 - Math.max(rgba.red, rgba.green, rgba.blue);\n\n    if (key === 1) {\n      cmyk.key = 1;\n      return cmyk;\n    }\n    cmyk.cyan = (1 - rgba.red - key) / (1 - key);\n    cmyk.magenta = (1 - rgba.green - key) / (1 - key);\n    cmyk.yellow = (1 - rgba.blue - key) / (1 - key);\n    cmyk.key = key;\n    return cmyk;\n  }\n\n  #outputFormat(\n    hsva: SkyColorpickerHsva,\n    outputFormat: string,\n    allowHex8: boolean,\n  ): string {\n    if (['hsla', 'hex', 'cmyk'].indexOf(outputFormat) === -1) {\n      outputFormat = 'rgba';\n    }\n    const color: Record<string, () => string> = {\n      hsla: () => {\n        const hsla = this.#denormalizeHSLA(this.#hsva2hsla(hsva));\n        return `hsla(${hsla.hue},${hsla.saturation}%,${hsla.lightness}%,${hsla.alpha})`;\n      },\n      hex: () => {\n        return this.hexText(\n          this.denormalizeRGBA(this.hsvaToRgba(hsva)),\n          allowHex8,\n        );\n      },\n      cmyk: () => {\n        const cmyk = this.#denormalizeCMYK(\n          this.#rgbaToCmyk(this.hsvaToRgba(hsva)),\n        );\n        return `cmyk(${cmyk.cyan}%,${cmyk.magenta}%,${cmyk.yellow}%,${cmyk.key}%)`;\n      },\n      rgba: () => {\n        const rgba = this.denormalizeRGBA(this.hsvaToRgba(hsva));\n        return `rgba(${rgba.red},${rgba.green},${rgba.blue},${rgba.alpha})`;\n      },\n    };\n\n    return color[outputFormat]();\n  }\n\n  #denormalizeHSLA(hsla: SkyColorpickerHsla): SkyColorpickerHsla {\n    const denormalizeHsla: SkyColorpickerHsla = {\n      hue: Math.round(hsla.hue * 360),\n      saturation: Math.round(hsla.saturation * 100),\n      lightness: Math.round(hsla.lightness * 100),\n      alpha: Math.round(hsla.alpha * 100) / 100,\n    };\n    return denormalizeHsla;\n  }\n\n  #denormalizeHSVA(hsla: SkyColorpickerHsva): SkyColorpickerHsva {\n    const denormalizeHsva: SkyColorpickerHsva = {\n      hue: Math.round(hsla.hue * 360),\n      saturation: Math.round(hsla.saturation * 100),\n      value: Math.round(hsla.value * 100),\n      alpha: Math.round(hsla.alpha * 100) / 100,\n    };\n    return denormalizeHsva;\n  }\n\n  #denormalizeCMYK(cmyk: SkyColorpickerCmyk): SkyColorpickerCmyk {\n    const denormalizeCmyk: SkyColorpickerCmyk = {\n      cyan: Math.round(cmyk.cyan * 100),\n      magenta: Math.round(cmyk.magenta * 100),\n      yellow: Math.round(cmyk.yellow * 100),\n      key: Math.round(cmyk.key * 100),\n    };\n    return denormalizeCmyk;\n  }\n}\n","import {\n  Directive,\n  ElementRef,\n  Injector,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Renderer2,\n  forwardRef,\n  inject,\n} from '@angular/core';\nimport {\n  ControlValueAccessor,\n  NG_VALIDATORS,\n  NG_VALUE_ACCESSOR,\n  NgControl,\n  ValidationErrors,\n  Validator,\n} from '@angular/forms';\nimport { SkyRequiredStateDirective } from '@skyux/forms';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { Subject, Subscription, distinctUntilChanged, takeUntil } from 'rxjs';\n\nimport { SkyColorpickerInputService } from './colorpicker-input.service';\nimport { SkyColorpickerComponent } from './colorpicker.component';\nimport { SkyColorpickerService } from './colorpicker.service';\nimport { SkyColorpickerOutput } from './types/colorpicker-output';\n\nconst SKY_COLORPICKER_VALUE_ACCESSOR = {\n  provide: NG_VALUE_ACCESSOR,\n  useExisting: forwardRef(() => SkyColorpickerInputDirective),\n  multi: true,\n};\n\nconst SKY_COLORPICKER_VALIDATOR = {\n  provide: NG_VALIDATORS,\n  useExisting: forwardRef(() => SkyColorpickerInputDirective),\n  multi: true,\n};\n\nconst SKY_COLORPICKER_DEFAULT_COLOR = '#FFFFFF';\n\n/**\n * Creates the colorpicker element and dropdown.\n */\n@Directive({\n  selector: '[skyColorpickerInput]',\n  providers: [SKY_COLORPICKER_VALUE_ACCESSOR, SKY_COLORPICKER_VALIDATOR],\n  hostDirectives: [\n    {\n      directive: SkyRequiredStateDirective,\n      inputs: ['required'],\n    },\n  ],\n  host: {\n    class: 'sky-colorpicker-input',\n    readonly: 'true',\n    '(input)': 'changeInput()',\n    '(change)': 'onChange()',\n  },\n})\nexport class SkyColorpickerInputDirective\n  implements OnInit, OnChanges, ControlValueAccessor, Validator, OnDestroy\n{\n  /**\n   * Creates the colorpicker element and dropdown. Place this attribute on an `input` element\n   * or `button` element, wrap the element in a `sky-colorpicker` component, and set the attribute\n   * to the instance of the `sky-colorpicker` component.\n   * @required\n   */\n  @Input()\n  public skyColorpickerInput!: SkyColorpickerComponent;\n\n  /**\n   * The initial color to load in the colorpicker. Use a reactive or\n   * template-driven form to set this value. This property is deprecated. As an alternative,\n   * we recommend the `formControlName` property on reactive forms or `ngModel` on\n   * template-driven forms. See the demo for examples.\n   * @deprecated\n   */\n  @Input()\n  public set initialColor(value: string | undefined) {\n    /* istanbul ignore else */\n    if (!this.#_initialColor && !this.#modelValue) {\n      this.writeValue(value);\n    }\n\n    this.#_initialColor = value;\n  }\n\n  public get initialColor(): string {\n    return this.#_initialColor || SKY_COLORPICKER_DEFAULT_COLOR;\n  }\n\n  /**\n   * The ID should only be settable when `labelText` is undefined.\n   * When `labelText` is set, the ID is defined by `SkyColorpickerComponent`.\n   * @internal\n   */\n  @Input()\n  public set id(value: string | undefined) {\n    if (!this.#labelText && value) {\n      this.#setInputId(value);\n    }\n  }\n\n  /**\n   * This property is deprecated and does not affect the colorpicker.\n   * We recommend against using it.\n   * @deprecated\n   * @default \"rgba\"\n   */\n  @Input()\n  public returnFormat = 'rgba';\n\n  /**\n   * The format for the color when the colorpicker uses a native input\n   * element such as a standard text input or a button. This property accepts `rgba`, `hex`,\n   * or `hsla`, but we do not recommend using it because users never see or use its value.\n   * Instead, if you need to access this format value, see the demo for an example.\n   * @default \"rgba\"\n   */\n  @Input()\n  public outputFormat = 'rgba';\n\n  /**\n   * The array of colors to load as preset choices. The colorpicker displays the\n   * colors in a series of 12 boxes for users to select.\n   */\n  @Input()\n  public presetColors = ['#333', '#888', '#EFEFEF', '#FFF'];\n\n  /**\n   * The type of transparency in the transparency slider.\n   *@default \"hex6\"\n   */\n  @Input()\n  public alphaChannel = 'hex6';\n\n  /**\n   * Whether to display a transparency slider for users to select transparency\n   * levels.\n   */\n  @Input()\n  public allowTransparency = true;\n\n  #modelValue: SkyColorpickerOutput | undefined;\n  readonly #elementRef = inject(ElementRef);\n  readonly #renderer = inject(Renderer2);\n  readonly #svc = inject(SkyColorpickerService);\n  readonly #resourcesSvc = inject(SkyLibResourcesService);\n  readonly #injector = inject(Injector);\n  #inputIdSubscription: Subscription | undefined;\n  #labelText: string | undefined;\n\n  #_disabled: boolean | undefined;\n  #_initialColor: string | undefined;\n\n  readonly #colorpickerInputSvc = inject(SkyColorpickerInputService);\n  readonly #ngUnsubscribe = new Subject<void>();\n\n  public changeInput(): void {\n    const value = this.#elementRef.nativeElement.value;\n    this.skyColorpickerInput.updatePickerValues(value);\n    this.skyColorpickerInput.backgroundColorForDisplay = value;\n  }\n\n  public onChange(): void {\n    const newValue = this.#elementRef.nativeElement.value;\n    const formattedValue = this.#formatter(newValue);\n    this.#modelValue = formattedValue;\n    this.#writeModelValue(formattedValue);\n  }\n\n  public ngOnInit(): void {\n    const element = this.#elementRef.nativeElement;\n\n    this.#renderer.addClass(element, 'sky-form-control');\n    this.skyColorpickerInput.initialColor = this.initialColor;\n    this.skyColorpickerInput.returnFormat = this.returnFormat;\n\n    this.skyColorpickerInput.selectedColorChanged\n      .pipe(takeUntil(this.#ngUnsubscribe))\n      .subscribe((newColor: SkyColorpickerOutput) => {\n        /* istanbul ignore else */\n        if (newColor) {\n          this.#modelValue = this.#formatter(newColor);\n\n          // Write the new value to the reactive form control, which will update the template model\n          this.writeValue(newColor);\n        }\n      });\n\n    this.#colorpickerInputSvc.labelText\n      .pipe(takeUntil(this.#ngUnsubscribe))\n      .subscribe((labelText) => {\n        this.#labelText = labelText;\n        this.#inputIdSubscription?.unsubscribe();\n\n        if (labelText) {\n          this.#inputIdSubscription = this.#colorpickerInputSvc.inputId\n            .pipe(takeUntil(this.#ngUnsubscribe))\n            .subscribe((inputId) => {\n              this.#setInputId(inputId);\n            });\n        }\n      });\n\n    this.#colorpickerInputSvc.ariaError\n      .pipe(\n        distinctUntilChanged((a, b) => {\n          return a.hasError === b.hasError && a.errorId === b.errorId;\n        }),\n        takeUntil(this.#ngUnsubscribe),\n      )\n      .subscribe((errorState) => {\n        if (errorState.hasError) {\n          this.#renderer.setAttribute(element, 'aria-invalid', 'true');\n          this.#renderer.setAttribute(\n            element,\n            'aria-errormessage',\n            errorState.errorId,\n          );\n        } else {\n          this.#renderer.removeAttribute(element, 'aria-invalid');\n          this.#renderer.removeAttribute(element, 'aria-errormessage');\n        }\n      });\n\n    this.skyColorpickerInput.updatePickerValues(this.initialColor);\n\n    /* Sanity check */\n    /* istanbul ignore else */\n    if (!this.#_disabled) {\n      this.skyColorpickerInput.backgroundColorForDisplay = this.initialColor;\n    }\n\n    /// Set aria-label as default, if not set\n    if (!element.getAttribute('aria-label')) {\n      this.#renderer.setAttribute(\n        element,\n        'aria-label',\n        this.#getString('skyux_colorpicker_input_default_label'),\n      );\n    }\n\n    const typeAttr = element.getAttribute('type');\n    if (typeAttr && typeAttr === 'hidden') {\n      this.skyColorpickerInput.isVisible = false;\n    } else {\n      this.skyColorpickerInput.isVisible = true;\n    }\n  }\n\n  public ngOnDestroy(): void {\n    this.#ngUnsubscribe.next();\n    this.#ngUnsubscribe.complete();\n  }\n\n  public setColorPickerDefaults(): void {\n    this.skyColorpickerInput.setDialog(\n      this.initialColor,\n      this.outputFormat,\n      this.presetColors,\n      this.alphaChannel,\n      this.allowTransparency,\n    );\n  }\n\n  public ngOnChanges(): void {\n    this.skyColorpickerInput.returnFormat = this.returnFormat;\n    this.setColorPickerDefaults();\n  }\n\n  // eslint-disable-next-line @typescript-eslint/no-empty-function\n  public registerOnChange(): void {}\n\n  // eslint-disable-next-line @typescript-eslint/no-empty-function\n  public registerOnTouched(): void {}\n\n  // eslint-disable-next-line @typescript-eslint/no-empty-function\n  public registerOnValidatorChange(): void {}\n\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  public writeValue(value: any): void {\n    if (\n      this.skyColorpickerInput &&\n      value &&\n      value !== this.skyColorpickerInput.lastAppliedColor\n    ) {\n      const formattedValue = this.#formatter(value);\n\n      this.#modelValue = formattedValue;\n      this.#writeModelValue(formattedValue);\n\n      if (!this.#_initialColor) {\n        this.#_initialColor = value;\n        this.skyColorpickerInput.initialColor = value;\n      }\n      this.skyColorpickerInput.lastAppliedColor = value;\n\n      const control = this.#injector.get<NgControl>(NgControl, undefined, {\n        optional: true,\n      })?.control;\n\n      if (control) {\n        control.setValue(this.#modelValue, { emitEvent: false });\n      }\n    }\n  }\n\n  public validate(): ValidationErrors | null {\n    return null;\n  }\n\n  /**\n   * Implemented as part of ControlValueAccessor.\n   */\n  public setDisabledState(isDisabled: boolean): void {\n    this.#_disabled = isDisabled;\n    this.skyColorpickerInput.disabled = isDisabled;\n    if (this.#_disabled) {\n      this.skyColorpickerInput.backgroundColorForDisplay = '#fff';\n    } else if (this.#modelValue) {\n      this.skyColorpickerInput.backgroundColorForDisplay = this.#modelValue.hex;\n    }\n  }\n\n  #writeModelValue(model: SkyColorpickerOutput): void {\n    const setElementValue = model.rgbaText;\n    const element = this.#elementRef.nativeElement;\n\n    let output: string;\n    switch (this.outputFormat) {\n      case 'hsla':\n        output = model.hslaText;\n        break;\n      case 'cmyk':\n        output = model.cmykText;\n        break;\n      case 'hex':\n        output = model.hex;\n        break;\n      default:\n        output = model.rgbaText;\n        break;\n    }\n\n    this.skyColorpickerInput.updatePickerValues(output);\n    this.skyColorpickerInput.backgroundColorForDisplay = output;\n\n    this.#renderer.setStyle(element, 'background-color', setElementValue);\n    this.#renderer.setProperty(element, 'value', output);\n  }\n\n  #formatter(\n    color: string | SkyColorpickerOutput | undefined,\n  ): SkyColorpickerOutput {\n    if (color && typeof color !== 'string') {\n      return color;\n    }\n\n    const hsva = this.#svc.stringToHsva(\n      color as string,\n      this.alphaChannel === 'hex8',\n    );\n\n    // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n    const formatColor = this.#svc.skyColorpickerOut(hsva!);\n\n    return formatColor;\n  }\n\n  #getString(key: string): string {\n    // TODO: Need to implement the async `getString` method in a breaking change.\n    return this.#resourcesSvc.getStringForLocale({ locale: 'en-US' }, key);\n  }\n\n  #setInputId(id: string): void {\n    this.#renderer.setAttribute(this.#elementRef.nativeElement, 'id', id);\n  }\n}\n","import {\n  Directive,\n  ElementRef,\n  EventEmitter,\n  HostListener,\n  Input,\n  Output,\n  inject,\n} from '@angular/core';\n\nimport { SkyColorpickerChangeAxis } from './types/colorpicker-axis';\n\n/**\n * @internal\n */\n@Directive({\n  selector: '[skyColorpickerSlider]',\n})\nexport class SkyColorpickerSliderDirective {\n  @Output()\n  public newColorContrast = new EventEmitter<SkyColorpickerChangeAxis>();\n  @Input()\n  public skyColorpickerSlider: string | undefined;\n  @Input()\n  public color: string | undefined;\n  @Input()\n  public xAxis: number | undefined;\n  @Input()\n  public yAxis: number | undefined;\n\n  #listenerMove: (event: MouseEvent | TouchEvent) => void;\n  #listenerStop: () => void;\n\n  readonly #el = inject(ElementRef);\n\n  constructor() {\n    this.#listenerMove = (event): void => {\n      this.move(event);\n    };\n    this.#listenerStop = (): void => {\n      this.stop();\n    };\n  }\n\n  @HostListener('touchstart', ['$event'])\n  @HostListener('mousedown', ['$event'])\n  public start(event: MouseEvent | TouchEvent): void {\n    this.#setCursor(event);\n    document.addEventListener('mousemove', this.#listenerMove);\n    document.addEventListener('touchmove', this.#listenerMove);\n    document.addEventListener('mouseup', this.#listenerStop);\n    document.addEventListener('touchend', this.#listenerStop);\n  }\n\n  #setCursor(event: MouseEvent | TouchEvent): void {\n    const height = this.#el.nativeElement.offsetHeight;\n    const width = this.#el.nativeElement.offsetWidth;\n    const xAxis = Math.max(0, Math.min(this.getX(event), width));\n    const yAxis = Math.max(0, Math.min(this.getY(event), height));\n    if (this.xAxis !== undefined && this.yAxis !== undefined) {\n      this.newColorContrast.emit({\n        xCoordinate: xAxis / width,\n        yCoordinate: 1 - yAxis / height,\n        xAxis: this.xAxis,\n        yAxis: this.yAxis,\n      } as SkyColorpickerChangeAxis);\n    } else {\n      this.newColorContrast.emit({\n        xCoordinate: xAxis / width,\n        maxRange: this.xAxis,\n      } as SkyColorpickerChangeAxis);\n    }\n    /* // No vertical bars\n     if (this.xAxis === undefined && this.yAxis !== undefined) {\n          this.newColorContrast.emit({ yCoordinate: yAxis / height, maxRange: this.yAxis });\n    } */\n  }\n\n  public stop(): void {\n    document.removeEventListener('mousemove', this.#listenerMove);\n    document.removeEventListener('touchmove', this.#listenerMove);\n    document.removeEventListener('mouseup', this.#listenerStop);\n    document.removeEventListener('touchend', this.#listenerStop);\n  }\n\n  public move(event: MouseEvent | TouchEvent): void {\n    event.preventDefault();\n    this.#setCursor(event);\n  }\n\n  public getX(event: MouseEvent | TouchEvent): number {\n    /* Ignoring event.touches as tests are not run on a touch device. */\n    /* istanbul ignore next */\n    return (\n      ('pageX' in event ? event.pageX : event.touches[0].pageX) -\n      this.#el.nativeElement.getBoundingClientRect().left -\n      window.pageXOffset\n    );\n  }\n  public getY(event: MouseEvent | TouchEvent): number {\n    /* Ignoring event.touches as tests are not run on a touch device. */\n    /* istanbul ignore next */\n    return (\n      ('pageY' in event ? event.pageY : event.touches[0].pageY) -\n      this.#el.nativeElement.getBoundingClientRect().top -\n      window.pageYOffset\n    );\n  }\n}\n","import {\n  Directive,\n  EventEmitter,\n  HostListener,\n  Input,\n  Output,\n} from '@angular/core';\n\nimport { SkyColorpickerChangeColor } from './types/colorpicker-color';\n\n/**\n * @internal\n */\n@Directive({\n  selector: '[skyColorpickerText]',\n})\nexport class SkyColorpickerTextDirective {\n  @Output()\n  public newColorContrast = new EventEmitter<SkyColorpickerChangeColor>();\n  @Input()\n  public skyColorpickerText: string | undefined;\n  @Input()\n  public color: string | undefined;\n  @Input()\n  public maxRange: number | undefined;\n\n  @HostListener('input', ['$event'])\n  protected changeInput(event: Event): void {\n    const element = event.target as HTMLInputElement;\n    const elementValue = parseFloat(element.value);\n    if (this.maxRange === undefined) {\n      this.newColorContrast.emit({\n        color: element.value,\n        colorValue: undefined,\n        maxRange: undefined,\n      } as SkyColorpickerChangeColor);\n    }\n\n    if (\n      !isNaN(elementValue) &&\n      elementValue >= 0 &&\n      this.maxRange &&\n      elementValue <= this.maxRange\n    ) {\n      this.newColorContrast.emit({\n        // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n        color: this.color!,\n        colorValue: elementValue,\n        maxRange: this.maxRange,\n      });\n    }\n  }\n}\n","/**\n * @internal\n */\nexport class SliderPosition {\n  constructor(\n    public hue: number,\n    public saturation: number,\n    public value: number,\n    public alpha: number,\n  ) {}\n}\n/**\n * @internal\n */\nexport class SliderDimension {\n  constructor(\n    public hue: number,\n    public saturation: number,\n    public value: number,\n    public alpha: number,\n  ) {}\n}\n","/**\n * The commands to provide the colorpicker.\n */\nexport enum SkyColorpickerMessageType {\n  /**\n   * Opens the colorpicker.\n   */\n  Open = 0,\n  /**\n   * Resets the selection in the colorpicker.\n   */\n  Reset = 1,\n  /**\n   * Toggles whether to display a reset button beside the colorpicker.\n   */\n  ToggleResetButton = 2,\n  /**\n   * Closes the colorpicker.\n   */\n  Close = 3,\n}\n","import { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { SlicePipe } from '@angular/common';\nimport {\n  AfterContentChecked,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ElementRef,\n  EnvironmentInjector,\n  EventEmitter,\n  HostBinding,\n  Input,\n  OnDestroy,\n  OnInit,\n  Output,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation,\n  booleanAttribute,\n  inject,\n} from '@angular/core';\nimport {\n  AbstractControlDirective,\n  FormControlDirective,\n  FormControlName,\n  NgModel,\n} from '@angular/forms';\nimport {\n  SkyAffixAutoFitContext,\n  SkyAffixService,\n  SkyAffixer,\n  SkyCoreAdapterService,\n  SkyIdModule,\n  SkyIdService,\n  SkyOverlayInstance,\n  SkyOverlayService,\n} from '@skyux/core';\nimport {\n  SKY_FORM_ERRORS_ENABLED,\n  SkyFormErrorsModule,\n  SkyInputBoxModule,\n  SkyRequiredStateDirective,\n} from '@skyux/forms';\nimport { SkyHelpInlineModule } from '@skyux/help-inline';\nimport { SkyI18nModule } from '@skyux/i18n';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyThemeModule, SkyThemeService } from '@skyux/theme';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyColorpickerResourcesModule } from '../shared/sky-colorpicker-resources.module';\n\nimport { SliderDimension, SliderPosition } from './colorpicker-classes';\nimport { SkyColorpickerInputService } from './colorpicker-input.service';\nimport { SkyColorpickerSliderDirective } from './colorpicker-slider.directive';\nimport { SkyColorpickerTextDirective } from './colorpicker-text.directive';\nimport { SkyColorpickerService } from './colorpicker.service';\nimport { SkyColorpickerChangeAxis } from './types/colorpicker-axis';\nimport { SkyColorpickerChangeColor } from './types/colorpicker-color';\nimport { SkyColorpickerHsva } from './types/colorpicker-hsva';\nimport { SkyColorpickerMessage } from './types/colorpicker-message';\nimport { SkyColorpickerMessageType } from './types/colorpicker-message-type';\nimport { SkyColorpickerOutput } from './types/colorpicker-output';\nimport { SkyColorpickerResult } from './types/colorpicker-result';\nimport { SkyColorpickerRgba } from './types/colorpicker-rgba';\n\nlet componentIdIndex = 0;\n\n/**\n * The SKY UX-themed replacement for the HTML `input` element with `type=\"color\"`.\n * The value that users select is driven through the `ngModel` attribute specified on\n * the `input` element.\n */\n@Component({\n  selector: 'sky-colorpicker',\n  templateUrl: './colorpicker.component.html',\n  styleUrls: ['./colorpicker.component.scss'],\n  providers: [\n    SkyColorpickerInputService,\n    SkyColorpickerService,\n    { provide: SKY_FORM_ERRORS_ENABLED, useValue: true },\n  ],\n  encapsulation: ViewEncapsulation.None,\n  imports: [\n    SlicePipe,\n    CdkTrapFocus,\n    SkyIdModule,\n    SkyFormErrorsModule,\n    SkyInputBoxModule,\n    SkyHelpInlineModule,\n    SkyI18nModule,\n    SkyIconModule,\n    SkyThemeModule,\n    SkyColorpickerResourcesModule,\n    SkyColorpickerSliderDirective,\n    SkyColorpickerTextDirective,\n  ],\n})\nexport class SkyColorpickerComponent\n  implements OnInit, OnDestroy, AfterContentChecked\n{\n  /**\n   * The name of the icon to overlay on top of the picker.\n   * @internal\n   */\n  @Input()\n  public pickerButtonIcon: string | undefined;\n\n  /**\n   * The ARIA label for the colorpicker. This sets the colorpicker's `aria-label` attribute\n   * [to support accessibility](https://developer.blackbaud.com/skyux/components/checkbox#accessibility)\n   * when the colorpicker does not include a visible label. If the colorpicker includes a visible label, use `labelledBy` instead.\n   * @default \"Select color value\"\n   */\n  @Input()\n  public label: string | undefined;\n\n  /**\n   * The HTML element ID of the element that labels the\n   * colorpicker. This sets the colorpicker's `aria-labelledby` attribute\n   * [to support accessibility](https://developer.blackbaud.com/skyux/components/checkbox#accessibility).\n   * If the colorpicker does not include a visible label, use `label` instead.\n   */\n  @Input()\n  public labelledBy: string | undefined;\n\n  /**\n   * The text to display as the colorpicker's label. Use this instead of a `label` element when the label is text-only.\n   * Specifying `labelText` also enables automatic error message handling for standard colorpicker errors.\n   */\n  @Input()\n  public set labelText(value: string | undefined) {\n    this.#_labelText = value;\n    this.#colorpickerInputSvc.labelText.next(value);\n  }\n\n  public get labelText(): string | undefined {\n    return this.#_labelText;\n  }\n\n  /**\n   * Whether to hide `labelText` from view.\n   */\n  @Input({ transform: booleanAttribute })\n  public labelHidden = false;\n\n  /**\n   * A help key that identifies the global help content to display. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n   * button is placed beside the colorpicker label. Clicking the button invokes [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help)\n   * as configured by the application. This property only applies when `labelText` is also specified.\n   */\n  @Input()\n  public helpKey: string | undefined;\n\n  /**\n   * The content of the help popover. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n   * button is added to the colorpicker label. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)\n   * when clicked using the specified content and optional title. This property only applies when `labelText` is also specified.\n   */\n  @Input()\n  public helpPopoverContent: string | TemplateRef<unknown> | undefined;\n\n  /**\n   * The title of the help popover. This property only applies when `helpPopoverContent` is\n   * also specified.\n   */\n  @Input()\n  public helpPopoverTitle: string | undefined;\n\n  /**\n   * [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides\n   * additional context to the user.\n   */\n  @Input()\n  public hintText: string | undefined;\n\n  /**\n   * Whether the colorpicker is stacked on another form component. When specified,\n   * the appropriate vertical spacing is automatically added to the text editor.\n   */\n  @Input({ transform: booleanAttribute })\n  @HostBinding('class.sky-form-field-stacked')\n  public stacked = false;\n\n  /**\n   * Fires when users select a color in the colorpicker.\n   */\n  @Output()\n  public selectedColorChanged = new EventEmitter<SkyColorpickerOutput>();\n\n  /**\n   * Fires when users select **Apply** in the colorpicker to apply a color.\n   */\n  @Output()\n  public selectedColorApplied = new EventEmitter<SkyColorpickerResult>();\n\n  /**\n   * The observable to send commands to the colorpicker. The commands should\n   * respect the `SkyColorpickerMessage` type.\n   */\n  @Input()\n  public messageStream = new Subject<SkyColorpickerMessage>();\n\n  /**\n   * Whether to display a reset button to let users return to the default color.\n   */\n  @Input()\n  public showResetButton = true;\n\n  public set disabled(value: boolean) {\n    this.#_disabled = value;\n    this.#changeDetector.markForCheck();\n  }\n\n  public get disabled(): boolean {\n    return this.#_disabled;\n  }\n\n  public set backgroundColorForDisplay(value: string | undefined) {\n    this.#_backgroundColorForDisplay = value;\n    if (this.pickerButtonIcon) {\n      this.iconColor = this.#getAccessibleIconColor(this.selectedColor);\n    }\n    this.#changeDetector.markForCheck();\n  }\n\n  public get backgroundColorForDisplay(): string {\n    /* istanbul ignore next */\n    return this.#_backgroundColorForDisplay || '#fff';\n  }\n\n  public set hue(change: SkyColorpickerChangeAxis) {\n    if (\n      this.#hsva &&\n      change.xCoordinate !== undefined &&\n      change.maxRange !== undefined\n    ) {\n      this.#hsva.hue = change.xCoordinate / change.maxRange;\n      this.#update();\n    }\n  }\n\n  public set red(change: SkyColorpickerChangeColor) {\n    if (this.#hsva) {\n      const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n      // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n      // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n      rgba.red = change.colorValue! / change.maxRange!;\n      this.#hsva = this.#svc.rgbaToHsva(rgba);\n      this.#update();\n    }\n  }\n\n  public set green(change: SkyColorpickerChangeColor) {\n    if (this.#hsva) {\n      const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n      // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n      // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n      rgba.green = change.colorValue! / change.maxRange!;\n      this.#hsva = this.#svc.rgbaToHsva(rgba);\n      this.#update();\n    }\n  }\n\n  public set blue(change: SkyColorpickerChangeColor) {\n    if (this.#hsva) {\n      const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n      // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n      // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n      rgba.blue = change.colorValue! / change.maxRange!;\n      this.#hsva = this.#svc.rgbaToHsva(rgba);\n      this.#update();\n    }\n  }\n\n  public set alphaAxis(change: SkyColorpickerChangeAxis) {\n    if (\n      this.#hsva &&\n      change.xCoordinate !== undefined &&\n      change.maxRange !== undefined\n    ) {\n      this.#hsva.alpha = change.xCoordinate / change.maxRange;\n      this.#update();\n    }\n  }\n\n  public set alphaColor(change: SkyColorpickerChangeColor) {\n    if (this.#hsva) {\n      // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n      // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n      this.#hsva.alpha = change.colorValue! / change.maxRange!;\n      this.#update();\n    }\n  }\n\n  public set hex(change: SkyColorpickerChangeColor) {\n    this.updatePickerValues(change.color);\n  }\n\n  public set saturationAndLightness(value: SkyColorpickerChangeAxis) {\n    if (\n      this.#hsva &&\n      value.xCoordinate !== undefined &&\n      value.xAxis !== undefined &&\n      value.yCoordinate !== undefined &&\n      value.yAxis !== undefined\n    ) {\n      this.#hsva.saturation = value.xCoordinate / value.xAxis;\n      this.#hsva.value = value.yCoordinate / value.yAxis;\n      this.#update();\n    }\n  }\n\n  public skyColorpickerAlphaId: string;\n  public returnFormat: string | undefined;\n  public initialColor: string | undefined;\n  public lastAppliedColor: string | undefined;\n  public isVisible = true;\n\n  @ViewChild('colorpickerTemplateRef', {\n    read: TemplateRef,\n  })\n  protected colorpickerTemplateRef: TemplateRef<unknown> | undefined;\n\n  @ViewChild('triggerButtonRef', {\n    read: ElementRef,\n  })\n  protected triggerButtonRef: ElementRef | undefined;\n\n  @ViewChild('colorpickerRef', {\n    read: ElementRef,\n  })\n  protected set colorpickerRef(value: ElementRef | undefined) {\n    if (value) {\n      this.#_colorpickerRef = value;\n      this.#destroyAffixer();\n\n      this.#removePickerEventListeners();\n      this.#pickerUnsubscribe = new Subject<void>();\n\n      // Ensure the colorpicker has fully rendered before adding the affixer. Added to address a\n      // race condition when running under production conditions.\n      setTimeout(() => {\n        this.#createAffixer();\n        this.isPickerVisible = true;\n\n        this.#coreAdapter.getFocusableChildrenAndApplyFocus(\n          value,\n          '.sky-colorpicker',\n          false,\n        );\n        this.#changeDetector.markForCheck();\n      });\n    }\n  }\n\n  protected get colorpickerRef(): ElementRef | undefined {\n    return this.#_colorpickerRef;\n  }\n\n  @ContentChild(FormControlDirective)\n  protected set formControl(value: FormControlDirective | undefined) {\n    if (value) {\n      this.ngControl = value;\n      this.#changeDetector.markForCheck();\n    }\n  }\n\n  @ContentChild(FormControlName)\n  protected set formControlByName(value: FormControlName | undefined) {\n    if (value) {\n      this.ngControl = value;\n      this.#changeDetector.markForCheck();\n    }\n  }\n\n  @ContentChild(NgModel)\n  protected set ngModel(value: NgModel | undefined) {\n    if (value) {\n      this.ngControl = value;\n      this.#changeDetector.markForCheck();\n    }\n  }\n\n  @ContentChild(SkyRequiredStateDirective)\n  protected requiredState: SkyRequiredStateDirective | undefined;\n\n  protected inputId: string | undefined;\n  protected colorpickerId: string;\n  protected isOpen = false;\n  protected triggerButtonId: string;\n  protected skyColorpickerHexId: string;\n  protected skyColorpickerRedId: string;\n  protected skyColorpickerGreenId: string;\n  protected skyColorpickerBlueId: string;\n  protected slider: SliderPosition;\n  protected allowTransparency: boolean | undefined;\n  protected alphaSliderColor: string | undefined;\n  protected hexText: string | undefined;\n  protected hueSliderColor: string | undefined;\n  protected presetColors: string[] | undefined;\n  protected rgbaText: SkyColorpickerRgba | undefined;\n  protected selectedColor: SkyColorpickerOutput | undefined;\n  protected iconColor: string | undefined;\n  protected isPickerVisible: boolean | undefined;\n  protected ngControl: AbstractControlDirective | undefined;\n\n  #idIndex: number;\n  #alphaChannel: string | undefined;\n  #format: number | undefined;\n  #outputFormat: string | undefined;\n  #hsva: SkyColorpickerHsva | undefined;\n  #sliderDimMax: SliderDimension;\n  #ngUnsubscribe = new Subject<void>();\n  #affixer: SkyAffixer | undefined;\n  #overlay: SkyOverlayInstance | undefined;\n  #pickerUnsubscribe: Subject<void> | undefined;\n\n  readonly #affixSvc = inject(SkyAffixService);\n  readonly #changeDetector = inject(ChangeDetectorRef);\n  readonly #coreAdapter = inject(SkyCoreAdapterService);\n  readonly #overlaySvc = inject(SkyOverlayService);\n  readonly #svc = inject(SkyColorpickerService);\n  readonly #themeSvc = inject(SkyThemeService, { optional: true });\n\n  readonly #environmentInjector = inject(EnvironmentInjector);\n  readonly #colorpickerInputSvc = inject(SkyColorpickerInputService);\n  readonly #idSvc = inject(SkyIdService);\n\n  protected readonly errorId = this.#idSvc.generateId();\n\n  #_backgroundColorForDisplay: string | undefined;\n  #_colorpickerRef: ElementRef | undefined;\n  #_disabled = false;\n  #_labelText: string | undefined;\n\n  constructor() {\n    componentIdIndex++;\n\n    this.#idIndex = componentIdIndex;\n    this.inputId = this.#idSvc.generateId();\n    this.#colorpickerInputSvc.inputId.next(this.inputId);\n    this.skyColorpickerRedId = `sky-colorpicker-red-${this.#idIndex}`;\n    this.skyColorpickerHexId = `sky-colorpicker-hex--${this.#idIndex}`;\n    this.skyColorpickerRedId = `sky-colorpicker-red--${this.#idIndex}`;\n    this.skyColorpickerGreenId = `sky-colorpicker-green--${this.#idIndex}`;\n    this.skyColorpickerBlueId = `sky-colorpicker-blue--${this.#idIndex}`;\n    this.skyColorpickerAlphaId = `sky-colorpicker-alpha--${this.#idIndex}`;\n    this.colorpickerId = `sky-colorpicker--${this.#idIndex}`;\n    this.triggerButtonId = `sky-colorpicker-button--${this.#idIndex}`;\n\n    this.#sliderDimMax = new SliderDimension(182, 270, 170, 182);\n    this.slider = new SliderPosition(0, 0, 0, 0);\n  }\n\n  public setDialog(\n    color: string | undefined,\n    outputFormat: string,\n    presetColors: string[],\n    alphaChannel: string,\n    allowTransparency: boolean,\n  ): void {\n    this.initialColor = color;\n    this.#outputFormat = outputFormat;\n    this.presetColors = presetColors;\n    this.#alphaChannel = alphaChannel;\n    this.allowTransparency = allowTransparency;\n\n    if (this.#outputFormat === 'rgba') {\n      this.#format = 1;\n    } else if (this.#outputFormat === 'hsla') {\n      this.#format = 2;\n    } else {\n      this.#format = 0;\n    }\n  }\n\n  public ngOnInit(): void {\n    this.messageStream\n      .pipe(takeUntil(this.#ngUnsubscribe))\n      .subscribe((message: SkyColorpickerMessage) => {\n        this.#handleIncomingMessages(message);\n      });\n\n    this.#addTriggerButtonEventListeners();\n\n    /* istanbul ignore else */\n    if (this.#themeSvc) {\n      this.#themeSvc.settingsChange\n        .pipe(takeUntil(this.#ngUnsubscribe))\n        .subscribe((themeSettings) => {\n          /* istanbul ignore next */\n          const themeName = themeSettings.currentSettings?.theme?.name;\n\n          // Hue/alpha slider bars have different widths in Modern theme.\n          /* istanbul ignore if */\n          if (themeName === 'modern') {\n            this.#sliderDimMax = new SliderDimension(174, 270, 170, 174);\n          } else {\n            this.#sliderDimMax = new SliderDimension(182, 270, 170, 182);\n          }\n          this.#updateSlider();\n        });\n    }\n  }\n\n  public ngAfterContentChecked(): void {\n    if (this.labelText) {\n      this.#colorpickerInputSvc.ariaError.next({\n        hasError: !this.ngControl?.valid,\n        errorId: this.errorId,\n      });\n    }\n  }\n\n  public ngOnDestroy(): void {\n    this.#ngUnsubscribe.next();\n    this.#ngUnsubscribe.complete();\n    this.#removePickerEventListeners();\n    this.#destroyAffixer();\n    this.#destroyOverlay();\n  }\n\n  public onTriggerButtonClick(): void {\n    this.ngControl?.control?.markAsTouched();\n\n    this.#sendMessage(SkyColorpickerMessageType.Open);\n  }\n\n  public closePicker(): void {\n    this.#destroyAffixer();\n    this.#destroyOverlay();\n    this.#removePickerEventListeners();\n    this.triggerButtonRef?.nativeElement.focus();\n    this.isOpen = false;\n  }\n\n  public onApplyColorClick(): void {\n    this.#confirmSelectedColor();\n  }\n\n  public onCancelClick(): void {\n    // Revert picker values back to previous color.\n    this.updatePickerValues(this.backgroundColorForDisplay);\n    this.closePicker();\n\n    this.#changeDetector.markForCheck();\n  }\n\n  public onPresetClick(value: string): void {\n    this.updatePickerValues(value);\n  }\n\n  public onResetClick(): void {\n    this.#sendMessage(SkyColorpickerMessageType.Reset);\n  }\n\n  public updatePickerValues(value: string | undefined): void {\n    const hsva = this.#getHsvaValue(value);\n    if (hsva) {\n      this.#hsva = hsva;\n      this.#update();\n    }\n  }\n\n  protected onContainerEnterKeyDown(event: Event): void {\n    event.stopPropagation();\n    event.preventDefault();\n\n    this.#confirmSelectedColor();\n  }\n\n  #update(): void {\n    if (this.#hsva) {\n      const rgba: SkyColorpickerRgba = this.#svc.hsvaToRgba(this.#hsva);\n      const dRgba: SkyColorpickerRgba = this.#svc.denormalizeRGBA(rgba);\n\n      const hsva: SkyColorpickerHsva = {\n        hue: this.#hsva.hue,\n        saturation: 1,\n        value: 1,\n        alpha: 1,\n      };\n\n      const hueRgba = this.#svc.denormalizeRGBA(this.#svc.hsvaToRgba(hsva));\n\n      this.rgbaText = dRgba;\n      this.hexText = this.#svc.hexText(dRgba, this.#alphaChannel === 'hex8');\n\n      this.alphaSliderColor = `rgba(${dRgba.red},${dRgba.green},${dRgba.blue},${dRgba.alpha})`;\n      this.hueSliderColor = `rgba(${hueRgba.red},${hueRgba.green},${hueRgba.blue},${rgba.alpha})`;\n\n      if (\n        this.#format === 0 &&\n        this.#hsva.alpha < 1 &&\n        this.#alphaChannel === 'hex6'\n      ) {\n        this.#format++;\n      }\n\n      this.selectedColor = this.#svc.skyColorpickerOut(this.#hsva);\n\n      this.#updateSlider();\n    }\n  }\n\n  #updateSlider(): void {\n    if (this.#hsva && this.#sliderDimMax) {\n      this.slider = new SliderPosition(\n        this.#hsva.hue * this.#sliderDimMax.hue - 8,\n        this.#hsva.saturation * this.#sliderDimMax.saturation - 8,\n        (1 - this.#hsva.value) * this.#sliderDimMax.value - 8,\n        this.#hsva.alpha * this.#sliderDimMax.alpha - 8,\n      );\n    }\n  }\n\n  #openPicker(): void {\n    this.isPickerVisible = false;\n    this.#removePickerEventListeners();\n    this.#destroyOverlay();\n    this.#createOverlay();\n    this.isOpen = true;\n  }\n\n  #sendMessage(type: SkyColorpickerMessageType): void {\n    this.messageStream.next({ type });\n  }\n\n  #handleIncomingMessages(message: SkyColorpickerMessage): void {\n    switch (message.type) {\n      case SkyColorpickerMessageType.Open:\n        if (!this.isOpen) {\n          this.#openPicker();\n        }\n        break;\n\n      case SkyColorpickerMessageType.Close:\n        if (this.isOpen) {\n          this.closePicker();\n        }\n        break;\n\n      case SkyColorpickerMessageType.Reset:\n        this.updatePickerValues(this.initialColor);\n        this.backgroundColorForDisplay = this.initialColor;\n        this.selectedColorChanged.emit(this.selectedColor);\n        // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n        this.selectedColorApplied.emit({ color: this.selectedColor! });\n        break;\n\n      case SkyColorpickerMessageType.ToggleResetButton:\n        this.showResetButton = !this.showResetButton;\n        break;\n    }\n  }\n\n  #createAffixer(): void {\n    if (\n      this.colorpickerRef &&\n      this.triggerButtonRef &&\n      this.#pickerUnsubscribe\n    ) {\n      const affixer = this.#affixSvc.createAffixer(this.colorpickerRef);\n\n      affixer.placementChange\n        .pipe(takeUntil(this.#pickerUnsubscribe))\n        .subscribe((change) => {\n          this.isPickerVisible = change.placement !== null;\n        });\n\n      affixer.affixTo(this.triggerButtonRef.nativeElement, {\n        autoFitContext: SkyAffixAutoFitContext.Viewport,\n        enableAutoFit: true,\n        horizontalAlignment: 'left',\n        verticalAlignment: 'bottom',\n        isSticky: true,\n        placement: 'below',\n      });\n\n      this.#affixer = affixer;\n    }\n  }\n\n  #destroyAffixer(): void {\n    /*istanbul ignore else*/\n    if (this.#affixer) {\n      this.#affixer.destroy();\n      this.#affixer = undefined;\n    }\n  }\n\n  #createOverlay(): void {\n    if (this.colorpickerTemplateRef) {\n      const overlay = this.#overlaySvc.create({\n        enableClose: false,\n        enablePointerEvents: false,\n        enableScroll: true,\n        environmentInjector: this.#environmentInjector,\n        hideOthersFromScreenReaders: true,\n      });\n\n      overlay.attachTemplate(this.colorpickerTemplateRef);\n\n      this.#overlay = overlay;\n    }\n  }\n\n  #destroyOverlay(): void {\n    /*istanbul ignore else*/\n    if (this.#overlay) {\n      this.#overlaySvc.close(this.#overlay);\n      this.#overlay = undefined;\n    }\n  }\n\n  #addTriggerButtonEventListeners(): void {\n    fromEvent(window.document, 'keydown')\n      .pipe(takeUntil(this.#ngUnsubscribe))\n      .subscribe((event) => {\n        const keyboardEvent = event as KeyboardEvent;\n        const key = keyboardEvent.key?.toLowerCase();\n        /* istanbul ignore else */\n        if (key === 'escape') {\n          this.#sendMessage(SkyColorpickerMessageType.Close);\n        }\n      });\n  }\n\n  #removePickerEventListeners(): void {\n    /* istanbul ignore else */\n    if (this.#pickerUnsubscribe) {\n      this.#pickerUnsubscribe.next();\n      this.#pickerUnsubscribe.complete();\n      this.#pickerUnsubscribe = undefined;\n    }\n  }\n\n  #getHsvaValue(value: string | undefined): SkyColorpickerHsva | undefined {\n    let hsva: SkyColorpickerHsva | undefined;\n\n    if (value) {\n      if (this.#alphaChannel === 'hex8') {\n        hsva = this.#svc.stringToHsva(value, true);\n        if (!hsva && !this.#hsva) {\n          hsva = this.#svc.stringToHsva(value, false);\n        }\n      } else {\n        hsva = this.#svc.stringToHsva(value, false);\n      }\n    }\n\n    return hsva;\n  }\n\n  #getAccessibleIconColor(\n    backgroundColor: SkyColorpickerOutput | undefined,\n  ): string | undefined {\n    if (backgroundColor) {\n      // https://www.w3.org/WAI/GL/wiki/Relative_luminance\n      const RsRGB = backgroundColor.rgba.red / 255;\n      const GsRGB = backgroundColor.rgba.green / 255;\n      const BsRGB = backgroundColor.rgba.blue / 255;\n\n      const R =\n        RsRGB <= 0.03928\n          ? RsRGB / 12.92\n          : Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n      const G =\n        GsRGB <= 0.03928\n          ? GsRGB / 12.92\n          : Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n      const B =\n        BsRGB <= 0.03928\n          ? BsRGB / 12.92\n          : Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n\n      const relativeLuminance =\n        (0.2126 * R + 0.7152 * G + 0.0722 * B) *\n        (1 / backgroundColor.rgba.alpha);\n\n      // https://www.w3.org/WAI/GL/wiki/Contrast_ratio\n      return 1.05 / (relativeLuminance + 0.05) > 3\n        ? 'rgb(255, 255, 255)'\n        : 'rgb(0, 0, 0)';\n    }\n    /* istanbul ignore next */\n    return undefined;\n  }\n\n  #confirmSelectedColor(): void {\n    if (this.selectedColor) {\n      this.selectedColorChanged.emit(this.selectedColor);\n      this.selectedColorApplied.emit({ color: this.selectedColor });\n      this.lastAppliedColor = this.selectedColor.rgbaText;\n      this.updatePickerValues(this.lastAppliedColor);\n      this.backgroundColorForDisplay = this.selectedColor.rgbaText;\n    }\n\n    this.closePicker();\n  }\n}\n","<span class=\"sky-color-picker-label-wrapper\">\n  @if (labelText) {\n    <label\n      class=\"sky-control-label\"\n      [class.sky-screen-reader-only]=\"labelHidden\"\n      [class.sky-control-label-required]=\"requiredState?.isRequired()\"\n      [for]=\"inputId\"\n      >{{ labelText }}</label\n    >\n    @if ((helpPopoverContent || helpKey) && !labelHidden) {\n      <span class=\"sky-control-help-container\">\n        <sky-help-inline\n          [helpKey]=\"helpKey\"\n          [labelText]=\"labelText\"\n          [popoverTitle]=\"helpPopoverTitle\"\n          [popoverContent]=\"helpPopoverContent\"\n        />\n      </span>\n    }\n  }\n</span>\n\n<div\n  class=\"sky-colorpicker-input-group sky-input-group\"\n  [class.sky-colorpicker-hidden]=\"!isVisible\"\n  [class.sky-colorpicker-disabled]=\"disabled\"\n>\n  <div [hidden]=\"true\">\n    <ng-content />\n  </div>\n\n  <button\n    #triggerButtonRef\n    aria-haspopup=\"dialog\"\n    class=\"sky-colorpicker-button\"\n    type=\"button\"\n    [attr.aria-controls]=\"isOpen ? colorpickerId : null\"\n    [attr.aria-expanded]=\"isOpen\"\n    [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n    [attr.aria-label]=\"\n      label ||\n      (labelledBy\n        ? null\n        : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n    \"\n    [attr.aria-labelledby]=\"labelledBy\"\n    [attr.id]=\"triggerButtonId\"\n    [attr.title]=\"\n      label ||\n      (labelledBy\n        ? null\n        : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n    \"\n    [disabled]=\"disabled\"\n    [class.sky-colorpicker-button-disabled]=\"disabled\"\n    [class.sky-colorpicker-error]=\"\n      (ngControl?.touched || ngControl?.dirty) && ngControl?.errors\n    \"\n    [style.background-color]=\"backgroundColorForDisplay\"\n    (click)=\"onTriggerButtonClick()\"\n  >\n    @if (pickerButtonIcon) {\n      <sky-icon\n        *skyThemeIf=\"'default'\"\n        class=\"sky-colorpicker-button-icon\"\n        variant=\"solid\"\n        iconSize=\"s\"\n        [iconName]=\"pickerButtonIcon\"\n        [style.color]=\"iconColor\"\n      />\n      <sky-icon\n        *skyThemeIf=\"'modern'\"\n        class=\"sky-colorpicker-button-icon\"\n        variant=\"solid\"\n        [iconName]=\"pickerButtonIcon\"\n        [style.color]=\"iconColor\"\n      />\n    }\n    <ng-container *skyThemeIf=\"'modern'\">\n      <sky-icon\n        class=\"sky-colorpicker-button-modern-chevron\"\n        iconName=\"chevron-down\"\n        iconSize=\"xxs\"\n        [class.sky-colorpicker-button-modern-chevron-disabled]=\"disabled\"\n      />\n    </ng-container>\n  </button>\n\n  <ng-template #colorpickerTemplateRef>\n    <div\n      #colorpickerRef\n      class=\"sky-colorpicker-container\"\n      role=\"dialog\"\n      [attr.aria-labelledby]=\"triggerButtonId\"\n      [attr.id]=\"colorpickerId\"\n      [hidden]=\"!isPickerVisible\"\n      [skyThemeClass]=\"{\n        'sky-shadow': 'default',\n        'sky-elevation-4': 'modern'\n      }\"\n      [cdkTrapFocus]=\"true\"\n      [cdkTrapFocusAutoCapture]=\"false\"\n    >\n      <div class=\"sky-colorpicker\">\n        <div\n          class=\"saturation-lightness\"\n          [color]=\"slider.saturation - slider.value + ''\"\n          [skyColorpickerSlider]\n          [style.background-color]=\"hueSliderColor\"\n          [xAxis]=\"1\"\n          [yAxis]=\"1\"\n          (newColorContrast)=\"saturationAndLightness = $event\"\n        >\n          <div\n            class=\"cursor sky-rounded-circle\"\n            [style.left.px]=\"slider.saturation\"\n            [style.top.px]=\"slider.value\"\n          ></div>\n        </div>\n\n        <div class=\"box\">\n          <div class=\"left\">\n            <div class=\"selected-color-background sky-rounded-circle\"></div>\n            <div\n              class=\"selected-color sky-rounded-circle\"\n              [style.background-color]=\"selectedColor?.rgbaText\"\n            ></div>\n          </div>\n          <div class=\"right\">\n            <div\n              #hueSlider\n              class=\"hue\"\n              [skyColorpickerSlider]\n              [xAxis]=\"1\"\n              (newColorContrast)=\"hue = $event\"\n            >\n              <div\n                class=\"cursor sky-rounded-circle\"\n                [style.left.px]=\"slider.hue\"\n              ></div>\n            </div>\n            @if (allowTransparency) {\n              <div\n                #alphaSlider\n                class=\"alpha\"\n                [skyColorpickerSlider]\n                [style.background-color]=\"alphaSliderColor\"\n                [xAxis]=\"1\"\n                (newColorContrast)=\"alphaAxis = $event\"\n              >\n                <div\n                  class=\"cursor sky-rounded-circle\"\n                  [style.left.px]=\"slider.alpha\"\n                ></div>\n              </div>\n            }\n          </div>\n        </div>\n\n        <div\n          class=\"rgba-text\"\n          (keydown.enter)=\"onContainerEnterKeyDown($event)\"\n        >\n          <sky-input-box>\n            <label\n              class=\"sky-control-label\"\n              [attr.aria-label]=\"'skyux_colorpicker_aria_hex' | skyLibResources\"\n              [attr.for]=\"skyColorpickerHexId\"\n            >\n              {{ 'skyux_colorpicker_hex' | skyLibResources }}\n            </label>\n            <input\n              class=\"sky-form-control\"\n              pattern=\"^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$\"\n              [attr.id]=\"skyColorpickerHexId\"\n              [skyColorpickerText]\n              [value]=\"hexText\"\n              (newColorContrast)=\"hex = $event\"\n            />\n          </sky-input-box>\n\n          <fieldset\n            [attr.aria-label]=\"'skyux_colorpicker_aria_rgba' | skyLibResources\"\n          >\n            <sky-input-box>\n              <label\n                class=\"sky-control-label\"\n                [attr.aria-label]=\"\n                  'skyux_colorpicker_aria_red' | skyLibResources\n                \"\n                [attr.for]=\"skyColorpickerRedId\"\n              >\n                {{ 'skyux_colorpicker_red' | skyLibResources }}\n              </label>\n              <input\n                class=\"sky-form-control\"\n                max=\"255\"\n                min=\"0\"\n                pattern=\"[0-9]*\"\n                type=\"number\"\n                [attr.id]=\"skyColorpickerRedId\"\n                [maxRange]=\"255\"\n                [skyColorpickerText]\n                [value]=\"rgbaText?.red\"\n                (newColorContrast)=\"red = $event\"\n              />\n            </sky-input-box>\n            <sky-input-box>\n              <label\n                class=\"sky-control-label\"\n                [attr.aria-label]=\"\n                  'skyux_colorpicker_aria_green' | skyLibResources\n                \"\n                [attr.for]=\"skyColorpickerGreenId\"\n              >\n                {{ 'skyux_colorpicker_green' | skyLibResources }}\n              </label>\n              <input\n                class=\"sky-form-control\"\n                max=\"255\"\n                min=\"0\"\n                pattern=\"[0-9]*\"\n                type=\"number\"\n                [attr.id]=\"skyColorpickerGreenId\"\n                [maxRange]=\"255\"\n                [skyColorpickerText]\n                [value]=\"rgbaText?.green\"\n                (newColorContrast)=\"green = $event\"\n              />\n            </sky-input-box>\n            <sky-input-box>\n              <label\n                class=\"sky-control-label\"\n                [attr.aria-label]=\"\n                  'skyux_colorpicker_aria_blue' | skyLibResources\n                \"\n                [attr.for]=\"skyColorpickerBlueId\"\n              >\n                {{ 'skyux_colorpicker_blue' | skyLibResources }}\n              </label>\n              <input\n                class=\"sky-form-control\"\n                max=\"255\"\n                min=\"0\"\n                pattern=\"[0-9]*\"\n                type=\"number\"\n                [attr.id]=\"skyColorpickerBlueId\"\n                [maxRange]=\"255\"\n                [skyColorpickerText]\n                [value]=\"rgbaText?.blue\"\n                (newColorContrast)=\"blue = $event\"\n              />\n            </sky-input-box>\n            @if (allowTransparency) {\n              <sky-input-box>\n                <label\n                  class=\"sky-control-label\"\n                  [attr.aria-label]=\"\n                    'skyux_colorpicker_aria_alpha' | skyLibResources\n                  \"\n                  [attr.for]=\"skyColorpickerAlphaId\"\n                >\n                  {{ 'skyux_colorpicker_alpha' | skyLibResources }}\n                </label>\n                <input\n                  class=\"sky-form-control\"\n                  max=\"1\"\n                  min=\"0\"\n                  pattern=\"[0-9]+([\\.,][0-9]{1,2})?\"\n                  step=\"0.1\"\n                  type=\"number\"\n                  [attr.id]=\"skyColorpickerAlphaId\"\n                  [maxRange]=\"1\"\n                  [skyColorpickerText]\n                  [value]=\"rgbaText?.alpha\"\n                  (newColorContrast)=\"alphaColor = $event\"\n                />\n              </sky-input-box>\n            }\n          </fieldset>\n        </div>\n        @if (presetColors && presetColors.length) {\n          <div class=\"sky-colorpicker-preset-color-area\">\n            @for (\n              color of presetColors | slice: 0 : 12;\n              track color;\n              let i = $index\n            ) {\n              <button\n                class=\"sky-preset-color\"\n                type=\"button\"\n                [attr.aria-label]=\"\n                  ('skyux_colorpicker_preset_color' | skyLibResources) +\n                  ' ' +\n                  color\n                \"\n                [skyThemeClass]=\"{\n                  'sky-btn sky-btn-link': 'modern'\n                }\"\n                [style.backgroundColor]=\"color\"\n                (click)=\"onPresetClick(color)\"\n              ></button>\n            }\n          </div>\n        }\n      </div>\n\n      <div class=\"sky-colorpicker-footer\">\n        <section class=\"sky-colorpicker-column\">\n          <button\n            class=\"sky-btn sky-btn-primary sky-btn-colorpicker-apply\"\n            type=\"button\"\n            [attr.aria-label]=\"'skyux_colorpicker_apply' | skyLibResources\"\n            (click)=\"onApplyColorClick()\"\n          >\n            {{ 'skyux_colorpicker_apply' | skyLibResources }}\n          </button>\n          <button\n            class=\"sky-btn sky-btn-link sky-btn-colorpicker-close\"\n            type=\"button\"\n            [attr.aria-label]=\"'skyux_colorpicker_close' | skyLibResources\"\n            (click)=\"onCancelClick()\"\n          >\n            {{ 'skyux_colorpicker_close' | skyLibResources }}\n          </button>\n        </section>\n      </div>\n    </div>\n  </ng-template>\n  @if (allowTransparency) {\n    <span aria-hidden=\"true\" class=\"sky-colorpicker-checkered-background\">\n    </span>\n  }\n\n  @if (showResetButton) {\n    <button\n      type=\"button\"\n      [attr.aria-label]=\"'skyux_colorpicker_reset' | skyLibResources\"\n      [disabled]=\"disabled\"\n      [class.sky-colorpicker-reset-button-disabled]=\"disabled\"\n      [skyThemeClass]=\"{\n        'sky-colorpicker-reset-button': 'default',\n        'sky-btn sky-btn-icon-borderless sky-colorpicker-reset-button-modern':\n          'modern'\n      }\"\n      (click)=\"onResetClick()\"\n    >\n      <sky-icon *skyThemeIf=\"'default'\" iconName=\"close\" iconSize=\"s\" />\n      <sky-icon *skyThemeIf=\"'modern'\" iconName=\"delete\" />\n    </button>\n  }\n</div>\n\n<div #hintTextEl=\"skyId\" skyId>\n  @if (hintText) {\n    <div\n      class=\"sky-colorpicker-hint-text\"\n      [skyThemeClass]=\"{\n        'sky-font-deemphasized': 'default',\n        'sky-font-hint-text-s': 'modern'\n      }\"\n    >\n      {{ hintText }}\n    </div>\n  }\n</div>\n\n<sky-form-errors\n  [id]=\"errorId\"\n  [errors]=\"ngControl?.errors\"\n  [labelText]=\"labelText\"\n  [touched]=\"ngControl?.touched\"\n  [dirty]=\"ngControl?.dirty\"\n>\n  <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n","import { NgModule } from '@angular/core';\n\nimport { SkyColorpickerResourcesModule } from '../shared/sky-colorpicker-resources.module';\n\nimport { SkyColorpickerInputDirective } from './colorpicker-input.directive';\nimport { SkyColorpickerSliderDirective } from './colorpicker-slider.directive';\nimport { SkyColorpickerTextDirective } from './colorpicker-text.directive';\nimport { SkyColorpickerComponent } from './colorpicker.component';\n\n@NgModule({\n  imports: [\n    SkyColorpickerResourcesModule,\n    SkyColorpickerComponent,\n    SkyColorpickerInputDirective,\n    SkyColorpickerTextDirective,\n    SkyColorpickerSliderDirective,\n  ],\n  exports: [SkyColorpickerComponent, SkyColorpickerInputDirective],\n})\nexport class SkyColorpickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","takeUntil"],"mappings":"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"}