@skyux/colorpicker 14.0.0 → 14.0.1

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-input.service.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.service.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-input.directive.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-slider.directive.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-text.directive.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-classes.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/types/colorpicker-message-type.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.component.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.component.html","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.module.ts","../../../../../libs/components/colorpicker/src/skyux-colorpicker.ts"],"sourcesContent":["/* istanbul ignore file */\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-colorpicker' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_colorpicker_alpha: { message: 'A:' },\n skyux_colorpicker_apply: { message: 'Apply' },\n skyux_colorpicker_aria_alpha: {\n message: 'Alpha channel value between 0 and 1',\n },\n skyux_colorpicker_aria_blue: { message: 'Blue value between 0 and 255' },\n skyux_colorpicker_aria_green: { message: 'Green value between 0 and 255' },\n skyux_colorpicker_aria_hex: { message: 'Hexadecimal color code' },\n skyux_colorpicker_aria_red: { message: 'Red value between 0 and 255' },\n skyux_colorpicker_aria_rgba: { message: 'RGBA values' },\n skyux_colorpicker_blue: { message: 'B:' },\n skyux_colorpicker_close: { message: 'Cancel' },\n skyux_colorpicker_dropdown_button: { message: 'Select color value' },\n skyux_colorpicker_green: { message: 'G:' },\n skyux_colorpicker_hex: { message: 'Hex:' },\n skyux_colorpicker_input_default_label: { message: 'Color value' },\n skyux_colorpicker_preset_color: { message: 'Preset Color:' },\n skyux_colorpicker_red: { message: 'R:' },\n skyux_colorpicker_reset: { message: 'Reset color value to white' },\n },\n 'FR-CA': {\n skyux_colorpicker_alpha: { message: 'A :' },\n skyux_colorpicker_apply: { message: 'Appliquer' },\n skyux_colorpicker_aria_alpha: {\n message: 'Valeur du canal alpha entre 0 et 1',\n },\n skyux_colorpicker_aria_blue: { message: 'Valeur bleue entre 0 et 255' },\n skyux_colorpicker_aria_green: { message: 'Valeur verte entre 0 et 255' },\n skyux_colorpicker_aria_hex: { message: 'Code de couleur hexadécimal' },\n skyux_colorpicker_aria_red: { message: 'Valeur rouge entre 0 et 255' },\n skyux_colorpicker_aria_rgba: { message: 'Valeurs RGBA' },\n skyux_colorpicker_blue: { message: 'B :' },\n skyux_colorpicker_close: { message: 'Annuler' },\n skyux_colorpicker_dropdown_button: {\n message: 'Sélectionner la valeur de la couleur',\n },\n skyux_colorpicker_green: { message: 'G :' },\n skyux_colorpicker_hex: { message: 'Hexadécimale :' },\n skyux_colorpicker_input_default_label: { message: 'Valeur de la couleur' },\n skyux_colorpicker_preset_color: { message: 'Couleur prédéfinie :' },\n skyux_colorpicker_red: { message: 'R :' },\n skyux_colorpicker_reset: {\n message: 'Réinitialiser la valeur de la couleur à blanc',\n },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkyColorpickerResourcesModule {}\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { ReplaySubject } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyColorpickerInputService implements OnDestroy {\n public inputId = new ReplaySubject<string>(1);\n public labelText = new ReplaySubject<string | undefined>(1);\n public ariaError = new ReplaySubject<{ hasError: boolean; errorId: string }>(\n 1,\n );\n\n public ngOnDestroy(): void {\n this.inputId.complete();\n this.labelText.complete();\n this.ariaError.complete();\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkyColorpickerCmyk } from './types/colorpicker-cmyk';\nimport { SkyColorpickerHsla } from './types/colorpicker-hsla';\nimport { SkyColorpickerHsva } from './types/colorpicker-hsva';\nimport { SkyColorpickerOutput } from './types/colorpicker-output';\nimport { SkyColorpickerRgba } from './types/colorpicker-rgba';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyColorpickerService {\n public rgbaToHsva(rgba: SkyColorpickerRgba): SkyColorpickerHsva {\n const red = Math.min(rgba.red, 1);\n const green = Math.min(rgba.green, 1);\n const blue = Math.min(rgba.blue, 1);\n const alpha = Math.min(rgba.alpha, 1);\n const max = Math.max(red, green, blue);\n const min = Math.min(red, green, blue);\n const value = max;\n const d = max - min;\n const saturation = max === 0 ? 0 : d / max;\n let hue = 0;\n let maxValue: Record<number, number>;\n if (max !== min) {\n maxValue = {\n [red]: (green - blue) / d + (green < blue ? 6 : 0),\n [green]: (blue - red) / d + 2,\n [blue]: (red - green) / d + 4,\n };\n hue = maxValue[max];\n hue /= 6;\n }\n const hsva: SkyColorpickerHsva = {\n hue: hue,\n saturation: saturation,\n value: value,\n alpha: alpha,\n };\n return hsva;\n }\n\n public hsvaToRgba(hsva: SkyColorpickerHsva): SkyColorpickerRgba {\n let red = 0;\n let green = 0;\n let blue = 0;\n const hue = hsva.hue;\n const saturation = hsva.saturation;\n const value = hsva.value;\n const alpha = hsva.alpha || hsva.alpha === 0 ? hsva.alpha : 1;\n const i = Math.floor(hue * 6);\n const f = hue * 6 - i;\n const p = value * (1 - saturation);\n const q = value * (1 - f * saturation);\n const t = value * (1 - (1 - f) * saturation);\n const color: Record<number, () => void> = {\n 0: (): void => {\n red = value;\n green = t;\n blue = p;\n },\n 1: (): void => {\n red = q;\n green = value;\n blue = p;\n },\n 2: (): void => {\n red = p;\n green = value;\n blue = t;\n },\n 3: (): void => {\n red = p;\n green = q;\n blue = value;\n },\n 4: (): void => {\n red = t;\n green = p;\n blue = value;\n },\n 5: (): void => {\n red = value;\n green = p;\n blue = q;\n },\n };\n color[i % 6]();\n\n const rgba: SkyColorpickerRgba = {\n red: red,\n green: green,\n blue: blue,\n alpha: alpha,\n };\n return rgba;\n }\n\n public stringToHsva(\n colorString: string,\n hex8: boolean,\n ): SkyColorpickerHsva | undefined {\n const stringParsers: {\n re: RegExp;\n parse: (\n execResult: RegExpExecArray,\n ) => SkyColorpickerRgba | SkyColorpickerHsla;\n }[] = [\n {\n re: /(rgb)a?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*%?,\\s*(\\d{1,3})\\s*%?(?:,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)/,\n parse: (execResult): SkyColorpickerRgba => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[2], 0) / 255,\n green: parseInt(execResult[3], 0) / 255,\n blue: parseInt(execResult[4], 0) / 255,\n alpha: parseFloat(execResult[5]),\n };\n return rgba;\n },\n },\n {\n re: /(hsl)a?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})%\\s*,\\s*(\\d{1,3})%\\s*(?:,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)/,\n parse: (execResult): SkyColorpickerHsla => {\n const hsla: SkyColorpickerHsla = {\n hue: parseInt(execResult[2], 0) / 360,\n saturation: parseInt(execResult[3], 0) / 100,\n lightness: parseInt(execResult[4], 0) / 100,\n alpha: parseFloat(execResult[5]),\n };\n return hsla;\n },\n },\n ];\n if (hex8) {\n stringParsers.push({\n re: /#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/,\n parse: (execResult) => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[1], 16) / 255,\n green: parseInt(execResult[2], 16) / 255,\n blue: parseInt(execResult[3], 16) / 255,\n alpha: parseInt(execResult[4], 16) / 255,\n };\n return rgba;\n },\n });\n } else {\n stringParsers.push(\n {\n re: /#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/,\n parse: (execResult) => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[1], 16) / 255,\n green: parseInt(execResult[2], 16) / 255,\n blue: parseInt(execResult[3], 16) / 255,\n alpha: 1,\n };\n return rgba;\n },\n },\n {\n re: /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])$/,\n parse: (execResult) => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[1] + execResult[1], 16) / 255,\n green: parseInt(execResult[2] + execResult[2], 16) / 255,\n blue: parseInt(execResult[3] + execResult[3], 16) / 255,\n alpha: 1,\n };\n return rgba;\n },\n },\n );\n }\n\n for (const key in stringParsers) {\n /* istanbul ignore else */ /* for in must be filtered by an if */\n if (Object.prototype.hasOwnProperty.call(stringParsers, key)) {\n const parser = stringParsers[key];\n const match = parser.re.exec(colorString);\n const color = match && parser.parse(match);\n if (color) {\n let hsva: SkyColorpickerHsva | undefined;\n\n if ('red' in color) {\n hsva = this.rgbaToHsva(color);\n } else if ('hue' in color) {\n hsva = this.#hsla2hsva(color);\n }\n\n if (hsva) {\n return hsva;\n }\n }\n }\n }\n\n return undefined;\n }\n\n public skyColorpickerOut(color: SkyColorpickerHsva): SkyColorpickerOutput {\n const cmykText = this.#outputFormat(color, 'cmyk', true);\n const hslaText = this.#outputFormat(color, 'hsla', true);\n const rgbaText = this.#outputFormat(color, 'rgba', true);\n const rgba = this.hsvaToRgba(color);\n const hsla = this.#hsva2hsla(color);\n const cmyk = this.#rgbaToCmyk(rgba);\n const hex = this.#outputFormat(color, 'hex', false);\n\n const formatColor: SkyColorpickerOutput = {\n cmykText,\n hslaText,\n rgbaText,\n hsva: this.#denormalizeHSVA(color),\n rgba: this.denormalizeRGBA(rgba),\n hsla: this.#denormalizeHSLA(hsla),\n cmyk: this.#denormalizeCMYK(cmyk),\n hex,\n };\n\n return formatColor;\n }\n\n public hexText(rgba: SkyColorpickerRgba, allowHex8: boolean): string {\n let hexText =\n '#' +\n ((1 << 24) | (rgba.red << 16) | (rgba.green << 8) | rgba.blue)\n .toString(16)\n .substring(1);\n if (\n hexText[1] === hexText[2] &&\n hexText[3] === hexText[4] &&\n hexText[5] === hexText[6] &&\n rgba.alpha === 1 &&\n !allowHex8\n ) {\n hexText = '#' + hexText[1] + hexText[3] + hexText[5];\n }\n if (allowHex8) {\n hexText += ((1 << 8) | Math.round(rgba.alpha * 255))\n .toString(16)\n .substring(1);\n }\n return hexText;\n }\n\n public denormalizeRGBA(rgba: SkyColorpickerRgba): SkyColorpickerRgba {\n const denormalizeRgba: SkyColorpickerRgba = {\n red: Math.round(rgba.red * 255),\n green: Math.round(rgba.green * 255),\n blue: Math.round(rgba.blue * 255),\n alpha: Math.round(rgba.alpha * 100) / 100,\n };\n return denormalizeRgba;\n }\n\n #hsla2hsva(hsla: SkyColorpickerHsla): SkyColorpickerHsva {\n const alpha = Math.min(hsla.alpha, 1);\n const hue = Math.min(hsla.hue, 1);\n const lightness = Math.min(hsla.lightness, 1);\n const saturation = Math.min(hsla.saturation, 1);\n const hsva: SkyColorpickerHsva = {\n hue: hue,\n saturation: saturation,\n value: lightness,\n alpha: alpha,\n };\n if (lightness === 0) {\n hsva.saturation = 0;\n hsva.value = 0;\n } else {\n hsva.value =\n lightness + (saturation * (1 - Math.abs(2 * lightness - 1))) / 2;\n hsva.saturation = (2 * (hsva.value - lightness)) / hsva.value;\n }\n return hsva;\n }\n\n #hsva2hsla(hsva: SkyColorpickerHsva): SkyColorpickerHsla {\n const alpha = hsva.alpha;\n const hue = hsva.hue;\n const saturation = hsva.saturation;\n const value = hsva.value;\n\n const hsla: SkyColorpickerHsla = {\n hue: hue,\n saturation: saturation,\n lightness: value,\n alpha: alpha,\n };\n if (value === 0) {\n hsla.lightness = 0;\n hsla.saturation = 0;\n } else {\n hsla.lightness = (value * (2 - saturation)) / 2;\n hsla.saturation =\n (value * saturation) / (1 - Math.abs(2 * hsla.lightness - 1));\n if (Number.isNaN(hsla.saturation)) {\n hsla.saturation = 0;\n }\n }\n return hsla;\n }\n\n #rgbaToCmyk(rgba: SkyColorpickerRgba): SkyColorpickerCmyk {\n const cmyk: SkyColorpickerCmyk = { cyan: 0, magenta: 0, yellow: 0, key: 0 };\n const key = 1 - Math.max(rgba.red, rgba.green, rgba.blue);\n\n if (key === 1) {\n cmyk.key = 1;\n return cmyk;\n }\n cmyk.cyan = (1 - rgba.red - key) / (1 - key);\n cmyk.magenta = (1 - rgba.green - key) / (1 - key);\n cmyk.yellow = (1 - rgba.blue - key) / (1 - key);\n cmyk.key = key;\n return cmyk;\n }\n\n #outputFormat(\n hsva: SkyColorpickerHsva,\n outputFormat: string,\n allowHex8: boolean,\n ): string {\n if (['hsla', 'hex', 'cmyk'].indexOf(outputFormat) === -1) {\n outputFormat = 'rgba';\n }\n const color: Record<string, () => string> = {\n hsla: () => {\n const hsla = this.#denormalizeHSLA(this.#hsva2hsla(hsva));\n return `hsla(${hsla.hue},${hsla.saturation}%,${hsla.lightness}%,${hsla.alpha})`;\n },\n hex: () => {\n return this.hexText(\n this.denormalizeRGBA(this.hsvaToRgba(hsva)),\n allowHex8,\n );\n },\n cmyk: () => {\n const cmyk = this.#denormalizeCMYK(\n this.#rgbaToCmyk(this.hsvaToRgba(hsva)),\n );\n return `cmyk(${cmyk.cyan}%,${cmyk.magenta}%,${cmyk.yellow}%,${cmyk.key}%)`;\n },\n rgba: () => {\n const rgba = this.denormalizeRGBA(this.hsvaToRgba(hsva));\n return `rgba(${rgba.red},${rgba.green},${rgba.blue},${rgba.alpha})`;\n },\n };\n\n return color[outputFormat]();\n }\n\n #denormalizeHSLA(hsla: SkyColorpickerHsla): SkyColorpickerHsla {\n const denormalizeHsla: SkyColorpickerHsla = {\n hue: Math.round(hsla.hue * 360),\n saturation: Math.round(hsla.saturation * 100),\n lightness: Math.round(hsla.lightness * 100),\n alpha: Math.round(hsla.alpha * 100) / 100,\n };\n return denormalizeHsla;\n }\n\n #denormalizeHSVA(hsla: SkyColorpickerHsva): SkyColorpickerHsva {\n const denormalizeHsva: SkyColorpickerHsva = {\n hue: Math.round(hsla.hue * 360),\n saturation: Math.round(hsla.saturation * 100),\n value: Math.round(hsla.value * 100),\n alpha: Math.round(hsla.alpha * 100) / 100,\n };\n return denormalizeHsva;\n }\n\n #denormalizeCMYK(cmyk: SkyColorpickerCmyk): SkyColorpickerCmyk {\n const denormalizeCmyk: SkyColorpickerCmyk = {\n cyan: Math.round(cmyk.cyan * 100),\n magenta: Math.round(cmyk.magenta * 100),\n yellow: Math.round(cmyk.yellow * 100),\n key: Math.round(cmyk.key * 100),\n };\n return denormalizeCmyk;\n }\n}\n","import {\n Directive,\n ElementRef,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n forwardRef,\n inject,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n NgControl,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { SkyRequiredStateDirective } from '@skyux/forms';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { Subject, Subscription, distinctUntilChanged, takeUntil } from 'rxjs';\n\nimport { SkyColorpickerInputService } from './colorpicker-input.service';\nimport { SkyColorpickerComponent } from './colorpicker.component';\nimport { SkyColorpickerService } from './colorpicker.service';\nimport { SkyColorpickerOutput } from './types/colorpicker-output';\n\nconst SKY_COLORPICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SkyColorpickerInputDirective),\n multi: true,\n};\n\nconst SKY_COLORPICKER_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyColorpickerInputDirective),\n multi: true,\n};\n\nconst SKY_COLORPICKER_DEFAULT_COLOR = '#FFFFFF';\n\n/**\n * Creates the colorpicker element and dropdown.\n */\n@Directive({\n selector: '[skyColorpickerInput]',\n providers: [SKY_COLORPICKER_VALUE_ACCESSOR, SKY_COLORPICKER_VALIDATOR],\n hostDirectives: [\n {\n directive: SkyRequiredStateDirective,\n inputs: ['required'],\n },\n ],\n host: {\n class: 'sky-colorpicker-input',\n readonly: 'true',\n '(input)': 'changeInput()',\n '(change)': 'onChange()',\n },\n})\nexport class SkyColorpickerInputDirective\n implements OnInit, OnChanges, ControlValueAccessor, Validator, OnDestroy\n{\n /**\n * Creates the colorpicker element and dropdown. Place this attribute on an `input` element\n * or `button` element, wrap the element in a `sky-colorpicker` component, and set the attribute\n * to the instance of the `sky-colorpicker` component.\n * @required\n */\n @Input()\n public skyColorpickerInput!: SkyColorpickerComponent;\n\n /**\n * The initial color to load in the colorpicker. Use a reactive or\n * template-driven form to set this value. This property is deprecated. As an alternative,\n * we recommend the `formControlName` property on reactive forms or `ngModel` on\n * template-driven forms. See the demo for examples.\n * @deprecated\n */\n @Input()\n public set initialColor(value: string | undefined) {\n /* istanbul ignore else */\n if (!this.#_initialColor && !this.#modelValue) {\n this.writeValue(value);\n }\n\n this.#_initialColor = value;\n }\n\n public get initialColor(): string {\n return this.#_initialColor || SKY_COLORPICKER_DEFAULT_COLOR;\n }\n\n /**\n * The ID should only be settable when `labelText` is undefined.\n * When `labelText` is set, the ID is defined by `SkyColorpickerComponent`.\n * @internal\n */\n @Input()\n public set id(value: string | undefined) {\n if (!this.#labelText && value) {\n this.#setInputId(value);\n }\n }\n\n /**\n * This property is deprecated and does not affect the colorpicker.\n * We recommend against using it.\n * @deprecated\n * @default \"rgba\"\n */\n @Input()\n public returnFormat = 'rgba';\n\n /**\n * The format for the color when the colorpicker uses a native input\n * element such as a standard text input or a button. This property accepts `rgba`, `hex`,\n * or `hsla`, but we do not recommend using it because users never see or use its value.\n * Instead, if you need to access this format value, see the demo for an example.\n * @default \"rgba\"\n */\n @Input()\n public outputFormat = 'rgba';\n\n /**\n * The array of colors to load as preset choices. The colorpicker displays the\n * colors in a series of 12 boxes for users to select.\n */\n @Input()\n public presetColors = ['#333', '#888', '#EFEFEF', '#FFF'];\n\n /**\n * The type of transparency in the transparency slider.\n *@default \"hex6\"\n */\n @Input()\n public alphaChannel = 'hex6';\n\n /**\n * Whether to display a transparency slider for users to select transparency\n * levels.\n */\n @Input()\n public allowTransparency = true;\n\n #modelValue: SkyColorpickerOutput | undefined;\n #elementRef: ElementRef;\n #renderer: Renderer2;\n #svc: SkyColorpickerService;\n #resourcesSvc: SkyLibResourcesService;\n #injector: Injector;\n #inputIdSubscription: Subscription | undefined;\n #labelText: string | undefined;\n\n #_disabled: boolean | undefined;\n #_initialColor: string | undefined;\n\n readonly #colorpickerInputSvc = inject(SkyColorpickerInputService);\n readonly #ngUnsubscribe = new Subject<void>();\n\n 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 public changeInput(): void {\n const value = this.#elementRef.nativeElement.value;\n this.skyColorpickerInput.updatePickerValues(value);\n this.skyColorpickerInput.backgroundColorForDisplay = value;\n }\n\n public onChange(): void {\n const newValue = this.#elementRef.nativeElement.value;\n const formattedValue = this.#formatter(newValue);\n this.#modelValue = formattedValue;\n this.#writeModelValue(formattedValue);\n }\n\n public ngOnInit(): void {\n const element = this.#elementRef.nativeElement;\n\n this.#renderer.addClass(element, 'sky-form-control');\n this.skyColorpickerInput.initialColor = this.initialColor;\n this.skyColorpickerInput.returnFormat = this.returnFormat;\n\n this.skyColorpickerInput.selectedColorChanged\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((newColor: SkyColorpickerOutput) => {\n /* istanbul ignore else */\n if (newColor) {\n this.#modelValue = this.#formatter(newColor);\n\n // Write the new value to the reactive form control, which will update the template model\n this.writeValue(newColor);\n }\n });\n\n this.#colorpickerInputSvc.labelText\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((labelText) => {\n this.#labelText = labelText;\n this.#inputIdSubscription?.unsubscribe();\n\n if (labelText) {\n this.#inputIdSubscription = this.#colorpickerInputSvc.inputId\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((inputId) => {\n this.#setInputId(inputId);\n });\n }\n });\n\n this.#colorpickerInputSvc.ariaError\n .pipe(\n distinctUntilChanged((a, b) => {\n return a.hasError === b.hasError && a.errorId === b.errorId;\n }),\n takeUntil(this.#ngUnsubscribe),\n )\n .subscribe((errorState) => {\n if (errorState.hasError) {\n this.#renderer.setAttribute(element, 'aria-invalid', 'true');\n this.#renderer.setAttribute(\n element,\n 'aria-errormessage',\n errorState.errorId,\n );\n } else {\n this.#renderer.removeAttribute(element, 'aria-invalid');\n this.#renderer.removeAttribute(element, 'aria-errormessage');\n }\n });\n\n this.skyColorpickerInput.updatePickerValues(this.initialColor);\n\n /* Sanity check */\n /* istanbul ignore else */\n if (!this.#_disabled) {\n this.skyColorpickerInput.backgroundColorForDisplay = this.initialColor;\n }\n\n /// Set aria-label as default, if not set\n if (!element.getAttribute('aria-label')) {\n this.#renderer.setAttribute(\n element,\n 'aria-label',\n this.#getString('skyux_colorpicker_input_default_label'),\n );\n }\n\n const typeAttr = element.getAttribute('type');\n if (typeAttr && typeAttr === 'hidden') {\n this.skyColorpickerInput.isVisible = false;\n } else {\n this.skyColorpickerInput.isVisible = true;\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public setColorPickerDefaults(): void {\n this.skyColorpickerInput.setDialog(\n this.initialColor,\n this.outputFormat,\n this.presetColors,\n this.alphaChannel,\n this.allowTransparency,\n );\n }\n\n public ngOnChanges(): void {\n this.skyColorpickerInput.returnFormat = this.returnFormat;\n this.setColorPickerDefaults();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public registerOnChange(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public registerOnTouched(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public registerOnValidatorChange(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public writeValue(value: any): void {\n if (\n this.skyColorpickerInput &&\n value &&\n value !== this.skyColorpickerInput.lastAppliedColor\n ) {\n const formattedValue = this.#formatter(value);\n\n this.#modelValue = formattedValue;\n this.#writeModelValue(formattedValue);\n\n if (!this.#_initialColor) {\n this.#_initialColor = value;\n this.skyColorpickerInput.initialColor = value;\n }\n this.skyColorpickerInput.lastAppliedColor = value;\n\n const control = this.#injector.get<NgControl>(NgControl, undefined, {\n optional: true,\n })?.control;\n\n if (control) {\n control.setValue(this.#modelValue, { emitEvent: false });\n }\n }\n }\n\n public validate(): ValidationErrors | null {\n return null;\n }\n\n /**\n * Implemented as part of ControlValueAccessor.\n */\n public setDisabledState(isDisabled: boolean): void {\n this.#_disabled = isDisabled;\n this.skyColorpickerInput.disabled = isDisabled;\n if (this.#_disabled) {\n this.skyColorpickerInput.backgroundColorForDisplay = '#fff';\n } else if (this.#modelValue) {\n this.skyColorpickerInput.backgroundColorForDisplay = this.#modelValue.hex;\n }\n }\n\n #writeModelValue(model: SkyColorpickerOutput): void {\n const setElementValue = model.rgbaText;\n const element = this.#elementRef.nativeElement;\n\n let output: string;\n switch (this.outputFormat) {\n case 'hsla':\n output = model.hslaText;\n break;\n case 'cmyk':\n output = model.cmykText;\n break;\n case 'hex':\n output = model.hex;\n break;\n default:\n output = model.rgbaText;\n break;\n }\n\n this.skyColorpickerInput.updatePickerValues(output);\n this.skyColorpickerInput.backgroundColorForDisplay = output;\n\n this.#renderer.setStyle(element, 'background-color', setElementValue);\n this.#renderer.setProperty(element, 'value', output);\n }\n\n #formatter(\n color: string | SkyColorpickerOutput | undefined,\n ): SkyColorpickerOutput {\n if (color && typeof color !== 'string') {\n return color;\n }\n\n const hsva = this.#svc.stringToHsva(\n color as string,\n this.alphaChannel === 'hex8',\n );\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const formatColor = this.#svc.skyColorpickerOut(hsva!);\n\n return formatColor;\n }\n\n #getString(key: string): string {\n // TODO: Need to implement the async `getString` method in a breaking change.\n return this.#resourcesSvc.getStringForLocale({ locale: 'en-US' }, key);\n }\n\n #setInputId(id: string): void {\n this.#renderer.setAttribute(this.#elementRef.nativeElement, 'id', id);\n }\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n} 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): void => {\n this.move(event);\n };\n this.#listenerStop = (): void => {\n this.stop();\n };\n }\n\n @HostListener('touchstart', ['$event'])\n @HostListener('mousedown', ['$event'])\n public start(event: MouseEvent | TouchEvent): void {\n this.#setCursor(event);\n document.addEventListener('mousemove', this.#listenerMove);\n document.addEventListener('touchmove', this.#listenerMove);\n document.addEventListener('mouseup', this.#listenerStop);\n document.addEventListener('touchend', this.#listenerStop);\n }\n\n #setCursor(event: MouseEvent | TouchEvent): void {\n const height = this.#el.nativeElement.offsetHeight;\n const width = this.#el.nativeElement.offsetWidth;\n const xAxis = Math.max(0, Math.min(this.getX(event), width));\n const yAxis = Math.max(0, Math.min(this.getY(event), height));\n if (this.xAxis !== undefined && this.yAxis !== undefined) {\n this.newColorContrast.emit({\n xCoordinate: xAxis / width,\n yCoordinate: 1 - yAxis / height,\n xAxis: this.xAxis,\n yAxis: this.yAxis,\n } as SkyColorpickerChangeAxis);\n } else {\n this.newColorContrast.emit({\n xCoordinate: xAxis / width,\n maxRange: this.xAxis,\n } as SkyColorpickerChangeAxis);\n }\n /* // No vertical bars\n if (this.xAxis === undefined && this.yAxis !== undefined) {\n this.newColorContrast.emit({ yCoordinate: yAxis / height, maxRange: this.yAxis });\n } */\n }\n\n public stop(): void {\n document.removeEventListener('mousemove', this.#listenerMove);\n document.removeEventListener('touchmove', this.#listenerMove);\n document.removeEventListener('mouseup', this.#listenerStop);\n document.removeEventListener('touchend', this.#listenerStop);\n }\n\n public move(event: MouseEvent | TouchEvent): void {\n event.preventDefault();\n this.#setCursor(event);\n }\n\n public getX(event: MouseEvent | TouchEvent): number {\n /* Ignoring event.touches as tests are not run on a touch device. */\n /* istanbul ignore next */\n return (\n ('pageX' in event ? event.pageX : event.touches[0].pageX) -\n this.#el.nativeElement.getBoundingClientRect().left -\n window.pageXOffset\n );\n }\n public getY(event: MouseEvent | TouchEvent): number {\n /* Ignoring event.touches as tests are not run on a touch device. */\n /* istanbul ignore next */\n return (\n ('pageY' in event ? event.pageY : event.touches[0].pageY) -\n this.#el.nativeElement.getBoundingClientRect().top -\n window.pageYOffset\n );\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostListener,\n Input,\n Output,\n} from '@angular/core';\n\nimport { SkyColorpickerChangeColor } from './types/colorpicker-color';\n\n/**\n * @internal\n */\n@Directive({\n selector: '[skyColorpickerText]',\n})\nexport class SkyColorpickerTextDirective {\n @Output()\n public newColorContrast = new EventEmitter<SkyColorpickerChangeColor>();\n @Input()\n public skyColorpickerText: string | undefined;\n @Input()\n public color: string | undefined;\n @Input()\n public maxRange: number | undefined;\n\n @HostListener('input', ['$event'])\n protected changeInput(event: Event): void {\n const element = event.target as HTMLInputElement;\n const elementValue = parseFloat(element.value);\n if (this.maxRange === undefined) {\n this.newColorContrast.emit({\n color: element.value,\n colorValue: undefined,\n maxRange: undefined,\n } as SkyColorpickerChangeColor);\n }\n\n if (\n !isNaN(elementValue) &&\n elementValue >= 0 &&\n this.maxRange &&\n elementValue <= this.maxRange\n ) {\n this.newColorContrast.emit({\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n color: this.color!,\n colorValue: elementValue,\n maxRange: this.maxRange,\n });\n }\n }\n}\n","/**\n * @internal\n */\nexport class SliderPosition {\n constructor(\n public hue: number,\n public saturation: number,\n public value: number,\n public alpha: number,\n ) {}\n}\n/**\n * @internal\n */\nexport class SliderDimension {\n constructor(\n public hue: number,\n public saturation: number,\n public value: number,\n public alpha: number,\n ) {}\n}\n","/**\n * The commands to provide the colorpicker.\n */\nexport enum SkyColorpickerMessageType {\n /**\n * Opens the colorpicker.\n */\n Open = 0,\n /**\n * Resets the selection in the colorpicker.\n */\n Reset = 1,\n /**\n * Toggles whether to display a reset button beside the colorpicker.\n */\n ToggleResetButton = 2,\n /**\n * Closes the colorpicker.\n */\n Close = 3,\n}\n","import { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { SlicePipe } from '@angular/common';\nimport {\n AfterContentChecked,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EnvironmentInjector,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport {\n AbstractControlDirective,\n FormControlDirective,\n FormControlName,\n NgModel,\n} from '@angular/forms';\nimport {\n SkyAffixAutoFitContext,\n SkyAffixService,\n SkyAffixer,\n SkyCoreAdapterService,\n SkyIdModule,\n SkyIdService,\n SkyOverlayInstance,\n SkyOverlayService,\n} from '@skyux/core';\nimport {\n SKY_FORM_ERRORS_ENABLED,\n SkyFormErrorsModule,\n SkyInputBoxModule,\n SkyRequiredStateDirective,\n} from '@skyux/forms';\nimport { SkyHelpInlineModule } from '@skyux/help-inline';\nimport { SkyI18nModule } from '@skyux/i18n';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyThemeModule, SkyThemeService } from '@skyux/theme';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyColorpickerResourcesModule } from '../shared/sky-colorpicker-resources.module';\n\nimport { SliderDimension, SliderPosition } from './colorpicker-classes';\nimport { SkyColorpickerInputService } from './colorpicker-input.service';\nimport { SkyColorpickerSliderDirective } from './colorpicker-slider.directive';\nimport { SkyColorpickerTextDirective } from './colorpicker-text.directive';\nimport { SkyColorpickerService } from './colorpicker.service';\nimport { SkyColorpickerChangeAxis } from './types/colorpicker-axis';\nimport { SkyColorpickerChangeColor } from './types/colorpicker-color';\nimport { SkyColorpickerHsva } from './types/colorpicker-hsva';\nimport { SkyColorpickerMessage } from './types/colorpicker-message';\nimport { SkyColorpickerMessageType } from './types/colorpicker-message-type';\nimport { SkyColorpickerOutput } from './types/colorpicker-output';\nimport { SkyColorpickerResult } from './types/colorpicker-result';\nimport { SkyColorpickerRgba } from './types/colorpicker-rgba';\n\nlet componentIdIndex = 0;\n\n/**\n * The SKY UX-themed replacement for the HTML `input` element with `type=\"color\"`.\n * The value that users select is driven through the `ngModel` attribute specified on\n * the `input` element.\n */\n@Component({\n selector: 'sky-colorpicker',\n templateUrl: './colorpicker.component.html',\n styleUrls: ['./colorpicker.component.scss'],\n providers: [\n SkyColorpickerInputService,\n SkyColorpickerService,\n { provide: SKY_FORM_ERRORS_ENABLED, useValue: true },\n ],\n encapsulation: ViewEncapsulation.None,\n imports: [\n SlicePipe,\n CdkTrapFocus,\n SkyIdModule,\n SkyFormErrorsModule,\n SkyInputBoxModule,\n SkyHelpInlineModule,\n SkyI18nModule,\n SkyIconModule,\n SkyThemeModule,\n SkyColorpickerResourcesModule,\n SkyColorpickerSliderDirective,\n SkyColorpickerTextDirective,\n ],\n})\nexport class SkyColorpickerComponent\n implements OnInit, OnDestroy, AfterContentChecked\n{\n /**\n * The name of the icon to overlay on top of the picker.\n * @internal\n */\n @Input()\n public pickerButtonIcon: string | undefined;\n\n /**\n * The ARIA label for the colorpicker. This sets the colorpicker's `aria-label` attribute\n * [to support accessibility](https://developer.blackbaud.com/skyux/components/checkbox#accessibility)\n * when the colorpicker does not include a visible label. If the colorpicker includes a visible label, use `labelledBy` instead.\n * @default \"Select color value\"\n */\n @Input()\n public label: string | undefined;\n\n /**\n * The HTML element ID of the element that labels the\n * colorpicker. This sets the colorpicker's `aria-labelledby` attribute\n * [to support accessibility](https://developer.blackbaud.com/skyux/components/checkbox#accessibility).\n * If the colorpicker does not include a visible label, use `label` instead.\n */\n @Input()\n public labelledBy: string | undefined;\n\n /**\n * The text to display as the colorpicker's label. Use this instead of a `label` element when the label is text-only.\n * Specifying `labelText` also enables automatic error message handling for standard colorpicker errors.\n */\n @Input()\n public set labelText(value: string | undefined) {\n this.#_labelText = value;\n this.#colorpickerInputSvc.labelText.next(value);\n }\n\n public get labelText(): string | undefined {\n return this.#_labelText;\n }\n\n /**\n * Whether to hide `labelText` from view.\n */\n @Input({ transform: booleanAttribute })\n public labelHidden = false;\n\n /**\n * A help key that identifies the global help content to display. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n * button is placed beside the colorpicker label. Clicking the button invokes [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help)\n * as configured by the application. This property only applies when `labelText` is also specified.\n */\n @Input()\n public helpKey: string | undefined;\n\n /**\n * The content of the help popover. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n * button is added to the colorpicker label. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)\n * when clicked using the specified content and optional title. This property only applies when `labelText` is also specified.\n */\n @Input()\n public helpPopoverContent: string | TemplateRef<unknown> | undefined;\n\n /**\n * The title of the help popover. This property only applies when `helpPopoverContent` is\n * also specified.\n */\n @Input()\n public helpPopoverTitle: string | undefined;\n\n /**\n * [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides\n * additional context to the user.\n */\n @Input()\n public hintText: string | undefined;\n\n /**\n * Whether the colorpicker is stacked on another form component. When specified,\n * the appropriate vertical spacing is automatically added to the text editor.\n */\n @Input({ transform: booleanAttribute })\n @HostBinding('class.sky-form-field-stacked')\n public stacked = false;\n\n /**\n * Fires when users select a color in the colorpicker.\n */\n @Output()\n public selectedColorChanged = new EventEmitter<SkyColorpickerOutput>();\n\n /**\n * Fires when users select **Apply** in the colorpicker to apply a color.\n */\n @Output()\n public selectedColorApplied = new EventEmitter<SkyColorpickerResult>();\n\n /**\n * The observable to send commands to the colorpicker. The commands should\n * respect the `SkyColorpickerMessage` type.\n */\n @Input()\n public messageStream = new Subject<SkyColorpickerMessage>();\n\n /**\n * Whether to display a reset button to let users return to the default color.\n */\n @Input()\n public showResetButton = true;\n\n public set disabled(value: boolean) {\n this.#_disabled = value;\n this.#changeDetector.markForCheck();\n }\n\n public get disabled(): boolean {\n return this.#_disabled;\n }\n\n public set backgroundColorForDisplay(value: string | undefined) {\n this.#_backgroundColorForDisplay = value;\n if (this.pickerButtonIcon) {\n this.iconColor = this.#getAccessibleIconColor(this.selectedColor);\n }\n this.#changeDetector.markForCheck();\n }\n\n public get backgroundColorForDisplay(): string {\n /* istanbul ignore next */\n return this.#_backgroundColorForDisplay || '#fff';\n }\n\n public set hue(change: SkyColorpickerChangeAxis) {\n if (\n this.#hsva &&\n change.xCoordinate !== undefined &&\n change.maxRange !== undefined\n ) {\n this.#hsva.hue = change.xCoordinate / change.maxRange;\n this.#update();\n }\n }\n\n public set red(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rgba.red = change.colorValue! / change.maxRange!;\n this.#hsva = this.#svc.rgbaToHsva(rgba);\n this.#update();\n }\n }\n\n public set green(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rgba.green = change.colorValue! / change.maxRange!;\n this.#hsva = this.#svc.rgbaToHsva(rgba);\n this.#update();\n }\n }\n\n public set blue(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rgba.blue = change.colorValue! / change.maxRange!;\n this.#hsva = this.#svc.rgbaToHsva(rgba);\n this.#update();\n }\n }\n\n public set alphaAxis(change: SkyColorpickerChangeAxis) {\n if (\n this.#hsva &&\n change.xCoordinate !== undefined &&\n change.maxRange !== undefined\n ) {\n this.#hsva.alpha = change.xCoordinate / change.maxRange;\n this.#update();\n }\n }\n\n public set alphaColor(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.#hsva.alpha = change.colorValue! / change.maxRange!;\n this.#update();\n }\n }\n\n public set hex(change: SkyColorpickerChangeColor) {\n this.updatePickerValues(change.color);\n }\n\n public set saturationAndLightness(value: SkyColorpickerChangeAxis) {\n if (\n this.#hsva &&\n value.xCoordinate !== undefined &&\n value.xAxis !== undefined &&\n value.yCoordinate !== undefined &&\n value.yAxis !== undefined\n ) {\n this.#hsva.saturation = value.xCoordinate / value.xAxis;\n this.#hsva.value = value.yCoordinate / value.yAxis;\n this.#update();\n }\n }\n\n public skyColorpickerAlphaId: string;\n public returnFormat: string | undefined;\n public initialColor: string | undefined;\n public lastAppliedColor: string | undefined;\n public isVisible = true;\n\n @ViewChild('colorpickerTemplateRef', {\n read: TemplateRef,\n })\n protected colorpickerTemplateRef: TemplateRef<unknown> | undefined;\n\n @ViewChild('triggerButtonRef', {\n read: ElementRef,\n })\n protected triggerButtonRef: ElementRef | undefined;\n\n @ViewChild('colorpickerRef', {\n read: ElementRef,\n })\n protected set colorpickerRef(value: ElementRef | undefined) {\n if (value) {\n this.#_colorpickerRef = value;\n this.#destroyAffixer();\n\n this.#removePickerEventListeners();\n this.#pickerUnsubscribe = new Subject<void>();\n\n // Ensure the colorpicker has fully rendered before adding the affixer. Added to address a\n // race condition when running under production conditions.\n setTimeout(() => {\n this.#createAffixer();\n this.isPickerVisible = true;\n\n this.#coreAdapter.getFocusableChildrenAndApplyFocus(\n value,\n '.sky-colorpicker',\n false,\n );\n this.#changeDetector.markForCheck();\n });\n }\n }\n\n protected get colorpickerRef(): ElementRef | undefined {\n return this.#_colorpickerRef;\n }\n\n @ContentChild(FormControlDirective)\n protected set formControl(value: FormControlDirective | undefined) {\n if (value) {\n this.ngControl = value;\n this.#changeDetector.markForCheck();\n }\n }\n\n @ContentChild(FormControlName)\n protected set formControlByName(value: FormControlName | undefined) {\n if (value) {\n this.ngControl = value;\n this.#changeDetector.markForCheck();\n }\n }\n\n @ContentChild(NgModel)\n protected set ngModel(value: NgModel | undefined) {\n if (value) {\n this.ngControl = value;\n this.#changeDetector.markForCheck();\n }\n }\n\n @ContentChild(SkyRequiredStateDirective)\n protected requiredState: SkyRequiredStateDirective | undefined;\n\n protected inputId: string | undefined;\n protected colorpickerId: string;\n protected isOpen = false;\n protected triggerButtonId: string;\n protected skyColorpickerHexId: string;\n protected skyColorpickerRedId: string;\n protected skyColorpickerGreenId: string;\n protected skyColorpickerBlueId: string;\n protected slider: SliderPosition;\n protected allowTransparency: boolean | undefined;\n protected alphaSliderColor: string | undefined;\n protected hexText: string | undefined;\n protected hueSliderColor: string | undefined;\n protected presetColors: string[] | undefined;\n protected rgbaText: SkyColorpickerRgba | undefined;\n protected selectedColor: SkyColorpickerOutput | undefined;\n protected iconColor: string | undefined;\n protected isPickerVisible: boolean | undefined;\n protected ngControl: AbstractControlDirective | undefined;\n\n #idIndex: number;\n #alphaChannel: string | undefined;\n #format: number | undefined;\n #outputFormat: string | undefined;\n #hsva: SkyColorpickerHsva | undefined;\n #sliderDimMax: SliderDimension;\n #ngUnsubscribe = new Subject<void>();\n #affixer: SkyAffixer | undefined;\n #overlay: SkyOverlayInstance | undefined;\n #pickerUnsubscribe: Subject<void> | undefined;\n\n #affixSvc: SkyAffixService;\n #changeDetector: ChangeDetectorRef;\n #coreAdapter: SkyCoreAdapterService;\n #overlaySvc: SkyOverlayService;\n #svc: SkyColorpickerService;\n #themeSvc: SkyThemeService | undefined;\n\n readonly #environmentInjector = inject(EnvironmentInjector);\n readonly #colorpickerInputSvc = inject(SkyColorpickerInputService);\n readonly #idSvc = inject(SkyIdService);\n\n protected readonly errorId = this.#idSvc.generateId();\n\n #_backgroundColorForDisplay: string | undefined;\n #_colorpickerRef: ElementRef | undefined;\n #_disabled = false;\n #_labelText: string | undefined;\n\n constructor(\n 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.inputId = this.#idSvc.generateId();\n this.#colorpickerInputSvc.inputId.next(this.inputId);\n this.skyColorpickerRedId = `sky-colorpicker-red-${this.#idIndex}`;\n this.skyColorpickerHexId = `sky-colorpicker-hex--${this.#idIndex}`;\n this.skyColorpickerRedId = `sky-colorpicker-red--${this.#idIndex}`;\n this.skyColorpickerGreenId = `sky-colorpicker-green--${this.#idIndex}`;\n this.skyColorpickerBlueId = `sky-colorpicker-blue--${this.#idIndex}`;\n this.skyColorpickerAlphaId = `sky-colorpicker-alpha--${this.#idIndex}`;\n this.colorpickerId = `sky-colorpicker--${this.#idIndex}`;\n this.triggerButtonId = `sky-colorpicker-button--${this.#idIndex}`;\n\n this.#sliderDimMax = new SliderDimension(182, 270, 170, 182);\n this.slider = new SliderPosition(0, 0, 0, 0);\n }\n\n public setDialog(\n color: string | undefined,\n outputFormat: string,\n presetColors: string[],\n alphaChannel: string,\n allowTransparency: boolean,\n ): void {\n this.initialColor = color;\n this.#outputFormat = outputFormat;\n this.presetColors = presetColors;\n this.#alphaChannel = alphaChannel;\n this.allowTransparency = allowTransparency;\n\n if (this.#outputFormat === 'rgba') {\n this.#format = 1;\n } else if (this.#outputFormat === 'hsla') {\n this.#format = 2;\n } else {\n this.#format = 0;\n }\n }\n\n public ngOnInit(): void {\n this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyColorpickerMessage) => {\n this.#handleIncomingMessages(message);\n });\n\n this.#addTriggerButtonEventListeners();\n\n /* istanbul ignore else */\n if (this.#themeSvc) {\n this.#themeSvc.settingsChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((themeSettings) => {\n /* istanbul ignore next */\n const themeName = themeSettings.currentSettings?.theme?.name;\n\n // Hue/alpha slider bars have different widths in Modern theme.\n /* istanbul ignore if */\n if (themeName === 'modern') {\n this.#sliderDimMax = new SliderDimension(174, 270, 170, 174);\n } else {\n this.#sliderDimMax = new SliderDimension(182, 270, 170, 182);\n }\n this.#updateSlider();\n });\n }\n }\n\n public ngAfterContentChecked(): void {\n if (this.labelText) {\n this.#colorpickerInputSvc.ariaError.next({\n hasError: !this.ngControl?.valid,\n errorId: this.errorId,\n });\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n this.#removePickerEventListeners();\n this.#destroyAffixer();\n this.#destroyOverlay();\n }\n\n public onTriggerButtonClick(): void {\n this.ngControl?.control?.markAsTouched();\n\n this.#sendMessage(SkyColorpickerMessageType.Open);\n }\n\n public closePicker(): void {\n this.#destroyAffixer();\n this.#destroyOverlay();\n this.#removePickerEventListeners();\n this.triggerButtonRef?.nativeElement.focus();\n this.isOpen = false;\n }\n\n public onApplyColorClick(): void {\n this.#confirmSelectedColor();\n }\n\n public onCancelClick(): void {\n // Revert picker values back to previous color.\n this.updatePickerValues(this.backgroundColorForDisplay);\n this.closePicker();\n\n this.#changeDetector.markForCheck();\n }\n\n public onPresetClick(value: string): void {\n this.updatePickerValues(value);\n }\n\n public onResetClick(): void {\n this.#sendMessage(SkyColorpickerMessageType.Reset);\n }\n\n public updatePickerValues(value: string | undefined): void {\n const hsva = this.#getHsvaValue(value);\n if (hsva) {\n this.#hsva = hsva;\n this.#update();\n }\n }\n\n protected onContainerEnterKeyDown(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n\n this.#confirmSelectedColor();\n }\n\n #update(): void {\n if (this.#hsva) {\n const rgba: SkyColorpickerRgba = this.#svc.hsvaToRgba(this.#hsva);\n const dRgba: SkyColorpickerRgba = this.#svc.denormalizeRGBA(rgba);\n\n const hsva: SkyColorpickerHsva = {\n hue: this.#hsva.hue,\n saturation: 1,\n value: 1,\n alpha: 1,\n };\n\n const hueRgba = this.#svc.denormalizeRGBA(this.#svc.hsvaToRgba(hsva));\n\n this.rgbaText = dRgba;\n this.hexText = this.#svc.hexText(dRgba, this.#alphaChannel === 'hex8');\n\n this.alphaSliderColor = `rgba(${dRgba.red},${dRgba.green},${dRgba.blue},${dRgba.alpha})`;\n this.hueSliderColor = `rgba(${hueRgba.red},${hueRgba.green},${hueRgba.blue},${rgba.alpha})`;\n\n if (\n this.#format === 0 &&\n this.#hsva.alpha < 1 &&\n this.#alphaChannel === 'hex6'\n ) {\n this.#format++;\n }\n\n this.selectedColor = this.#svc.skyColorpickerOut(this.#hsva);\n\n this.#updateSlider();\n }\n }\n\n #updateSlider(): void {\n if (this.#hsva && this.#sliderDimMax) {\n this.slider = new SliderPosition(\n this.#hsva.hue * this.#sliderDimMax.hue - 8,\n this.#hsva.saturation * this.#sliderDimMax.saturation - 8,\n (1 - this.#hsva.value) * this.#sliderDimMax.value - 8,\n this.#hsva.alpha * this.#sliderDimMax.alpha - 8,\n );\n }\n }\n\n #openPicker(): void {\n this.isPickerVisible = false;\n this.#removePickerEventListeners();\n this.#destroyOverlay();\n this.#createOverlay();\n this.isOpen = true;\n }\n\n #sendMessage(type: SkyColorpickerMessageType): void {\n this.messageStream.next({ type });\n }\n\n #handleIncomingMessages(message: SkyColorpickerMessage): void {\n switch (message.type) {\n case SkyColorpickerMessageType.Open:\n if (!this.isOpen) {\n this.#openPicker();\n }\n break;\n\n case SkyColorpickerMessageType.Close:\n if (this.isOpen) {\n this.closePicker();\n }\n break;\n\n case SkyColorpickerMessageType.Reset:\n this.updatePickerValues(this.initialColor);\n this.backgroundColorForDisplay = this.initialColor;\n this.selectedColorChanged.emit(this.selectedColor);\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.selectedColorApplied.emit({ color: this.selectedColor! });\n break;\n\n case SkyColorpickerMessageType.ToggleResetButton:\n this.showResetButton = !this.showResetButton;\n break;\n }\n }\n\n #createAffixer(): void {\n if (\n this.colorpickerRef &&\n this.triggerButtonRef &&\n this.#pickerUnsubscribe\n ) {\n const affixer = this.#affixSvc.createAffixer(this.colorpickerRef);\n\n affixer.placementChange\n .pipe(takeUntil(this.#pickerUnsubscribe))\n .subscribe((change) => {\n this.isPickerVisible = change.placement !== null;\n });\n\n affixer.affixTo(this.triggerButtonRef.nativeElement, {\n autoFitContext: SkyAffixAutoFitContext.Viewport,\n enableAutoFit: true,\n horizontalAlignment: 'left',\n verticalAlignment: 'bottom',\n isSticky: true,\n placement: 'below',\n });\n\n this.#affixer = affixer;\n }\n }\n\n #destroyAffixer(): void {\n /*istanbul ignore else*/\n if (this.#affixer) {\n this.#affixer.destroy();\n this.#affixer = undefined;\n }\n }\n\n #createOverlay(): void {\n if (this.colorpickerTemplateRef) {\n const overlay = this.#overlaySvc.create({\n enableClose: false,\n enablePointerEvents: false,\n enableScroll: true,\n environmentInjector: this.#environmentInjector,\n hideOthersFromScreenReaders: true,\n });\n\n overlay.attachTemplate(this.colorpickerTemplateRef);\n\n this.#overlay = overlay;\n }\n }\n\n #destroyOverlay(): void {\n /*istanbul ignore else*/\n if (this.#overlay) {\n this.#overlaySvc.close(this.#overlay);\n this.#overlay = undefined;\n }\n }\n\n #addTriggerButtonEventListeners(): void {\n fromEvent(window.document, 'keydown')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((event) => {\n const keyboardEvent = event as KeyboardEvent;\n const key = keyboardEvent.key?.toLowerCase();\n /* istanbul ignore else */\n if (key === 'escape') {\n this.#sendMessage(SkyColorpickerMessageType.Close);\n }\n });\n }\n\n #removePickerEventListeners(): void {\n /* istanbul ignore else */\n if (this.#pickerUnsubscribe) {\n this.#pickerUnsubscribe.next();\n this.#pickerUnsubscribe.complete();\n this.#pickerUnsubscribe = undefined;\n }\n }\n\n #getHsvaValue(value: string | undefined): SkyColorpickerHsva | undefined {\n let hsva: SkyColorpickerHsva | undefined;\n\n if (value) {\n if (this.#alphaChannel === 'hex8') {\n hsva = this.#svc.stringToHsva(value, true);\n if (!hsva && !this.#hsva) {\n hsva = this.#svc.stringToHsva(value, false);\n }\n } else {\n hsva = this.#svc.stringToHsva(value, false);\n }\n }\n\n return hsva;\n }\n\n #getAccessibleIconColor(\n backgroundColor: SkyColorpickerOutput | undefined,\n ): string | undefined {\n if (backgroundColor) {\n // https://www.w3.org/WAI/GL/wiki/Relative_luminance\n const RsRGB = backgroundColor.rgba.red / 255;\n const GsRGB = backgroundColor.rgba.green / 255;\n const BsRGB = backgroundColor.rgba.blue / 255;\n\n const R =\n RsRGB <= 0.03928\n ? RsRGB / 12.92\n : Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n const G =\n GsRGB <= 0.03928\n ? GsRGB / 12.92\n : Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n const B =\n BsRGB <= 0.03928\n ? BsRGB / 12.92\n : Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n\n const relativeLuminance =\n (0.2126 * R + 0.7152 * G + 0.0722 * B) *\n (1 / backgroundColor.rgba.alpha);\n\n // https://www.w3.org/WAI/GL/wiki/Contrast_ratio\n return 1.05 / (relativeLuminance + 0.05) > 3\n ? 'rgb(255, 255, 255)'\n : 'rgb(0, 0, 0)';\n }\n /* istanbul ignore next */\n return undefined;\n }\n\n #confirmSelectedColor(): void {\n if (this.selectedColor) {\n this.selectedColorChanged.emit(this.selectedColor);\n this.selectedColorApplied.emit({ color: this.selectedColor });\n this.lastAppliedColor = this.selectedColor.rgbaText;\n this.updatePickerValues(this.lastAppliedColor);\n this.backgroundColorForDisplay = this.selectedColor.rgbaText;\n }\n\n this.closePicker();\n }\n}\n","<span class=\"sky-color-picker-label-wrapper\">\n @if (labelText) {\n <label\n class=\"sky-control-label\"\n [class.sky-screen-reader-only]=\"labelHidden\"\n [class.sky-control-label-required]=\"requiredState?.isRequired()\"\n [for]=\"inputId\"\n >{{ labelText }}</label\n >\n @if ((helpPopoverContent || helpKey) && !labelHidden) {\n <span class=\"sky-control-help-container\">\n <sky-help-inline\n [helpKey]=\"helpKey\"\n [labelText]=\"labelText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n </span>\n }\n }\n</span>\n\n<div\n class=\"sky-colorpicker-input-group sky-input-group\"\n [class.sky-colorpicker-hidden]=\"!isVisible\"\n [class.sky-colorpicker-disabled]=\"disabled\"\n>\n <div [hidden]=\"true\">\n <ng-content />\n </div>\n\n <button\n #triggerButtonRef\n aria-haspopup=\"dialog\"\n class=\"sky-colorpicker-button\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? colorpickerId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n [attr.aria-label]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [disabled]=\"disabled\"\n [class.sky-colorpicker-button-disabled]=\"disabled\"\n [class.sky-colorpicker-error]=\"\n (ngControl?.touched || ngControl?.dirty) && ngControl?.errors\n \"\n [style.background-color]=\"backgroundColorForDisplay\"\n (click)=\"onTriggerButtonClick()\"\n >\n @if (pickerButtonIcon) {\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-colorpicker-button-icon\"\n variant=\"solid\"\n iconSize=\"s\"\n [iconName]=\"pickerButtonIcon\"\n [style.color]=\"iconColor\"\n />\n <sky-icon\n *skyThemeIf=\"'modern'\"\n class=\"sky-colorpicker-button-icon\"\n variant=\"solid\"\n [iconName]=\"pickerButtonIcon\"\n [style.color]=\"iconColor\"\n />\n }\n <ng-container *skyThemeIf=\"'modern'\">\n <sky-icon\n class=\"sky-colorpicker-button-modern-chevron\"\n iconName=\"chevron-down\"\n iconSize=\"xxs\"\n [class.sky-colorpicker-button-modern-chevron-disabled]=\"disabled\"\n />\n </ng-container>\n </button>\n\n <ng-template #colorpickerTemplateRef>\n <div\n #colorpickerRef\n class=\"sky-colorpicker-container\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"colorpickerId\"\n [hidden]=\"!isPickerVisible\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n [cdkTrapFocus]=\"true\"\n [cdkTrapFocusAutoCapture]=\"false\"\n >\n <div class=\"sky-colorpicker\">\n <div\n class=\"saturation-lightness\"\n [color]=\"slider.saturation - slider.value + ''\"\n [skyColorpickerSlider]\n [style.background-color]=\"hueSliderColor\"\n [xAxis]=\"1\"\n [yAxis]=\"1\"\n (newColorContrast)=\"saturationAndLightness = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.saturation\"\n [style.top.px]=\"slider.value\"\n ></div>\n </div>\n\n <div class=\"box\">\n <div class=\"left\">\n <div class=\"selected-color-background sky-rounded-circle\"></div>\n <div\n class=\"selected-color sky-rounded-circle\"\n [style.background-color]=\"selectedColor?.rgbaText\"\n ></div>\n </div>\n <div class=\"right\">\n <div\n #hueSlider\n class=\"hue\"\n [skyColorpickerSlider]\n [xAxis]=\"1\"\n (newColorContrast)=\"hue = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.hue\"\n ></div>\n </div>\n @if (allowTransparency) {\n <div\n #alphaSlider\n class=\"alpha\"\n [skyColorpickerSlider]\n [style.background-color]=\"alphaSliderColor\"\n [xAxis]=\"1\"\n (newColorContrast)=\"alphaAxis = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.alpha\"\n ></div>\n </div>\n }\n </div>\n </div>\n\n <div\n class=\"rgba-text\"\n (keydown.enter)=\"onContainerEnterKeyDown($event)\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_hex' | skyLibResources\"\n [attr.for]=\"skyColorpickerHexId\"\n >\n {{ 'skyux_colorpicker_hex' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n pattern=\"^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$\"\n [attr.id]=\"skyColorpickerHexId\"\n [skyColorpickerText]\n [value]=\"hexText\"\n (newColorContrast)=\"hex = $event\"\n />\n </sky-input-box>\n\n <fieldset\n [attr.aria-label]=\"'skyux_colorpicker_aria_rgba' | skyLibResources\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_red' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerRedId\"\n >\n {{ 'skyux_colorpicker_red' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerRedId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.red\"\n (newColorContrast)=\"red = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_green' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerGreenId\"\n >\n {{ 'skyux_colorpicker_green' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerGreenId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.green\"\n (newColorContrast)=\"green = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_blue' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerBlueId\"\n >\n {{ 'skyux_colorpicker_blue' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerBlueId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.blue\"\n (newColorContrast)=\"blue = $event\"\n />\n </sky-input-box>\n @if (allowTransparency) {\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_alpha' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerAlphaId\"\n >\n {{ 'skyux_colorpicker_alpha' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"1\"\n min=\"0\"\n pattern=\"[0-9]+([\\.,][0-9]{1,2})?\"\n step=\"0.1\"\n type=\"number\"\n [attr.id]=\"skyColorpickerAlphaId\"\n [maxRange]=\"1\"\n [skyColorpickerText]\n [value]=\"rgbaText?.alpha\"\n (newColorContrast)=\"alphaColor = $event\"\n />\n </sky-input-box>\n }\n </fieldset>\n </div>\n @if (presetColors && presetColors.length) {\n <div class=\"sky-colorpicker-preset-color-area\">\n @for (\n color of presetColors | slice: 0 : 12;\n track color;\n let i = $index\n ) {\n <button\n class=\"sky-preset-color\"\n type=\"button\"\n [attr.aria-label]=\"\n ('skyux_colorpicker_preset_color' | skyLibResources) +\n ' ' +\n color\n \"\n [skyThemeClass]=\"{\n 'sky-btn sky-btn-link': 'modern'\n }\"\n [style.backgroundColor]=\"color\"\n (click)=\"onPresetClick(color)\"\n ></button>\n }\n </div>\n }\n </div>\n\n <div class=\"sky-colorpicker-footer\">\n <section class=\"sky-colorpicker-column\">\n <button\n class=\"sky-btn sky-btn-primary sky-btn-colorpicker-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_apply' | skyLibResources\"\n (click)=\"onApplyColorClick()\"\n >\n {{ 'skyux_colorpicker_apply' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-btn-colorpicker-close\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_close' | skyLibResources\"\n (click)=\"onCancelClick()\"\n >\n {{ 'skyux_colorpicker_close' | skyLibResources }}\n </button>\n </section>\n </div>\n </div>\n </ng-template>\n @if (allowTransparency) {\n <span aria-hidden=\"true\" class=\"sky-colorpicker-checkered-background\">\n </span>\n }\n\n @if (showResetButton) {\n <button\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_reset' | skyLibResources\"\n [disabled]=\"disabled\"\n [class.sky-colorpicker-reset-button-disabled]=\"disabled\"\n [skyThemeClass]=\"{\n 'sky-colorpicker-reset-button': 'default',\n 'sky-btn sky-btn-icon-borderless sky-colorpicker-reset-button-modern':\n 'modern'\n }\"\n (click)=\"onResetClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" iconName=\"close\" iconSize=\"s\" />\n <sky-icon *skyThemeIf=\"'modern'\" iconName=\"delete\" />\n </button>\n }\n</div>\n\n<div #hintTextEl=\"skyId\" skyId>\n @if (hintText) {\n <div\n class=\"sky-colorpicker-hint-text\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'default',\n 'sky-font-hint-text-s': 'modern'\n }\"\n >\n {{ hintText }}\n </div>\n }\n</div>\n\n<sky-form-errors\n [id]=\"errorId\"\n [errors]=\"ngControl?.errors\"\n [labelText]=\"labelText\"\n [touched]=\"ngControl?.touched\"\n [dirty]=\"ngControl?.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n","import { NgModule } from '@angular/core';\n\nimport { SkyColorpickerResourcesModule } from '../shared/sky-colorpicker-resources.module';\n\nimport { SkyColorpickerInputDirective } from './colorpicker-input.directive';\nimport { SkyColorpickerSliderDirective } from './colorpicker-slider.directive';\nimport { SkyColorpickerTextDirective } from './colorpicker-text.directive';\nimport { SkyColorpickerComponent } from './colorpicker.component';\n\n@NgModule({\n imports: [\n SkyColorpickerResourcesModule,\n SkyColorpickerComponent,\n SkyColorpickerInputDirective,\n SkyColorpickerTextDirective,\n SkyColorpickerSliderDirective,\n ],\n exports: [SkyColorpickerComponent, SkyColorpickerInputDirective],\n})\nexport class SkyColorpickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.SkyColorpickerService","i3","takeUntil","i2.SkyColorpickerService","i7"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AACA;;;;;AAKG;AAQH,MAAM,SAAS,GAAoC;AACjD,IAAA,OAAO,EAAE;AACP,QAAA,uBAAuB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1C,QAAA,uBAAuB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;AAC7C,QAAA,4BAA4B,EAAE;AAC5B,YAAA,OAAO,EAAE,qCAAqC;AAC/C,SAAA;AACD,QAAA,2BAA2B,EAAE,EAAE,OAAO,EAAE,8BAA8B,EAAE;AACxE,QAAA,4BAA4B,EAAE,EAAE,OAAO,EAAE,+BAA+B,EAAE;AAC1E,QAAA,0BAA0B,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;AACjE,QAAA,0BAA0B,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE;AACtE,QAAA,2BAA2B,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;AACvD,QAAA,sBAAsB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACzC,QAAA,uBAAuB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;AAC9C,QAAA,iCAAiC,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;AACpE,QAAA,uBAAuB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1C,QAAA,qBAAqB,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;AAC1C,QAAA,qCAAqC,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;AACjE,QAAA,8BAA8B,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;AAC5D,QAAA,qBAAqB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACxC,QAAA,uBAAuB,EAAE,EAAE,OAAO,EAAE,4BAA4B,EAAE;AACnE,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,uBAAuB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;AAC3C,QAAA,uBAAuB,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;AACjD,QAAA,4BAA4B,EAAE;AAC5B,YAAA,OAAO,EAAE,oCAAoC;AAC9C,SAAA;AACD,QAAA,2BAA2B,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE;AACvE,QAAA,4BAA4B,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE;AACxE,QAAA,0BAA0B,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE;AACtE,QAAA,0BAA0B,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE;AACtE,QAAA,2BAA2B,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE;AACxD,QAAA,sBAAsB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;AAC1C,QAAA,uBAAuB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;AAC/C,QAAA,iCAAiC,EAAE;AACjC,YAAA,OAAO,EAAE,sCAAsC;AAChD,SAAA;AACD,QAAA,uBAAuB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;AAC3C,QAAA,qBAAqB,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;AACpD,QAAA,qCAAqC,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE;AAC1E,QAAA,8BAA8B,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE;AACnE,QAAA,qBAAqB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;AACzC,QAAA,uBAAuB,EAAE;AACvB,YAAA,OAAO,EAAE,+CAA+C;AACzD,SAAA;AACF,KAAA;CACF;AAED,sBAAsB,CAAC,YAAY,CAAC,SAAS,CAAC;AAE9C;;AAEG;MAIU,6BAA6B,CAAA;8GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,YAF9B,aAAa,CAAA,EAAA,CAAA,CAAA;AAEZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,YAF9B,aAAa,CAAA,EAAA,CAAA,CAAA;;2FAEZ,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,aAAa,CAAC;AACzB,iBAAA;;;AClED;;AAEG;MAEU,0BAA0B,CAAA;AADvC,IAAA,WAAA,GAAA;AAES,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,aAAa,CAAS,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,aAAa,CAAqB,CAAC,CAAC;AACpD,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,aAAa,CAClC,CAAC,CACF;AAOF,IAAA;IALQ,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AACvB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;AACzB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;IAC3B;8GAXW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA1B,0BAA0B,EAAA,CAAA,CAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC;;;ACCD;;AAEG;MAEU,qBAAqB,CAAA;AACzB,IAAA,UAAU,CAAC,IAAwB,EAAA;AACxC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AACjC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AACrC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACnC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AACrC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC;AACtC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC;QACtC,MAAM,KAAK,GAAG,GAAG;AACjB,QAAA,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG;AACnB,QAAA,MAAM,UAAU,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG;QAC1C,IAAI,GAAG,GAAG,CAAC;AACX,QAAA,IAAI,QAAgC;AACpC,QAAA,IAAI,GAAG,KAAK,GAAG,EAAE;AACf,YAAA,QAAQ,GAAG;gBACT,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClD,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;gBAC7B,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC;aAC9B;AACD,YAAA,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;YACnB,GAAG,IAAI,CAAC;QACV;AACA,QAAA,MAAM,IAAI,GAAuB;AAC/B,YAAA,GAAG,EAAE,GAAG;AACR,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,KAAK,EAAE,KAAK;SACb;AACD,QAAA,OAAO,IAAI;IACb;AAEO,IAAA,UAAU,CAAC,IAAwB,EAAA;QACxC,IAAI,GAAG,GAAG,CAAC;QACX,IAAI,KAAK,GAAG,CAAC;QACb,IAAI,IAAI,GAAG,CAAC;AACZ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG;AACpB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU;AAClC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;QAC7D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;AAC7B,QAAA,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACrB,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC;QAClC,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;AACtC,QAAA,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC;AAC5C,QAAA,MAAM,KAAK,GAA+B;YACxC,CAAC,EAAE,MAAW;gBACZ,GAAG,GAAG,KAAK;gBACX,KAAK,GAAG,CAAC;gBACT,IAAI,GAAG,CAAC;YACV,CAAC;YACD,CAAC,EAAE,MAAW;gBACZ,GAAG,GAAG,CAAC;gBACP,KAAK,GAAG,KAAK;gBACb,IAAI,GAAG,CAAC;YACV,CAAC;YACD,CAAC,EAAE,MAAW;gBACZ,GAAG,GAAG,CAAC;gBACP,KAAK,GAAG,KAAK;gBACb,IAAI,GAAG,CAAC;YACV,CAAC;YACD,CAAC,EAAE,MAAW;gBACZ,GAAG,GAAG,CAAC;gBACP,KAAK,GAAG,CAAC;gBACT,IAAI,GAAG,KAAK;YACd,CAAC;YACD,CAAC,EAAE,MAAW;gBACZ,GAAG,GAAG,CAAC;gBACP,KAAK,GAAG,CAAC;gBACT,IAAI,GAAG,KAAK;YACd,CAAC;YACD,CAAC,EAAE,MAAW;gBACZ,GAAG,GAAG,KAAK;gBACX,KAAK,GAAG,CAAC;gBACT,IAAI,GAAG,CAAC;YACV,CAAC;SACF;AACD,QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;AAEd,QAAA,MAAM,IAAI,GAAuB;AAC/B,YAAA,GAAG,EAAE,GAAG;AACR,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,KAAK,EAAE,KAAK;SACb;AACD,QAAA,OAAO,IAAI;IACb;IAEO,YAAY,CACjB,WAAmB,EACnB,IAAa,EAAA;AAEb,QAAA,MAAM,aAAa,GAKb;AACJ,YAAA;AACE,gBAAA,EAAE,EAAE,2FAA2F;AAC/F,gBAAA,KAAK,EAAE,CAAC,UAAU,KAAwB;AACxC,oBAAA,MAAM,IAAI,GAAuB;wBAC/B,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG;wBACrC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG;wBACvC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG;AACtC,wBAAA,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;qBACjC;AACD,oBAAA,OAAO,IAAI;gBACb,CAAC;AACF,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,yFAAyF;AAC7F,gBAAA,KAAK,EAAE,CAAC,UAAU,KAAwB;AACxC,oBAAA,MAAM,IAAI,GAAuB;wBAC/B,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG;wBACrC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG;wBAC5C,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG;AAC3C,wBAAA,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;qBACjC;AACD,oBAAA,OAAO,IAAI;gBACb,CAAC;AACF,aAAA;SACF;QACD,IAAI,IAAI,EAAE;YACR,aAAa,CAAC,IAAI,CAAC;AACjB,gBAAA,EAAE,EAAE,qEAAqE;AACzE,gBAAA,KAAK,EAAE,CAAC,UAAU,KAAI;AACpB,oBAAA,MAAM,IAAI,GAAuB;wBAC/B,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG;wBACtC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG;wBACxC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG;wBACvC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG;qBACzC;AACD,oBAAA,OAAO,IAAI;gBACb,CAAC;AACF,aAAA,CAAC;QACJ;aAAO;YACL,aAAa,CAAC,IAAI,CAChB;AACE,gBAAA,EAAE,EAAE,qDAAqD;AACzD,gBAAA,KAAK,EAAE,CAAC,UAAU,KAAI;AACpB,oBAAA,MAAM,IAAI,GAAuB;wBAC/B,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG;wBACtC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG;wBACxC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG;AACvC,wBAAA,KAAK,EAAE,CAAC;qBACT;AACD,oBAAA,OAAO,IAAI;gBACb,CAAC;aACF,EACD;AACE,gBAAA,EAAE,EAAE,2CAA2C;AAC/C,gBAAA,KAAK,EAAE,CAAC,UAAU,KAAI;AACpB,oBAAA,MAAM,IAAI,GAAuB;AAC/B,wBAAA,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG;AACtD,wBAAA,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG;AACxD,wBAAA,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG;AACvD,wBAAA,KAAK,EAAE,CAAC;qBACT;AACD,oBAAA,OAAO,IAAI;gBACb,CAAC;AACF,aAAA,CACF;QACH;AAEA,QAAA,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;AAC/B;AACA,YAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE;AAC5D,gBAAA,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC;gBACjC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;gBACzC,MAAM,KAAK,GAAG,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC1C,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,IAAoC;AAExC,oBAAA,IAAI,KAAK,IAAI,KAAK,EAAE;AAClB,wBAAA,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;oBAC/B;AAAO,yBAAA,IAAI,KAAK,IAAI,KAAK,EAAE;AACzB,wBAAA,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;oBAC/B;oBAEA,IAAI,IAAI,EAAE;AACR,wBAAA,OAAO,IAAI;oBACb;gBACF;YACF;QACF;AAEA,QAAA,OAAO,SAAS;IAClB;AAEO,IAAA,iBAAiB,CAAC,KAAyB,EAAA;AAChD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC;AACxD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC;AACxD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AACnC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AAEnD,QAAA,MAAM,WAAW,GAAyB;YACxC,QAAQ;YACR,QAAQ;YACR,QAAQ;AACR,YAAA,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAClC,YAAA,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AAChC,YAAA,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;AACjC,YAAA,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACjC,GAAG;SACJ;AAED,QAAA,OAAO,WAAW;IACpB;IAEO,OAAO,CAAC,IAAwB,EAAE,SAAkB,EAAA;QACzD,IAAI,OAAO,GACT,GAAG;YACH,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI;iBAC1D,QAAQ,CAAC,EAAE;iBACX,SAAS,CAAC,CAAC,CAAC;QACjB,IACE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;AACzB,YAAA,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;AACzB,YAAA,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,KAAK,CAAC;YAChB,CAAC,SAAS,EACV;AACA,YAAA,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QACtD;QACA,IAAI,SAAS,EAAE;AACb,YAAA,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;iBAChD,QAAQ,CAAC,EAAE;iBACX,SAAS,CAAC,CAAC,CAAC;QACjB;AACA,QAAA,OAAO,OAAO;IAChB;AAEO,IAAA,eAAe,CAAC,IAAwB,EAAA;AAC7C,QAAA,MAAM,eAAe,GAAuB;YAC1C,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;YACnC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;AACjC,YAAA,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG;SAC1C;AACD,QAAA,OAAO,eAAe;IACxB;AAEA,IAAA,UAAU,CAAC,IAAwB,EAAA;AACjC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AACrC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AACjC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AAC7C,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;AAC/C,QAAA,MAAM,IAAI,GAAuB;AAC/B,YAAA,GAAG,EAAE,GAAG;AACR,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,KAAK,EAAE,KAAK;SACb;AACD,QAAA,IAAI,SAAS,KAAK,CAAC,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC;AACnB,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC;QAChB;aAAO;AACL,YAAA,IAAI,CAAC,KAAK;gBACR,SAAS,GAAG,CAAC,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK;QAC/D;AACA,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,UAAU,CAAC,IAAwB,EAAA;AACjC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;AACxB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG;AACpB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU;AAClC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;AAExB,QAAA,MAAM,IAAI,GAAuB;AAC/B,YAAA,GAAG,EAAE,GAAG;AACR,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,KAAK,EAAE,KAAK;SACb;AACD,QAAA,IAAI,KAAK,KAAK,CAAC,EAAE;AACf,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC;AAClB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC;QACrB;aAAO;AACL,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC;AAC/C,YAAA,IAAI,CAAC,UAAU;gBACb,CAAC,KAAK,GAAG,UAAU,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YAC/D,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACjC,gBAAA,IAAI,CAAC,UAAU,GAAG,CAAC;YACrB;QACF;AACA,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,WAAW,CAAC,IAAwB,EAAA;AAClC,QAAA,MAAM,IAAI,GAAuB,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;QAC3E,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;AAEzD,QAAA,IAAI,GAAG,KAAK,CAAC,EAAE;AACb,YAAA,IAAI,CAAC,GAAG,GAAG,CAAC;AACZ,YAAA,OAAO,IAAI;QACb;AACA,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;AAC5C,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;AACjD,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;AAC/C,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AACd,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,aAAa,CACX,IAAwB,EACxB,YAAoB,EACpB,SAAkB,EAAA;AAElB,QAAA,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE;YACxD,YAAY,GAAG,MAAM;QACvB;AACA,QAAA,MAAM,KAAK,GAAiC;YAC1C,IAAI,EAAE,MAAK;AACT,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACzD,gBAAA,OAAO,QAAQ,IAAI,CAAC,GAAG,CAAA,CAAA,EAAI,IAAI,CAAC,UAAU,CAAA,EAAA,EAAK,IAAI,CAAC,SAAS,CAAA,EAAA,EAAK,IAAI,CAAC,KAAK,GAAG;YACjF,CAAC;YACD,GAAG,EAAE,MAAK;AACR,gBAAA,OAAO,IAAI,CAAC,OAAO,CACjB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAC3C,SAAS,CACV;YACH,CAAC;YACD,IAAI,EAAE,MAAK;AACT,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CACxC;AACD,gBAAA,OAAO,QAAQ,IAAI,CAAC,IAAI,CAAA,EAAA,EAAK,IAAI,CAAC,OAAO,CAAA,EAAA,EAAK,IAAI,CAAC,MAAM,CAAA,EAAA,EAAK,IAAI,CAAC,GAAG,IAAI;YAC5E,CAAC;YACD,IAAI,EAAE,MAAK;AACT,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACxD,gBAAA,OAAO,QAAQ,IAAI,CAAC,GAAG,CAAA,CAAA,EAAI,IAAI,CAAC,KAAK,CAAA,CAAA,EAAI,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,IAAI,CAAC,KAAK,GAAG;YACrE,CAAC;SACF;AAED,QAAA,OAAO,KAAK,CAAC,YAAY,CAAC,EAAE;IAC9B;AAEA,IAAA,gBAAgB,CAAC,IAAwB,EAAA;AACvC,QAAA,MAAM,eAAe,GAAuB;YAC1C,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YAC/B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YAC7C,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;AAC3C,YAAA,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG;SAC1C;AACD,QAAA,OAAO,eAAe;IACxB;AAEA,IAAA,gBAAgB,CAAC,IAAwB,EAAA;AACvC,QAAA,MAAM,eAAe,GAAuB;YAC1C,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YAC/B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YAC7C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;AACnC,YAAA,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG;SAC1C;AACD,QAAA,OAAO,eAAe;IACxB;AAEA,IAAA,gBAAgB,CAAC,IAAwB,EAAA;AACvC,QAAA,MAAM,eAAe,GAAuB;YAC1C,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;YACjC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;YACvC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YACrC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;SAChC;AACD,QAAA,OAAO,eAAe;IACxB;8GAlXW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAArB,qBAAqB,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC;;;ACmBD,MAAM,8BAA8B,GAAG;AACrC,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,4BAA4B,CAAC;AAC3D,IAAA,KAAK,EAAE,IAAI;CACZ;AAED,MAAM,yBAAyB,GAAG;AAChC,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,4BAA4B,CAAC;AAC3D,IAAA,KAAK,EAAE,IAAI;CACZ;AAED,MAAM,6BAA6B,GAAG,SAAS;AAE/C;;AAEG;MAiBU,4BAA4B,CAAA;AAYvC;;;;;;AAMG;IACH,IACW,YAAY,CAAC,KAAyB,EAAA;;QAE/C,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AAC7C,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACxB;AAEA,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;IAC7B;AAEA,IAAA,IAAW,YAAY,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,cAAc,IAAI,6BAA6B;IAC7D;AAEA;;;;AAIG;IACH,IACW,EAAE,CAAC,KAAyB,EAAA;AACrC,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;AAC7B,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QACzB;IACF;AA0CA,IAAA,WAAW;AACX,IAAA,WAAW;AACX,IAAA,SAAS;AACT,IAAA,IAAI;AACJ,IAAA,aAAa;AACb,IAAA,SAAS;AACT,IAAA,oBAAoB;AACpB,IAAA,UAAU;AAEV,IAAA,UAAU;AACV,IAAA,cAAc;AAEL,IAAA,oBAAoB;AACpB,IAAA,cAAc;IAEvB,WAAA,CACE,UAAsB,EACtB,QAAmB,EACnB,GAA0B,EAC1B,YAAoC,EACpC,QAAkB,EAAA;AA5DpB;;;;;AAKG;QAEI,IAAA,CAAA,YAAY,GAAG,MAAM;AAE5B;;;;;;AAMG;QAEI,IAAA,CAAA,YAAY,GAAG,MAAM;AAE5B;;;AAGG;QAEI,IAAA,CAAA,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;AAEzD;;;AAGG;QAEI,IAAA,CAAA,YAAY,GAAG,MAAM;AAE5B;;;AAGG;QAEI,IAAA,CAAA,iBAAiB,GAAG,IAAI;AActB,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,0BAA0B,CAAC;AACzD,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAQ;AAS3C,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU;AAC7B,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG;AACf,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY;AACjC,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;IAC3B;IAEO,WAAW,GAAA;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK;AAClD,QAAA,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,KAAK,CAAC;AAClD,QAAA,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,GAAG,KAAK;IAC5D;IAEO,QAAQ,GAAA;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK;QACrD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;AAChD,QAAA,IAAI,CAAC,WAAW,GAAG,cAAc;AACjC,QAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC;IACvC;IAEO,QAAQ,GAAA;AACb,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa;QAE9C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;QACpD,IAAI,CAAC,mBAAmB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY;QACzD,IAAI,CAAC,mBAAmB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY;QAEzD,IAAI,CAAC,mBAAmB,CAAC;AACtB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;AACnC,aAAA,SAAS,CAAC,CAAC,QAA8B,KAAI;;YAE5C,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;;AAG5C,gBAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC3B;AACF,QAAA,CAAC,CAAC;QAEJ,IAAI,CAAC,oBAAoB,CAAC;AACvB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;AACnC,aAAA,SAAS,CAAC,CAAC,SAAS,KAAI;AACvB,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS;AAC3B,YAAA,IAAI,CAAC,oBAAoB,EAAE,WAAW,EAAE;YAExC,IAAI,SAAS,EAAE;AACb,gBAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;AACnD,qBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;AACnC,qBAAA,SAAS,CAAC,CAAC,OAAO,KAAI;AACrB,oBAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;AAC3B,gBAAA,CAAC,CAAC;YACN;AACF,QAAA,CAAC,CAAC;QAEJ,IAAI,CAAC,oBAAoB,CAAC;aACvB,IAAI,CACH,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AAC5B,YAAA,OAAO,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;QAC7D,CAAC,CAAC,EACF,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;AAE/B,aAAA,SAAS,CAAC,CAAC,UAAU,KAAI;AACxB,YAAA,IAAI,UAAU,CAAC,QAAQ,EAAE;gBACvB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC;AAC5D,gBAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CACzB,OAAO,EACP,mBAAmB,EACnB,UAAU,CAAC,OAAO,CACnB;YACH;iBAAO;gBACL,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,cAAc,CAAC;gBACvD,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,mBAAmB,CAAC;YAC9D;AACF,QAAA,CAAC,CAAC;QAEJ,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC;;;AAI9D,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,GAAG,IAAI,CAAC,YAAY;QACxE;;QAGA,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE;AACvC,YAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CACzB,OAAO,EACP,YAAY,EACZ,IAAI,CAAC,UAAU,CAAC,uCAAuC,CAAC,CACzD;QACH;QAEA,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;AAC7C,QAAA,IAAI,QAAQ,IAAI,QAAQ,KAAK,QAAQ,EAAE;AACrC,YAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,GAAG,KAAK;QAC5C;aAAO;AACL,YAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,GAAG,IAAI;QAC3C;IACF;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;AAC1B,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;IAChC;IAEO,sBAAsB,GAAA;QAC3B,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAChC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,iBAAiB,CACvB;IACH;IAEO,WAAW,GAAA;QAChB,IAAI,CAAC,mBAAmB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY;QACzD,IAAI,CAAC,sBAAsB,EAAE;IAC/B;;AAGO,IAAA,gBAAgB,KAAU;;AAG1B,IAAA,iBAAiB,KAAU;;AAG3B,IAAA,yBAAyB,KAAU;;AAGnC,IAAA,UAAU,CAAC,KAAU,EAAA;QAC1B,IACE,IAAI,CAAC,mBAAmB;YACxB,KAAK;AACL,YAAA,KAAK,KAAK,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EACnD;YACA,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AAE7C,YAAA,IAAI,CAAC,WAAW,GAAG,cAAc;AACjC,YAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC;AAErC,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACxB,gBAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,gBAAA,IAAI,CAAC,mBAAmB,CAAC,YAAY,GAAG,KAAK;YAC/C;AACA,YAAA,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,GAAG,KAAK;YAEjD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAY,SAAS,EAAE,SAAS,EAAE;AAClE,gBAAA,QAAQ,EAAE,IAAI;aACf,CAAC,EAAE,OAAO;YAEX,IAAI,OAAO,EAAE;AACX,gBAAA,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YAC1D;QACF;IACF;IAEO,QAAQ,GAAA;AACb,QAAA,OAAO,IAAI;IACb;AAEA;;AAEG;AACI,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AACzC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU;AAC5B,QAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,GAAG,UAAU;AAC9C,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,GAAG,MAAM;QAC7D;AAAO,aAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YAC3B,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG;QAC3E;IACF;AAEA,IAAA,gBAAgB,CAAC,KAA2B,EAAA;AAC1C,QAAA,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ;AACtC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa;AAE9C,QAAA,IAAI,MAAc;AAClB,QAAA,QAAQ,IAAI,CAAC,YAAY;AACvB,YAAA,KAAK,MAAM;AACT,gBAAA,MAAM,GAAG,KAAK,CAAC,QAAQ;gBACvB;AACF,YAAA,KAAK,MAAM;AACT,gBAAA,MAAM,GAAG,KAAK,CAAC,QAAQ;gBACvB;AACF,YAAA,KAAK,KAAK;AACR,gBAAA,MAAM,GAAG,KAAK,CAAC,GAAG;gBAClB;AACF,YAAA;AACE,gBAAA,MAAM,GAAG,KAAK,CAAC,QAAQ;gBACvB;;AAGJ,QAAA,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,MAAM,CAAC;AACnD,QAAA,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,GAAG,MAAM;QAE3D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,EAAE,eAAe,CAAC;QACrE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;IACtD;AAEA,IAAA,UAAU,CACR,KAAgD,EAAA;AAEhD,QAAA,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACtC,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CACjC,KAAe,EACf,IAAI,CAAC,YAAY,KAAK,MAAM,CAC7B;;;QAID,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAK,CAAC;AAEtD,QAAA,OAAO,WAAW;IACpB;AAEA,IAAA,UAAU,CAAC,GAAW,EAAA;;AAEpB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC;IACxE;AAEA,IAAA,WAAW,CAAC,EAAU,EAAA;AACpB,QAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,EAAE,EAAE,CAAC;IACvE;8GA9UW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,EAAA,SAAA,EAd5B,CAAC,8BAA8B,EAAE,yBAAyB,CAAC,EAAA,aAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAC,EAAA,CAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAc3D,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAhBxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,SAAS,EAAE,CAAC,8BAA8B,EAAE,yBAAyB,CAAC;AACtE,oBAAA,cAAc,EAAE;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,yBAAyB;4BACpC,MAAM,EAAE,CAAC,UAAU,CAAC;AACrB,yBAAA;AACF,qBAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,uBAAuB;AAC9B,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,SAAS,EAAE,eAAe;AAC1B,wBAAA,UAAU,EAAE,YAAY;AACzB,qBAAA;AACF,iBAAA;;sBAUE;;sBAUA;;sBAmBA;;sBAaA;;sBAUA;;sBAOA;;sBAOA;;sBAOA;;;ACtIH;;AAEG;MAIU,6BAA6B,CAAA;AAYxC,IAAA,aAAa;AACb,IAAA,aAAa;AAEb,IAAA,GAAG;AAEH,IAAA,WAAA,CAAY,EAAc,EAAA;AAfnB,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAA4B;AAgBpE,QAAA,IAAI,CAAC,GAAG,GAAG,EAAE;AACb,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,KAAU;AACnC,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAClB,QAAA,CAAC;AACD,QAAA,IAAI,CAAC,aAAa,GAAG,MAAW;YAC9B,IAAI,CAAC,IAAI,EAAE;AACb,QAAA,CAAC;IACH;AAIO,IAAA,KAAK,CAAC,KAA8B,EAAA;AACzC,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACtB,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAC1D,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAC1D,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC;QACxD,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;IAC3D;AAEA,IAAA,UAAU,CAAC,KAA8B,EAAA;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,YAAY;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;AAC7D,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;AACxD,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACzB,WAAW,EAAE,KAAK,GAAG,KAAK;AAC1B,gBAAA,WAAW,EAAE,CAAC,GAAG,KAAK,GAAG,MAAM;gBAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;AACU,aAAA,CAAC;QAChC;aAAO;AACL,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACzB,WAAW,EAAE,KAAK,GAAG,KAAK;gBAC1B,QAAQ,EAAE,IAAI,CAAC,KAAK;AACO,aAAA,CAAC;QAChC;AACA;;;AAGI;IACN;IAEO,IAAI,GAAA;QACT,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAC7D,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAC7D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC;QAC3D,QAAQ,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;IAC9D;AAEO,IAAA,IAAI,CAAC,KAA8B,EAAA;QACxC,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IACxB;AAEO,IAAA,IAAI,CAAC,KAA8B,EAAA;;;QAGxC,QACE,CAAC,OAAO,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK;YACxD,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,IAAI;YACnD,MAAM,CAAC,WAAW;IAEtB;AACO,IAAA,IAAI,CAAC,KAA8B,EAAA;;;QAGxC,QACE,CAAC,OAAO,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK;YACxD,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,GAAG;YAClD,MAAM,CAAC,WAAW;IAEtB;8GA1FW,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,WAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AACnC,iBAAA;;sBAEE;;sBAEA;;sBAEA;;sBAEA;;sBAEA;;sBAkBA,YAAY;uBAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;;sBACrC,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;;;ACnCvC;;AAEG;MAIU,2BAA2B,CAAA;AAHxC,IAAA,WAAA,GAAA;AAKS,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAA6B;AAmCxE,IAAA;AA1BW,IAAA,WAAW,CAAC,KAAY,EAAA;AAChC,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,MAA0B;QAChD,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;AAC9C,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;AAC/B,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACzB,KAAK,EAAE,OAAO,CAAC,KAAK;AACpB,gBAAA,UAAU,EAAE,SAAS;AACrB,gBAAA,QAAQ,EAAE,SAAS;AACS,aAAA,CAAC;QACjC;AAEA,QAAA,IACE,CAAC,KAAK,CAAC,YAAY,CAAC;AACpB,YAAA,YAAY,IAAI,CAAC;AACjB,YAAA,IAAI,CAAC,QAAQ;AACb,YAAA,YAAY,IAAI,IAAI,CAAC,QAAQ,EAC7B;AACA,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;;;gBAGzB,KAAK,EAAE,IAAI,CAAC,KAAM;AAClB,gBAAA,UAAU,EAAE,YAAY;gBACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,aAAA,CAAC;QACJ;IACF;8GApCW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AACjC,iBAAA;;sBAEE;;sBAEA;;sBAEA;;sBAEA;;sBAGA,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;AC1BnC;;AAEG;MACU,cAAc,CAAA;AACzB,IAAA,WAAA,CACS,GAAW,EACX,UAAkB,EAClB,KAAa,EACb,KAAa,EAAA;QAHb,IAAA,CAAA,GAAG,GAAH,GAAG;QACH,IAAA,CAAA,UAAU,GAAV,UAAU;QACV,IAAA,CAAA,KAAK,GAAL,KAAK;QACL,IAAA,CAAA,KAAK,GAAL,KAAK;IACX;AACJ;AACD;;AAEG;MACU,eAAe,CAAA;AAC1B,IAAA,WAAA,CACS,GAAW,EACX,UAAkB,EAClB,KAAa,EACb,KAAa,EAAA;QAHb,IAAA,CAAA,GAAG,GAAH,GAAG;QACH,IAAA,CAAA,UAAU,GAAV,UAAU;QACV,IAAA,CAAA,KAAK,GAAL,KAAK;QACL,IAAA,CAAA,KAAK,GAAL,KAAK;IACX;AACJ;;ACrBD;;AAEG;IACS;AAAZ,CAAA,UAAY,yBAAyB,EAAA;AACnC;;AAEG;AACH,IAAA,yBAAA,CAAA,yBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACR;;AAEG;AACH,IAAA,yBAAA,CAAA,yBAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS;AACT;;AAEG;AACH,IAAA,yBAAA,CAAA,yBAAA,CAAA,mBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mBAAqB;AACrB;;AAEG;AACH,IAAA,yBAAA,CAAA,yBAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS;AACX,CAAC,EAjBW,yBAAyB,KAAzB,yBAAyB,GAAA,EAAA,CAAA,CAAA;;ACiErC,IAAI,gBAAgB,GAAG,CAAC;AAExB;;;;AAIG;MA0BU,uBAAuB,CAAA;AA4BlC;;;AAGG;IACH,IACW,SAAS,CAAC,KAAyB,EAAA;AAC5C,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;QACxB,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;IACjD;AAEA,IAAA,IAAW,SAAS,GAAA;QAClB,OAAO,IAAI,CAAC,WAAW;IACzB;IAuEA,IAAW,QAAQ,CAAC,KAAc,EAAA;AAChC,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,QAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;IACrC;AAEA,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,UAAU;IACxB;IAEA,IAAW,yBAAyB,CAAC,KAAyB,EAAA;AAC5D,QAAA,IAAI,CAAC,2BAA2B,GAAG,KAAK;AACxC,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,aAAa,CAAC;QACnE;AACA,QAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;IACrC;AAEA,IAAA,IAAW,yBAAyB,GAAA;;AAElC,QAAA,OAAO,IAAI,CAAC,2BAA2B,IAAI,MAAM;IACnD;IAEA,IAAW,GAAG,CAAC,MAAgC,EAAA;QAC7C,IACE,IAAI,CAAC,KAAK;YACV,MAAM,CAAC,WAAW,KAAK,SAAS;AAChC,YAAA,MAAM,CAAC,QAAQ,KAAK,SAAS,EAC7B;AACA,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ;YACrD,IAAI,CAAC,OAAO,EAAE;QAChB;IACF;IAEA,IAAW,GAAG,CAAC,MAAiC,EAAA;AAC9C,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;;;YAI7C,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,UAAW,GAAG,MAAM,CAAC,QAAS;YAChD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACvC,IAAI,CAAC,OAAO,EAAE;QAChB;IACF;IAEA,IAAW,KAAK,CAAC,MAAiC,EAAA;AAChD,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;;;YAI7C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,UAAW,GAAG,MAAM,CAAC,QAAS;YAClD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACvC,IAAI,CAAC,OAAO,EAAE;QAChB;IACF;IAEA,IAAW,IAAI,CAAC,MAAiC,EAAA;AAC/C,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;;;YAI7C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,UAAW,GAAG,MAAM,CAAC,QAAS;YACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACvC,IAAI,CAAC,OAAO,EAAE;QAChB;IACF;IAEA,IAAW,SAAS,CAAC,MAAgC,EAAA;QACnD,IACE,IAAI,CAAC,KAAK;YACV,MAAM,CAAC,WAAW,KAAK,SAAS;AAChC,YAAA,MAAM,CAAC,QAAQ,KAAK,SAAS,EAC7B;AACA,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ;YACvD,IAAI,CAAC,OAAO,EAAE;QAChB;IACF;IAEA,IAAW,UAAU,CAAC,MAAiC,EAAA;AACrD,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;;;AAGd,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,UAAW,GAAG,MAAM,CAAC,QAAS;YACxD,IAAI,CAAC,OAAO,EAAE;QAChB;IACF;IAEA,IAAW,GAAG,CAAC,MAAiC,EAAA;AAC9C,QAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC;IACvC;IAEA,IAAW,sBAAsB,CAAC,KAA+B,EAAA;QAC/D,IACE,IAAI,CAAC,KAAK;YACV,KAAK,CAAC,WAAW,KAAK,SAAS;YAC/B,KAAK,CAAC,KAAK,KAAK,SAAS;YACzB,KAAK,CAAC,WAAW,KAAK,SAAS;AAC/B,YAAA,KAAK,CAAC,KAAK,KAAK,SAAS,EACzB;AACA,YAAA,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK;AACvD,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK;YAClD,IAAI,CAAC,OAAO,EAAE;QAChB;IACF;IAkBA,IAGc,cAAc,CAAC,KAA6B,EAAA;QACxD,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;YAC7B,IAAI,CAAC,eAAe,EAAE;YAEtB,IAAI,CAAC,2BAA2B,EAAE;AAClC,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,OAAO,EAAQ;;;YAI7C,UAAU,CAAC,MAAK;gBACd,IAAI,CAAC,cAAc,EAAE;AACrB,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;gBAE3B,IAAI,CAAC,YAAY,CAAC,iCAAiC,CACjD,KAAK,EACL,kBAAkB,EAClB,KAAK,CACN;AACD,gBAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;AACrC,YAAA,CAAC,CAAC;QACJ;IACF;AAEA,IAAA,IAAc,cAAc,GAAA;QAC1B,OAAO,IAAI,CAAC,gBAAgB;IAC9B;IAEA,IACc,WAAW,CAAC,KAAuC,EAAA;QAC/D,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,YAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;QACrC;IACF;IAEA,IACc,iBAAiB,CAAC,KAAkC,EAAA;QAChE,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,YAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;QACrC;IACF;IAEA,IACc,OAAO,CAAC,KAA0B,EAAA;QAC9C,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,YAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;QACrC;IACF;AAyBA,IAAA,QAAQ;AACR,IAAA,aAAa;AACb,IAAA,OAAO;AACP,IAAA,aAAa;AACb,IAAA,KAAK;AACL,IAAA,aAAa;AACb,IAAA,cAAc;AACd,IAAA,QAAQ;AACR,IAAA,QAAQ;AACR,IAAA,kBAAkB;AAElB,IAAA,SAAS;AACT,IAAA,eAAe;AACf,IAAA,YAAY;AACZ,IAAA,WAAW;AACX,IAAA,IAAI;AACJ,IAAA,SAAS;AAEA,IAAA,oBAAoB;AACpB,IAAA,oBAAoB;AACpB,IAAA,MAAM;AAIf,IAAA,2BAA2B;AAC3B,IAAA,gBAAgB;AAChB,IAAA,UAAU;AACV,IAAA,WAAW;IAEX,WAAA,CACE,QAAyB,EACzB,cAAiC,EACjC,WAAkC,EAClC,UAA6B,EAC7B,GAA0B,EACd,QAA0B,EAAA;AAjTxC;;AAEG;QAEI,IAAA,CAAA,WAAW,GAAG,KAAK;AAgC1B;;;AAGG;QAGI,IAAA,CAAA,OAAO,GAAG,KAAK;AAEtB;;AAEG;AAEI,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,YAAY,EAAwB;AAEtE;;AAEG;AAEI,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,YAAY,EAAwB;AAEtE;;;AAGG;AAEI,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAyB;AAE3D;;AAEG;QAEI,IAAA,CAAA,eAAe,GAAG,IAAI;QAiHtB,IAAA,CAAA,SAAS,GAAG,IAAI;QAwEb,IAAA,CAAA,MAAM,GAAG,KAAK;AAwBxB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAQ;AAY3B,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAClD,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,0BAA0B,CAAC;AACzD,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC;AAEnB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;QAIrD,IAAA,CAAA,UAAU,GAAG,KAAK;AAWhB,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc;AACrC,QAAA,IAAI,CAAC,YAAY,GAAG,WAAW;AAC/B,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU;AAC7B,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG;AACf,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AAEzB,QAAA,gBAAgB,EAAE;AAElB,QAAA,IAAI,CAAC,QAAQ,GAAG,gBAAgB;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;QACvC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACpD,IAAI,CAAC,mBAAmB,GAAG,CAAA,oBAAA,EAAuB,IAAI,CAAC,QAAQ,EAAE;QACjE,IAAI,CAAC,mBAAmB,GAAG,CAAA,qBAAA,EAAwB,IAAI,CAAC,QAAQ,EAAE;QAClE,IAAI,CAAC,mBAAmB,GAAG,CAAA,qBAAA,EAAwB,IAAI,CAAC,QAAQ,EAAE;QAClE,IAAI,CAAC,qBAAqB,GAAG,CAAA,uBAAA,EAA0B,IAAI,CAAC,QAAQ,EAAE;QACtE,IAAI,CAAC,oBAAoB,GAAG,CAAA,sBAAA,EAAyB,IAAI,CAAC,QAAQ,EAAE;QACpE,IAAI,CAAC,qBAAqB,GAAG,CAAA,uBAAA,EAA0B,IAAI,CAAC,QAAQ,EAAE;QACtE,IAAI,CAAC,aAAa,GAAG,CAAA,iBAAA,EAAoB,IAAI,CAAC,QAAQ,EAAE;QACxD,IAAI,CAAC,eAAe,GAAG,CAAA,wBAAA,EAA2B,IAAI,CAAC,QAAQ,EAAE;AAEjE,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAC5D,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9C;IAEO,SAAS,CACd,KAAyB,EACzB,YAAoB,EACpB,YAAsB,EACtB,YAAoB,EACpB,iBAA0B,EAAA;AAE1B,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY;AACjC,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY;AAChC,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY;AACjC,QAAA,IAAI,CAAC,iBAAiB,GAAG,iBAAiB;AAE1C,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,EAAE;AACjC,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC;QAClB;AAAO,aAAA,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,EAAE;AACxC,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC;QAClB;aAAO;AACL,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC;QAClB;IACF;IAEO,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC;AACF,aAAA,IAAI,CAACC,WAAS,CAAC,IAAI,CAAC,cAAc,CAAC;AACnC,aAAA,SAAS,CAAC,CAAC,OAA8B,KAAI;AAC5C,YAAA,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC;AACvC,QAAA,CAAC,CAAC;QAEJ,IAAI,CAAC,+BAA+B,EAAE;;AAGtC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC;AACZ,iBAAA,IAAI,CAACA,WAAS,CAAC,IAAI,CAAC,cAAc,CAAC;AACnC,iBAAA,SAAS,CAAC,CAAC,aAAa,KAAI;;gBAE3B,MAAM,SAAS,GAAG,aAAa,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI;;;AAI5D,gBAAA,IAAI,SAAS,KAAK,QAAQ,EAAE;AAC1B,oBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;gBAC9D;qBAAO;AACL,oBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;gBAC9D;gBACA,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,CAAC,CAAC;QACN;IACF;IAEO,qBAAqB,GAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC;AACvC,gBAAA,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO;AACtB,aAAA,CAAC;QACJ;IACF;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;AAC1B,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;QAC9B,IAAI,CAAC,2BAA2B,EAAE;QAClC,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,eAAe,EAAE;IACxB;IAEO,oBAAoB,GAAA;AACzB,QAAA,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE;AAExC,QAAA,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,IAAI,CAAC;IACnD;IAEO,WAAW,GAAA;QAChB,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,2BAA2B,EAAE;AAClC,QAAA,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,KAAK,EAAE;AAC5C,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;IACrB;IAEO,iBAAiB,GAAA;QACtB,IAAI,CAAC,qBAAqB,EAAE;IAC9B;IAEO,aAAa,GAAA;;AAElB,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,yBAAyB,CAAC;QACvD,IAAI,CAAC,WAAW,EAAE;AAElB,QAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;IACrC;AAEO,IAAA,aAAa,CAAC,KAAa,EAAA;AAChC,QAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;IAChC;IAEO,YAAY,GAAA;AACjB,QAAA,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,KAAK,CAAC;IACpD;AAEO,IAAA,kBAAkB,CAAC,KAAyB,EAAA;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACtC,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;YACjB,IAAI,CAAC,OAAO,EAAE;QAChB;IACF;AAEU,IAAA,uBAAuB,CAAC,KAAY,EAAA;QAC5C,KAAK,CAAC,eAAe,EAAE;QACvB,KAAK,CAAC,cAAc,EAAE;QAEtB,IAAI,CAAC,qBAAqB,EAAE;IAC9B;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,MAAM,IAAI,GAAuB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;YACjE,MAAM,KAAK,GAAuB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AAEjE,YAAA,MAAM,IAAI,GAAuB;AAC/B,gBAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG;AACnB,gBAAA,UAAU,EAAE,CAAC;AACb,gBAAA,KAAK,EAAE,CAAC;AACR,gBAAA,KAAK,EAAE,CAAC;aACT;AAED,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAErE,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC;YAEtE,IAAI,CAAC,gBAAgB,GAAG,CAAA,KAAA,EAAQ,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAA,CAAA,EAAI,KAAK,CAAC,IAAI,CAAA,CAAA,EAAI,KAAK,CAAC,KAAK,GAAG;YACxF,IAAI,CAAC,cAAc,GAAG,CAAA,KAAA,EAAQ,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,KAAK,CAAA,CAAA,EAAI,OAAO,CAAC,IAAI,CAAA,CAAA,EAAI,IAAI,CAAC,KAAK,GAAG;AAE3F,YAAA,IACE,IAAI,CAAC,OAAO,KAAK,CAAC;AAClB,gBAAA,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;AACpB,gBAAA,IAAI,CAAC,aAAa,KAAK,MAAM,EAC7B;gBACA,IAAI,CAAC,OAAO,EAAE;YAChB;AAEA,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;YAE5D,IAAI,CAAC,aAAa,EAAE;QACtB;IACF;IAEA,aAAa,GAAA;QACX,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE;AACpC,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,EAC3C,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,CAAC,EACzD,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,EACrD,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,CAChD;QACH;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;QAC5B,IAAI,CAAC,2BAA2B,EAAE;QAClC,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,cAAc,EAAE;AACrB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;IACpB;AAEA,IAAA,YAAY,CAAC,IAA+B,EAAA;QAC1C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACnC;AAEA,IAAA,uBAAuB,CAAC,OAA8B,EAAA;AACpD,QAAA,QAAQ,OAAO,CAAC,IAAI;YAClB,KAAK,yBAAyB,CAAC,IAAI;AACjC,gBAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBAChB,IAAI,CAAC,WAAW,EAAE;gBACpB;gBACA;YAEF,KAAK,yBAAyB,CAAC,KAAK;AAClC,gBAAA,IAAI,IAAI,CAAC,MAAM,EAAE;oBACf,IAAI,CAAC,WAAW,EAAE;gBACpB;gBACA;YAEF,KAAK,yBAAyB,CAAC,KAAK;AAClC,gBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC;AAC1C,gBAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,YAAY;gBAClD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;;;AAGlD,gBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,aAAc,EAAE,CAAC;gBAC9D;YAEF,KAAK,yBAAyB,CAAC,iBAAiB;AAC9C,gBAAA,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe;gBAC5C;;IAEN;IAEA,cAAc,GAAA;QACZ,IACE,IAAI,CAAC,cAAc;AACnB,YAAA,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,kBAAkB,EACvB;AACA,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;AAEjE,YAAA,OAAO,CAAC;AACL,iBAAA,IAAI,CAACA,WAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC;AACvC,iBAAA,SAAS,CAAC,CAAC,MAAM,KAAI;gBACpB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,SAAS,KAAK,IAAI;AAClD,YAAA,CAAC,CAAC;YAEJ,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE;gBACnD,cAAc,EAAE,sBAAsB,CAAC,QAAQ;AAC/C,gBAAA,aAAa,EAAE,IAAI;AACnB,gBAAA,mBAAmB,EAAE,MAAM;AAC3B,gBAAA,iBAAiB,EAAE,QAAQ;AAC3B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,SAAS,EAAE,OAAO;AACnB,aAAA,CAAC;AAEF,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;QACzB;IACF;IAEA,eAAe,GAAA;;AAEb,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AACvB,YAAA,IAAI,CAAC,QAAQ,GAAG,SAAS;QAC3B;IACF;IAEA,cAAc,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE;AAC/B,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AACtC,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,mBAAmB,EAAE,KAAK;AAC1B,gBAAA,YAAY,EAAE,IAAI;gBAClB,mBAAmB,EAAE,IAAI,CAAC,oBAAoB;AAC9C,gBAAA,2BAA2B,EAAE,IAAI;AAClC,aAAA,CAAC;AAEF,YAAA,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC;AAEnD,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;QACzB;IACF;IAEA,eAAe,GAAA;;AAEb,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;AACrC,YAAA,IAAI,CAAC,QAAQ,GAAG,SAAS;QAC3B;IACF;IAEA,+BAA+B,GAAA;AAC7B,QAAA,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS;AACjC,aAAA,IAAI,CAACA,WAAS,CAAC,IAAI,CAAC,cAAc,CAAC;AACnC,aAAA,SAAS,CAAC,CAAC,KAAK,KAAI;YACnB,MAAM,aAAa,GAAG,KAAsB;YAC5C,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE;;AAE5C,YAAA,IAAI,GAAG,KAAK,QAAQ,EAAE;AACpB,gBAAA,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,KAAK,CAAC;YACpD;AACF,QAAA,CAAC,CAAC;IACN;IAEA,2BAA2B,GAAA;;AAEzB,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;AAC9B,YAAA,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE;AAClC,YAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS;QACrC;IACF;AAEA,IAAA,aAAa,CAAC,KAAyB,EAAA;AACrC,QAAA,IAAI,IAAoC;QAExC,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,EAAE;gBACjC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC;gBAC1C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBACxB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC;gBAC7C;YACF;iBAAO;gBACL,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC;YAC7C;QACF;AAEA,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,uBAAuB,CACrB,eAAiD,EAAA;QAEjD,IAAI,eAAe,EAAE;;YAEnB,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG;YAC5C,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG;YAC9C,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG;AAE7C,YAAA,MAAM,CAAC,GACL,KAAK,IAAI;kBACL,KAAK,GAAG;AACV,kBAAE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,IAAI,KAAK,EAAE,GAAG,CAAC;AAC5C,YAAA,MAAM,CAAC,GACL,KAAK,IAAI;kBACL,KAAK,GAAG;AACV,kBAAE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,IAAI,KAAK,EAAE,GAAG,CAAC;AAC5C,YAAA,MAAM,CAAC,GACL,KAAK,IAAI;kBACL,KAAK,GAAG;AACV,kBAAE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,IAAI,KAAK,EAAE,GAAG,CAAC;AAE5C,YAAA,MAAM,iBAAiB,GACrB,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC;iBACpC,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;;YAGlC,OAAO,IAAI,IAAI,iBAAiB,GAAG,IAAI,CAAC,GAAG;AACzC,kBAAE;kBACA,cAAc;QACpB;;AAEA,QAAA,OAAO,SAAS;IAClB;IAEA,qBAAqB,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;AAClD,YAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ;AACnD,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC9C,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ;QAC9D;QAEA,IAAI,CAAC,WAAW,EAAE;IACpB;8GAhtBW,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EA6Cd,gBAAgB,CAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAqChB,gBAAgB,CAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,8BAAA,EAAA,cAAA,EAAA,EAAA,EAAA,SAAA,EAvGzB;YACT,0BAA0B;YAC1B,qBAAqB;AACrB,YAAA,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;AACrD,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA0Ra,oBAAoB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAQpB,eAAe,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAQf,OAAO,gFAQP,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAhE/B,WAAW,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAKX,UAAU,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAKV,UAAU,6BC/UpB,8nYAwXA,EAAA,MAAA,EAAA,CAAA,+8pBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDjSI,YAAY,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,mBAAmB,qJACnB,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,GAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,EAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,SAAA,EAAA,YAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACb,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACb,cAAc,yNACd,6BAA6B,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC7B,6BAA6B,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,EAAA,OAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC7B,2BAA2B,gJAX3B,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAcA,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAzBnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,SAAA,EAGhB;wBACT,0BAA0B;wBAC1B,qBAAqB;AACrB,wBAAA,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;qBACrD,EAAA,aAAA,EACc,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B;wBACP,SAAS;wBACT,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,iBAAiB;wBACjB,mBAAmB;wBACnB,aAAa;wBACb,aAAa;wBACb,cAAc;wBACd,6BAA6B;wBAC7B,6BAA6B;wBAC7B,2BAA2B;AAC5B,qBAAA,EAAA,QAAA,EAAA,8nYAAA,EAAA,MAAA,EAAA,CAAA,+8pBAAA,CAAA,EAAA;;0BA6VE;;sBApVF;;sBASA;;sBASA;;sBAOA;;sBAaA,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAQrC;;sBAQA;;sBAOA;;sBAOA;;sBAOA,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBACrC,WAAW;uBAAC,8BAA8B;;sBAM1C;;sBAMA;;sBAOA;;sBAMA;;sBAoHA,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,wBAAwB,EAAE;AACnC,wBAAA,IAAI,EAAE,WAAW;AAClB,qBAAA;;sBAGA,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,kBAAkB,EAAE;AAC7B,wBAAA,IAAI,EAAE,UAAU;AACjB,qBAAA;;sBAGA,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,gBAAgB,EAAE;AAC3B,wBAAA,IAAI,EAAE,UAAU;AACjB,qBAAA;;sBA6BA,YAAY;uBAAC,oBAAoB;;sBAQjC,YAAY;uBAAC,eAAe;;sBAQ5B,YAAY;uBAAC,OAAO;;sBAQpB,YAAY;uBAAC,yBAAyB;;;MElX5B,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAR7B,6BAA6B;YAC7B,uBAAuB;YACvB,4BAA4B;YAC5B,2BAA2B;YAC3B,6BAA6B,CAAA,EAAA,OAAA,EAAA,CAErB,uBAAuB,EAAE,4BAA4B,CAAA,EAAA,CAAA,CAAA;AAEpD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAR7B,6BAA6B;YAC7B,uBAAuB,CAAA,EAAA,CAAA,CAAA;;2FAOd,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,6BAA6B;wBAC7B,uBAAuB;wBACvB,4BAA4B;wBAC5B,2BAA2B;wBAC3B,6BAA6B;AAC9B,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,uBAAuB,EAAE,4BAA4B,CAAC;AACjE,iBAAA;;;AClBD;;AAEG;;;;"}
1
+ {"version":3,"file":"skyux-colorpicker.mjs","sources":["../../../../../libs/components/colorpicker/src/lib/modules/shared/sky-colorpicker-resources.module.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-input.service.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.service.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-input.directive.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-slider.directive.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-text.directive.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-classes.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/types/colorpicker-message-type.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.component.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.component.html","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.module.ts","../../../../../libs/components/colorpicker/src/skyux-colorpicker.ts"],"sourcesContent":["/* istanbul ignore file */\n\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-colorpicker' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_colorpicker_alpha: { message: 'A:' },\n skyux_colorpicker_apply: { message: 'Apply' },\n skyux_colorpicker_aria_alpha: {\n message: 'Alpha channel value between 0 and 1',\n },\n skyux_colorpicker_aria_blue: { message: 'Blue value between 0 and 255' },\n skyux_colorpicker_aria_green: { message: 'Green value between 0 and 255' },\n skyux_colorpicker_aria_hex: { message: 'Hexadecimal color code' },\n skyux_colorpicker_aria_red: { message: 'Red value between 0 and 255' },\n skyux_colorpicker_aria_rgba: { message: 'RGBA values' },\n skyux_colorpicker_blue: { message: 'B:' },\n skyux_colorpicker_close: { message: 'Cancel' },\n skyux_colorpicker_dropdown_button: { message: 'Select color value' },\n skyux_colorpicker_green: { message: 'G:' },\n skyux_colorpicker_hex: { message: 'Hex:' },\n skyux_colorpicker_input_default_label: { message: 'Color value' },\n skyux_colorpicker_preset_color: { message: 'Preset Color:' },\n skyux_colorpicker_red: { message: 'R:' },\n skyux_colorpicker_reset: { message: 'Reset color value to white' },\n },\n 'FR-CA': {\n skyux_colorpicker_alpha: { message: 'A :' },\n skyux_colorpicker_apply: { message: 'Appliquer' },\n skyux_colorpicker_aria_alpha: {\n message: 'Valeur du canal alpha entre 0 et 1',\n },\n skyux_colorpicker_aria_blue: { message: 'Valeur bleue entre 0 et 255' },\n skyux_colorpicker_aria_green: { message: 'Valeur verte entre 0 et 255' },\n skyux_colorpicker_aria_hex: { message: 'Code de couleur hexadécimal' },\n skyux_colorpicker_aria_red: { message: 'Valeur rouge entre 0 et 255' },\n skyux_colorpicker_aria_rgba: { message: 'Valeurs RGBA' },\n skyux_colorpicker_blue: { message: 'B :' },\n skyux_colorpicker_close: { message: 'Annuler' },\n skyux_colorpicker_dropdown_button: {\n message: 'Sélectionner la valeur de la couleur',\n },\n skyux_colorpicker_green: { message: 'G :' },\n skyux_colorpicker_hex: { message: 'Hexadécimale :' },\n skyux_colorpicker_input_default_label: { message: 'Valeur de la couleur' },\n skyux_colorpicker_preset_color: { message: 'Couleur prédéfinie :' },\n skyux_colorpicker_red: { message: 'R :' },\n skyux_colorpicker_reset: {\n message: 'Réinitialiser la valeur de la couleur à blanc',\n },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkyColorpickerResourcesModule {}\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { ReplaySubject } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyColorpickerInputService implements OnDestroy {\n public inputId = new ReplaySubject<string>(1);\n public labelText = new ReplaySubject<string | undefined>(1);\n public ariaError = new ReplaySubject<{ hasError: boolean; errorId: string }>(\n 1,\n );\n\n public ngOnDestroy(): void {\n this.inputId.complete();\n this.labelText.complete();\n this.ariaError.complete();\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkyColorpickerCmyk } from './types/colorpicker-cmyk';\nimport { SkyColorpickerHsla } from './types/colorpicker-hsla';\nimport { SkyColorpickerHsva } from './types/colorpicker-hsva';\nimport { SkyColorpickerOutput } from './types/colorpicker-output';\nimport { SkyColorpickerRgba } from './types/colorpicker-rgba';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyColorpickerService {\n public rgbaToHsva(rgba: SkyColorpickerRgba): SkyColorpickerHsva {\n const red = Math.min(rgba.red, 1);\n const green = Math.min(rgba.green, 1);\n const blue = Math.min(rgba.blue, 1);\n const alpha = Math.min(rgba.alpha, 1);\n const max = Math.max(red, green, blue);\n const min = Math.min(red, green, blue);\n const value = max;\n const d = max - min;\n const saturation = max === 0 ? 0 : d / max;\n let hue = 0;\n let maxValue: Record<number, number>;\n if (max !== min) {\n maxValue = {\n [red]: (green - blue) / d + (green < blue ? 6 : 0),\n [green]: (blue - red) / d + 2,\n [blue]: (red - green) / d + 4,\n };\n hue = maxValue[max];\n hue /= 6;\n }\n const hsva: SkyColorpickerHsva = {\n hue: hue,\n saturation: saturation,\n value: value,\n alpha: alpha,\n };\n return hsva;\n }\n\n public hsvaToRgba(hsva: SkyColorpickerHsva): SkyColorpickerRgba {\n let red = 0;\n let green = 0;\n let blue = 0;\n const hue = hsva.hue;\n const saturation = hsva.saturation;\n const value = hsva.value;\n const alpha = hsva.alpha || hsva.alpha === 0 ? hsva.alpha : 1;\n const i = Math.floor(hue * 6);\n const f = hue * 6 - i;\n const p = value * (1 - saturation);\n const q = value * (1 - f * saturation);\n const t = value * (1 - (1 - f) * saturation);\n const color: Record<number, () => void> = {\n 0: (): void => {\n red = value;\n green = t;\n blue = p;\n },\n 1: (): void => {\n red = q;\n green = value;\n blue = p;\n },\n 2: (): void => {\n red = p;\n green = value;\n blue = t;\n },\n 3: (): void => {\n red = p;\n green = q;\n blue = value;\n },\n 4: (): void => {\n red = t;\n green = p;\n blue = value;\n },\n 5: (): void => {\n red = value;\n green = p;\n blue = q;\n },\n };\n color[i % 6]();\n\n const rgba: SkyColorpickerRgba = {\n red: red,\n green: green,\n blue: blue,\n alpha: alpha,\n };\n return rgba;\n }\n\n public stringToHsva(\n colorString: string,\n hex8: boolean,\n ): SkyColorpickerHsva | undefined {\n const stringParsers: {\n re: RegExp;\n parse: (\n execResult: RegExpExecArray,\n ) => SkyColorpickerRgba | SkyColorpickerHsla;\n }[] = [\n {\n re: /(rgb)a?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*%?,\\s*(\\d{1,3})\\s*%?(?:,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)/,\n parse: (execResult): SkyColorpickerRgba => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[2], 0) / 255,\n green: parseInt(execResult[3], 0) / 255,\n blue: parseInt(execResult[4], 0) / 255,\n alpha: parseFloat(execResult[5]),\n };\n return rgba;\n },\n },\n {\n re: /(hsl)a?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})%\\s*,\\s*(\\d{1,3})%\\s*(?:,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)/,\n parse: (execResult): SkyColorpickerHsla => {\n const hsla: SkyColorpickerHsla = {\n hue: parseInt(execResult[2], 0) / 360,\n saturation: parseInt(execResult[3], 0) / 100,\n lightness: parseInt(execResult[4], 0) / 100,\n alpha: parseFloat(execResult[5]),\n };\n return hsla;\n },\n },\n ];\n if (hex8) {\n stringParsers.push({\n re: /#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/,\n parse: (execResult) => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[1], 16) / 255,\n green: parseInt(execResult[2], 16) / 255,\n blue: parseInt(execResult[3], 16) / 255,\n alpha: parseInt(execResult[4], 16) / 255,\n };\n return rgba;\n },\n });\n } else {\n stringParsers.push(\n {\n re: /#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/,\n parse: (execResult) => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[1], 16) / 255,\n green: parseInt(execResult[2], 16) / 255,\n blue: parseInt(execResult[3], 16) / 255,\n alpha: 1,\n };\n return rgba;\n },\n },\n {\n re: /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])$/,\n parse: (execResult) => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[1] + execResult[1], 16) / 255,\n green: parseInt(execResult[2] + execResult[2], 16) / 255,\n blue: parseInt(execResult[3] + execResult[3], 16) / 255,\n alpha: 1,\n };\n return rgba;\n },\n },\n );\n }\n\n for (const key in stringParsers) {\n /* istanbul ignore else */ /* for in must be filtered by an if */\n if (Object.prototype.hasOwnProperty.call(stringParsers, key)) {\n const parser = stringParsers[key];\n const match = parser.re.exec(colorString);\n const color = match && parser.parse(match);\n if (color) {\n let hsva: SkyColorpickerHsva | undefined;\n\n if ('red' in color) {\n hsva = this.rgbaToHsva(color);\n } else if ('hue' in color) {\n hsva = this.#hsla2hsva(color);\n }\n\n if (hsva) {\n return hsva;\n }\n }\n }\n }\n\n return undefined;\n }\n\n public skyColorpickerOut(color: SkyColorpickerHsva): SkyColorpickerOutput {\n const cmykText = this.#outputFormat(color, 'cmyk', true);\n const hslaText = this.#outputFormat(color, 'hsla', true);\n const rgbaText = this.#outputFormat(color, 'rgba', true);\n const rgba = this.hsvaToRgba(color);\n const hsla = this.#hsva2hsla(color);\n const cmyk = this.#rgbaToCmyk(rgba);\n const hex = this.#outputFormat(color, 'hex', false);\n\n const formatColor: SkyColorpickerOutput = {\n cmykText,\n hslaText,\n rgbaText,\n hsva: this.#denormalizeHSVA(color),\n rgba: this.denormalizeRGBA(rgba),\n hsla: this.#denormalizeHSLA(hsla),\n cmyk: this.#denormalizeCMYK(cmyk),\n hex,\n };\n\n return formatColor;\n }\n\n public hexText(rgba: SkyColorpickerRgba, allowHex8: boolean): string {\n let hexText =\n '#' +\n ((1 << 24) | (rgba.red << 16) | (rgba.green << 8) | rgba.blue)\n .toString(16)\n .substring(1);\n if (\n hexText[1] === hexText[2] &&\n hexText[3] === hexText[4] &&\n hexText[5] === hexText[6] &&\n rgba.alpha === 1 &&\n !allowHex8\n ) {\n hexText = '#' + hexText[1] + hexText[3] + hexText[5];\n }\n if (allowHex8) {\n hexText += ((1 << 8) | Math.round(rgba.alpha * 255))\n .toString(16)\n .substring(1);\n }\n return hexText;\n }\n\n public denormalizeRGBA(rgba: SkyColorpickerRgba): SkyColorpickerRgba {\n const denormalizeRgba: SkyColorpickerRgba = {\n red: Math.round(rgba.red * 255),\n green: Math.round(rgba.green * 255),\n blue: Math.round(rgba.blue * 255),\n alpha: Math.round(rgba.alpha * 100) / 100,\n };\n return denormalizeRgba;\n }\n\n #hsla2hsva(hsla: SkyColorpickerHsla): SkyColorpickerHsva {\n const alpha = Math.min(hsla.alpha, 1);\n const hue = Math.min(hsla.hue, 1);\n const lightness = Math.min(hsla.lightness, 1);\n const saturation = Math.min(hsla.saturation, 1);\n const hsva: SkyColorpickerHsva = {\n hue: hue,\n saturation: saturation,\n value: lightness,\n alpha: alpha,\n };\n if (lightness === 0) {\n hsva.saturation = 0;\n hsva.value = 0;\n } else {\n hsva.value =\n lightness + (saturation * (1 - Math.abs(2 * lightness - 1))) / 2;\n hsva.saturation = (2 * (hsva.value - lightness)) / hsva.value;\n }\n return hsva;\n }\n\n #hsva2hsla(hsva: SkyColorpickerHsva): SkyColorpickerHsla {\n const alpha = hsva.alpha;\n const hue = hsva.hue;\n const saturation = hsva.saturation;\n const value = hsva.value;\n\n const hsla: SkyColorpickerHsla = {\n hue: hue,\n saturation: saturation,\n lightness: value,\n alpha: alpha,\n };\n if (value === 0) {\n hsla.lightness = 0;\n hsla.saturation = 0;\n } else {\n hsla.lightness = (value * (2 - saturation)) / 2;\n hsla.saturation =\n (value * saturation) / (1 - Math.abs(2 * hsla.lightness - 1));\n if (Number.isNaN(hsla.saturation)) {\n hsla.saturation = 0;\n }\n }\n return hsla;\n }\n\n #rgbaToCmyk(rgba: SkyColorpickerRgba): SkyColorpickerCmyk {\n const cmyk: SkyColorpickerCmyk = { cyan: 0, magenta: 0, yellow: 0, key: 0 };\n const key = 1 - Math.max(rgba.red, rgba.green, rgba.blue);\n\n if (key === 1) {\n cmyk.key = 1;\n return cmyk;\n }\n cmyk.cyan = (1 - rgba.red - key) / (1 - key);\n cmyk.magenta = (1 - rgba.green - key) / (1 - key);\n cmyk.yellow = (1 - rgba.blue - key) / (1 - key);\n cmyk.key = key;\n return cmyk;\n }\n\n #outputFormat(\n hsva: SkyColorpickerHsva,\n outputFormat: string,\n allowHex8: boolean,\n ): string {\n if (['hsla', 'hex', 'cmyk'].indexOf(outputFormat) === -1) {\n outputFormat = 'rgba';\n }\n const color: Record<string, () => string> = {\n hsla: () => {\n const hsla = this.#denormalizeHSLA(this.#hsva2hsla(hsva));\n return `hsla(${hsla.hue},${hsla.saturation}%,${hsla.lightness}%,${hsla.alpha})`;\n },\n hex: () => {\n return this.hexText(\n this.denormalizeRGBA(this.hsvaToRgba(hsva)),\n allowHex8,\n );\n },\n cmyk: () => {\n const cmyk = this.#denormalizeCMYK(\n this.#rgbaToCmyk(this.hsvaToRgba(hsva)),\n );\n return `cmyk(${cmyk.cyan}%,${cmyk.magenta}%,${cmyk.yellow}%,${cmyk.key}%)`;\n },\n rgba: () => {\n const rgba = this.denormalizeRGBA(this.hsvaToRgba(hsva));\n return `rgba(${rgba.red},${rgba.green},${rgba.blue},${rgba.alpha})`;\n },\n };\n\n return color[outputFormat]();\n }\n\n #denormalizeHSLA(hsla: SkyColorpickerHsla): SkyColorpickerHsla {\n const denormalizeHsla: SkyColorpickerHsla = {\n hue: Math.round(hsla.hue * 360),\n saturation: Math.round(hsla.saturation * 100),\n lightness: Math.round(hsla.lightness * 100),\n alpha: Math.round(hsla.alpha * 100) / 100,\n };\n return denormalizeHsla;\n }\n\n #denormalizeHSVA(hsla: SkyColorpickerHsva): SkyColorpickerHsva {\n const denormalizeHsva: SkyColorpickerHsva = {\n hue: Math.round(hsla.hue * 360),\n saturation: Math.round(hsla.saturation * 100),\n value: Math.round(hsla.value * 100),\n alpha: Math.round(hsla.alpha * 100) / 100,\n };\n return denormalizeHsva;\n }\n\n #denormalizeCMYK(cmyk: SkyColorpickerCmyk): SkyColorpickerCmyk {\n const denormalizeCmyk: SkyColorpickerCmyk = {\n cyan: Math.round(cmyk.cyan * 100),\n magenta: Math.round(cmyk.magenta * 100),\n yellow: Math.round(cmyk.yellow * 100),\n key: Math.round(cmyk.key * 100),\n };\n return denormalizeCmyk;\n }\n}\n","import {\n Directive,\n ElementRef,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n forwardRef,\n inject,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n NgControl,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { SkyRequiredStateDirective } from '@skyux/forms';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { Subject, Subscription, distinctUntilChanged, takeUntil } from 'rxjs';\n\nimport { SkyColorpickerInputService } from './colorpicker-input.service';\nimport { SkyColorpickerComponent } from './colorpicker.component';\nimport { SkyColorpickerService } from './colorpicker.service';\nimport { SkyColorpickerOutput } from './types/colorpicker-output';\n\nconst SKY_COLORPICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SkyColorpickerInputDirective),\n multi: true,\n};\n\nconst SKY_COLORPICKER_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyColorpickerInputDirective),\n multi: true,\n};\n\nconst SKY_COLORPICKER_DEFAULT_COLOR = '#FFFFFF';\n\n/**\n * Creates the colorpicker element and dropdown.\n */\n@Directive({\n selector: '[skyColorpickerInput]',\n providers: [SKY_COLORPICKER_VALUE_ACCESSOR, SKY_COLORPICKER_VALIDATOR],\n hostDirectives: [\n {\n directive: SkyRequiredStateDirective,\n inputs: ['required'],\n },\n ],\n host: {\n class: 'sky-colorpicker-input',\n readonly: 'true',\n '(input)': 'changeInput()',\n '(change)': 'onChange()',\n },\n})\nexport class SkyColorpickerInputDirective\n implements OnInit, OnChanges, ControlValueAccessor, Validator, OnDestroy\n{\n /**\n * Creates the colorpicker element and dropdown. Place this attribute on an `input` element\n * or `button` element, wrap the element in a `sky-colorpicker` component, and set the attribute\n * to the instance of the `sky-colorpicker` component.\n * @required\n */\n @Input()\n public skyColorpickerInput!: SkyColorpickerComponent;\n\n /**\n * The initial color to load in the colorpicker. Use a reactive or\n * template-driven form to set this value. This property is deprecated. As an alternative,\n * we recommend the `formControlName` property on reactive forms or `ngModel` on\n * template-driven forms. See the demo for examples.\n * @deprecated\n */\n @Input()\n public set initialColor(value: string | undefined) {\n /* istanbul ignore else */\n if (!this.#_initialColor && !this.#modelValue) {\n this.writeValue(value);\n }\n\n this.#_initialColor = value;\n }\n\n public get initialColor(): string {\n return this.#_initialColor || SKY_COLORPICKER_DEFAULT_COLOR;\n }\n\n /**\n * The ID should only be settable when `labelText` is undefined.\n * When `labelText` is set, the ID is defined by `SkyColorpickerComponent`.\n * @internal\n */\n @Input()\n public set id(value: string | undefined) {\n if (!this.#labelText && value) {\n this.#setInputId(value);\n }\n }\n\n /**\n * This property is deprecated and does not affect the colorpicker.\n * We recommend against using it.\n * @deprecated\n * @default \"rgba\"\n */\n @Input()\n public returnFormat = 'rgba';\n\n /**\n * The format for the color when the colorpicker uses a native input\n * element such as a standard text input or a button. This property accepts `rgba`, `hex`,\n * or `hsla`, but we do not recommend using it because users never see or use its value.\n * Instead, if you need to access this format value, see the demo for an example.\n * @default \"rgba\"\n */\n @Input()\n public outputFormat = 'rgba';\n\n /**\n * The array of colors to load as preset choices. The colorpicker displays the\n * colors in a series of 12 boxes for users to select.\n */\n @Input()\n public presetColors = ['#333', '#888', '#EFEFEF', '#FFF'];\n\n /**\n * The type of transparency in the transparency slider.\n *@default \"hex6\"\n */\n @Input()\n public alphaChannel = 'hex6';\n\n /**\n * Whether to display a transparency slider for users to select transparency\n * levels.\n */\n @Input()\n public allowTransparency = true;\n\n #modelValue: SkyColorpickerOutput | undefined;\n #elementRef: ElementRef;\n #renderer: Renderer2;\n #svc: SkyColorpickerService;\n #resourcesSvc: SkyLibResourcesService;\n #injector: Injector;\n #inputIdSubscription: Subscription | undefined;\n #labelText: string | undefined;\n\n #_disabled: boolean | undefined;\n #_initialColor: string | undefined;\n\n readonly #colorpickerInputSvc = inject(SkyColorpickerInputService);\n readonly #ngUnsubscribe = new Subject<void>();\n\n 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 public changeInput(): void {\n const value = this.#elementRef.nativeElement.value;\n this.skyColorpickerInput.updatePickerValues(value);\n this.skyColorpickerInput.backgroundColorForDisplay = value;\n }\n\n public onChange(): void {\n const newValue = this.#elementRef.nativeElement.value;\n const formattedValue = this.#formatter(newValue);\n this.#modelValue = formattedValue;\n this.#writeModelValue(formattedValue);\n }\n\n public ngOnInit(): void {\n const element = this.#elementRef.nativeElement;\n\n this.#renderer.addClass(element, 'sky-form-control');\n this.skyColorpickerInput.initialColor = this.initialColor;\n this.skyColorpickerInput.returnFormat = this.returnFormat;\n\n this.skyColorpickerInput.selectedColorChanged\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((newColor: SkyColorpickerOutput) => {\n /* istanbul ignore else */\n if (newColor) {\n this.#modelValue = this.#formatter(newColor);\n\n // Write the new value to the reactive form control, which will update the template model\n this.writeValue(newColor);\n }\n });\n\n this.#colorpickerInputSvc.labelText\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((labelText) => {\n this.#labelText = labelText;\n this.#inputIdSubscription?.unsubscribe();\n\n if (labelText) {\n this.#inputIdSubscription = this.#colorpickerInputSvc.inputId\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((inputId) => {\n this.#setInputId(inputId);\n });\n }\n });\n\n this.#colorpickerInputSvc.ariaError\n .pipe(\n distinctUntilChanged((a, b) => {\n return a.hasError === b.hasError && a.errorId === b.errorId;\n }),\n takeUntil(this.#ngUnsubscribe),\n )\n .subscribe((errorState) => {\n if (errorState.hasError) {\n this.#renderer.setAttribute(element, 'aria-invalid', 'true');\n this.#renderer.setAttribute(\n element,\n 'aria-errormessage',\n errorState.errorId,\n );\n } else {\n this.#renderer.removeAttribute(element, 'aria-invalid');\n this.#renderer.removeAttribute(element, 'aria-errormessage');\n }\n });\n\n this.skyColorpickerInput.updatePickerValues(this.initialColor);\n\n /* Sanity check */\n /* istanbul ignore else */\n if (!this.#_disabled) {\n this.skyColorpickerInput.backgroundColorForDisplay = this.initialColor;\n }\n\n /// Set aria-label as default, if not set\n if (!element.getAttribute('aria-label')) {\n this.#renderer.setAttribute(\n element,\n 'aria-label',\n this.#getString('skyux_colorpicker_input_default_label'),\n );\n }\n\n const typeAttr = element.getAttribute('type');\n if (typeAttr && typeAttr === 'hidden') {\n this.skyColorpickerInput.isVisible = false;\n } else {\n this.skyColorpickerInput.isVisible = true;\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public setColorPickerDefaults(): void {\n this.skyColorpickerInput.setDialog(\n this.initialColor,\n this.outputFormat,\n this.presetColors,\n this.alphaChannel,\n this.allowTransparency,\n );\n }\n\n public ngOnChanges(): void {\n this.skyColorpickerInput.returnFormat = this.returnFormat;\n this.setColorPickerDefaults();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public registerOnChange(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public registerOnTouched(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public registerOnValidatorChange(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public writeValue(value: any): void {\n if (\n this.skyColorpickerInput &&\n value &&\n value !== this.skyColorpickerInput.lastAppliedColor\n ) {\n const formattedValue = this.#formatter(value);\n\n this.#modelValue = formattedValue;\n this.#writeModelValue(formattedValue);\n\n if (!this.#_initialColor) {\n this.#_initialColor = value;\n this.skyColorpickerInput.initialColor = value;\n }\n this.skyColorpickerInput.lastAppliedColor = value;\n\n const control = this.#injector.get<NgControl>(NgControl, undefined, {\n optional: true,\n })?.control;\n\n if (control) {\n control.setValue(this.#modelValue, { emitEvent: false });\n }\n }\n }\n\n public validate(): ValidationErrors | null {\n return null;\n }\n\n /**\n * Implemented as part of ControlValueAccessor.\n */\n public setDisabledState(isDisabled: boolean): void {\n this.#_disabled = isDisabled;\n this.skyColorpickerInput.disabled = isDisabled;\n if (this.#_disabled) {\n this.skyColorpickerInput.backgroundColorForDisplay = '#fff';\n } else if (this.#modelValue) {\n this.skyColorpickerInput.backgroundColorForDisplay = this.#modelValue.hex;\n }\n }\n\n #writeModelValue(model: SkyColorpickerOutput): void {\n const setElementValue = model.rgbaText;\n const element = this.#elementRef.nativeElement;\n\n let output: string;\n switch (this.outputFormat) {\n case 'hsla':\n output = model.hslaText;\n break;\n case 'cmyk':\n output = model.cmykText;\n break;\n case 'hex':\n output = model.hex;\n break;\n default:\n output = model.rgbaText;\n break;\n }\n\n this.skyColorpickerInput.updatePickerValues(output);\n this.skyColorpickerInput.backgroundColorForDisplay = output;\n\n this.#renderer.setStyle(element, 'background-color', setElementValue);\n this.#renderer.setProperty(element, 'value', output);\n }\n\n #formatter(\n color: string | SkyColorpickerOutput | undefined,\n ): SkyColorpickerOutput {\n if (color && typeof color !== 'string') {\n return color;\n }\n\n const hsva = this.#svc.stringToHsva(\n color as string,\n this.alphaChannel === 'hex8',\n );\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const formatColor = this.#svc.skyColorpickerOut(hsva!);\n\n return formatColor;\n }\n\n #getString(key: string): string {\n // TODO: Need to implement the async `getString` method in a breaking change.\n return this.#resourcesSvc.getStringForLocale({ locale: 'en-US' }, key);\n }\n\n #setInputId(id: string): void {\n this.#renderer.setAttribute(this.#elementRef.nativeElement, 'id', id);\n }\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n} 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): void => {\n this.move(event);\n };\n this.#listenerStop = (): void => {\n this.stop();\n };\n }\n\n @HostListener('touchstart', ['$event'])\n @HostListener('mousedown', ['$event'])\n public start(event: MouseEvent | TouchEvent): void {\n this.#setCursor(event);\n document.addEventListener('mousemove', this.#listenerMove);\n document.addEventListener('touchmove', this.#listenerMove);\n document.addEventListener('mouseup', this.#listenerStop);\n document.addEventListener('touchend', this.#listenerStop);\n }\n\n #setCursor(event: MouseEvent | TouchEvent): void {\n const height = this.#el.nativeElement.offsetHeight;\n const width = this.#el.nativeElement.offsetWidth;\n const xAxis = Math.max(0, Math.min(this.getX(event), width));\n const yAxis = Math.max(0, Math.min(this.getY(event), height));\n if (this.xAxis !== undefined && this.yAxis !== undefined) {\n this.newColorContrast.emit({\n xCoordinate: xAxis / width,\n yCoordinate: 1 - yAxis / height,\n xAxis: this.xAxis,\n yAxis: this.yAxis,\n } as SkyColorpickerChangeAxis);\n } else {\n this.newColorContrast.emit({\n xCoordinate: xAxis / width,\n maxRange: this.xAxis,\n } as SkyColorpickerChangeAxis);\n }\n /* // No vertical bars\n if (this.xAxis === undefined && this.yAxis !== undefined) {\n this.newColorContrast.emit({ yCoordinate: yAxis / height, maxRange: this.yAxis });\n } */\n }\n\n public stop(): void {\n document.removeEventListener('mousemove', this.#listenerMove);\n document.removeEventListener('touchmove', this.#listenerMove);\n document.removeEventListener('mouseup', this.#listenerStop);\n document.removeEventListener('touchend', this.#listenerStop);\n }\n\n public move(event: MouseEvent | TouchEvent): void {\n event.preventDefault();\n this.#setCursor(event);\n }\n\n public getX(event: MouseEvent | TouchEvent): number {\n /* Ignoring event.touches as tests are not run on a touch device. */\n /* istanbul ignore next */\n return (\n ('pageX' in event ? event.pageX : event.touches[0].pageX) -\n this.#el.nativeElement.getBoundingClientRect().left -\n window.pageXOffset\n );\n }\n public getY(event: MouseEvent | TouchEvent): number {\n /* Ignoring event.touches as tests are not run on a touch device. */\n /* istanbul ignore next */\n return (\n ('pageY' in event ? event.pageY : event.touches[0].pageY) -\n this.#el.nativeElement.getBoundingClientRect().top -\n window.pageYOffset\n );\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostListener,\n Input,\n Output,\n} from '@angular/core';\n\nimport { SkyColorpickerChangeColor } from './types/colorpicker-color';\n\n/**\n * @internal\n */\n@Directive({\n selector: '[skyColorpickerText]',\n})\nexport class SkyColorpickerTextDirective {\n @Output()\n public newColorContrast = new EventEmitter<SkyColorpickerChangeColor>();\n @Input()\n public skyColorpickerText: string | undefined;\n @Input()\n public color: string | undefined;\n @Input()\n public maxRange: number | undefined;\n\n @HostListener('input', ['$event'])\n protected changeInput(event: Event): void {\n const element = event.target as HTMLInputElement;\n const elementValue = parseFloat(element.value);\n if (this.maxRange === undefined) {\n this.newColorContrast.emit({\n color: element.value,\n colorValue: undefined,\n maxRange: undefined,\n } as SkyColorpickerChangeColor);\n }\n\n if (\n !isNaN(elementValue) &&\n elementValue >= 0 &&\n this.maxRange &&\n elementValue <= this.maxRange\n ) {\n this.newColorContrast.emit({\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n color: this.color!,\n colorValue: elementValue,\n maxRange: this.maxRange,\n });\n }\n }\n}\n","/**\n * @internal\n */\nexport class SliderPosition {\n constructor(\n public hue: number,\n public saturation: number,\n public value: number,\n public alpha: number,\n ) {}\n}\n/**\n * @internal\n */\nexport class SliderDimension {\n constructor(\n public hue: number,\n public saturation: number,\n public value: number,\n public alpha: number,\n ) {}\n}\n","/**\n * The commands to provide the colorpicker.\n */\nexport enum SkyColorpickerMessageType {\n /**\n * Opens the colorpicker.\n */\n Open = 0,\n /**\n * Resets the selection in the colorpicker.\n */\n Reset = 1,\n /**\n * Toggles whether to display a reset button beside the colorpicker.\n */\n ToggleResetButton = 2,\n /**\n * Closes the colorpicker.\n */\n Close = 3,\n}\n","import { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { SlicePipe } from '@angular/common';\nimport {\n AfterContentChecked,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EnvironmentInjector,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport {\n AbstractControlDirective,\n FormControlDirective,\n FormControlName,\n NgModel,\n} from '@angular/forms';\nimport {\n SkyAffixAutoFitContext,\n SkyAffixService,\n SkyAffixer,\n SkyCoreAdapterService,\n SkyIdModule,\n SkyIdService,\n SkyOverlayInstance,\n SkyOverlayService,\n} from '@skyux/core';\nimport {\n SKY_FORM_ERRORS_ENABLED,\n SkyFormErrorsModule,\n SkyInputBoxModule,\n SkyRequiredStateDirective,\n} from '@skyux/forms';\nimport { SkyHelpInlineModule } from '@skyux/help-inline';\nimport { SkyI18nModule } from '@skyux/i18n';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyThemeModule, SkyThemeService } from '@skyux/theme';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyColorpickerResourcesModule } from '../shared/sky-colorpicker-resources.module';\n\nimport { SliderDimension, SliderPosition } from './colorpicker-classes';\nimport { SkyColorpickerInputService } from './colorpicker-input.service';\nimport { SkyColorpickerSliderDirective } from './colorpicker-slider.directive';\nimport { SkyColorpickerTextDirective } from './colorpicker-text.directive';\nimport { SkyColorpickerService } from './colorpicker.service';\nimport { SkyColorpickerChangeAxis } from './types/colorpicker-axis';\nimport { SkyColorpickerChangeColor } from './types/colorpicker-color';\nimport { SkyColorpickerHsva } from './types/colorpicker-hsva';\nimport { SkyColorpickerMessage } from './types/colorpicker-message';\nimport { SkyColorpickerMessageType } from './types/colorpicker-message-type';\nimport { SkyColorpickerOutput } from './types/colorpicker-output';\nimport { SkyColorpickerResult } from './types/colorpicker-result';\nimport { SkyColorpickerRgba } from './types/colorpicker-rgba';\n\nlet componentIdIndex = 0;\n\n/**\n * The SKY UX-themed replacement for the HTML `input` element with `type=\"color\"`.\n * The value that users select is driven through the `ngModel` attribute specified on\n * the `input` element.\n */\n@Component({\n selector: 'sky-colorpicker',\n templateUrl: './colorpicker.component.html',\n styleUrls: ['./colorpicker.component.scss'],\n providers: [\n SkyColorpickerInputService,\n SkyColorpickerService,\n { provide: SKY_FORM_ERRORS_ENABLED, useValue: true },\n ],\n encapsulation: ViewEncapsulation.None,\n imports: [\n SlicePipe,\n CdkTrapFocus,\n SkyIdModule,\n SkyFormErrorsModule,\n SkyInputBoxModule,\n SkyHelpInlineModule,\n SkyI18nModule,\n SkyIconModule,\n SkyThemeModule,\n SkyColorpickerResourcesModule,\n SkyColorpickerSliderDirective,\n SkyColorpickerTextDirective,\n ],\n})\nexport class SkyColorpickerComponent\n implements OnInit, OnDestroy, AfterContentChecked\n{\n /**\n * The name of the icon to overlay on top of the picker.\n * @internal\n */\n @Input()\n public pickerButtonIcon: string | undefined;\n\n /**\n * The ARIA label for the colorpicker. This sets the colorpicker's `aria-label` attribute\n * [to support accessibility](https://developer.blackbaud.com/skyux/components/checkbox#accessibility)\n * when the colorpicker does not include a visible label. If the colorpicker includes a visible label, use `labelledBy` instead.\n * @default \"Select color value\"\n */\n @Input()\n public label: string | undefined;\n\n /**\n * The HTML element ID of the element that labels the\n * colorpicker. This sets the colorpicker's `aria-labelledby` attribute\n * [to support accessibility](https://developer.blackbaud.com/skyux/components/checkbox#accessibility).\n * If the colorpicker does not include a visible label, use `label` instead.\n */\n @Input()\n public labelledBy: string | undefined;\n\n /**\n * The text to display as the colorpicker's label. Use this instead of a `label` element when the label is text-only.\n * Specifying `labelText` also enables automatic error message handling for standard colorpicker errors.\n */\n @Input()\n public set labelText(value: string | undefined) {\n this.#_labelText = value;\n this.#colorpickerInputSvc.labelText.next(value);\n }\n\n public get labelText(): string | undefined {\n return this.#_labelText;\n }\n\n /**\n * Whether to hide `labelText` from view.\n */\n @Input({ transform: booleanAttribute })\n public labelHidden = false;\n\n /**\n * A help key that identifies the global help content to display. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n * button is placed beside the colorpicker label. Clicking the button invokes [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help)\n * as configured by the application. This property only applies when `labelText` is also specified.\n */\n @Input()\n public helpKey: string | undefined;\n\n /**\n * The content of the help popover. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n * button is added to the colorpicker label. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)\n * when clicked using the specified content and optional title. This property only applies when `labelText` is also specified.\n */\n @Input()\n public helpPopoverContent: string | TemplateRef<unknown> | undefined;\n\n /**\n * The title of the help popover. This property only applies when `helpPopoverContent` is\n * also specified.\n */\n @Input()\n public helpPopoverTitle: string | undefined;\n\n /**\n * [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides\n * additional context to the user.\n */\n @Input()\n public hintText: string | undefined;\n\n /**\n * Whether the colorpicker is stacked on another form component. When specified,\n * the appropriate vertical spacing is automatically added to the text editor.\n */\n @Input({ transform: booleanAttribute })\n @HostBinding('class.sky-form-field-stacked')\n public stacked = false;\n\n /**\n * Fires when users select a color in the colorpicker.\n */\n @Output()\n public selectedColorChanged = new EventEmitter<SkyColorpickerOutput>();\n\n /**\n * Fires when users select **Apply** in the colorpicker to apply a color.\n */\n @Output()\n public selectedColorApplied = new EventEmitter<SkyColorpickerResult>();\n\n /**\n * The observable to send commands to the colorpicker. The commands should\n * respect the `SkyColorpickerMessage` type.\n */\n @Input()\n public messageStream = new Subject<SkyColorpickerMessage>();\n\n /**\n * Whether to display a reset button to let users return to the default color.\n */\n @Input()\n public showResetButton = true;\n\n public set disabled(value: boolean) {\n this.#_disabled = value;\n this.#changeDetector.markForCheck();\n }\n\n public get disabled(): boolean {\n return this.#_disabled;\n }\n\n public set backgroundColorForDisplay(value: string | undefined) {\n this.#_backgroundColorForDisplay = value;\n if (this.pickerButtonIcon) {\n this.iconColor = this.#getAccessibleIconColor(this.selectedColor);\n }\n this.#changeDetector.markForCheck();\n }\n\n public get backgroundColorForDisplay(): string {\n /* istanbul ignore next */\n return this.#_backgroundColorForDisplay || '#fff';\n }\n\n public set hue(change: SkyColorpickerChangeAxis) {\n if (\n this.#hsva &&\n change.xCoordinate !== undefined &&\n change.maxRange !== undefined\n ) {\n this.#hsva.hue = change.xCoordinate / change.maxRange;\n this.#update();\n }\n }\n\n public set red(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rgba.red = change.colorValue! / change.maxRange!;\n this.#hsva = this.#svc.rgbaToHsva(rgba);\n this.#update();\n }\n }\n\n public set green(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rgba.green = change.colorValue! / change.maxRange!;\n this.#hsva = this.#svc.rgbaToHsva(rgba);\n this.#update();\n }\n }\n\n public set blue(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rgba.blue = change.colorValue! / change.maxRange!;\n this.#hsva = this.#svc.rgbaToHsva(rgba);\n this.#update();\n }\n }\n\n public set alphaAxis(change: SkyColorpickerChangeAxis) {\n if (\n this.#hsva &&\n change.xCoordinate !== undefined &&\n change.maxRange !== undefined\n ) {\n this.#hsva.alpha = change.xCoordinate / change.maxRange;\n this.#update();\n }\n }\n\n public set alphaColor(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.#hsva.alpha = change.colorValue! / change.maxRange!;\n this.#update();\n }\n }\n\n public set hex(change: SkyColorpickerChangeColor) {\n this.updatePickerValues(change.color);\n }\n\n public set saturationAndLightness(value: SkyColorpickerChangeAxis) {\n if (\n this.#hsva &&\n value.xCoordinate !== undefined &&\n value.xAxis !== undefined &&\n value.yCoordinate !== undefined &&\n value.yAxis !== undefined\n ) {\n this.#hsva.saturation = value.xCoordinate / value.xAxis;\n this.#hsva.value = value.yCoordinate / value.yAxis;\n this.#update();\n }\n }\n\n public skyColorpickerAlphaId: string;\n public returnFormat: string | undefined;\n public initialColor: string | undefined;\n public lastAppliedColor: string | undefined;\n public isVisible = true;\n\n @ViewChild('colorpickerTemplateRef', {\n read: TemplateRef,\n })\n protected colorpickerTemplateRef: TemplateRef<unknown> | undefined;\n\n @ViewChild('triggerButtonRef', {\n read: ElementRef,\n })\n protected triggerButtonRef: ElementRef | undefined;\n\n @ViewChild('colorpickerRef', {\n read: ElementRef,\n })\n protected set colorpickerRef(value: ElementRef | undefined) {\n if (value) {\n this.#_colorpickerRef = value;\n this.#destroyAffixer();\n\n this.#removePickerEventListeners();\n this.#pickerUnsubscribe = new Subject<void>();\n\n // Ensure the colorpicker has fully rendered before adding the affixer. Added to address a\n // race condition when running under production conditions.\n setTimeout(() => {\n this.#createAffixer();\n this.isPickerVisible = true;\n\n this.#coreAdapter.getFocusableChildrenAndApplyFocus(\n value,\n '.sky-colorpicker',\n false,\n );\n this.#changeDetector.markForCheck();\n });\n }\n }\n\n protected get colorpickerRef(): ElementRef | undefined {\n return this.#_colorpickerRef;\n }\n\n @ContentChild(FormControlDirective)\n protected set formControl(value: FormControlDirective | undefined) {\n if (value) {\n this.ngControl = value;\n this.#changeDetector.markForCheck();\n }\n }\n\n @ContentChild(FormControlName)\n protected set formControlByName(value: FormControlName | undefined) {\n if (value) {\n this.ngControl = value;\n this.#changeDetector.markForCheck();\n }\n }\n\n @ContentChild(NgModel)\n protected set ngModel(value: NgModel | undefined) {\n if (value) {\n this.ngControl = value;\n this.#changeDetector.markForCheck();\n }\n }\n\n @ContentChild(SkyRequiredStateDirective)\n protected requiredState: SkyRequiredStateDirective | undefined;\n\n protected inputId: string | undefined;\n protected colorpickerId: string;\n protected isOpen = false;\n protected triggerButtonId: string;\n protected skyColorpickerHexId: string;\n protected skyColorpickerRedId: string;\n protected skyColorpickerGreenId: string;\n protected skyColorpickerBlueId: string;\n protected slider: SliderPosition;\n protected allowTransparency: boolean | undefined;\n protected alphaSliderColor: string | undefined;\n protected hexText: string | undefined;\n protected hueSliderColor: string | undefined;\n protected presetColors: string[] | undefined;\n protected rgbaText: SkyColorpickerRgba | undefined;\n protected selectedColor: SkyColorpickerOutput | undefined;\n protected iconColor: string | undefined;\n protected isPickerVisible: boolean | undefined;\n protected ngControl: AbstractControlDirective | undefined;\n\n #idIndex: number;\n #alphaChannel: string | undefined;\n #format: number | undefined;\n #outputFormat: string | undefined;\n #hsva: SkyColorpickerHsva | undefined;\n #sliderDimMax: SliderDimension;\n #ngUnsubscribe = new Subject<void>();\n #affixer: SkyAffixer | undefined;\n #overlay: SkyOverlayInstance | undefined;\n #pickerUnsubscribe: Subject<void> | undefined;\n\n #affixSvc: SkyAffixService;\n #changeDetector: ChangeDetectorRef;\n #coreAdapter: SkyCoreAdapterService;\n #overlaySvc: SkyOverlayService;\n #svc: SkyColorpickerService;\n #themeSvc: SkyThemeService | undefined;\n\n readonly #environmentInjector = inject(EnvironmentInjector);\n readonly #colorpickerInputSvc = inject(SkyColorpickerInputService);\n readonly #idSvc = inject(SkyIdService);\n\n protected readonly errorId = this.#idSvc.generateId();\n\n #_backgroundColorForDisplay: string | undefined;\n #_colorpickerRef: ElementRef | undefined;\n #_disabled = false;\n #_labelText: string | undefined;\n\n constructor(\n 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.inputId = this.#idSvc.generateId();\n this.#colorpickerInputSvc.inputId.next(this.inputId);\n this.skyColorpickerRedId = `sky-colorpicker-red-${this.#idIndex}`;\n this.skyColorpickerHexId = `sky-colorpicker-hex--${this.#idIndex}`;\n this.skyColorpickerRedId = `sky-colorpicker-red--${this.#idIndex}`;\n this.skyColorpickerGreenId = `sky-colorpicker-green--${this.#idIndex}`;\n this.skyColorpickerBlueId = `sky-colorpicker-blue--${this.#idIndex}`;\n this.skyColorpickerAlphaId = `sky-colorpicker-alpha--${this.#idIndex}`;\n this.colorpickerId = `sky-colorpicker--${this.#idIndex}`;\n this.triggerButtonId = `sky-colorpicker-button--${this.#idIndex}`;\n\n this.#sliderDimMax = new SliderDimension(182, 270, 170, 182);\n this.slider = new SliderPosition(0, 0, 0, 0);\n }\n\n public setDialog(\n color: string | undefined,\n outputFormat: string,\n presetColors: string[],\n alphaChannel: string,\n allowTransparency: boolean,\n ): void {\n this.initialColor = color;\n this.#outputFormat = outputFormat;\n this.presetColors = presetColors;\n this.#alphaChannel = alphaChannel;\n this.allowTransparency = allowTransparency;\n\n if (this.#outputFormat === 'rgba') {\n this.#format = 1;\n } else if (this.#outputFormat === 'hsla') {\n this.#format = 2;\n } else {\n this.#format = 0;\n }\n }\n\n public ngOnInit(): void {\n this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyColorpickerMessage) => {\n this.#handleIncomingMessages(message);\n });\n\n this.#addTriggerButtonEventListeners();\n\n /* istanbul ignore else */\n if (this.#themeSvc) {\n this.#themeSvc.settingsChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((themeSettings) => {\n /* istanbul ignore next */\n const themeName = themeSettings.currentSettings?.theme?.name;\n\n // Hue/alpha slider bars have different widths in Modern theme.\n /* istanbul ignore if */\n if (themeName === 'modern') {\n this.#sliderDimMax = new SliderDimension(174, 270, 170, 174);\n } else {\n this.#sliderDimMax = new SliderDimension(182, 270, 170, 182);\n }\n this.#updateSlider();\n });\n }\n }\n\n public ngAfterContentChecked(): void {\n if (this.labelText) {\n this.#colorpickerInputSvc.ariaError.next({\n hasError: !this.ngControl?.valid,\n errorId: this.errorId,\n });\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n this.#removePickerEventListeners();\n this.#destroyAffixer();\n this.#destroyOverlay();\n }\n\n public onTriggerButtonClick(): void {\n this.ngControl?.control?.markAsTouched();\n\n this.#sendMessage(SkyColorpickerMessageType.Open);\n }\n\n public closePicker(): void {\n this.#destroyAffixer();\n this.#destroyOverlay();\n this.#removePickerEventListeners();\n this.triggerButtonRef?.nativeElement.focus();\n this.isOpen = false;\n }\n\n public onApplyColorClick(): void {\n this.#confirmSelectedColor();\n }\n\n public onCancelClick(): void {\n // Revert picker values back to previous color.\n this.updatePickerValues(this.backgroundColorForDisplay);\n this.closePicker();\n\n this.#changeDetector.markForCheck();\n }\n\n public onPresetClick(value: string): void {\n this.updatePickerValues(value);\n }\n\n public onResetClick(): void {\n this.#sendMessage(SkyColorpickerMessageType.Reset);\n }\n\n public updatePickerValues(value: string | undefined): void {\n const hsva = this.#getHsvaValue(value);\n if (hsva) {\n this.#hsva = hsva;\n this.#update();\n }\n }\n\n protected onContainerEnterKeyDown(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n\n this.#confirmSelectedColor();\n }\n\n #update(): void {\n if (this.#hsva) {\n const rgba: SkyColorpickerRgba = this.#svc.hsvaToRgba(this.#hsva);\n const dRgba: SkyColorpickerRgba = this.#svc.denormalizeRGBA(rgba);\n\n const hsva: SkyColorpickerHsva = {\n hue: this.#hsva.hue,\n saturation: 1,\n value: 1,\n alpha: 1,\n };\n\n const hueRgba = this.#svc.denormalizeRGBA(this.#svc.hsvaToRgba(hsva));\n\n this.rgbaText = dRgba;\n this.hexText = this.#svc.hexText(dRgba, this.#alphaChannel === 'hex8');\n\n this.alphaSliderColor = `rgba(${dRgba.red},${dRgba.green},${dRgba.blue},${dRgba.alpha})`;\n this.hueSliderColor = `rgba(${hueRgba.red},${hueRgba.green},${hueRgba.blue},${rgba.alpha})`;\n\n if (\n this.#format === 0 &&\n this.#hsva.alpha < 1 &&\n this.#alphaChannel === 'hex6'\n ) {\n this.#format++;\n }\n\n this.selectedColor = this.#svc.skyColorpickerOut(this.#hsva);\n\n this.#updateSlider();\n }\n }\n\n #updateSlider(): void {\n if (this.#hsva && this.#sliderDimMax) {\n this.slider = new SliderPosition(\n this.#hsva.hue * this.#sliderDimMax.hue - 8,\n this.#hsva.saturation * this.#sliderDimMax.saturation - 8,\n (1 - this.#hsva.value) * this.#sliderDimMax.value - 8,\n this.#hsva.alpha * this.#sliderDimMax.alpha - 8,\n );\n }\n }\n\n #openPicker(): void {\n this.isPickerVisible = false;\n this.#removePickerEventListeners();\n this.#destroyOverlay();\n this.#createOverlay();\n this.isOpen = true;\n }\n\n #sendMessage(type: SkyColorpickerMessageType): void {\n this.messageStream.next({ type });\n }\n\n #handleIncomingMessages(message: SkyColorpickerMessage): void {\n switch (message.type) {\n case SkyColorpickerMessageType.Open:\n if (!this.isOpen) {\n this.#openPicker();\n }\n break;\n\n case SkyColorpickerMessageType.Close:\n if (this.isOpen) {\n this.closePicker();\n }\n break;\n\n case SkyColorpickerMessageType.Reset:\n this.updatePickerValues(this.initialColor);\n this.backgroundColorForDisplay = this.initialColor;\n this.selectedColorChanged.emit(this.selectedColor);\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.selectedColorApplied.emit({ color: this.selectedColor! });\n break;\n\n case SkyColorpickerMessageType.ToggleResetButton:\n this.showResetButton = !this.showResetButton;\n break;\n }\n }\n\n #createAffixer(): void {\n if (\n this.colorpickerRef &&\n this.triggerButtonRef &&\n this.#pickerUnsubscribe\n ) {\n const affixer = this.#affixSvc.createAffixer(this.colorpickerRef);\n\n affixer.placementChange\n .pipe(takeUntil(this.#pickerUnsubscribe))\n .subscribe((change) => {\n this.isPickerVisible = change.placement !== null;\n });\n\n affixer.affixTo(this.triggerButtonRef.nativeElement, {\n autoFitContext: SkyAffixAutoFitContext.Viewport,\n enableAutoFit: true,\n horizontalAlignment: 'left',\n verticalAlignment: 'bottom',\n isSticky: true,\n placement: 'below',\n });\n\n this.#affixer = affixer;\n }\n }\n\n #destroyAffixer(): void {\n /*istanbul ignore else*/\n if (this.#affixer) {\n this.#affixer.destroy();\n this.#affixer = undefined;\n }\n }\n\n #createOverlay(): void {\n if (this.colorpickerTemplateRef) {\n const overlay = this.#overlaySvc.create({\n enableClose: false,\n enablePointerEvents: false,\n enableScroll: true,\n environmentInjector: this.#environmentInjector,\n hideOthersFromScreenReaders: true,\n });\n\n overlay.attachTemplate(this.colorpickerTemplateRef);\n\n this.#overlay = overlay;\n }\n }\n\n #destroyOverlay(): void {\n /*istanbul ignore else*/\n if (this.#overlay) {\n this.#overlaySvc.close(this.#overlay);\n this.#overlay = undefined;\n }\n }\n\n #addTriggerButtonEventListeners(): void {\n fromEvent(window.document, 'keydown')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((event) => {\n const keyboardEvent = event as KeyboardEvent;\n const key = keyboardEvent.key?.toLowerCase();\n /* istanbul ignore else */\n if (key === 'escape') {\n this.#sendMessage(SkyColorpickerMessageType.Close);\n }\n });\n }\n\n #removePickerEventListeners(): void {\n /* istanbul ignore else */\n if (this.#pickerUnsubscribe) {\n this.#pickerUnsubscribe.next();\n this.#pickerUnsubscribe.complete();\n this.#pickerUnsubscribe = undefined;\n }\n }\n\n #getHsvaValue(value: string | undefined): SkyColorpickerHsva | undefined {\n let hsva: SkyColorpickerHsva | undefined;\n\n if (value) {\n if (this.#alphaChannel === 'hex8') {\n hsva = this.#svc.stringToHsva(value, true);\n if (!hsva && !this.#hsva) {\n hsva = this.#svc.stringToHsva(value, false);\n }\n } else {\n hsva = this.#svc.stringToHsva(value, false);\n }\n }\n\n return hsva;\n }\n\n #getAccessibleIconColor(\n backgroundColor: SkyColorpickerOutput | undefined,\n ): string | undefined {\n if (backgroundColor) {\n // https://www.w3.org/WAI/GL/wiki/Relative_luminance\n const RsRGB = backgroundColor.rgba.red / 255;\n const GsRGB = backgroundColor.rgba.green / 255;\n const BsRGB = backgroundColor.rgba.blue / 255;\n\n const R =\n RsRGB <= 0.03928\n ? RsRGB / 12.92\n : Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n const G =\n GsRGB <= 0.03928\n ? GsRGB / 12.92\n : Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n const B =\n BsRGB <= 0.03928\n ? BsRGB / 12.92\n : Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n\n const relativeLuminance =\n (0.2126 * R + 0.7152 * G + 0.0722 * B) *\n (1 / backgroundColor.rgba.alpha);\n\n // https://www.w3.org/WAI/GL/wiki/Contrast_ratio\n return 1.05 / (relativeLuminance + 0.05) > 3\n ? 'rgb(255, 255, 255)'\n : 'rgb(0, 0, 0)';\n }\n /* istanbul ignore next */\n return undefined;\n }\n\n #confirmSelectedColor(): void {\n if (this.selectedColor) {\n this.selectedColorChanged.emit(this.selectedColor);\n this.selectedColorApplied.emit({ color: this.selectedColor });\n this.lastAppliedColor = this.selectedColor.rgbaText;\n this.updatePickerValues(this.lastAppliedColor);\n this.backgroundColorForDisplay = this.selectedColor.rgbaText;\n }\n\n this.closePicker();\n }\n}\n","<span class=\"sky-color-picker-label-wrapper\">\n @if (labelText) {\n <label\n class=\"sky-control-label\"\n [class.sky-screen-reader-only]=\"labelHidden\"\n [class.sky-control-label-required]=\"requiredState?.isRequired()\"\n [for]=\"inputId\"\n >{{ labelText }}</label\n >\n @if ((helpPopoverContent || helpKey) && !labelHidden) {\n <span class=\"sky-control-help-container\">\n <sky-help-inline\n [helpKey]=\"helpKey\"\n [labelText]=\"labelText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n </span>\n }\n }\n</span>\n\n<div\n class=\"sky-colorpicker-input-group sky-input-group\"\n [class.sky-colorpicker-hidden]=\"!isVisible\"\n [class.sky-colorpicker-disabled]=\"disabled\"\n>\n <div [hidden]=\"true\">\n <ng-content />\n </div>\n\n <button\n #triggerButtonRef\n aria-haspopup=\"dialog\"\n class=\"sky-colorpicker-button\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? colorpickerId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n [attr.aria-label]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [disabled]=\"disabled\"\n [class.sky-colorpicker-button-disabled]=\"disabled\"\n [class.sky-colorpicker-error]=\"\n (ngControl?.touched || ngControl?.dirty) && ngControl?.errors\n \"\n [style.background-color]=\"backgroundColorForDisplay\"\n (click)=\"onTriggerButtonClick()\"\n >\n @if (pickerButtonIcon) {\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-colorpicker-button-icon\"\n variant=\"solid\"\n iconSize=\"s\"\n [iconName]=\"pickerButtonIcon\"\n [style.color]=\"iconColor\"\n />\n <sky-icon\n *skyThemeIf=\"'modern'\"\n class=\"sky-colorpicker-button-icon\"\n variant=\"solid\"\n [iconName]=\"pickerButtonIcon\"\n [style.color]=\"iconColor\"\n />\n }\n <ng-container *skyThemeIf=\"'modern'\">\n <sky-icon\n class=\"sky-colorpicker-button-modern-chevron\"\n iconName=\"chevron-down\"\n iconSize=\"xxs\"\n [class.sky-colorpicker-button-modern-chevron-disabled]=\"disabled\"\n />\n </ng-container>\n </button>\n\n <ng-template #colorpickerTemplateRef>\n <div\n #colorpickerRef\n class=\"sky-colorpicker-container\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"colorpickerId\"\n [hidden]=\"!isPickerVisible\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n [cdkTrapFocus]=\"true\"\n [cdkTrapFocusAutoCapture]=\"false\"\n >\n <div class=\"sky-colorpicker\">\n <div\n class=\"saturation-lightness\"\n [color]=\"slider.saturation - slider.value + ''\"\n [skyColorpickerSlider]\n [style.background-color]=\"hueSliderColor\"\n [xAxis]=\"1\"\n [yAxis]=\"1\"\n (newColorContrast)=\"saturationAndLightness = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.saturation\"\n [style.top.px]=\"slider.value\"\n ></div>\n </div>\n\n <div class=\"box\">\n <div class=\"left\">\n <div class=\"selected-color-background sky-rounded-circle\"></div>\n <div\n class=\"selected-color sky-rounded-circle\"\n [style.background-color]=\"selectedColor?.rgbaText\"\n ></div>\n </div>\n <div class=\"right\">\n <div\n #hueSlider\n class=\"hue\"\n [skyColorpickerSlider]\n [xAxis]=\"1\"\n (newColorContrast)=\"hue = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.hue\"\n ></div>\n </div>\n @if (allowTransparency) {\n <div\n #alphaSlider\n class=\"alpha\"\n [skyColorpickerSlider]\n [style.background-color]=\"alphaSliderColor\"\n [xAxis]=\"1\"\n (newColorContrast)=\"alphaAxis = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.alpha\"\n ></div>\n </div>\n }\n </div>\n </div>\n\n <div\n class=\"rgba-text\"\n (keydown.enter)=\"onContainerEnterKeyDown($event)\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_hex' | skyLibResources\"\n [attr.for]=\"skyColorpickerHexId\"\n >\n {{ 'skyux_colorpicker_hex' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n pattern=\"^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$\"\n [attr.id]=\"skyColorpickerHexId\"\n [skyColorpickerText]\n [value]=\"hexText\"\n (newColorContrast)=\"hex = $event\"\n />\n </sky-input-box>\n\n <fieldset\n [attr.aria-label]=\"'skyux_colorpicker_aria_rgba' | skyLibResources\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_red' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerRedId\"\n >\n {{ 'skyux_colorpicker_red' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerRedId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.red\"\n (newColorContrast)=\"red = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_green' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerGreenId\"\n >\n {{ 'skyux_colorpicker_green' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerGreenId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.green\"\n (newColorContrast)=\"green = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_blue' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerBlueId\"\n >\n {{ 'skyux_colorpicker_blue' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerBlueId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.blue\"\n (newColorContrast)=\"blue = $event\"\n />\n </sky-input-box>\n @if (allowTransparency) {\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_alpha' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerAlphaId\"\n >\n {{ 'skyux_colorpicker_alpha' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"1\"\n min=\"0\"\n pattern=\"[0-9]+([\\.,][0-9]{1,2})?\"\n step=\"0.1\"\n type=\"number\"\n [attr.id]=\"skyColorpickerAlphaId\"\n [maxRange]=\"1\"\n [skyColorpickerText]\n [value]=\"rgbaText?.alpha\"\n (newColorContrast)=\"alphaColor = $event\"\n />\n </sky-input-box>\n }\n </fieldset>\n </div>\n @if (presetColors && presetColors.length) {\n <div class=\"sky-colorpicker-preset-color-area\">\n @for (\n color of presetColors | slice: 0 : 12;\n track color;\n let i = $index\n ) {\n <button\n class=\"sky-preset-color\"\n type=\"button\"\n [attr.aria-label]=\"\n ('skyux_colorpicker_preset_color' | skyLibResources) +\n ' ' +\n color\n \"\n [skyThemeClass]=\"{\n 'sky-btn sky-btn-link': 'modern'\n }\"\n [style.backgroundColor]=\"color\"\n (click)=\"onPresetClick(color)\"\n ></button>\n }\n </div>\n }\n </div>\n\n <div class=\"sky-colorpicker-footer\">\n <section class=\"sky-colorpicker-column\">\n <button\n class=\"sky-btn sky-btn-primary sky-btn-colorpicker-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_apply' | skyLibResources\"\n (click)=\"onApplyColorClick()\"\n >\n {{ 'skyux_colorpicker_apply' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-btn-colorpicker-close\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_close' | skyLibResources\"\n (click)=\"onCancelClick()\"\n >\n {{ 'skyux_colorpicker_close' | skyLibResources }}\n </button>\n </section>\n </div>\n </div>\n </ng-template>\n @if (allowTransparency) {\n <span aria-hidden=\"true\" class=\"sky-colorpicker-checkered-background\">\n </span>\n }\n\n @if (showResetButton) {\n <button\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_reset' | skyLibResources\"\n [disabled]=\"disabled\"\n [class.sky-colorpicker-reset-button-disabled]=\"disabled\"\n [skyThemeClass]=\"{\n 'sky-colorpicker-reset-button': 'default',\n 'sky-btn sky-btn-icon-borderless sky-colorpicker-reset-button-modern':\n 'modern'\n }\"\n (click)=\"onResetClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" iconName=\"close\" iconSize=\"s\" />\n <sky-icon *skyThemeIf=\"'modern'\" iconName=\"delete\" />\n </button>\n }\n</div>\n\n<div #hintTextEl=\"skyId\" skyId>\n @if (hintText) {\n <div\n class=\"sky-colorpicker-hint-text\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'default',\n 'sky-font-hint-text-s': 'modern'\n }\"\n >\n {{ hintText }}\n </div>\n }\n</div>\n\n<sky-form-errors\n [id]=\"errorId\"\n [errors]=\"ngControl?.errors\"\n [labelText]=\"labelText\"\n [touched]=\"ngControl?.touched\"\n [dirty]=\"ngControl?.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n","import { NgModule } from '@angular/core';\n\nimport { SkyColorpickerResourcesModule } from '../shared/sky-colorpicker-resources.module';\n\nimport { SkyColorpickerInputDirective } from './colorpicker-input.directive';\nimport { SkyColorpickerSliderDirective } from './colorpicker-slider.directive';\nimport { SkyColorpickerTextDirective } from './colorpicker-text.directive';\nimport { SkyColorpickerComponent } from './colorpicker.component';\n\n@NgModule({\n imports: [\n SkyColorpickerResourcesModule,\n SkyColorpickerComponent,\n SkyColorpickerInputDirective,\n SkyColorpickerTextDirective,\n SkyColorpickerSliderDirective,\n ],\n exports: [SkyColorpickerComponent, SkyColorpickerInputDirective],\n})\nexport class SkyColorpickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.SkyColorpickerService","i3","takeUntil","i2.SkyColorpickerService","i7"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/colorpicker",
3
- "version": "14.0.0",
3
+ "version": "14.0.1",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -21,13 +21,13 @@
21
21
  "@angular/core": "^21.2.0",
22
22
  "@angular/forms": "^21.2.0",
23
23
  "@angular/platform-browser": "^21.2.0",
24
- "@skyux-sdk/testing": "14.0.0",
25
- "@skyux/core": "14.0.0",
26
- "@skyux/forms": "14.0.0",
27
- "@skyux/help-inline": "14.0.0",
28
- "@skyux/i18n": "14.0.0",
29
- "@skyux/icon": "14.0.0",
30
- "@skyux/theme": "14.0.0"
24
+ "@skyux-sdk/testing": "14.0.1",
25
+ "@skyux/core": "14.0.1",
26
+ "@skyux/forms": "14.0.1",
27
+ "@skyux/help-inline": "14.0.1",
28
+ "@skyux/i18n": "14.0.1",
29
+ "@skyux/icon": "14.0.1",
30
+ "@skyux/theme": "14.0.1"
31
31
  },
32
32
  "dependencies": {
33
33
  "tslib": "^2.8.1"
@@ -52,5 +52,6 @@
52
52
  "types": "./types/skyux-colorpicker-testing.d.ts",
53
53
  "default": "./fesm2022/skyux-colorpicker-testing.mjs"
54
54
  }
55
- }
55
+ },
56
+ "type": "module"
56
57
  }