@skyux/colorpicker 14.20.0 → 14.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -122,11 +122,17 @@ class SkyColorpickerInputService {
122
122
  this.inputId = new ReplaySubject(1);
123
123
  this.labelText = new ReplaySubject(1);
124
124
  this.ariaError = new ReplaySubject(1);
125
+ /**
126
+ * Notifies the input directive that the colorpicker was reset to an
127
+ * originally-empty value and its bound value should be cleared.
128
+ */
129
+ this.clearValue = new Subject();
125
130
  }
126
131
  ngOnDestroy() {
127
132
  this.inputId.complete();
128
133
  this.labelText.complete();
129
134
  this.ariaError.complete();
135
+ this.clearValue.complete();
130
136
  }
131
137
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkyColorpickerInputService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
132
138
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SkyColorpickerInputService }); }
@@ -582,7 +588,7 @@ class SkyColorpickerInputDirective {
582
588
  ngOnInit() {
583
589
  const element = this.#elementRef.nativeElement;
584
590
  this.#renderer.addClass(element, 'sky-form-control');
585
- this.skyColorpickerInput.initialColor = this.initialColor;
591
+ this.skyColorpickerInput.initialColor = this.#_initialColor;
586
592
  this.skyColorpickerInput.returnFormat = this.returnFormat;
587
593
  this.skyColorpickerInput.selectedColorChanged
588
594
  .pipe(takeUntil(this.#ngUnsubscribe))
@@ -590,10 +596,17 @@ class SkyColorpickerInputDirective {
590
596
  /* istanbul ignore else */
591
597
  if (newColor) {
592
598
  this.#modelValue = this.#formatter(newColor);
593
- // Write the new value to the reactive form control, which will update the template model
594
- this.writeValue(newColor);
599
+ // Write the new value to the reactive form control, which will
600
+ // update the template model. This must not capture `newColor` as
601
+ // the initial/reset color, since it is a color the user applied.
602
+ this.#applyValue(newColor, false);
595
603
  }
596
604
  });
605
+ this.#colorpickerInputSvc.clearValue
606
+ .pipe(takeUntil(this.#ngUnsubscribe))
607
+ .subscribe(() => {
608
+ this.#clearValue();
609
+ });
597
610
  this.#colorpickerInputSvc.labelText
598
611
  .pipe(takeUntil(this.#ngUnsubscribe))
599
612
  .subscribe((labelText) => {
@@ -644,7 +657,7 @@ class SkyColorpickerInputDirective {
644
657
  this.#ngUnsubscribe.complete();
645
658
  }
646
659
  setColorPickerDefaults() {
647
- this.skyColorpickerInput.setDialog(this.initialColor, this.outputFormat, this.presetColors, this.alphaChannel, this.allowTransparency);
660
+ this.skyColorpickerInput.setDialog(this.#_initialColor, this.outputFormat, this.presetColors, this.alphaChannel, this.allowTransparency);
648
661
  }
649
662
  ngOnChanges() {
650
663
  this.skyColorpickerInput.returnFormat = this.returnFormat;
@@ -658,24 +671,13 @@ class SkyColorpickerInputDirective {
658
671
  registerOnValidatorChange() { }
659
672
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
660
673
  writeValue(value) {
661
- if (this.skyColorpickerInput &&
662
- value &&
663
- value !== this.skyColorpickerInput.lastAppliedColor) {
664
- const formattedValue = this.#formatter(value);
665
- this.#modelValue = formattedValue;
666
- this.#writeModelValue(formattedValue);
667
- if (!this.#_initialColor) {
668
- this.#_initialColor = value;
669
- this.skyColorpickerInput.initialColor = value;
670
- }
671
- this.skyColorpickerInput.lastAppliedColor = value;
672
- const control = this.#injector.get(NgControl, undefined, {
673
- optional: true,
674
- })?.control;
675
- if (control) {
676
- control.setValue(this.#modelValue, { emitEvent: false });
674
+ if (!value) {
675
+ if (this.#modelValue) {
676
+ this.#clearInputDisplay();
677
677
  }
678
+ return;
678
679
  }
680
+ this.#applyValue(value, true);
679
681
  }
680
682
  validate() {
681
683
  return null;
@@ -716,6 +718,49 @@ class SkyColorpickerInputDirective {
716
718
  this.#renderer.setStyle(element, 'background-color', setElementValue);
717
719
  this.#renderer.setProperty(element, 'value', output);
718
720
  }
721
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
722
+ #applyValue(value, captureInitial) {
723
+ if (this.skyColorpickerInput &&
724
+ value &&
725
+ value !== this.skyColorpickerInput.lastAppliedColor) {
726
+ const formattedValue = this.#formatter(value);
727
+ this.#modelValue = formattedValue;
728
+ this.#writeModelValue(formattedValue);
729
+ if (captureInitial && !this.#_initialColor) {
730
+ this.#_initialColor = value;
731
+ this.skyColorpickerInput.initialColor = value;
732
+ }
733
+ this.skyColorpickerInput.lastAppliedColor = value;
734
+ const control = this.#injector.get(NgControl, undefined, {
735
+ optional: true,
736
+ })?.control;
737
+ if (control) {
738
+ control.setValue(this.#modelValue, { emitEvent: false });
739
+ }
740
+ }
741
+ }
742
+ // Resets the input to its originally-empty state, without falling back to
743
+ // the deprecated `initialColor` input's white default.
744
+ #clearValue() {
745
+ this.#clearInputDisplay();
746
+ const control = this.#injector.get(NgControl, undefined, {
747
+ optional: true,
748
+ })?.control;
749
+ control?.setValue(undefined, { emitEvent: false });
750
+ }
751
+ #clearInputDisplay() {
752
+ this.#modelValue = undefined;
753
+ if (this.skyColorpickerInput) {
754
+ this.skyColorpickerInput.lastAppliedColor = undefined;
755
+ // Return the picker itself to the state it has before any color is
756
+ // selected so that it neither displays nor reapplies the cleared color.
757
+ this.skyColorpickerInput.updatePickerValues(SKY_COLORPICKER_DEFAULT_COLOR);
758
+ this.skyColorpickerInput.backgroundColorForDisplay = undefined;
759
+ }
760
+ const element = this.#elementRef.nativeElement;
761
+ this.#renderer.removeStyle(element, 'background-color');
762
+ this.#renderer.setProperty(element, 'value', '');
763
+ }
719
764
  #formatter(color) {
720
765
  if (color && typeof color !== 'string') {
721
766
  return color;
@@ -1334,12 +1379,18 @@ class SkyColorpickerComponent {
1334
1379
  }
1335
1380
  break;
1336
1381
  case SkyColorpickerMessageType.Reset:
1337
- this.updatePickerValues(this.initialColor);
1338
- this.backgroundColorForDisplay = this.initialColor;
1339
- this.selectedColorChanged.emit(this.selectedColor);
1340
- // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?
1341
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1342
- this.selectedColorApplied.emit({ color: this.selectedColor });
1382
+ if (this.initialColor) {
1383
+ this.updatePickerValues(this.initialColor);
1384
+ this.backgroundColorForDisplay = this.initialColor;
1385
+ this.selectedColorChanged.emit(this.selectedColor);
1386
+ // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?
1387
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1388
+ this.selectedColorApplied.emit({ color: this.selectedColor });
1389
+ }
1390
+ else {
1391
+ this.#colorpickerInputSvc.clearValue.next();
1392
+ }
1393
+ this.ngControl?.control?.markAsPristine();
1343
1394
  break;
1344
1395
  case SkyColorpickerMessageType.ToggleResetButton:
1345
1396
  this.showResetButton = !this.showResetButton;
@@ -1 +1 @@
1
- {"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 ES: {\n skyux_colorpicker_alpha: { message: 'A:' },\n skyux_colorpicker_apply: { message: 'Aplicar' },\n skyux_colorpicker_aria_alpha: {\n message: 'Valor del canal alfa entre 0 y 1',\n },\n skyux_colorpicker_aria_blue: { message: 'Valor de azul entre 0 y 255' },\n skyux_colorpicker_aria_green: { message: 'Valor de verde entre 0 y 255' },\n skyux_colorpicker_aria_hex: { message: 'Código de color hexadecimal' },\n skyux_colorpicker_aria_red: { message: 'Valor de rojo entre 0 y 255' },\n skyux_colorpicker_aria_rgba: { message: 'Valores RGBA' },\n skyux_colorpicker_blue: { message: 'B:' },\n skyux_colorpicker_close: { message: 'Cancelar' },\n skyux_colorpicker_dropdown_button: {\n message: 'Seleccionar valor de color',\n },\n skyux_colorpicker_green: { message: 'G:' },\n skyux_colorpicker_hex: { message: 'Hex:' },\n skyux_colorpicker_input_default_label: { message: 'Valor de color' },\n skyux_colorpicker_preset_color: { message: 'Color preestablecido:' },\n skyux_colorpicker_red: { message: 'R:' },\n skyux_colorpicker_reset: {\n message: 'Restablecer el valor de color a blanco',\n },\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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"}
1
+ {"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 ES: {\n skyux_colorpicker_alpha: { message: 'A:' },\n skyux_colorpicker_apply: { message: 'Aplicar' },\n skyux_colorpicker_aria_alpha: {\n message: 'Valor del canal alfa entre 0 y 1',\n },\n skyux_colorpicker_aria_blue: { message: 'Valor de azul entre 0 y 255' },\n skyux_colorpicker_aria_green: { message: 'Valor de verde entre 0 y 255' },\n skyux_colorpicker_aria_hex: { message: 'Código de color hexadecimal' },\n skyux_colorpicker_aria_red: { message: 'Valor de rojo entre 0 y 255' },\n skyux_colorpicker_aria_rgba: { message: 'Valores RGBA' },\n skyux_colorpicker_blue: { message: 'B:' },\n skyux_colorpicker_close: { message: 'Cancelar' },\n skyux_colorpicker_dropdown_button: {\n message: 'Seleccionar valor de color',\n },\n skyux_colorpicker_green: { message: 'G:' },\n skyux_colorpicker_hex: { message: 'Hex:' },\n skyux_colorpicker_input_default_label: { message: 'Valor de color' },\n skyux_colorpicker_preset_color: { message: 'Color preestablecido:' },\n skyux_colorpicker_red: { message: 'R:' },\n skyux_colorpicker_reset: {\n message: 'Restablecer el valor de color a blanco',\n },\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, Subject } 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 /**\n * Notifies the input directive that the colorpicker was reset to an\n * originally-empty value and its bound value should be cleared.\n */\n public clearValue = new Subject<void>();\n\n public ngOnDestroy(): void {\n this.inputId.complete();\n this.labelText.complete();\n this.ariaError.complete();\n this.clearValue.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\n // update the template model. This must not capture `newColor` as\n // the initial/reset color, since it is a color the user applied.\n this.#applyValue(newColor, false);\n }\n });\n\n this.#colorpickerInputSvc.clearValue\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n this.#clearValue();\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 (!value) {\n if (this.#modelValue) {\n this.#clearInputDisplay();\n }\n\n return;\n }\n\n this.#applyValue(value, true);\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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\n #applyValue(value: any, captureInitial: boolean): 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 (captureInitial && !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 // Resets the input to its originally-empty state, without falling back to\n // the deprecated `initialColor` input's white default.\n #clearValue(): void {\n this.#clearInputDisplay();\n\n const control = this.#injector.get<NgControl>(NgControl, undefined, {\n optional: true,\n })?.control;\n\n control?.setValue(undefined, { emitEvent: false });\n }\n\n #clearInputDisplay(): void {\n this.#modelValue = undefined;\n\n if (this.skyColorpickerInput) {\n this.skyColorpickerInput.lastAppliedColor = undefined;\n // Return the picker itself to the state it has before any color is\n // selected so that it neither displays nor reapplies the cleared color.\n this.skyColorpickerInput.updatePickerValues(\n SKY_COLORPICKER_DEFAULT_COLOR,\n );\n this.skyColorpickerInput.backgroundColorForDisplay = undefined;\n }\n\n const element = this.#elementRef.nativeElement;\n this.#renderer.removeStyle(element, 'background-color');\n this.#renderer.setProperty(element, 'value', '');\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 if (this.initialColor) {\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 } else {\n this.#colorpickerInputSvc.clearValue.next();\n }\n this.ngControl?.control?.markAsPristine();\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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/colorpicker",
3
- "version": "14.20.0",
3
+ "version": "14.21.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -21,13 +21,13 @@
21
21
  "@angular/core": "^21.2.0",
22
22
  "@angular/forms": "^21.2.0",
23
23
  "@angular/platform-browser": "^21.2.0",
24
- "@skyux-sdk/testing": "14.20.0",
25
- "@skyux/core": "14.20.0",
26
- "@skyux/forms": "14.20.0",
27
- "@skyux/help-inline": "14.20.0",
28
- "@skyux/i18n": "14.20.0",
29
- "@skyux/icon": "14.20.0",
30
- "@skyux/theme": "14.20.0"
24
+ "@skyux-sdk/testing": "14.21.0",
25
+ "@skyux/core": "14.21.0",
26
+ "@skyux/forms": "14.21.0",
27
+ "@skyux/help-inline": "14.21.0",
28
+ "@skyux/i18n": "14.21.0",
29
+ "@skyux/icon": "14.21.0",
30
+ "@skyux/theme": "14.21.0"
31
31
  },
32
32
  "dependencies": {
33
33
  "tslib": "^2.8.1"