@skyux/colorpicker 7.3.0 → 7.4.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.
@@ -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.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":["/**\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 SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: 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_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};\n\nexport class SkyColorpickerResourcesProvider\n implements SkyLibResourcesProvider\n{\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyColorpickerResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyColorpickerResourcesModule {}\n","// spell-checker:ignore hsva, hsla, cmyk, denormalize, colorpicker,Injectable\nimport { 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: { [key: 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: { [key: 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) => {\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) => {\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 }\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: { [key: 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 HostBinding,\n HostListener,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n forwardRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n NgControl,\n UntypedFormControl,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { Subscription } from 'rxjs';\n\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})\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 * Specifies an 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 * 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 * Specifies the format to use 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 * Specifies an 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 * Specifies the type of transparency to use in the transparency slider.\n *@default \"hex6\"\n */\n @Input()\n public alphaChannel = 'hex6';\n\n /**\n * Indicates whether to display a transparency slider for users to select transparency\n * levels.\n */\n @Input()\n public allowTransparency = true;\n\n @HostBinding('readonly')\n protected get readonly(): boolean {\n return true;\n }\n\n @HostBinding('class.sky-colorpicker-input')\n protected get colorInputClass(): boolean {\n return true;\n }\n\n #modelValue: SkyColorpickerOutput | undefined;\n #pickerChangedSubscription: Subscription | undefined;\n #elementRef: ElementRef;\n #renderer: Renderer2;\n #svc: SkyColorpickerService;\n #resourcesSvc: SkyLibResourcesService;\n #injector: Injector;\n\n #_disabled: boolean | undefined;\n #_initialColor: string | undefined;\n\n constructor(\n elementRef: ElementRef,\n renderer: Renderer2,\n svc: SkyColorpickerService,\n resourcesSvc: SkyLibResourcesService,\n injector: Injector\n ) {\n this.#elementRef = elementRef;\n this.#renderer = renderer;\n this.#svc = svc;\n this.#resourcesSvc = resourcesSvc;\n this.#injector = injector;\n }\n\n @HostListener('input')\n public changeInput(): void {\n const value = this.#elementRef.nativeElement.value;\n this.skyColorpickerInput.updatePickerValues(value);\n this.skyColorpickerInput.backgroundColorForDisplay = value;\n }\n\n @HostListener('change')\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.#pickerChangedSubscription =\n this.skyColorpickerInput.selectedColorChanged.subscribe(\n (newColor: SkyColorpickerOutput) => {\n /* istanbul ignore else */\n if (newColor) {\n this.#modelValue = this.#formatter(newColor);\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 this.#writeModelValue(this.#modelValue!);\n }\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 if (this.#pickerChangedSubscription) {\n this.#pickerChangedSubscription.unsubscribe();\n }\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 const control: UntypedFormControl = this.#injector.get<NgControl>(\n NgControl\n ).control as UntypedFormControl;\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","// spell-checker:ignore Colorpicker\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\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 #el: ElementRef;\n\n constructor(el: ElementRef) {\n this.#el = el;\n this.#listenerMove = (event) => {\n this.move(event);\n };\n this.#listenerStop = () => {\n this.stop();\n };\n }\n\n @HostListener('touchstart', ['$event'])\n @HostListener('mousedown', ['$event'])\n public start(event: MouseEvent) {\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) {\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() {\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) {\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","// spell-checker:ignore Colorpicker\nimport {\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) {\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","// spell-checker:ignore colorpicker\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 * Specifies 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 {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n SkyAffixAutoFitContext,\n SkyAffixService,\n SkyAffixer,\n SkyCoreAdapterService,\n SkyOverlayInstance,\n SkyOverlayService,\n} from '@skyux/core';\nimport { SkyIconType } from '@skyux/indicators';\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SliderDimension, SliderPosition } from './colorpicker-classes';\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 * Provides a 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: [SkyColorpickerService],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SkyColorpickerComponent implements OnInit, OnDestroy {\n /**\n * Specifies the name of the [Font Awesome 4.7](https://fontawesome.com/v4.7/icons/) icon to overlay on top of the picker. Do not specify the `fa fa-` classes.\n * @internal\n */\n @Input()\n public pickerButtonIcon: string | undefined;\n\n /**\n * Specifies the type of icon to display. Specifying `fa` will display a Font Awesome icon, while specifying `skyux` will display an icon from the custom SKY UX icon font. Note that the custom SKY UX icon font is currently in beta.\n * @internal\n */\n @Input()\n public pickerButtonIconType: SkyIconType = 'fa';\n\n /**\n * Specifies an 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 * Specifies the HTML element ID (without the leading `#`) 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 * 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 * Provides an 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 * Indicates 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 }\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 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\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 #affixSvc: SkyAffixService;\n #changeDetector: ChangeDetectorRef;\n #coreAdapter: SkyCoreAdapterService;\n #overlaySvc: SkyOverlayService;\n #svc: SkyColorpickerService;\n #themeSvc: SkyThemeService | undefined;\n\n #_backgroundColorForDisplay: string | undefined;\n #_colorpickerRef: ElementRef | undefined;\n #_disabled = false;\n\n constructor(\n affixSvc: SkyAffixService,\n changeDetector: ChangeDetectorRef,\n coreAdapter: SkyCoreAdapterService,\n overlaySvc: SkyOverlayService,\n svc: SkyColorpickerService,\n @Optional() themeSvc?: SkyThemeService\n ) {\n this.#affixSvc = affixSvc;\n this.#changeDetector = changeDetector;\n this.#coreAdapter = coreAdapter;\n this.#overlaySvc = overlaySvc;\n this.#svc = svc;\n this.#themeSvc = themeSvc;\n\n componentIdIndex++;\n\n this.#idIndex = componentIdIndex;\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: Array<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 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.#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 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 public onCancelClick(): void {\n // Revert picker values back to previous color.\n this.updatePickerValues(this.backgroundColorForDisplay);\n this.closePicker();\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 #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) {\n this.messageStream.next({ type });\n }\n\n #handleIncomingMessages(message: SkyColorpickerMessage) {\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 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 });\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 // http://www.w3.org/TR/AERT#color-contrast\n #getAccessibleIconColor(\n backgroundColor: SkyColorpickerOutput | undefined\n ): string | undefined {\n if (backgroundColor) {\n const rgb = backgroundColor.rgba;\n const brightness = Math.round(\n (rgb.red * 299 + rgb.green * 587 + rgb.blue * 114) / 1000\n );\n return brightness > 125 ? 'rgb(0, 0, 0)' : 'rgb(255, 255, 255)';\n }\n /* istanbul ignore next */\n return undefined;\n }\n}\n","<div\n class=\"sky-input-group\"\n [ngClass]=\"{\n 'sky-colorpicker-hidden': !isVisible,\n 'sky-colorpicker-disabled': disabled\n }\"\n>\n <div [hidden]=\"true\">\n <ng-content></ng-content>\n </div>\n\n <button\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-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 [ngClass]=\"{\n 'sky-colorpicker-button-disabled': disabled\n }\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-sm': 'modern'\n }\"\n [style.background-color]=\"backgroundColorForDisplay\"\n (click)=\"onTriggerButtonClick()\"\n #triggerButtonRef\n >\n <sky-icon\n *ngIf=\"pickerButtonIcon\"\n class=\"sky-colorpicker-button-icon\"\n [icon]=\"pickerButtonIcon\"\n [iconType]=\"pickerButtonIconType\"\n [size]=\"'1x'\"\n [style.color]=\"iconColor\"\n >\n </sky-icon>\n <ng-container *skyThemeIf=\"'modern'\">\n <sky-icon\n class=\"sky-colorpicker-button-modern-chevron\"\n icon=\"chevron-down\"\n iconType=\"skyux\"\n size=\"xs\"\n [ngClass]=\"{\n 'sky-colorpicker-button-modern-chevron-disabled': disabled\n }\"\n >\n </sky-icon>\n </ng-container>\n </button>\n\n <ng-template #colorpickerTemplateRef>\n <div\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 #colorpickerRef\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 class=\"hue\"\n [skyColorpickerSlider]\n [xAxis]=\"1\"\n (newColorContrast)=\"hue = $event\"\n #hueSlider\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.hue\"\n ></div>\n </div>\n <div\n *ngIf=\"this.allowTransparency\"\n class=\"alpha\"\n [skyColorpickerSlider]\n [style.background-color]=\"alphaSliderColor\"\n [xAxis]=\"1\"\n (newColorContrast)=\"alphaAxis = $event\"\n #alphaSlider\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.alpha\"\n ></div>\n </div>\n </div>\n </div>\n\n <div class=\"rgba-text\">\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 <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_red' | skyLibResources\"\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 <sky-input-box *ngIf=\"this.allowTransparency\">\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 </div>\n <div\n *ngIf=\"presetColors && presetColors.length\"\n class=\"sky-colorpicker-preset-color-area\"\n >\n <button\n *ngFor=\"let color of presetColors | slice: 0:12; let i = index\"\n type=\"button\"\n [attr.aria-label]=\"\n ('skyux_colorpicker_preset_color' | skyLibResources) + ' ' + color\n \"\n [skyThemeClass]=\"{\n 'sky-preset-color': 'default',\n 'sky-btn sky-btn-link': 'modern'\n }\"\n [style.backgroundColor]=\"color\"\n (click)=\"onPresetClick(color)\"\n ></button>\n </div>\n </div>\n\n <div\n class=\"sky-colorpicker-footer\"\n [skyThemeClass]=\"{\n 'sky-padding-even-large': 'default'\n }\"\n >\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 [skyThemeClass]=\"{ 'sky-margin-inline-sm': 'modern' }\"\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 <span\n *ngIf=\"allowTransparency\"\n aria-hidden=\"true\"\n class=\"sky-colorpicker-checkered-background\"\n >\n </span>\n\n <button\n *ngIf=\"showResetButton\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_reset' | skyLibResources\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-reset-button-disabled': disabled\n }\"\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'\" icon=\"times\" size=\"sm\"> </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"trash\" iconType=\"skyux\" size=\"lg\">\n </sky-icon>\n </button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyAffixModule, SkyOverlayModule } from '@skyux/core';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyI18nModule } from '@skyux/i18n';\nimport { SkyIconModule } from '@skyux/indicators';\nimport { SkyThemeModule } from '@skyux/theme';\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 declarations: [\n SkyColorpickerComponent,\n SkyColorpickerInputDirective,\n SkyColorpickerTextDirective,\n SkyColorpickerSliderDirective,\n ],\n imports: [\n CommonModule,\n SkyAffixModule,\n SkyColorpickerResourcesModule,\n SkyI18nModule,\n SkyIconModule,\n SkyInputBoxModule,\n SkyOverlayModule,\n SkyThemeModule,\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.SkyColorpickerService","i2.SkyColorpickerService","i7.SkyColorpickerTextDirective","i8.SkyColorpickerSliderDirective","i9"],"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.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":["/**\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 SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: 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_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};\n\nexport class SkyColorpickerResourcesProvider\n implements SkyLibResourcesProvider\n{\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyColorpickerResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyColorpickerResourcesModule {}\n","// spell-checker:ignore hsva, hsla, cmyk, denormalize, colorpicker,Injectable\nimport { 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: { [key: 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: { [key: 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) => {\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) => {\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 }\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: { [key: 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 HostBinding,\n HostListener,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n forwardRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n NgControl,\n UntypedFormControl,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { Subscription } from 'rxjs';\n\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})\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 * Specifies an 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 * 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 * Specifies the format to use 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 * Specifies an 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 * Specifies the type of transparency to use in the transparency slider.\n *@default \"hex6\"\n */\n @Input()\n public alphaChannel = 'hex6';\n\n /**\n * Indicates whether to display a transparency slider for users to select transparency\n * levels.\n */\n @Input()\n public allowTransparency = true;\n\n @HostBinding('readonly')\n protected get readonly(): boolean {\n return true;\n }\n\n @HostBinding('class.sky-colorpicker-input')\n protected get colorInputClass(): boolean {\n return true;\n }\n\n #modelValue: SkyColorpickerOutput | undefined;\n #pickerChangedSubscription: Subscription | undefined;\n #elementRef: ElementRef;\n #renderer: Renderer2;\n #svc: SkyColorpickerService;\n #resourcesSvc: SkyLibResourcesService;\n #injector: Injector;\n\n #_disabled: boolean | undefined;\n #_initialColor: string | undefined;\n\n constructor(\n elementRef: ElementRef,\n renderer: Renderer2,\n svc: SkyColorpickerService,\n resourcesSvc: SkyLibResourcesService,\n injector: Injector\n ) {\n this.#elementRef = elementRef;\n this.#renderer = renderer;\n this.#svc = svc;\n this.#resourcesSvc = resourcesSvc;\n this.#injector = injector;\n }\n\n @HostListener('input')\n public changeInput(): void {\n const value = this.#elementRef.nativeElement.value;\n this.skyColorpickerInput.updatePickerValues(value);\n this.skyColorpickerInput.backgroundColorForDisplay = value;\n }\n\n @HostListener('change')\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.#pickerChangedSubscription =\n this.skyColorpickerInput.selectedColorChanged.subscribe(\n (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\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 if (this.#pickerChangedSubscription) {\n this.#pickerChangedSubscription.unsubscribe();\n }\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 const control: UntypedFormControl = this.#injector.get<NgControl>(\n NgControl\n ).control as UntypedFormControl;\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","// spell-checker:ignore Colorpicker\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\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 #el: ElementRef;\n\n constructor(el: ElementRef) {\n this.#el = el;\n this.#listenerMove = (event) => {\n this.move(event);\n };\n this.#listenerStop = () => {\n this.stop();\n };\n }\n\n @HostListener('touchstart', ['$event'])\n @HostListener('mousedown', ['$event'])\n public start(event: MouseEvent) {\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) {\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() {\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) {\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","// spell-checker:ignore Colorpicker\nimport {\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) {\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","// spell-checker:ignore colorpicker\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 * Specifies 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 {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n SkyAffixAutoFitContext,\n SkyAffixService,\n SkyAffixer,\n SkyCoreAdapterService,\n SkyOverlayInstance,\n SkyOverlayService,\n} from '@skyux/core';\nimport { SkyIconType } from '@skyux/indicators';\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SliderDimension, SliderPosition } from './colorpicker-classes';\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 * Provides a 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: [SkyColorpickerService],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SkyColorpickerComponent implements OnInit, OnDestroy {\n /**\n * Specifies the name of the [Font Awesome 4.7](https://fontawesome.com/v4.7/icons/) icon to overlay on top of the picker. Do not specify the `fa fa-` classes.\n * @internal\n */\n @Input()\n public pickerButtonIcon: string | undefined;\n\n /**\n * Specifies the type of icon to display. Specifying `fa` will display a Font Awesome icon, while specifying `skyux` will display an icon from the custom SKY UX icon font. Note that the custom SKY UX icon font is currently in beta.\n * @internal\n */\n @Input()\n public pickerButtonIconType: SkyIconType = 'fa';\n\n /**\n * Specifies an 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 * Specifies the HTML element ID (without the leading `#`) 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 * 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 * Provides an 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 * Indicates 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 }\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 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\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 #affixSvc: SkyAffixService;\n #changeDetector: ChangeDetectorRef;\n #coreAdapter: SkyCoreAdapterService;\n #overlaySvc: SkyOverlayService;\n #svc: SkyColorpickerService;\n #themeSvc: SkyThemeService | undefined;\n\n #_backgroundColorForDisplay: string | undefined;\n #_colorpickerRef: ElementRef | undefined;\n #_disabled = false;\n\n constructor(\n affixSvc: SkyAffixService,\n changeDetector: ChangeDetectorRef,\n coreAdapter: SkyCoreAdapterService,\n overlaySvc: SkyOverlayService,\n svc: SkyColorpickerService,\n @Optional() themeSvc?: SkyThemeService\n ) {\n this.#affixSvc = affixSvc;\n this.#changeDetector = changeDetector;\n this.#coreAdapter = coreAdapter;\n this.#overlaySvc = overlaySvc;\n this.#svc = svc;\n this.#themeSvc = themeSvc;\n\n componentIdIndex++;\n\n this.#idIndex = componentIdIndex;\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: Array<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 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.#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 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 public onCancelClick(): void {\n // Revert picker values back to previous color.\n this.updatePickerValues(this.backgroundColorForDisplay);\n this.closePicker();\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 #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) {\n this.messageStream.next({ type });\n }\n\n #handleIncomingMessages(message: SkyColorpickerMessage) {\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 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 });\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 // http://www.w3.org/TR/AERT#color-contrast\n #getAccessibleIconColor(\n backgroundColor: SkyColorpickerOutput | undefined\n ): string | undefined {\n if (backgroundColor) {\n const rgb = backgroundColor.rgba;\n const brightness = Math.round(\n (rgb.red * 299 + rgb.green * 587 + rgb.blue * 114) / 1000\n );\n return brightness > 125 ? 'rgb(0, 0, 0)' : 'rgb(255, 255, 255)';\n }\n /* istanbul ignore next */\n return undefined;\n }\n}\n","<div\n class=\"sky-input-group\"\n [ngClass]=\"{\n 'sky-colorpicker-hidden': !isVisible,\n 'sky-colorpicker-disabled': disabled\n }\"\n>\n <div [hidden]=\"true\">\n <ng-content></ng-content>\n </div>\n\n <button\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-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 [ngClass]=\"{\n 'sky-colorpicker-button-disabled': disabled\n }\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-sm': 'modern'\n }\"\n [style.background-color]=\"backgroundColorForDisplay\"\n (click)=\"onTriggerButtonClick()\"\n #triggerButtonRef\n >\n <sky-icon\n *ngIf=\"pickerButtonIcon\"\n class=\"sky-colorpicker-button-icon\"\n [icon]=\"pickerButtonIcon\"\n [iconType]=\"pickerButtonIconType\"\n [size]=\"'1x'\"\n [style.color]=\"iconColor\"\n >\n </sky-icon>\n <ng-container *skyThemeIf=\"'modern'\">\n <sky-icon\n class=\"sky-colorpicker-button-modern-chevron\"\n icon=\"chevron-down\"\n iconType=\"skyux\"\n size=\"xs\"\n [ngClass]=\"{\n 'sky-colorpicker-button-modern-chevron-disabled': disabled\n }\"\n >\n </sky-icon>\n </ng-container>\n </button>\n\n <ng-template #colorpickerTemplateRef>\n <div\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 #colorpickerRef\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 class=\"hue\"\n [skyColorpickerSlider]\n [xAxis]=\"1\"\n (newColorContrast)=\"hue = $event\"\n #hueSlider\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.hue\"\n ></div>\n </div>\n <div\n *ngIf=\"this.allowTransparency\"\n class=\"alpha\"\n [skyColorpickerSlider]\n [style.background-color]=\"alphaSliderColor\"\n [xAxis]=\"1\"\n (newColorContrast)=\"alphaAxis = $event\"\n #alphaSlider\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.alpha\"\n ></div>\n </div>\n </div>\n </div>\n\n <div class=\"rgba-text\">\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 <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_red' | skyLibResources\"\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 <sky-input-box *ngIf=\"this.allowTransparency\">\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 </div>\n <div\n *ngIf=\"presetColors && presetColors.length\"\n class=\"sky-colorpicker-preset-color-area\"\n >\n <button\n *ngFor=\"let color of presetColors | slice: 0:12; let i = index\"\n type=\"button\"\n [attr.aria-label]=\"\n ('skyux_colorpicker_preset_color' | skyLibResources) + ' ' + color\n \"\n [skyThemeClass]=\"{\n 'sky-preset-color': 'default',\n 'sky-btn sky-btn-link': 'modern'\n }\"\n [style.backgroundColor]=\"color\"\n (click)=\"onPresetClick(color)\"\n ></button>\n </div>\n </div>\n\n <div\n class=\"sky-colorpicker-footer\"\n [skyThemeClass]=\"{\n 'sky-padding-even-large': 'default'\n }\"\n >\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 [skyThemeClass]=\"{ 'sky-margin-inline-sm': 'modern' }\"\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 <span\n *ngIf=\"allowTransparency\"\n aria-hidden=\"true\"\n class=\"sky-colorpicker-checkered-background\"\n >\n </span>\n\n <button\n *ngIf=\"showResetButton\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_reset' | skyLibResources\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-reset-button-disabled': disabled\n }\"\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'\" icon=\"times\" size=\"sm\"> </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"trash\" iconType=\"skyux\" size=\"lg\">\n </sky-icon>\n </button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyAffixModule, SkyOverlayModule } from '@skyux/core';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyI18nModule } from '@skyux/i18n';\nimport { SkyIconModule } from '@skyux/indicators';\nimport { SkyThemeModule } from '@skyux/theme';\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 declarations: [\n SkyColorpickerComponent,\n SkyColorpickerInputDirective,\n SkyColorpickerTextDirective,\n SkyColorpickerSliderDirective,\n ],\n imports: [\n CommonModule,\n SkyAffixModule,\n SkyColorpickerResourcesModule,\n SkyI18nModule,\n SkyIconModule,\n SkyInputBoxModule,\n SkyOverlayModule,\n SkyThemeModule,\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.SkyColorpickerService","i2.SkyColorpickerService","i7.SkyColorpickerTextDirective","i8.SkyColorpickerSliderDirective","i9"],"mappings":"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"}
@@ -519,9 +519,8 @@ class SkyColorpickerInputDirective {
519
519
  /* istanbul ignore else */
520
520
  if (newColor) {
521
521
  __classPrivateFieldSet(this, _SkyColorpickerInputDirective_modelValue, __classPrivateFieldGet(this, _SkyColorpickerInputDirective_instances, "m", _SkyColorpickerInputDirective_formatter).call(this, newColor), "f");
522
- // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?
523
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
524
- __classPrivateFieldGet(this, _SkyColorpickerInputDirective_instances, "m", _SkyColorpickerInputDirective_writeModelValue).call(this, __classPrivateFieldGet(this, _SkyColorpickerInputDirective_modelValue, "f"));
522
+ // Write the new value to the reactive form control, which will update the template model
523
+ this.writeValue(newColor);
525
524
  }
526
525
  }), "f");
527
526
  this.skyColorpickerInput.updatePickerValues(this.initialColor);