@skyux/colorpicker 9.3.1 → 9.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-colorpicker.mjs","sources":["../../../../../libs/components/colorpicker/src/lib/modules/shared/sky-colorpicker-resources.module.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.service.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-input.directive.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-slider.directive.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-text.directive.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-classes.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/types/colorpicker-message-type.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.component.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.component.html","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.module.ts","../../../../../libs/components/colorpicker/src/skyux-colorpicker.ts"],"sourcesContent":["/* 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 SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n SkyLibResourcesService,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\n skyux_colorpicker_alpha: { message: 'A:' },\n skyux_colorpicker_apply: { message: 'Apply' },\n skyux_colorpicker_aria_alpha: {\n message: 'Alpha channel value between 0 and 1',\n },\n skyux_colorpicker_aria_blue: { message: 'Blue value between 0 and 255' },\n skyux_colorpicker_aria_green: { message: 'Green value between 0 and 255' },\n skyux_colorpicker_aria_hex: { message: 'Hexadecimal color code' },\n skyux_colorpicker_aria_red: { message: 'Red value between 0 and 255' },\n skyux_colorpicker_blue: { message: 'B:' },\n skyux_colorpicker_close: { message: 'Cancel' },\n skyux_colorpicker_dropdown_button: { message: 'Select color value' },\n skyux_colorpicker_green: { message: 'G:' },\n skyux_colorpicker_hex: { message: 'Hex:' },\n skyux_colorpicker_input_default_label: { message: 'Color value' },\n skyux_colorpicker_preset_color: { message: 'Preset Color:' },\n skyux_colorpicker_red: { message: 'R:' },\n skyux_colorpicker_reset: { message: 'Reset color value to white' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\nexport class SkyColorpickerResourcesProvider\n implements SkyLibResourcesProvider\n{\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyColorpickerResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyColorpickerResourcesModule {}\n","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: { [key: number]: number };\n if (max !== min) {\n maxValue = {\n [red]: (green - blue) / d + (green < blue ? 6 : 0),\n [green]: (blue - red) / d + 2,\n [blue]: (red - green) / d + 4,\n };\n hue = maxValue[max];\n hue /= 6;\n }\n const hsva: SkyColorpickerHsva = {\n hue: hue,\n saturation: saturation,\n value: value,\n alpha: alpha,\n };\n return hsva;\n }\n\n public hsvaToRgba(hsva: SkyColorpickerHsva): SkyColorpickerRgba {\n let red = 0;\n let green = 0;\n let blue = 0;\n const hue = hsva.hue;\n const saturation = hsva.saturation;\n const value = hsva.value;\n const alpha = hsva.alpha || hsva.alpha === 0 ? hsva.alpha : 1;\n const i = Math.floor(hue * 6);\n const f = hue * 6 - i;\n const p = value * (1 - saturation);\n const q = value * (1 - f * saturation);\n const t = value * (1 - (1 - f) * saturation);\n const color: { [key: number]: () => void } = {\n 0: (): void => {\n red = value;\n green = t;\n blue = p;\n },\n 1: (): void => {\n red = q;\n green = value;\n blue = p;\n },\n 2: (): void => {\n red = p;\n green = value;\n blue = t;\n },\n 3: (): void => {\n red = p;\n green = q;\n blue = value;\n },\n 4: (): void => {\n red = t;\n green = p;\n blue = value;\n },\n 5: (): void => {\n red = value;\n green = p;\n blue = q;\n },\n };\n color[i % 6]();\n\n const rgba: SkyColorpickerRgba = {\n red: red,\n green: green,\n blue: blue,\n alpha: alpha,\n };\n return rgba;\n }\n\n public stringToHsva(\n colorString: string,\n hex8: boolean\n ): SkyColorpickerHsva | undefined {\n const stringParsers: {\n re: RegExp;\n parse: (\n execResult: RegExpExecArray\n ) => SkyColorpickerRgba | SkyColorpickerHsla;\n }[] = [\n {\n re: /(rgb)a?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*%?,\\s*(\\d{1,3})\\s*%?(?:,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)/,\n parse: (execResult) => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[2], 0) / 255,\n green: parseInt(execResult[3], 0) / 255,\n blue: parseInt(execResult[4], 0) / 255,\n alpha: parseFloat(execResult[5]),\n };\n return rgba;\n },\n },\n {\n re: /(hsl)a?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})%\\s*,\\s*(\\d{1,3})%\\s*(?:,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)/,\n parse: (execResult) => {\n const hsla: SkyColorpickerHsla = {\n hue: parseInt(execResult[2], 0) / 360,\n saturation: parseInt(execResult[3], 0) / 100,\n lightness: parseInt(execResult[4], 0) / 100,\n alpha: parseFloat(execResult[5]),\n };\n return hsla;\n },\n },\n ];\n if (hex8) {\n stringParsers.push({\n re: /#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/,\n parse: (execResult) => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[1], 16) / 255,\n green: parseInt(execResult[2], 16) / 255,\n blue: parseInt(execResult[3], 16) / 255,\n alpha: parseInt(execResult[4], 16) / 255,\n };\n return rgba;\n },\n });\n } else {\n stringParsers.push(\n {\n re: /#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/,\n parse: (execResult) => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[1], 16) / 255,\n green: parseInt(execResult[2], 16) / 255,\n blue: parseInt(execResult[3], 16) / 255,\n alpha: 1,\n };\n return rgba;\n },\n },\n {\n re: /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])$/,\n parse: (execResult) => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[1] + execResult[1], 16) / 255,\n green: parseInt(execResult[2] + execResult[2], 16) / 255,\n blue: parseInt(execResult[3] + execResult[3], 16) / 255,\n alpha: 1,\n };\n return rgba;\n },\n }\n );\n }\n\n for (const key in stringParsers) {\n /* istanbul ignore else */ /* for in must be filtered by an if */\n if (Object.prototype.hasOwnProperty.call(stringParsers, key)) {\n const parser = stringParsers[key];\n const match = parser.re.exec(colorString);\n const color = match && parser.parse(match);\n if (color) {\n let hsva: SkyColorpickerHsva | undefined;\n\n if ('red' in color) {\n hsva = this.rgbaToHsva(color);\n } else if ('hue' in color) {\n hsva = this.#hsla2hsva(color);\n }\n\n if (hsva) {\n return hsva;\n }\n }\n }\n }\n\n return undefined;\n }\n\n public skyColorpickerOut(color: SkyColorpickerHsva): SkyColorpickerOutput {\n const cmykText = this.#outputFormat(color, 'cmyk', true);\n const hslaText = this.#outputFormat(color, 'hsla', true);\n const rgbaText = this.#outputFormat(color, 'rgba', true);\n const rgba = this.hsvaToRgba(color);\n const hsla = this.#hsva2hsla(color);\n const cmyk = this.#rgbaToCmyk(rgba);\n const hex = this.#outputFormat(color, 'hex', false);\n\n const formatColor: SkyColorpickerOutput = {\n cmykText,\n hslaText,\n rgbaText,\n hsva: this.#denormalizeHSVA(color),\n rgba: this.denormalizeRGBA(rgba),\n hsla: this.#denormalizeHSLA(hsla),\n cmyk: this.#denormalizeCMYK(cmyk),\n hex,\n };\n\n return formatColor;\n }\n\n public hexText(rgba: SkyColorpickerRgba, allowHex8: boolean): string {\n let hexText =\n '#' +\n ((1 << 24) | (rgba.red << 16) | (rgba.green << 8) | rgba.blue)\n .toString(16)\n .substring(1);\n if (\n hexText[1] === hexText[2] &&\n hexText[3] === hexText[4] &&\n hexText[5] === hexText[6] &&\n rgba.alpha === 1 &&\n !allowHex8\n ) {\n hexText = '#' + hexText[1] + hexText[3] + hexText[5];\n }\n if (allowHex8) {\n hexText += ((1 << 8) | Math.round(rgba.alpha * 255))\n .toString(16)\n .substring(1);\n }\n return hexText;\n }\n\n public denormalizeRGBA(rgba: SkyColorpickerRgba): SkyColorpickerRgba {\n const denormalizeRgba: SkyColorpickerRgba = {\n red: Math.round(rgba.red * 255),\n green: Math.round(rgba.green * 255),\n blue: Math.round(rgba.blue * 255),\n alpha: Math.round(rgba.alpha * 100) / 100,\n };\n return denormalizeRgba;\n }\n\n #hsla2hsva(hsla: SkyColorpickerHsla): SkyColorpickerHsva {\n const alpha = Math.min(hsla.alpha, 1);\n const hue = Math.min(hsla.hue, 1);\n const lightness = Math.min(hsla.lightness, 1);\n const saturation = Math.min(hsla.saturation, 1);\n const hsva: SkyColorpickerHsva = {\n hue: hue,\n saturation: saturation,\n value: lightness,\n alpha: alpha,\n };\n if (lightness === 0) {\n hsva.saturation = 0;\n hsva.value = 0;\n } else {\n hsva.value =\n lightness + (saturation * (1 - Math.abs(2 * lightness - 1))) / 2;\n hsva.saturation = (2 * (hsva.value - lightness)) / hsva.value;\n }\n return hsva;\n }\n\n #hsva2hsla(hsva: SkyColorpickerHsva): SkyColorpickerHsla {\n const alpha = hsva.alpha;\n const hue = hsva.hue;\n const saturation = hsva.saturation;\n const value = hsva.value;\n\n const hsla: SkyColorpickerHsla = {\n hue: hue,\n saturation: saturation,\n lightness: value,\n alpha: alpha,\n };\n if (value === 0) {\n hsla.lightness = 0;\n hsla.saturation = 0;\n } else {\n hsla.lightness = (value * (2 - saturation)) / 2;\n hsla.saturation =\n (value * saturation) / (1 - Math.abs(2 * hsla.lightness - 1));\n }\n return hsla;\n }\n\n #rgbaToCmyk(rgba: SkyColorpickerRgba): SkyColorpickerCmyk {\n const cmyk: SkyColorpickerCmyk = { cyan: 0, magenta: 0, yellow: 0, key: 0 };\n const key = 1 - Math.max(rgba.red, rgba.green, rgba.blue);\n\n if (key === 1) {\n cmyk.key = 1;\n return cmyk;\n }\n cmyk.cyan = (1 - rgba.red - key) / (1 - key);\n cmyk.magenta = (1 - rgba.green - key) / (1 - key);\n cmyk.yellow = (1 - rgba.blue - key) / (1 - key);\n cmyk.key = key;\n return cmyk;\n }\n\n #outputFormat(\n hsva: SkyColorpickerHsva,\n outputFormat: string,\n allowHex8: boolean\n ): string {\n if (['hsla', 'hex', 'cmyk'].indexOf(outputFormat) === -1) {\n outputFormat = 'rgba';\n }\n const color: { [key: string]: () => string } = {\n hsla: () => {\n const hsla = this.#denormalizeHSLA(this.#hsva2hsla(hsva));\n return `hsla(${hsla.hue},${hsla.saturation}%,${hsla.lightness}%,${hsla.alpha})`;\n },\n hex: () => {\n return this.hexText(\n this.denormalizeRGBA(this.hsvaToRgba(hsva)),\n allowHex8\n );\n },\n cmyk: () => {\n const cmyk = this.#denormalizeCMYK(\n this.#rgbaToCmyk(this.hsvaToRgba(hsva))\n );\n return `cmyk(${cmyk.cyan}%,${cmyk.magenta}%,${cmyk.yellow}%,${cmyk.key}%)`;\n },\n rgba: () => {\n const rgba = this.denormalizeRGBA(this.hsvaToRgba(hsva));\n return `rgba(${rgba.red},${rgba.green},${rgba.blue},${rgba.alpha})`;\n },\n };\n\n return color[outputFormat]();\n }\n\n #denormalizeHSLA(hsla: SkyColorpickerHsla): SkyColorpickerHsla {\n const denormalizeHsla: SkyColorpickerHsla = {\n hue: Math.round(hsla.hue * 360),\n saturation: Math.round(hsla.saturation * 100),\n lightness: Math.round(hsla.lightness * 100),\n alpha: Math.round(hsla.alpha * 100) / 100,\n };\n return denormalizeHsla;\n }\n\n #denormalizeHSVA(hsla: SkyColorpickerHsva): SkyColorpickerHsva {\n const denormalizeHsva: SkyColorpickerHsva = {\n hue: Math.round(hsla.hue * 360),\n saturation: Math.round(hsla.saturation * 100),\n value: Math.round(hsla.value * 100),\n alpha: Math.round(hsla.alpha * 100) / 100,\n };\n return denormalizeHsva;\n }\n\n #denormalizeCMYK(cmyk: SkyColorpickerCmyk): SkyColorpickerCmyk {\n const denormalizeCmyk: SkyColorpickerCmyk = {\n cyan: Math.round(cmyk.cyan * 100),\n magenta: Math.round(cmyk.magenta * 100),\n yellow: Math.round(cmyk.yellow * 100),\n key: Math.round(cmyk.key * 100),\n };\n return denormalizeCmyk;\n }\n}\n","import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n forwardRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n NgControl,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { Subscription } from 'rxjs';\n\nimport { SkyColorpickerComponent } from './colorpicker.component';\nimport { SkyColorpickerService } from './colorpicker.service';\nimport { SkyColorpickerOutput } from './types/colorpicker-output';\n\nconst SKY_COLORPICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SkyColorpickerInputDirective),\n multi: true,\n};\n\nconst SKY_COLORPICKER_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyColorpickerInputDirective),\n multi: true,\n};\n\nconst SKY_COLORPICKER_DEFAULT_COLOR = '#FFFFFF';\n\n/**\n * Creates the colorpicker element and dropdown.\n */\n@Directive({\n selector: '[skyColorpickerInput]',\n providers: [SKY_COLORPICKER_VALUE_ACCESSOR, SKY_COLORPICKER_VALIDATOR],\n})\nexport class SkyColorpickerInputDirective\n implements OnInit, OnChanges, ControlValueAccessor, Validator, OnDestroy\n{\n /**\n * Creates the colorpicker element and dropdown. Place this attribute on an `input` element\n * or `button` element, wrap the element in a `sky-colorpicker` component, and set the attribute\n * to the instance of the `sky-colorpicker` component.\n * @required\n */\n @Input()\n public skyColorpickerInput!: SkyColorpickerComponent;\n\n /**\n * 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 * 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 @HostBinding('readonly')\n protected get readonly(): boolean {\n return true;\n }\n\n @HostBinding('class.sky-colorpicker-input')\n protected get colorInputClass(): boolean {\n return true;\n }\n\n #modelValue: SkyColorpickerOutput | undefined;\n #pickerChangedSubscription: Subscription | undefined;\n #elementRef: ElementRef;\n #renderer: Renderer2;\n #svc: SkyColorpickerService;\n #resourcesSvc: SkyLibResourcesService;\n #injector: Injector;\n\n #_disabled: boolean | undefined;\n #_initialColor: string | undefined;\n\n constructor(\n elementRef: ElementRef,\n renderer: Renderer2,\n svc: SkyColorpickerService,\n resourcesSvc: SkyLibResourcesService,\n injector: Injector\n ) {\n this.#elementRef = elementRef;\n this.#renderer = renderer;\n this.#svc = svc;\n this.#resourcesSvc = resourcesSvc;\n this.#injector = injector;\n }\n\n @HostListener('input')\n public changeInput(): void {\n const value = this.#elementRef.nativeElement.value;\n this.skyColorpickerInput.updatePickerValues(value);\n this.skyColorpickerInput.backgroundColorForDisplay = value;\n }\n\n @HostListener('change')\n public onChange(): void {\n const newValue = this.#elementRef.nativeElement.value;\n const formattedValue = this.#formatter(newValue);\n this.#modelValue = formattedValue;\n this.#writeModelValue(formattedValue);\n }\n\n public ngOnInit(): void {\n const element = this.#elementRef.nativeElement;\n\n this.#renderer.addClass(element, 'sky-form-control');\n this.skyColorpickerInput.initialColor = this.initialColor;\n this.skyColorpickerInput.returnFormat = this.returnFormat;\n\n this.#pickerChangedSubscription =\n this.skyColorpickerInput.selectedColorChanged.subscribe(\n (newColor: SkyColorpickerOutput) => {\n /* istanbul ignore else */\n if (newColor) {\n this.#modelValue = this.#formatter(newColor);\n\n // Write the new value to the reactive form control, which will update the template model\n this.writeValue(newColor);\n }\n }\n );\n\n this.skyColorpickerInput.updatePickerValues(this.initialColor);\n\n /* Sanity check */\n /* istanbul ignore else */\n if (!this.#_disabled) {\n this.skyColorpickerInput.backgroundColorForDisplay = this.initialColor;\n }\n\n /// Set aria-label as default, if not set\n if (!element.getAttribute('aria-label')) {\n this.#renderer.setAttribute(\n element,\n 'aria-label',\n this.#getString('skyux_colorpicker_input_default_label')\n );\n }\n\n const typeAttr = element.getAttribute('type');\n if (typeAttr && typeAttr === 'hidden') {\n this.skyColorpickerInput.isVisible = false;\n } else {\n this.skyColorpickerInput.isVisible = true;\n }\n }\n\n public ngOnDestroy(): void {\n if (this.#pickerChangedSubscription) {\n this.#pickerChangedSubscription.unsubscribe();\n }\n }\n\n public setColorPickerDefaults(): void {\n this.skyColorpickerInput.setDialog(\n this.initialColor,\n this.outputFormat,\n this.presetColors,\n this.alphaChannel,\n this.allowTransparency\n );\n }\n\n public ngOnChanges(): void {\n this.skyColorpickerInput.returnFormat = this.returnFormat;\n this.setColorPickerDefaults();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public registerOnChange(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public registerOnTouched(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public registerOnValidatorChange(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public writeValue(value: any): void {\n if (\n this.skyColorpickerInput &&\n value &&\n value !== this.skyColorpickerInput.lastAppliedColor\n ) {\n const formattedValue = this.#formatter(value);\n\n this.#modelValue = formattedValue;\n this.#writeModelValue(formattedValue);\n\n if (!this.#_initialColor) {\n this.#_initialColor = value;\n this.skyColorpickerInput.initialColor = value;\n }\n this.skyColorpickerInput.lastAppliedColor = value;\n\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","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) => {\n this.move(event);\n };\n this.#listenerStop = () => {\n this.stop();\n };\n }\n\n @HostListener('touchstart', ['$event'])\n @HostListener('mousedown', ['$event'])\n public start(event: MouseEvent) {\n this.#setCursor(event);\n document.addEventListener('mousemove', this.#listenerMove);\n document.addEventListener('touchmove', this.#listenerMove);\n document.addEventListener('mouseup', this.#listenerStop);\n document.addEventListener('touchend', this.#listenerStop);\n }\n\n #setCursor(event: MouseEvent | TouchEvent) {\n const height = this.#el.nativeElement.offsetHeight;\n const width = this.#el.nativeElement.offsetWidth;\n const xAxis = Math.max(0, Math.min(this.getX(event), width));\n const yAxis = Math.max(0, Math.min(this.getY(event), height));\n if (this.xAxis !== undefined && this.yAxis !== undefined) {\n this.newColorContrast.emit({\n xCoordinate: xAxis / width,\n yCoordinate: 1 - yAxis / height,\n xAxis: this.xAxis,\n yAxis: this.yAxis,\n } as SkyColorpickerChangeAxis);\n } else {\n this.newColorContrast.emit({\n xCoordinate: xAxis / width,\n maxRange: this.xAxis,\n } as SkyColorpickerChangeAxis);\n }\n /* // No vertical bars\n if (this.xAxis === undefined && this.yAxis !== undefined) {\n this.newColorContrast.emit({ yCoordinate: yAxis / height, maxRange: this.yAxis });\n } */\n }\n\n public stop() {\n document.removeEventListener('mousemove', this.#listenerMove);\n document.removeEventListener('touchmove', this.#listenerMove);\n document.removeEventListener('mouseup', this.#listenerStop);\n document.removeEventListener('touchend', this.#listenerStop);\n }\n\n public move(event: MouseEvent | TouchEvent) {\n event.preventDefault();\n this.#setCursor(event);\n }\n\n public getX(event: MouseEvent | TouchEvent): number {\n /* Ignoring event.touches as tests are not run on a touch device. */\n /* istanbul ignore next */\n return (\n ('pageX' in event ? event.pageX : event.touches[0].pageX) -\n this.#el.nativeElement.getBoundingClientRect().left -\n window.pageXOffset\n );\n }\n public getY(event: MouseEvent | TouchEvent): number {\n /* Ignoring event.touches as tests are not run on a touch device. */\n /* istanbul ignore next */\n return (\n ('pageY' in event ? event.pageY : event.touches[0].pageY) -\n this.#el.nativeElement.getBoundingClientRect().top -\n window.pageYOffset\n );\n }\n}\n","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) {\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 {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EnvironmentInjector,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport {\n SkyAffixAutoFitContext,\n SkyAffixService,\n SkyAffixer,\n SkyCoreAdapterService,\n SkyOverlayInstance,\n SkyOverlayService,\n} from '@skyux/core';\nimport { SkyIconType } from '@skyux/indicators';\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SliderDimension, SliderPosition } from './colorpicker-classes';\nimport { SkyColorpickerService } from './colorpicker.service';\nimport { SkyColorpickerChangeAxis } from './types/colorpicker-axis';\nimport { SkyColorpickerChangeColor } from './types/colorpicker-color';\nimport { SkyColorpickerHsva } from './types/colorpicker-hsva';\nimport { SkyColorpickerMessage } from './types/colorpicker-message';\nimport { SkyColorpickerMessageType } from './types/colorpicker-message-type';\nimport { SkyColorpickerOutput } from './types/colorpicker-output';\nimport { SkyColorpickerResult } from './types/colorpicker-result';\nimport { SkyColorpickerRgba } from './types/colorpicker-rgba';\n\nlet componentIdIndex = 0;\n\n/**\n * 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: [SkyColorpickerService],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SkyColorpickerComponent implements OnInit, OnDestroy {\n /**\n * The name of the [Font Awesome 4.7](https://fontawesome.com/v4.7/icons/) icon to overlay on top of the picker. Do not specify the `fa fa-` classes.\n * @internal\n */\n @Input()\n public pickerButtonIcon: string | undefined;\n\n /**\n * The type of icon to display. Specifying `fa` will display a Font Awesome icon, while specifying `skyux` will display an icon from the custom SKY UX icon font. Note that the custom SKY UX icon font is currently in beta.\n * @internal\n * @deprecated\n */\n @Input()\n public pickerButtonIconType: SkyIconType = 'fa';\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 * 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 }\n\n public get backgroundColorForDisplay(): string {\n /* istanbul ignore next */\n return this.#_backgroundColorForDisplay || '#fff';\n }\n\n public set hue(change: SkyColorpickerChangeAxis) {\n if (\n this.#hsva &&\n change.xCoordinate !== undefined &&\n change.maxRange !== undefined\n ) {\n this.#hsva.hue = change.xCoordinate / change.maxRange;\n this.#update();\n }\n }\n\n public set red(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rgba.red = change.colorValue! / change.maxRange!;\n this.#hsva = this.#svc.rgbaToHsva(rgba);\n this.#update();\n }\n }\n\n public set green(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rgba.green = change.colorValue! / change.maxRange!;\n this.#hsva = this.#svc.rgbaToHsva(rgba);\n this.#update();\n }\n }\n\n public set blue(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rgba.blue = change.colorValue! / change.maxRange!;\n this.#hsva = this.#svc.rgbaToHsva(rgba);\n this.#update();\n }\n }\n\n public set alphaAxis(change: SkyColorpickerChangeAxis) {\n if (\n this.#hsva &&\n change.xCoordinate !== undefined &&\n change.maxRange !== undefined\n ) {\n this.#hsva.alpha = change.xCoordinate / change.maxRange;\n this.#update();\n }\n }\n\n public set alphaColor(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.#hsva.alpha = change.colorValue! / change.maxRange!;\n this.#update();\n }\n }\n\n public set hex(change: SkyColorpickerChangeColor) {\n this.updatePickerValues(change.color);\n }\n\n public set saturationAndLightness(value: SkyColorpickerChangeAxis) {\n if (\n this.#hsva &&\n value.xCoordinate !== undefined &&\n value.xAxis !== undefined &&\n value.yCoordinate !== undefined &&\n value.yAxis !== undefined\n ) {\n this.#hsva.saturation = value.xCoordinate / value.xAxis;\n this.#hsva.value = value.yCoordinate / value.yAxis;\n this.#update();\n }\n }\n\n public skyColorpickerAlphaId: string;\n public returnFormat: string | undefined;\n public initialColor: string | undefined;\n public lastAppliedColor: string | undefined;\n public isVisible = true;\n\n @ViewChild('colorpickerTemplateRef', {\n read: TemplateRef,\n })\n protected colorpickerTemplateRef: TemplateRef<unknown> | undefined;\n\n @ViewChild('triggerButtonRef', {\n read: ElementRef,\n })\n protected triggerButtonRef: ElementRef | undefined;\n\n @ViewChild('colorpickerRef', {\n read: ElementRef,\n })\n protected set colorpickerRef(value: ElementRef | undefined) {\n if (value) {\n this.#_colorpickerRef = value;\n this.#destroyAffixer();\n\n this.#removePickerEventListeners();\n this.#pickerUnsubscribe = new Subject<void>();\n\n // Ensure the colorpicker has fully rendered before adding the affixer. Added to address a\n // race condition when running under production conditions.\n setTimeout(() => {\n this.#createAffixer();\n this.isPickerVisible = true;\n\n this.#coreAdapter.getFocusableChildrenAndApplyFocus(\n value,\n '.sky-colorpicker',\n false\n );\n this.#changeDetector.markForCheck();\n });\n }\n }\n\n protected get colorpickerRef(): ElementRef | undefined {\n return this.#_colorpickerRef;\n }\n\n protected colorpickerId: string;\n protected isOpen = false;\n protected triggerButtonId: string;\n protected skyColorpickerHexId: string;\n protected skyColorpickerRedId: string;\n protected skyColorpickerGreenId: string;\n protected skyColorpickerBlueId: string;\n protected slider: SliderPosition;\n protected allowTransparency: boolean | undefined;\n protected alphaSliderColor: string | undefined;\n protected hexText: string | undefined;\n protected hueSliderColor: string | undefined;\n protected presetColors: string[] | undefined;\n protected rgbaText: SkyColorpickerRgba | undefined;\n protected selectedColor: SkyColorpickerOutput | undefined;\n protected iconColor: string | undefined;\n protected isPickerVisible: boolean | undefined;\n\n #idIndex: number;\n #alphaChannel: string | undefined;\n #format: number | undefined;\n #outputFormat: string | undefined;\n #hsva: SkyColorpickerHsva | undefined;\n #sliderDimMax: SliderDimension;\n #ngUnsubscribe = new Subject<void>();\n #affixer: SkyAffixer | undefined;\n #overlay: SkyOverlayInstance | undefined;\n #pickerUnsubscribe: Subject<void> | undefined;\n\n #affixSvc: SkyAffixService;\n #changeDetector: ChangeDetectorRef;\n #coreAdapter: SkyCoreAdapterService;\n readonly #environmentInjector = inject(EnvironmentInjector);\n #overlaySvc: SkyOverlayService;\n #svc: SkyColorpickerService;\n #themeSvc: SkyThemeService | undefined;\n\n #_backgroundColorForDisplay: string | undefined;\n #_colorpickerRef: ElementRef | undefined;\n #_disabled = false;\n\n constructor(\n affixSvc: SkyAffixService,\n changeDetector: ChangeDetectorRef,\n coreAdapter: SkyCoreAdapterService,\n overlaySvc: SkyOverlayService,\n svc: SkyColorpickerService,\n @Optional() themeSvc?: SkyThemeService\n ) {\n this.#affixSvc = affixSvc;\n this.#changeDetector = changeDetector;\n this.#coreAdapter = coreAdapter;\n this.#overlaySvc = overlaySvc;\n this.#svc = svc;\n this.#themeSvc = themeSvc;\n\n componentIdIndex++;\n\n this.#idIndex = componentIdIndex;\n this.skyColorpickerRedId = `sky-colorpicker-red-${this.#idIndex}`;\n this.skyColorpickerHexId = `sky-colorpicker-hex--${this.#idIndex}`;\n this.skyColorpickerRedId = `sky-colorpicker-red--${this.#idIndex}`;\n this.skyColorpickerGreenId = `sky-colorpicker-green--${this.#idIndex}`;\n this.skyColorpickerBlueId = `sky-colorpicker-blue--${this.#idIndex}`;\n this.skyColorpickerAlphaId = `sky-colorpicker-alpha--${this.#idIndex}`;\n this.colorpickerId = `sky-colorpicker--${this.#idIndex}`;\n this.triggerButtonId = `sky-colorpicker-button--${this.#idIndex}`;\n\n this.#sliderDimMax = new SliderDimension(182, 270, 170, 182);\n this.slider = new SliderPosition(0, 0, 0, 0);\n }\n\n public setDialog(\n color: string | undefined,\n outputFormat: string,\n presetColors: Array<string>,\n alphaChannel: string,\n allowTransparency: boolean\n ): void {\n this.initialColor = color;\n this.#outputFormat = outputFormat;\n this.presetColors = presetColors;\n this.#alphaChannel = alphaChannel;\n this.allowTransparency = allowTransparency;\n\n if (this.#outputFormat === 'rgba') {\n this.#format = 1;\n } else if (this.#outputFormat === 'hsla') {\n this.#format = 2;\n } else {\n this.#format = 0;\n }\n }\n\n public ngOnInit(): void {\n this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyColorpickerMessage) => {\n this.#handleIncomingMessages(message);\n });\n\n this.#addTriggerButtonEventListeners();\n\n /* istanbul ignore else */\n if (this.#themeSvc) {\n this.#themeSvc.settingsChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((themeSettings) => {\n /* istanbul ignore next */\n const themeName = themeSettings.currentSettings?.theme?.name;\n\n // Hue/alpha slider bars have different widths in Modern theme.\n /* istanbul ignore if */\n if (themeName === 'modern') {\n this.#sliderDimMax = new SliderDimension(174, 270, 170, 174);\n } else {\n this.#sliderDimMax = new SliderDimension(182, 270, 170, 182);\n }\n this.#updateSlider();\n });\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n this.#removePickerEventListeners();\n this.#destroyAffixer();\n this.#destroyOverlay();\n }\n\n public onTriggerButtonClick(): void {\n this.#sendMessage(SkyColorpickerMessageType.Open);\n }\n\n public closePicker(): void {\n this.#destroyAffixer();\n this.#destroyOverlay();\n this.#removePickerEventListeners();\n this.triggerButtonRef?.nativeElement.focus();\n this.isOpen = false;\n }\n\n public onApplyColorClick(): void {\n if (this.selectedColor) {\n this.selectedColorChanged.emit(this.selectedColor);\n this.selectedColorApplied.emit({ color: this.selectedColor });\n this.lastAppliedColor = this.selectedColor.rgbaText;\n this.updatePickerValues(this.lastAppliedColor);\n this.backgroundColorForDisplay = this.selectedColor.rgbaText;\n }\n\n this.closePicker();\n }\n\n public onCancelClick(): void {\n // Revert picker values back to previous color.\n this.updatePickerValues(this.backgroundColorForDisplay);\n this.closePicker();\n }\n\n public onPresetClick(value: string): void {\n this.updatePickerValues(value);\n }\n\n public onResetClick(): void {\n this.#sendMessage(SkyColorpickerMessageType.Reset);\n }\n\n public updatePickerValues(value: string | undefined): void {\n const hsva = this.#getHsvaValue(value);\n if (hsva) {\n this.#hsva = hsva;\n this.#update();\n }\n }\n\n #update(): void {\n if (this.#hsva) {\n const rgba: SkyColorpickerRgba = this.#svc.hsvaToRgba(this.#hsva);\n const dRgba: SkyColorpickerRgba = this.#svc.denormalizeRGBA(rgba);\n\n const hsva: SkyColorpickerHsva = {\n hue: this.#hsva.hue,\n saturation: 1,\n value: 1,\n alpha: 1,\n };\n\n const hueRgba = this.#svc.denormalizeRGBA(this.#svc.hsvaToRgba(hsva));\n\n this.rgbaText = dRgba;\n this.hexText = this.#svc.hexText(dRgba, this.#alphaChannel === 'hex8');\n\n this.alphaSliderColor = `rgba(${dRgba.red},${dRgba.green},${dRgba.blue},${dRgba.alpha})`;\n this.hueSliderColor = `rgba(${hueRgba.red},${hueRgba.green},${hueRgba.blue},${rgba.alpha})`;\n\n if (\n this.#format === 0 &&\n this.#hsva.alpha < 1 &&\n this.#alphaChannel === 'hex6'\n ) {\n this.#format++;\n }\n\n this.selectedColor = this.#svc.skyColorpickerOut(this.#hsva);\n\n this.#updateSlider();\n }\n }\n\n #updateSlider(): void {\n if (this.#hsva && this.#sliderDimMax) {\n this.slider = new SliderPosition(\n this.#hsva.hue * this.#sliderDimMax.hue - 8,\n this.#hsva.saturation * this.#sliderDimMax.saturation - 8,\n (1 - this.#hsva.value) * this.#sliderDimMax.value - 8,\n this.#hsva.alpha * this.#sliderDimMax.alpha - 8\n );\n }\n }\n\n #openPicker(): void {\n this.isPickerVisible = false;\n this.#removePickerEventListeners();\n this.#destroyOverlay();\n this.#createOverlay();\n this.isOpen = true;\n }\n\n #sendMessage(type: SkyColorpickerMessageType) {\n this.messageStream.next({ type });\n }\n\n #handleIncomingMessages(message: SkyColorpickerMessage) {\n switch (message.type) {\n case SkyColorpickerMessageType.Open:\n if (!this.isOpen) {\n this.#openPicker();\n }\n break;\n\n case SkyColorpickerMessageType.Close:\n if (this.isOpen) {\n this.closePicker();\n }\n break;\n\n case SkyColorpickerMessageType.Reset:\n this.updatePickerValues(this.initialColor);\n this.backgroundColorForDisplay = this.initialColor;\n this.selectedColorChanged.emit(this.selectedColor);\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.selectedColorApplied.emit({ color: this.selectedColor! });\n break;\n\n case SkyColorpickerMessageType.ToggleResetButton:\n this.showResetButton = !this.showResetButton;\n break;\n }\n }\n\n #createAffixer(): void {\n if (\n this.colorpickerRef &&\n this.triggerButtonRef &&\n this.#pickerUnsubscribe\n ) {\n const affixer = this.#affixSvc.createAffixer(this.colorpickerRef);\n\n affixer.placementChange\n .pipe(takeUntil(this.#pickerUnsubscribe))\n .subscribe((change) => {\n this.isPickerVisible = change.placement !== null;\n });\n\n affixer.affixTo(this.triggerButtonRef.nativeElement, {\n autoFitContext: SkyAffixAutoFitContext.Viewport,\n enableAutoFit: true,\n horizontalAlignment: 'left',\n isSticky: true,\n placement: 'below',\n });\n\n this.#affixer = affixer;\n }\n }\n\n #destroyAffixer(): void {\n /*istanbul ignore else*/\n if (this.#affixer) {\n this.#affixer.destroy();\n this.#affixer = undefined;\n }\n }\n\n #createOverlay(): void {\n if (this.colorpickerTemplateRef) {\n const overlay = this.#overlaySvc.create({\n enableClose: false,\n enablePointerEvents: false,\n enableScroll: true,\n environmentInjector: this.#environmentInjector,\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","<div\n class=\"sky-input-group\"\n [ngClass]=\"{\n 'sky-colorpicker-hidden': !isVisible,\n 'sky-colorpicker-disabled': disabled\n }\"\n>\n <div [hidden]=\"true\">\n <ng-content></ng-content>\n </div>\n\n <button\n aria-haspopup=\"dialog\"\n class=\"sky-colorpicker-button\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? colorpickerId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-label]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-button-disabled': disabled\n }\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-sm': 'modern'\n }\"\n [style.background-color]=\"backgroundColorForDisplay\"\n (click)=\"onTriggerButtonClick()\"\n #triggerButtonRef\n >\n <sky-icon\n *ngIf=\"pickerButtonIcon\"\n class=\"sky-colorpicker-button-icon\"\n [icon]=\"pickerButtonIcon\"\n [iconType]=\"pickerButtonIconType\"\n [size]=\"'1x'\"\n [style.color]=\"iconColor\"\n >\n </sky-icon>\n <ng-container *skyThemeIf=\"'modern'\">\n <sky-icon\n class=\"sky-colorpicker-button-modern-chevron\"\n icon=\"chevron-down\"\n size=\"xs\"\n [ngClass]=\"{\n 'sky-colorpicker-button-modern-chevron-disabled': disabled\n }\"\n >\n </sky-icon>\n </ng-container>\n </button>\n\n <ng-template #colorpickerTemplateRef>\n <div\n class=\"sky-colorpicker-container\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"colorpickerId\"\n [hidden]=\"!isPickerVisible\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n #colorpickerRef\n >\n <div class=\"sky-colorpicker\">\n <div\n class=\"saturation-lightness\"\n [color]=\"slider.saturation - slider.value + ''\"\n [skyColorpickerSlider]\n [style.background-color]=\"hueSliderColor\"\n [xAxis]=\"1\"\n [yAxis]=\"1\"\n (newColorContrast)=\"saturationAndLightness = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.saturation\"\n [style.top.px]=\"slider.value\"\n ></div>\n </div>\n\n <div class=\"box\">\n <div class=\"left\">\n <div class=\"selected-color-background sky-rounded-circle\"></div>\n <div\n class=\"selected-color sky-rounded-circle\"\n [style.background-color]=\"selectedColor?.rgbaText\"\n ></div>\n </div>\n <div class=\"right\">\n <div\n class=\"hue\"\n [skyColorpickerSlider]\n [xAxis]=\"1\"\n (newColorContrast)=\"hue = $event\"\n #hueSlider\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.hue\"\n ></div>\n </div>\n <div\n *ngIf=\"this.allowTransparency\"\n class=\"alpha\"\n [skyColorpickerSlider]\n [style.background-color]=\"alphaSliderColor\"\n [xAxis]=\"1\"\n (newColorContrast)=\"alphaAxis = $event\"\n #alphaSlider\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.alpha\"\n ></div>\n </div>\n </div>\n </div>\n\n <div class=\"rgba-text\">\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_hex' | skyLibResources\"\n [attr.for]=\"skyColorpickerHexId\"\n >\n {{ 'skyux_colorpicker_hex' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n pattern=\"^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$\"\n [attr.id]=\"skyColorpickerHexId\"\n [skyColorpickerText]\n [value]=\"hexText\"\n (newColorContrast)=\"hex = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_red' | skyLibResources\"\n [attr.for]=\"skyColorpickerRedId\"\n >\n {{ 'skyux_colorpicker_red' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerRedId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.red\"\n (newColorContrast)=\"red = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_green' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerGreenId\"\n >\n {{ 'skyux_colorpicker_green' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerGreenId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.green\"\n (newColorContrast)=\"green = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_blue' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerBlueId\"\n >\n {{ 'skyux_colorpicker_blue' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerBlueId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.blue\"\n (newColorContrast)=\"blue = $event\"\n />\n </sky-input-box>\n <sky-input-box *ngIf=\"this.allowTransparency\">\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_alpha' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerAlphaId\"\n >\n {{ 'skyux_colorpicker_alpha' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"1\"\n min=\"0\"\n pattern=\"[0-9]+([\\.,][0-9]{1,2})?\"\n step=\"0.1\"\n type=\"number\"\n [attr.id]=\"skyColorpickerAlphaId\"\n [maxRange]=\"1\"\n [skyColorpickerText]\n [value]=\"rgbaText?.alpha\"\n (newColorContrast)=\"alphaColor = $event\"\n />\n </sky-input-box>\n </div>\n <div\n *ngIf=\"presetColors && presetColors.length\"\n class=\"sky-colorpicker-preset-color-area\"\n >\n <button\n *ngFor=\"let color of presetColors | slice : 0 : 12; let i = index\"\n type=\"button\"\n [attr.aria-label]=\"\n ('skyux_colorpicker_preset_color' | skyLibResources) + ' ' + color\n \"\n [skyThemeClass]=\"{\n 'sky-preset-color': 'default',\n 'sky-btn sky-btn-link': 'modern'\n }\"\n [style.backgroundColor]=\"color\"\n (click)=\"onPresetClick(color)\"\n ></button>\n </div>\n </div>\n\n <div\n class=\"sky-colorpicker-footer\"\n [skyThemeClass]=\"{\n 'sky-padding-even-large': 'default'\n }\"\n >\n <section class=\"sky-colorpicker-column\">\n <button\n class=\"sky-btn sky-btn-primary sky-btn-colorpicker-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_apply' | skyLibResources\"\n [skyThemeClass]=\"{ 'sky-margin-inline-sm': 'modern' }\"\n (click)=\"onApplyColorClick()\"\n >\n {{ 'skyux_colorpicker_apply' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-btn-colorpicker-close\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_close' | skyLibResources\"\n (click)=\"onCancelClick()\"\n >\n {{ 'skyux_colorpicker_close' | skyLibResources }}\n </button>\n </section>\n </div>\n </div>\n </ng-template>\n <span\n *ngIf=\"allowTransparency\"\n aria-hidden=\"true\"\n class=\"sky-colorpicker-checkered-background\"\n >\n </span>\n\n <button\n *ngIf=\"showResetButton\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_reset' | skyLibResources\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-reset-button-disabled': disabled\n }\"\n [skyThemeClass]=\"{\n 'sky-colorpicker-reset-button': 'default',\n 'sky-btn sky-btn-icon-borderless sky-colorpicker-reset-button-modern':\n 'modern'\n }\"\n (click)=\"onResetClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"times\" size=\"sm\"> </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"trash\" size=\"lg\"> </sky-icon>\n </button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyAffixModule } from '@skyux/core';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyIconModule } from '@skyux/indicators';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyColorpickerResourcesModule } from '../shared/sky-colorpicker-resources.module';\n\nimport { SkyColorpickerInputDirective } from './colorpicker-input.directive';\nimport { SkyColorpickerSliderDirective } from './colorpicker-slider.directive';\nimport { SkyColorpickerTextDirective } from './colorpicker-text.directive';\nimport { SkyColorpickerComponent } from './colorpicker.component';\n\n@NgModule({\n declarations: [\n SkyColorpickerComponent,\n SkyColorpickerInputDirective,\n SkyColorpickerTextDirective,\n SkyColorpickerSliderDirective,\n ],\n imports: [\n CommonModule,\n SkyAffixModule,\n SkyColorpickerResourcesModule,\n SkyIconModule,\n SkyInputBoxModule,\n SkyThemeModule,\n ],\n exports: [SkyColorpickerComponent, SkyColorpickerInputDirective],\n})\nexport class SkyColorpickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.SkyColorpickerService","i2.SkyColorpickerService","i7.SkyColorpickerTextDirective","i8.SkyColorpickerSliderDirective","i9"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAEA;;;;;AAKG;AAYH,MAAM,SAAS,GAA0C;AACvD,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,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;CACF,CAAC;AAEF,sBAAsB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;MAElC,+BAA+B,CAAA;IAGnC,SAAS,CACd,UAA4B,EAC5B,IAAY,EAAA;QAEZ,OAAO,qBAAqB,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KAClE;AACF,CAAA;AAED;;AAEG;MAWU,6BAA6B,CAAA;8GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;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,YAT9B,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;AASZ,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,EAR7B,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,2BAA2B;AACpC,gBAAA,QAAQ,EAAE,+BAA+B;AACzC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,OAAA,EAAA,CAPS,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;;2FASZ,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAVzC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,aAAa,CAAC;AACxB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,2BAA2B;AACpC,4BAAA,QAAQ,EAAE,+BAA+B;AACzC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA,CAAA;;;AC3DD;;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,CAAC;AAClC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACtC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACpC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACtC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACvC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,GAAG,CAAC;AAClB,QAAA,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;AACpB,QAAA,MAAM,UAAU,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAC3C,IAAI,GAAG,GAAG,CAAC,CAAC;AACZ,QAAA,IAAI,QAAmC,CAAC;QACxC,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,CAAC;AACF,YAAA,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YACpB,GAAG,IAAI,CAAC,CAAC;AACV,SAAA;AACD,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,CAAC;AACF,QAAA,OAAO,IAAI,CAAC;KACb;AAEM,IAAA,UAAU,CAAC,IAAwB,EAAA;QACxC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,IAAI,GAAG,CAAC,CAAC;AACb,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;AACrB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACnC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAC9D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AAC9B,QAAA,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;AACvC,QAAA,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC;AAC7C,QAAA,MAAM,KAAK,GAAkC;YAC3C,CAAC,EAAE,MAAW;gBACZ,GAAG,GAAG,KAAK,CAAC;gBACZ,KAAK,GAAG,CAAC,CAAC;gBACV,IAAI,GAAG,CAAC,CAAC;aACV;YACD,CAAC,EAAE,MAAW;gBACZ,GAAG,GAAG,CAAC,CAAC;gBACR,KAAK,GAAG,KAAK,CAAC;gBACd,IAAI,GAAG,CAAC,CAAC;aACV;YACD,CAAC,EAAE,MAAW;gBACZ,GAAG,GAAG,CAAC,CAAC;gBACR,KAAK,GAAG,KAAK,CAAC;gBACd,IAAI,GAAG,CAAC,CAAC;aACV;YACD,CAAC,EAAE,MAAW;gBACZ,GAAG,GAAG,CAAC,CAAC;gBACR,KAAK,GAAG,CAAC,CAAC;gBACV,IAAI,GAAG,KAAK,CAAC;aACd;YACD,CAAC,EAAE,MAAW;gBACZ,GAAG,GAAG,CAAC,CAAC;gBACR,KAAK,GAAG,CAAC,CAAC;gBACV,IAAI,GAAG,KAAK,CAAC;aACd;YACD,CAAC,EAAE,MAAW;gBACZ,GAAG,GAAG,KAAK,CAAC;gBACZ,KAAK,GAAG,CAAC,CAAC;gBACV,IAAI,GAAG,CAAC,CAAC;aACV;SACF,CAAC;AACF,QAAA,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;AAEf,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,CAAC;AACF,QAAA,OAAO,IAAI,CAAC;KACb;IAEM,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,KAAI;AACpB,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,CAAC;AACF,oBAAA,OAAO,IAAI,CAAC;iBACb;AACF,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,yFAAyF;AAC7F,gBAAA,KAAK,EAAE,CAAC,UAAU,KAAI;AACpB,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,CAAC;AACF,oBAAA,OAAO,IAAI,CAAC;iBACb;AACF,aAAA;SACF,CAAC;AACF,QAAA,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,CAAC;AACF,oBAAA,OAAO,IAAI,CAAC;iBACb;AACF,aAAA,CAAC,CAAC;AACJ,SAAA;AAAM,aAAA;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,CAAC;AACF,oBAAA,OAAO,IAAI,CAAC;iBACb;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,CAAC;AACF,oBAAA,OAAO,IAAI,CAAC;iBACb;AACF,aAAA,CACF,CAAC;AACH,SAAA;AAED,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,CAAC;gBAClC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,MAAM,KAAK,GAAG,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3C,gBAAA,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,IAAoC,CAAC;oBAEzC,IAAI,KAAK,IAAI,KAAK,EAAE;AAClB,wBAAA,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC/B,qBAAA;yBAAM,IAAI,KAAK,IAAI,KAAK,EAAE;AACzB,wBAAA,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC/B,qBAAA;AAED,oBAAA,IAAI,IAAI,EAAE;AACR,wBAAA,OAAO,IAAI,CAAC;AACb,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AAED,QAAA,OAAO,SAAS,CAAC;KAClB;AAEM,IAAA,iBAAiB,CAAC,KAAyB,EAAA;AAChD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACzD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACzD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACpC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAEpD,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,CAAC;AAEF,QAAA,OAAO,WAAW,CAAC;KACpB;IAEM,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,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,CAAC;QAClB,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;AAChB,YAAA,CAAC,SAAS,EACV;AACA,YAAA,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACtD,SAAA;AACD,QAAA,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,CAAC;iBACZ,SAAS,CAAC,CAAC,CAAC,CAAC;AACjB,SAAA;AACD,QAAA,OAAO,OAAO,CAAC;KAChB;AAEM,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,CAAC;AACF,QAAA,OAAO,eAAe,CAAC;KACxB;AAED,IAAA,UAAU,CAAC,IAAwB,EAAA;AACjC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACtC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAClC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC9C,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAChD,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,CAAC;QACF,IAAI,SAAS,KAAK,CAAC,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AAChB,SAAA;AAAM,aAAA;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,CAAC;AACnE,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC;AAC/D,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,UAAU,CAAC,IAAwB,EAAA;AACjC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACzB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;AACrB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACnC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AAEzB,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,CAAC;QACF,IAAI,KAAK,KAAK,CAAC,EAAE;AACf,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;AACnB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACrB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;AAChD,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,CAAC;AACjE,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED,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,CAAC;QAC5E,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1D,IAAI,GAAG,KAAK,CAAC,EAAE;AACb,YAAA,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;AACb,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACD,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;AAC7C,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;AAClD,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;AAChD,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AACf,QAAA,OAAO,IAAI,CAAC;KACb;AAED,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,CAAC;AACvB,SAAA;AACD,QAAA,MAAM,KAAK,GAAoC;YAC7C,IAAI,EAAE,MAAK;AACT,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1D,gBAAA,OAAO,QAAQ,IAAI,CAAC,GAAG,CAAA,CAAA,EAAI,IAAI,CAAC,UAAU,CAAK,EAAA,EAAA,IAAI,CAAC,SAAS,CAAA,EAAA,EAAK,IAAI,CAAC,KAAK,GAAG,CAAC;aACjF;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,CAAC;aACH;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,CAAC;AACF,gBAAA,OAAO,QAAQ,IAAI,CAAC,IAAI,CAAA,EAAA,EAAK,IAAI,CAAC,OAAO,CAAK,EAAA,EAAA,IAAI,CAAC,MAAM,CAAA,EAAA,EAAK,IAAI,CAAC,GAAG,IAAI,CAAC;aAC5E;YACD,IAAI,EAAE,MAAK;AACT,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACzD,gBAAA,OAAO,QAAQ,IAAI,CAAC,GAAG,CAAA,CAAA,EAAI,IAAI,CAAC,KAAK,CAAI,CAAA,EAAA,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,IAAI,CAAC,KAAK,GAAG,CAAC;aACrE;SACF,CAAC;AAEF,QAAA,OAAO,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;KAC9B;AAED,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,CAAC;AACF,QAAA,OAAO,eAAe,CAAC;KACxB;AAED,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,CAAC;AACF,QAAA,OAAO,eAAe,CAAC;KACxB;AAED,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,CAAC;AACF,QAAA,OAAO,eAAe,CAAC;KACxB;8GA/WU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAArB,qBAAqB,EAAA,CAAA,CAAA,EAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;;;ACkBX,MAAM,8BAA8B,GAAG;AACrC,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,4BAA4B,CAAC;AAC3D,IAAA,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF,MAAM,yBAAyB,GAAG;AAChC,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,4BAA4B,CAAC;AAC3D,IAAA,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF,MAAM,6BAA6B,GAAG,SAAS,CAAC;AAEhD;;AAEG;MAKU,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,CAAC;AACxB,SAAA;AAED,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;KAC7B;AAED,IAAA,IAAW,YAAY,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,cAAc,IAAI,6BAA6B,CAAC;KAC7D;AA0CD,IAAA,IACc,QAAQ,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,IACc,eAAe,GAAA;AAC3B,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,WAAW,CAAmC;AAC9C,IAAA,0BAA0B,CAA2B;AACrD,IAAA,WAAW,CAAa;AACxB,IAAA,SAAS,CAAY;AACrB,IAAA,IAAI,CAAwB;AAC5B,IAAA,aAAa,CAAyB;AACtC,IAAA,SAAS,CAAW;AAEpB,IAAA,UAAU,CAAsB;AAChC,IAAA,cAAc,CAAqB;IAEnC,WACE,CAAA,UAAsB,EACtB,QAAmB,EACnB,GAA0B,EAC1B,YAAoC,EACpC,QAAkB,EAAA;AAlEpB;;;;;AAKG;QAEI,IAAY,CAAA,YAAA,GAAG,MAAM,CAAC;AAE7B;;;;;;AAMG;QAEI,IAAY,CAAA,YAAA,GAAG,MAAM,CAAC;AAE7B;;;AAGG;QAEI,IAAY,CAAA,YAAA,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAE1D;;;AAGG;QAEI,IAAY,CAAA,YAAA,GAAG,MAAM,CAAC;AAE7B;;;AAGG;QAEI,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;AA8B9B,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC1B,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;AAChB,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;AAClC,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;KAC3B;IAGM,WAAW,GAAA;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC;AACnD,QAAA,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,GAAG,KAAK,CAAC;KAC5D;IAGM,QAAQ,GAAA;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC;QACtD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC;AAClC,QAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;KACvC;IAEM,QAAQ,GAAA;AACb,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;QAE/C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QACrD,IAAI,CAAC,mBAAmB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC1D,IAAI,CAAC,mBAAmB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;AAE1D,QAAA,IAAI,CAAC,0BAA0B;YAC7B,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CACrD,CAAC,QAA8B,KAAI;;AAEjC,gBAAA,IAAI,QAAQ,EAAE;oBACZ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;;AAG7C,oBAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC3B,iBAAA;AACH,aAAC,CACF,CAAC;QAEJ,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;;;AAI/D,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,GAAG,IAAI,CAAC,YAAY,CAAC;AACxE,SAAA;;AAGD,QAAA,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,CAAC;AACH,SAAA;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAC9C,QAAA,IAAI,QAAQ,IAAI,QAAQ,KAAK,QAAQ,EAAE;AACrC,YAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,GAAG,KAAK,CAAC;AAC5C,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,GAAG,IAAI,CAAC;AAC3C,SAAA;KACF;IAEM,WAAW,GAAA;QAChB,IAAI,IAAI,CAAC,0BAA0B,EAAE;AACnC,YAAA,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE,CAAC;AAC/C,SAAA;KACF;IAEM,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,CAAC;KACH;IAEM,WAAW,GAAA;QAChB,IAAI,CAAC,mBAAmB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC1D,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B;;AAGM,IAAA,gBAAgB,MAAW;;AAG3B,IAAA,iBAAiB,MAAW;;AAG5B,IAAA,yBAAyB,MAAW;;AAGpC,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,CAAC;AAE9C,YAAA,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC;AAClC,YAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;AAEtC,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACxB,gBAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC5B,gBAAA,IAAI,CAAC,mBAAmB,CAAC,YAAY,GAAG,KAAK,CAAC;AAC/C,aAAA;AACD,YAAA,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAElD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAY,SAAS,EAAE,SAAS,EAAE;AAClE,gBAAA,QAAQ,EAAE,IAAI;aACf,CAAC,EAAE,OAAO,CAAC;AAEZ,YAAA,IAAI,OAAO,EAAE;AACX,gBAAA,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1D,aAAA;AACF,SAAA;KACF;IAEM,QAAQ,GAAA;AACb,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AACzC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,QAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC/C,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,GAAG,MAAM,CAAC;AAC7D,SAAA;aAAM,IAAI,IAAI,CAAC,WAAW,EAAE;YAC3B,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AAC3E,SAAA;KACF;AAED,IAAA,gBAAgB,CAAC,KAA2B,EAAA;AAC1C,QAAA,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC;AACvC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;AAE/C,QAAA,IAAI,MAAc,CAAC;QACnB,QAAQ,IAAI,CAAC,YAAY;AACvB,YAAA,KAAK,MAAM;AACT,gBAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC;gBACxB,MAAM;AACR,YAAA,KAAK,MAAM;AACT,gBAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC;gBACxB,MAAM;AACR,YAAA,KAAK,KAAK;AACR,gBAAA,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC;gBACnB,MAAM;AACR,YAAA;AACE,gBAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC;gBACxB,MAAM;AACT,SAAA;AAED,QAAA,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACpD,QAAA,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,GAAG,MAAM,CAAC;QAE5D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;KACtD;AAED,IAAA,UAAU,CACR,KAAgD,EAAA;AAEhD,QAAA,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACtC,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AAED,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CACjC,KAAe,EACf,IAAI,CAAC,YAAY,KAAK,MAAM,CAC7B,CAAC;;;QAIF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAK,CAAC,CAAC;AAEvD,QAAA,OAAO,WAAW,CAAC;KACpB;AAED,IAAA,UAAU,CAAC,GAAW,EAAA;;AAEpB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;KACxE;8GApSU,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,EAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAF5B,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,cAAA,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,SAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,eAAA,EAAA,6BAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAC,8BAA8B,EAAE,yBAAyB,CAAC,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAE3D,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAJxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,SAAS,EAAE,CAAC,8BAA8B,EAAE,yBAAyB,CAAC;AACvE,iBAAA,CAAA;sNAWQ,mBAAmB,EAAA,CAAA;sBADzB,KAAK;gBAWK,YAAY,EAAA,CAAA;sBADtB,KAAK;gBAqBC,YAAY,EAAA,CAAA;sBADlB,KAAK;gBAWC,YAAY,EAAA,CAAA;sBADlB,KAAK;gBAQC,YAAY,EAAA,CAAA;sBADlB,KAAK;gBAQC,YAAY,EAAA,CAAA;sBADlB,KAAK;gBAQC,iBAAiB,EAAA,CAAA;sBADvB,KAAK;gBAIQ,QAAQ,EAAA,CAAA;sBADrB,WAAW;uBAAC,UAAU,CAAA;gBAMT,eAAe,EAAA,CAAA;sBAD5B,WAAW;uBAAC,6BAA6B,CAAA;gBA+BnC,WAAW,EAAA,CAAA;sBADjB,YAAY;uBAAC,OAAO,CAAA;gBAQd,QAAQ,EAAA,CAAA;sBADd,YAAY;uBAAC,QAAQ,CAAA;;;AC1JxB;;AAEG;MAIU,6BAA6B,CAAA;AAYxC,IAAA,aAAa,CAA2C;AACxD,IAAA,aAAa,CAAa;AAE1B,IAAA,GAAG,CAAa;AAEhB,IAAA,WAAA,CAAY,EAAc,EAAA;AAfnB,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAA4B,CAAC;AAgBrE,QAAA,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;AACd,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,KAAI;AAC7B,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnB,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,aAAa,GAAG,MAAK;YACxB,IAAI,CAAC,IAAI,EAAE,CAAC;AACd,SAAC,CAAC;KACH;AAIM,IAAA,KAAK,CAAC,KAAiB,EAAA;AAC5B,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvB,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3D,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3D,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACzD,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;KAC3D;AAED,IAAA,UAAU,CAAC,KAA8B,EAAA;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9D,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,CAAC;AAChC,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACzB,WAAW,EAAE,KAAK,GAAG,KAAK;gBAC1B,QAAQ,EAAE,IAAI,CAAC,KAAK;AACO,aAAA,CAAC,CAAC;AAChC,SAAA;AACD;;;AAGI;KACL;IAEM,IAAI,GAAA;QACT,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9D,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5D,QAAQ,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;KAC9D;AAEM,IAAA,IAAI,CAAC,KAA8B,EAAA;QACxC,KAAK,CAAC,cAAc,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KACxB;AAEM,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,EAClB;KACH;AACM,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,EAClB;KACH;8GA1FU,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA7B,6BAA6B,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,EAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AACnC,iBAAA,CAAA;iGAGQ,gBAAgB,EAAA,CAAA;sBADtB,MAAM;gBAGA,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAGC,KAAK,EAAA,CAAA;sBADX,KAAK;gBAGC,KAAK,EAAA,CAAA;sBADX,KAAK;gBAGC,KAAK,EAAA,CAAA;sBADX,KAAK;gBAoBC,KAAK,EAAA,CAAA;sBAFX,YAAY;uBAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAA;;sBACrC,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;;;ACnCvC;;AAEG;MAIU,2BAA2B,CAAA;AAHxC,IAAA,WAAA,GAAA;AAKS,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAA6B,CAAC;AAmCzE,KAAA;AA1BW,IAAA,WAAW,CAAC,KAAY,EAAA;AAChC,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,MAA0B,CAAC;QACjD,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC/C,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,CAAC;AACjC,SAAA;AAED,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,CAAC;AACJ,SAAA;KACF;8GApCU,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA3B,2BAA2B,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,EAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AACjC,iBAAA,CAAA;8BAGQ,gBAAgB,EAAA,CAAA;sBADtB,MAAM;gBAGA,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAGC,KAAK,EAAA,CAAA;sBADX,KAAK;gBAGC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAII,WAAW,EAAA,CAAA;sBADpB,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AC1BnC;;AAEG;MACU,cAAc,CAAA;AACzB,IAAA,WAAA,CACS,GAAW,EACX,UAAkB,EAClB,KAAa,EACb,KAAa,EAAA;QAHb,IAAG,CAAA,GAAA,GAAH,GAAG,CAAQ;QACX,IAAU,CAAA,UAAA,GAAV,UAAU,CAAQ;QAClB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;QACb,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;KAClB;AACL,CAAA;AACD;;AAEG;MACU,eAAe,CAAA;AAC1B,IAAA,WAAA,CACS,GAAW,EACX,UAAkB,EAClB,KAAa,EACb,KAAa,EAAA;QAHb,IAAG,CAAA,GAAA,GAAH,GAAG,CAAQ;QACX,IAAU,CAAA,UAAA,GAAV,UAAU,CAAQ;QAClB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;QACb,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;KAClB;AACL;;ACrBD;;AAEG;IACS,0BAiBX;AAjBD,CAAA,UAAY,yBAAyB,EAAA;AACnC;;AAEG;AACH,IAAA,yBAAA,CAAA,yBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACR;;AAEG;AACH,IAAA,yBAAA,CAAA,yBAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS,CAAA;AACT;;AAEG;AACH,IAAA,yBAAA,CAAA,yBAAA,CAAA,mBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mBAAqB,CAAA;AACrB;;AAEG;AACH,IAAA,yBAAA,CAAA,yBAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS,CAAA;AACX,CAAC,EAjBW,yBAAyB,KAAzB,yBAAyB,GAiBpC,EAAA,CAAA,CAAA;;ACqBD,IAAI,gBAAgB,GAAG,CAAC,CAAC;AAEzB;;;;AAIG;MAQU,uBAAuB,CAAA;IA2DlC,IAAW,QAAQ,CAAC,KAAc,EAAA;AAChC,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;KACrC;AAED,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB;IAED,IAAW,yBAAyB,CAAC,KAAyB,EAAA;AAC5D,QAAA,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;QACzC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnE,SAAA;KACF;AAED,IAAA,IAAW,yBAAyB,GAAA;;AAElC,QAAA,OAAO,IAAI,CAAC,2BAA2B,IAAI,MAAM,CAAC;KACnD;IAED,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,CAAC;YACtD,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,SAAA;KACF;IAED,IAAW,GAAG,CAAC,MAAiC,EAAA;QAC9C,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;YAI9C,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,UAAW,GAAG,MAAM,CAAC,QAAS,CAAC;YACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,SAAA;KACF;IAED,IAAW,KAAK,CAAC,MAAiC,EAAA;QAChD,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;YAI9C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,UAAW,GAAG,MAAM,CAAC,QAAS,CAAC;YACnD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,SAAA;KACF;IAED,IAAW,IAAI,CAAC,MAAiC,EAAA;QAC/C,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;YAI9C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,UAAW,GAAG,MAAM,CAAC,QAAS,CAAC;YAClD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,SAAA;KACF;IAED,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,CAAC;YACxD,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,SAAA;KACF;IAED,IAAW,UAAU,CAAC,MAAiC,EAAA;QACrD,IAAI,IAAI,CAAC,KAAK,EAAE;;;AAGd,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,UAAW,GAAG,MAAM,CAAC,QAAS,CAAC;YACzD,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,SAAA;KACF;IAED,IAAW,GAAG,CAAC,MAAiC,EAAA;AAC9C,QAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACvC;IAED,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,CAAC;AACxD,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;YACnD,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,SAAA;KACF;IAkBD,IAGc,cAAc,CAAC,KAA6B,EAAA;AACxD,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;YAEvB,IAAI,CAAC,2BAA2B,EAAE,CAAC;AACnC,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,OAAO,EAAQ,CAAC;;;YAI9C,UAAU,CAAC,MAAK;gBACd,IAAI,CAAC,cAAc,EAAE,CAAC;AACtB,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAE5B,IAAI,CAAC,YAAY,CAAC,iCAAiC,CACjD,KAAK,EACL,kBAAkB,EAClB,KAAK,CACN,CAAC;AACF,gBAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;AACtC,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;AAED,IAAA,IAAc,cAAc,GAAA;QAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC;KAC9B;AAoBD,IAAA,QAAQ,CAAS;AACjB,IAAA,aAAa,CAAqB;AAClC,IAAA,OAAO,CAAqB;AAC5B,IAAA,aAAa,CAAqB;AAClC,IAAA,KAAK,CAAiC;AACtC,IAAA,aAAa,CAAkB;AAC/B,IAAA,cAAc,CAAuB;AACrC,IAAA,QAAQ,CAAyB;AACjC,IAAA,QAAQ,CAAiC;AACzC,IAAA,kBAAkB,CAA4B;AAE9C,IAAA,SAAS,CAAkB;AAC3B,IAAA,eAAe,CAAoB;AACnC,IAAA,YAAY,CAAwB;AAC3B,IAAA,oBAAoB,CAA+B;AAC5D,IAAA,WAAW,CAAoB;AAC/B,IAAA,IAAI,CAAwB;AAC5B,IAAA,SAAS,CAA8B;AAEvC,IAAA,2BAA2B,CAAqB;AAChD,IAAA,gBAAgB,CAAyB;AACzC,IAAA,UAAU,CAAS;IAEnB,WACE,CAAA,QAAyB,EACzB,cAAiC,EACjC,WAAkC,EAClC,UAA6B,EAC7B,GAA0B,EACd,QAA0B,EAAA;AA3PxC;;;;AAIG;QAEI,IAAoB,CAAA,oBAAA,GAAgB,IAAI,CAAC;AAoBhD;;AAEG;AAEI,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,YAAY,EAAwB,CAAC;AAEvE;;AAEG;AAEI,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,YAAY,EAAwB,CAAC;AAEvE;;;AAGG;AAEI,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAyB,CAAC;AAE5D;;AAEG;QAEI,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;QAgHvB,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;QA4Cd,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;AAuBzB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAQ,CAAC;AAQ5B,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAO5D,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AAUjB,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC1B,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;AACtC,QAAA,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;AAC9B,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;AAChB,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAE1B,QAAA,gBAAgB,EAAE,CAAC;AAEnB,QAAA,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,CAAA,oBAAA,EAAuB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClE,IAAI,CAAC,mBAAmB,GAAG,CAAA,qBAAA,EAAwB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnE,IAAI,CAAC,mBAAmB,GAAG,CAAA,qBAAA,EAAwB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnE,IAAI,CAAC,qBAAqB,GAAG,CAAA,uBAAA,EAA0B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvE,IAAI,CAAC,oBAAoB,GAAG,CAAA,sBAAA,EAAyB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrE,IAAI,CAAC,qBAAqB,GAAG,CAAA,uBAAA,EAA0B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvE,IAAI,CAAC,aAAa,GAAG,CAAA,iBAAA,EAAoB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzD,IAAI,CAAC,eAAe,GAAG,CAAA,wBAAA,EAA2B,IAAI,CAAC,QAAQ,EAAE,CAAC;AAElE,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAC7D,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KAC9C;IAEM,SAAS,CACd,KAAyB,EACzB,YAAoB,EACpB,YAA2B,EAC3B,YAAoB,EACpB,iBAA0B,EAAA;AAE1B,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;AAClC,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;AACjC,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;AAClC,QAAA,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AAE3C,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,EAAE;AACjC,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;AAClB,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,EAAE;AACxC,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;AAClB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;AAClB,SAAA;KACF;IAEM,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,aAAa;AACf,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACpC,aAAA,SAAS,CAAC,CAAC,OAA8B,KAAI;AAC5C,YAAA,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACxC,SAAC,CAAC,CAAC;QAEL,IAAI,CAAC,+BAA+B,EAAE,CAAC;;QAGvC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,cAAc;AAC1B,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACpC,iBAAA,SAAS,CAAC,CAAC,aAAa,KAAI;;gBAE3B,MAAM,SAAS,GAAG,aAAa,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC;;;gBAI7D,IAAI,SAAS,KAAK,QAAQ,EAAE;AAC1B,oBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAC9D,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAC9D,iBAAA;gBACD,IAAI,CAAC,aAAa,EAAE,CAAC;AACvB,aAAC,CAAC,CAAC;AACN,SAAA;KACF;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;IAEM,oBAAoB,GAAA;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;KACnD;IAEM,WAAW,GAAA;QAChB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,2BAA2B,EAAE,CAAC;AACnC,QAAA,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;AAC7C,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB;IAEM,iBAAiB,GAAA;QACtB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnD,YAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;AACpD,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC/C,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;AAC9D,SAAA;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAEM,aAAa,GAAA;;AAElB,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;AAEM,IAAA,aAAa,CAAC,KAAa,EAAA;AAChC,QAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;KAChC;IAEM,YAAY,GAAA;AACjB,QAAA,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;KACpD;AAEM,IAAA,kBAAkB,CAAC,KAAyB,EAAA;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACvC,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,SAAA;KACF;IAED,OAAO,GAAA;QACL,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,MAAM,IAAI,GAAuB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClE,MAAM,KAAK,GAAuB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAElE,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,CAAC;AAEF,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAEtE,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC;YAEvE,IAAI,CAAC,gBAAgB,GAAG,CAAA,KAAA,EAAQ,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAI,CAAA,EAAA,KAAK,CAAC,IAAI,CAAA,CAAA,EAAI,KAAK,CAAC,KAAK,GAAG,CAAC;YACzF,IAAI,CAAC,cAAc,GAAG,CAAA,KAAA,EAAQ,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,KAAK,CAAI,CAAA,EAAA,OAAO,CAAC,IAAI,CAAA,CAAA,EAAI,IAAI,CAAC,KAAK,GAAG,CAAC;AAE5F,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,CAAC;AAChB,aAAA;AAED,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAE7D,IAAI,CAAC,aAAa,EAAE,CAAC;AACtB,SAAA;KACF;IAED,aAAa,GAAA;AACX,QAAA,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,CAAC;AACH,SAAA;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACpB;AAED,IAAA,YAAY,CAAC,IAA+B,EAAA;QAC1C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;KACnC;AAED,IAAA,uBAAuB,CAAC,OAA8B,EAAA;QACpD,QAAQ,OAAO,CAAC,IAAI;YAClB,KAAK,yBAAyB,CAAC,IAAI;AACjC,gBAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBAChB,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,iBAAA;gBACD,MAAM;YAER,KAAK,yBAAyB,CAAC,KAAK;gBAClC,IAAI,IAAI,CAAC,MAAM,EAAE;oBACf,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,iBAAA;gBACD,MAAM;YAER,KAAK,yBAAyB,CAAC,KAAK;AAClC,gBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC3C,gBAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,YAAY,CAAC;gBACnD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;;;AAGnD,gBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,aAAc,EAAE,CAAC,CAAC;gBAC/D,MAAM;YAER,KAAK,yBAAyB,CAAC,iBAAiB;AAC9C,gBAAA,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;gBAC7C,MAAM;AACT,SAAA;KACF;IAED,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,CAAC;AAElE,YAAA,OAAO,CAAC,eAAe;AACpB,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACxC,iBAAA,SAAS,CAAC,CAAC,MAAM,KAAI;gBACpB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC;AACnD,aAAC,CAAC,CAAC;YAEL,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,QAAQ,EAAE,IAAI;AACd,gBAAA,SAAS,EAAE,OAAO;AACnB,aAAA,CAAC,CAAC;AAEH,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AACzB,SAAA;KACF;IAED,eAAe,GAAA;;QAEb,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;AACxB,YAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;AAC3B,SAAA;KACF;IAED,cAAc,GAAA;QACZ,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;AAC/C,aAAA,CAAC,CAAC;AAEH,YAAA,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAEpD,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AACzB,SAAA;KACF;IAED,eAAe,GAAA;;QAEb,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtC,YAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;AAC3B,SAAA;KACF;IAED,+BAA+B,GAAA;AAC7B,QAAA,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;AAClC,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACpC,aAAA,SAAS,CAAC,CAAC,KAAK,KAAI;YACnB,MAAM,aAAa,GAAG,KAAsB,CAAC;YAC7C,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC;;YAE7C,IAAI,GAAG,KAAK,QAAQ,EAAE;AACpB,gBAAA,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;AACpD,aAAA;AACH,SAAC,CAAC,CAAC;KACN;IAED,2BAA2B,GAAA;;QAEzB,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;AAC/B,YAAA,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;AACnC,YAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;AACrC,SAAA;KACF;AAED,IAAA,aAAa,CAAC,KAAyB,EAAA;AACrC,QAAA,IAAI,IAAoC,CAAC;AAEzC,QAAA,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,CAAC;AAC3C,gBAAA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBACxB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC7C,iBAAA;AACF,aAAA;AAAM,iBAAA;gBACL,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC7C,aAAA;AACF,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,uBAAuB,CACrB,eAAiD,EAAA;AAEjD,QAAA,IAAI,eAAe,EAAE;;YAEnB,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YAC7C,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;YAC/C,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;AAE9C,YAAA,MAAM,CAAC,GACL,KAAK,IAAI,OAAO;kBACZ,KAAK,GAAG,KAAK;AACf,kBAAE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,IAAI,KAAK,EAAE,GAAG,CAAC,CAAC;AAC7C,YAAA,MAAM,CAAC,GACL,KAAK,IAAI,OAAO;kBACZ,KAAK,GAAG,KAAK;AACf,kBAAE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,IAAI,KAAK,EAAE,GAAG,CAAC,CAAC;AAC7C,YAAA,MAAM,CAAC,GACL,KAAK,IAAI,OAAO;kBACZ,KAAK,GAAG,KAAK;AACf,kBAAE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,IAAI,KAAK,EAAE,GAAG,CAAC,CAAC;AAE7C,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,CAAC;;YAGnC,OAAO,IAAI,IAAI,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC;AAC1C,kBAAE,oBAAoB;kBACpB,cAAc,CAAC;AACpB,SAAA;;AAED,QAAA,OAAO,SAAS,CAAC;KAClB;8GA5lBU,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,EAAA;kGAAvB,uBAAuB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,EAAA,SAAA,EAHvB,CAAC,qBAAqB,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EA+K1B,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,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7OpB,inUA4TA,EAAA,MAAA,EAAA,CAAA,uqdAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,YAAA,EAAA,SAAA,CAAA,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,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,EAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,EAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,6BAAA,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,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,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,EAAA;;2FDrQa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,aAGhB,CAAC,qBAAqB,CAAC,EACnB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,inUAAA,EAAA,MAAA,EAAA,CAAA,uqdAAA,CAAA,EAAA,CAAA;;0BAqQlC,QAAQ;4CA7PJ,gBAAgB,EAAA,CAAA;sBADtB,KAAK;gBASC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAUC,KAAK,EAAA,CAAA;sBADX,KAAK;gBAUC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAOC,oBAAoB,EAAA,CAAA;sBAD1B,MAAM;gBAOA,oBAAoB,EAAA,CAAA;sBAD1B,MAAM;gBAQA,aAAa,EAAA,CAAA;sBADnB,KAAK;gBAOC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAsHI,sBAAsB,EAAA,CAAA;sBAH/B,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,wBAAwB,EAAE;AACnC,wBAAA,IAAI,EAAE,WAAW;AAClB,qBAAA,CAAA;gBAMS,gBAAgB,EAAA,CAAA;sBAHzB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,kBAAkB,EAAE;AAC7B,wBAAA,IAAI,EAAE,UAAU;AACjB,qBAAA,CAAA;gBAMa,cAAc,EAAA,CAAA;sBAH3B,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,gBAAgB,EAAE;AAC3B,wBAAA,IAAI,EAAE,UAAU;AACjB,qBAAA,CAAA;;;ME/MU,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;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,iBAf7B,uBAAuB;YACvB,4BAA4B;YAC5B,2BAA2B;AAC3B,YAAA,6BAA6B,aAG7B,YAAY;YACZ,cAAc;YACd,6BAA6B;YAC7B,aAAa;YACb,iBAAiB;YACjB,cAAc,CAAA,EAAA,OAAA,EAAA,CAEN,uBAAuB,EAAE,4BAA4B,CAAA,EAAA,CAAA,CAAA,EAAA;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,YAT7B,YAAY;YACZ,cAAc;YACd,6BAA6B;YAC7B,aAAa;YACb,iBAAiB;YACjB,cAAc,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIL,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAjBhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,uBAAuB;wBACvB,4BAA4B;wBAC5B,2BAA2B;wBAC3B,6BAA6B;AAC9B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,cAAc;wBACd,6BAA6B;wBAC7B,aAAa;wBACb,iBAAiB;wBACjB,cAAc;AACf,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,uBAAuB,EAAE,4BAA4B,CAAC;AACjE,iBAAA,CAAA;;;AC9BD;;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.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 SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n SkyLibResourcesService,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\n skyux_colorpicker_alpha: { message: 'A:' },\n skyux_colorpicker_apply: { message: 'Apply' },\n skyux_colorpicker_aria_alpha: {\n message: 'Alpha channel value between 0 and 1',\n },\n skyux_colorpicker_aria_blue: { message: 'Blue value between 0 and 255' },\n skyux_colorpicker_aria_green: { message: 'Green value between 0 and 255' },\n skyux_colorpicker_aria_hex: { message: 'Hexadecimal color code' },\n skyux_colorpicker_aria_red: { message: 'Red value between 0 and 255' },\n skyux_colorpicker_blue: { message: 'B:' },\n skyux_colorpicker_close: { message: 'Cancel' },\n skyux_colorpicker_dropdown_button: { message: 'Select color value' },\n skyux_colorpicker_green: { message: 'G:' },\n skyux_colorpicker_hex: { message: 'Hex:' },\n skyux_colorpicker_input_default_label: { message: 'Color value' },\n skyux_colorpicker_preset_color: { message: 'Preset Color:' },\n skyux_colorpicker_red: { message: 'R:' },\n skyux_colorpicker_reset: { message: 'Reset color value to white' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\nexport class SkyColorpickerResourcesProvider\n implements SkyLibResourcesProvider\n{\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyColorpickerResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyColorpickerResourcesModule {}\n","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: { [key: number]: number };\n if (max !== min) {\n maxValue = {\n [red]: (green - blue) / d + (green < blue ? 6 : 0),\n [green]: (blue - red) / d + 2,\n [blue]: (red - green) / d + 4,\n };\n hue = maxValue[max];\n hue /= 6;\n }\n const hsva: SkyColorpickerHsva = {\n hue: hue,\n saturation: saturation,\n value: value,\n alpha: alpha,\n };\n return hsva;\n }\n\n public hsvaToRgba(hsva: SkyColorpickerHsva): SkyColorpickerRgba {\n let red = 0;\n let green = 0;\n let blue = 0;\n const hue = hsva.hue;\n const saturation = hsva.saturation;\n const value = hsva.value;\n const alpha = hsva.alpha || hsva.alpha === 0 ? hsva.alpha : 1;\n const i = Math.floor(hue * 6);\n const f = hue * 6 - i;\n const p = value * (1 - saturation);\n const q = value * (1 - f * saturation);\n const t = value * (1 - (1 - f) * saturation);\n const color: { [key: number]: () => void } = {\n 0: (): void => {\n red = value;\n green = t;\n blue = p;\n },\n 1: (): void => {\n red = q;\n green = value;\n blue = p;\n },\n 2: (): void => {\n red = p;\n green = value;\n blue = t;\n },\n 3: (): void => {\n red = p;\n green = q;\n blue = value;\n },\n 4: (): void => {\n red = t;\n green = p;\n blue = value;\n },\n 5: (): void => {\n red = value;\n green = p;\n blue = q;\n },\n };\n color[i % 6]();\n\n const rgba: SkyColorpickerRgba = {\n red: red,\n green: green,\n blue: blue,\n alpha: alpha,\n };\n return rgba;\n }\n\n public stringToHsva(\n colorString: string,\n hex8: boolean\n ): SkyColorpickerHsva | undefined {\n const stringParsers: {\n re: RegExp;\n parse: (\n execResult: RegExpExecArray\n ) => SkyColorpickerRgba | SkyColorpickerHsla;\n }[] = [\n {\n re: /(rgb)a?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*%?,\\s*(\\d{1,3})\\s*%?(?:,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)/,\n parse: (execResult) => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[2], 0) / 255,\n green: parseInt(execResult[3], 0) / 255,\n blue: parseInt(execResult[4], 0) / 255,\n alpha: parseFloat(execResult[5]),\n };\n return rgba;\n },\n },\n {\n re: /(hsl)a?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})%\\s*,\\s*(\\d{1,3})%\\s*(?:,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)/,\n parse: (execResult) => {\n const hsla: SkyColorpickerHsla = {\n hue: parseInt(execResult[2], 0) / 360,\n saturation: parseInt(execResult[3], 0) / 100,\n lightness: parseInt(execResult[4], 0) / 100,\n alpha: parseFloat(execResult[5]),\n };\n return hsla;\n },\n },\n ];\n if (hex8) {\n stringParsers.push({\n re: /#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/,\n parse: (execResult) => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[1], 16) / 255,\n green: parseInt(execResult[2], 16) / 255,\n blue: parseInt(execResult[3], 16) / 255,\n alpha: parseInt(execResult[4], 16) / 255,\n };\n return rgba;\n },\n });\n } else {\n stringParsers.push(\n {\n re: /#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/,\n parse: (execResult) => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[1], 16) / 255,\n green: parseInt(execResult[2], 16) / 255,\n blue: parseInt(execResult[3], 16) / 255,\n alpha: 1,\n };\n return rgba;\n },\n },\n {\n re: /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])$/,\n parse: (execResult) => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[1] + execResult[1], 16) / 255,\n green: parseInt(execResult[2] + execResult[2], 16) / 255,\n blue: parseInt(execResult[3] + execResult[3], 16) / 255,\n alpha: 1,\n };\n return rgba;\n },\n }\n );\n }\n\n for (const key in stringParsers) {\n /* istanbul ignore else */ /* for in must be filtered by an if */\n if (Object.prototype.hasOwnProperty.call(stringParsers, key)) {\n const parser = stringParsers[key];\n const match = parser.re.exec(colorString);\n const color = match && parser.parse(match);\n if (color) {\n let hsva: SkyColorpickerHsva | undefined;\n\n if ('red' in color) {\n hsva = this.rgbaToHsva(color);\n } else if ('hue' in color) {\n hsva = this.#hsla2hsva(color);\n }\n\n if (hsva) {\n return hsva;\n }\n }\n }\n }\n\n return undefined;\n }\n\n public skyColorpickerOut(color: SkyColorpickerHsva): SkyColorpickerOutput {\n const cmykText = this.#outputFormat(color, 'cmyk', true);\n const hslaText = this.#outputFormat(color, 'hsla', true);\n const rgbaText = this.#outputFormat(color, 'rgba', true);\n const rgba = this.hsvaToRgba(color);\n const hsla = this.#hsva2hsla(color);\n const cmyk = this.#rgbaToCmyk(rgba);\n const hex = this.#outputFormat(color, 'hex', false);\n\n const formatColor: SkyColorpickerOutput = {\n cmykText,\n hslaText,\n rgbaText,\n hsva: this.#denormalizeHSVA(color),\n rgba: this.denormalizeRGBA(rgba),\n hsla: this.#denormalizeHSLA(hsla),\n cmyk: this.#denormalizeCMYK(cmyk),\n hex,\n };\n\n return formatColor;\n }\n\n public hexText(rgba: SkyColorpickerRgba, allowHex8: boolean): string {\n let hexText =\n '#' +\n ((1 << 24) | (rgba.red << 16) | (rgba.green << 8) | rgba.blue)\n .toString(16)\n .substring(1);\n if (\n hexText[1] === hexText[2] &&\n hexText[3] === hexText[4] &&\n hexText[5] === hexText[6] &&\n rgba.alpha === 1 &&\n !allowHex8\n ) {\n hexText = '#' + hexText[1] + hexText[3] + hexText[5];\n }\n if (allowHex8) {\n hexText += ((1 << 8) | Math.round(rgba.alpha * 255))\n .toString(16)\n .substring(1);\n }\n return hexText;\n }\n\n public denormalizeRGBA(rgba: SkyColorpickerRgba): SkyColorpickerRgba {\n const denormalizeRgba: SkyColorpickerRgba = {\n red: Math.round(rgba.red * 255),\n green: Math.round(rgba.green * 255),\n blue: Math.round(rgba.blue * 255),\n alpha: Math.round(rgba.alpha * 100) / 100,\n };\n return denormalizeRgba;\n }\n\n #hsla2hsva(hsla: SkyColorpickerHsla): SkyColorpickerHsva {\n const alpha = Math.min(hsla.alpha, 1);\n const hue = Math.min(hsla.hue, 1);\n const lightness = Math.min(hsla.lightness, 1);\n const saturation = Math.min(hsla.saturation, 1);\n const hsva: SkyColorpickerHsva = {\n hue: hue,\n saturation: saturation,\n value: lightness,\n alpha: alpha,\n };\n if (lightness === 0) {\n hsva.saturation = 0;\n hsva.value = 0;\n } else {\n hsva.value =\n lightness + (saturation * (1 - Math.abs(2 * lightness - 1))) / 2;\n hsva.saturation = (2 * (hsva.value - lightness)) / hsva.value;\n }\n return hsva;\n }\n\n #hsva2hsla(hsva: SkyColorpickerHsva): SkyColorpickerHsla {\n const alpha = hsva.alpha;\n const hue = hsva.hue;\n const saturation = hsva.saturation;\n const value = hsva.value;\n\n const hsla: SkyColorpickerHsla = {\n hue: hue,\n saturation: saturation,\n lightness: value,\n alpha: alpha,\n };\n if (value === 0) {\n hsla.lightness = 0;\n hsla.saturation = 0;\n } else {\n hsla.lightness = (value * (2 - saturation)) / 2;\n hsla.saturation =\n (value * saturation) / (1 - Math.abs(2 * hsla.lightness - 1));\n 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: { [key: string]: () => string } = {\n hsla: () => {\n const hsla = this.#denormalizeHSLA(this.#hsva2hsla(hsva));\n return `hsla(${hsla.hue},${hsla.saturation}%,${hsla.lightness}%,${hsla.alpha})`;\n },\n hex: () => {\n return this.hexText(\n this.denormalizeRGBA(this.hsvaToRgba(hsva)),\n allowHex8\n );\n },\n cmyk: () => {\n const cmyk = this.#denormalizeCMYK(\n this.#rgbaToCmyk(this.hsvaToRgba(hsva))\n );\n return `cmyk(${cmyk.cyan}%,${cmyk.magenta}%,${cmyk.yellow}%,${cmyk.key}%)`;\n },\n rgba: () => {\n const rgba = this.denormalizeRGBA(this.hsvaToRgba(hsva));\n return `rgba(${rgba.red},${rgba.green},${rgba.blue},${rgba.alpha})`;\n },\n };\n\n return color[outputFormat]();\n }\n\n #denormalizeHSLA(hsla: SkyColorpickerHsla): SkyColorpickerHsla {\n const denormalizeHsla: SkyColorpickerHsla = {\n hue: Math.round(hsla.hue * 360),\n saturation: Math.round(hsla.saturation * 100),\n lightness: Math.round(hsla.lightness * 100),\n alpha: Math.round(hsla.alpha * 100) / 100,\n };\n return denormalizeHsla;\n }\n\n #denormalizeHSVA(hsla: SkyColorpickerHsva): SkyColorpickerHsva {\n const denormalizeHsva: SkyColorpickerHsva = {\n hue: Math.round(hsla.hue * 360),\n saturation: Math.round(hsla.saturation * 100),\n value: Math.round(hsla.value * 100),\n alpha: Math.round(hsla.alpha * 100) / 100,\n };\n return denormalizeHsva;\n }\n\n #denormalizeCMYK(cmyk: SkyColorpickerCmyk): SkyColorpickerCmyk {\n const denormalizeCmyk: SkyColorpickerCmyk = {\n cyan: Math.round(cmyk.cyan * 100),\n magenta: Math.round(cmyk.magenta * 100),\n yellow: Math.round(cmyk.yellow * 100),\n key: Math.round(cmyk.key * 100),\n };\n return denormalizeCmyk;\n }\n}\n","import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n forwardRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n NgControl,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { Subscription } from 'rxjs';\n\nimport { SkyColorpickerComponent } from './colorpicker.component';\nimport { SkyColorpickerService } from './colorpicker.service';\nimport { SkyColorpickerOutput } from './types/colorpicker-output';\n\nconst SKY_COLORPICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SkyColorpickerInputDirective),\n multi: true,\n};\n\nconst SKY_COLORPICKER_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyColorpickerInputDirective),\n multi: true,\n};\n\nconst SKY_COLORPICKER_DEFAULT_COLOR = '#FFFFFF';\n\n/**\n * Creates the colorpicker element and dropdown.\n */\n@Directive({\n selector: '[skyColorpickerInput]',\n providers: [SKY_COLORPICKER_VALUE_ACCESSOR, SKY_COLORPICKER_VALIDATOR],\n})\nexport class SkyColorpickerInputDirective\n implements OnInit, OnChanges, ControlValueAccessor, Validator, OnDestroy\n{\n /**\n * Creates the colorpicker element and dropdown. Place this attribute on an `input` element\n * or `button` element, wrap the element in a `sky-colorpicker` component, and set the attribute\n * to the instance of the `sky-colorpicker` component.\n * @required\n */\n @Input()\n public skyColorpickerInput!: SkyColorpickerComponent;\n\n /**\n * 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 * 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 @HostBinding('readonly')\n protected get readonly(): boolean {\n return true;\n }\n\n @HostBinding('class.sky-colorpicker-input')\n protected get colorInputClass(): boolean {\n return true;\n }\n\n #modelValue: SkyColorpickerOutput | undefined;\n #pickerChangedSubscription: Subscription | undefined;\n #elementRef: ElementRef;\n #renderer: Renderer2;\n #svc: SkyColorpickerService;\n #resourcesSvc: SkyLibResourcesService;\n #injector: Injector;\n\n #_disabled: boolean | undefined;\n #_initialColor: string | undefined;\n\n constructor(\n elementRef: ElementRef,\n renderer: Renderer2,\n svc: SkyColorpickerService,\n resourcesSvc: SkyLibResourcesService,\n injector: Injector\n ) {\n this.#elementRef = elementRef;\n this.#renderer = renderer;\n this.#svc = svc;\n this.#resourcesSvc = resourcesSvc;\n this.#injector = injector;\n }\n\n @HostListener('input')\n public changeInput(): void {\n const value = this.#elementRef.nativeElement.value;\n this.skyColorpickerInput.updatePickerValues(value);\n this.skyColorpickerInput.backgroundColorForDisplay = value;\n }\n\n @HostListener('change')\n public onChange(): void {\n const newValue = this.#elementRef.nativeElement.value;\n const formattedValue = this.#formatter(newValue);\n this.#modelValue = formattedValue;\n this.#writeModelValue(formattedValue);\n }\n\n public ngOnInit(): void {\n const element = this.#elementRef.nativeElement;\n\n this.#renderer.addClass(element, 'sky-form-control');\n this.skyColorpickerInput.initialColor = this.initialColor;\n this.skyColorpickerInput.returnFormat = this.returnFormat;\n\n this.#pickerChangedSubscription =\n this.skyColorpickerInput.selectedColorChanged.subscribe(\n (newColor: SkyColorpickerOutput) => {\n /* istanbul ignore else */\n if (newColor) {\n this.#modelValue = this.#formatter(newColor);\n\n // Write the new value to the reactive form control, which will update the template model\n this.writeValue(newColor);\n }\n }\n );\n\n this.skyColorpickerInput.updatePickerValues(this.initialColor);\n\n /* Sanity check */\n /* istanbul ignore else */\n if (!this.#_disabled) {\n this.skyColorpickerInput.backgroundColorForDisplay = this.initialColor;\n }\n\n /// Set aria-label as default, if not set\n if (!element.getAttribute('aria-label')) {\n this.#renderer.setAttribute(\n element,\n 'aria-label',\n this.#getString('skyux_colorpicker_input_default_label')\n );\n }\n\n const typeAttr = element.getAttribute('type');\n if (typeAttr && typeAttr === 'hidden') {\n this.skyColorpickerInput.isVisible = false;\n } else {\n this.skyColorpickerInput.isVisible = true;\n }\n }\n\n public ngOnDestroy(): void {\n if (this.#pickerChangedSubscription) {\n this.#pickerChangedSubscription.unsubscribe();\n }\n }\n\n public setColorPickerDefaults(): void {\n this.skyColorpickerInput.setDialog(\n this.initialColor,\n this.outputFormat,\n this.presetColors,\n this.alphaChannel,\n this.allowTransparency\n );\n }\n\n public ngOnChanges(): void {\n this.skyColorpickerInput.returnFormat = this.returnFormat;\n this.setColorPickerDefaults();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public registerOnChange(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public registerOnTouched(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public registerOnValidatorChange(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public writeValue(value: any): void {\n if (\n this.skyColorpickerInput &&\n value &&\n value !== this.skyColorpickerInput.lastAppliedColor\n ) {\n const formattedValue = this.#formatter(value);\n\n this.#modelValue = formattedValue;\n this.#writeModelValue(formattedValue);\n\n if (!this.#_initialColor) {\n this.#_initialColor = value;\n this.skyColorpickerInput.initialColor = value;\n }\n this.skyColorpickerInput.lastAppliedColor = value;\n\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","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) => {\n this.move(event);\n };\n this.#listenerStop = () => {\n this.stop();\n };\n }\n\n @HostListener('touchstart', ['$event'])\n @HostListener('mousedown', ['$event'])\n public start(event: MouseEvent) {\n this.#setCursor(event);\n document.addEventListener('mousemove', this.#listenerMove);\n document.addEventListener('touchmove', this.#listenerMove);\n document.addEventListener('mouseup', this.#listenerStop);\n document.addEventListener('touchend', this.#listenerStop);\n }\n\n #setCursor(event: MouseEvent | TouchEvent) {\n const height = this.#el.nativeElement.offsetHeight;\n const width = this.#el.nativeElement.offsetWidth;\n const xAxis = Math.max(0, Math.min(this.getX(event), width));\n const yAxis = Math.max(0, Math.min(this.getY(event), height));\n if (this.xAxis !== undefined && this.yAxis !== undefined) {\n this.newColorContrast.emit({\n xCoordinate: xAxis / width,\n yCoordinate: 1 - yAxis / height,\n xAxis: this.xAxis,\n yAxis: this.yAxis,\n } as SkyColorpickerChangeAxis);\n } else {\n this.newColorContrast.emit({\n xCoordinate: xAxis / width,\n maxRange: this.xAxis,\n } as SkyColorpickerChangeAxis);\n }\n /* // No vertical bars\n if (this.xAxis === undefined && this.yAxis !== undefined) {\n this.newColorContrast.emit({ yCoordinate: yAxis / height, maxRange: this.yAxis });\n } */\n }\n\n public stop() {\n document.removeEventListener('mousemove', this.#listenerMove);\n document.removeEventListener('touchmove', this.#listenerMove);\n document.removeEventListener('mouseup', this.#listenerStop);\n document.removeEventListener('touchend', this.#listenerStop);\n }\n\n public move(event: MouseEvent | TouchEvent) {\n event.preventDefault();\n this.#setCursor(event);\n }\n\n public getX(event: MouseEvent | TouchEvent): number {\n /* Ignoring event.touches as tests are not run on a touch device. */\n /* istanbul ignore next */\n return (\n ('pageX' in event ? event.pageX : event.touches[0].pageX) -\n this.#el.nativeElement.getBoundingClientRect().left -\n window.pageXOffset\n );\n }\n public getY(event: MouseEvent | TouchEvent): number {\n /* Ignoring event.touches as tests are not run on a touch device. */\n /* istanbul ignore next */\n return (\n ('pageY' in event ? event.pageY : event.touches[0].pageY) -\n this.#el.nativeElement.getBoundingClientRect().top -\n window.pageYOffset\n );\n }\n}\n","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) {\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 {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EnvironmentInjector,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport {\n SkyAffixAutoFitContext,\n SkyAffixService,\n SkyAffixer,\n SkyCoreAdapterService,\n SkyOverlayInstance,\n SkyOverlayService,\n} from '@skyux/core';\nimport { SkyIconType } from '@skyux/indicators';\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SliderDimension, SliderPosition } from './colorpicker-classes';\nimport { SkyColorpickerService } from './colorpicker.service';\nimport { SkyColorpickerChangeAxis } from './types/colorpicker-axis';\nimport { SkyColorpickerChangeColor } from './types/colorpicker-color';\nimport { SkyColorpickerHsva } from './types/colorpicker-hsva';\nimport { SkyColorpickerMessage } from './types/colorpicker-message';\nimport { SkyColorpickerMessageType } from './types/colorpicker-message-type';\nimport { SkyColorpickerOutput } from './types/colorpicker-output';\nimport { SkyColorpickerResult } from './types/colorpicker-result';\nimport { SkyColorpickerRgba } from './types/colorpicker-rgba';\n\nlet componentIdIndex = 0;\n\n/**\n * 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: [SkyColorpickerService],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SkyColorpickerComponent implements OnInit, OnDestroy {\n /**\n * The name of the [Font Awesome 4.7](https://fontawesome.com/v4.7/icons/) icon to overlay on top of the picker. Do not specify the `fa fa-` classes.\n * @internal\n */\n @Input()\n public pickerButtonIcon: string | undefined;\n\n /**\n * The type of icon to display. Specifying `fa` will display a Font Awesome icon, while specifying `skyux` will display an icon from the custom SKY UX icon font. Note that the custom SKY UX icon font is currently in beta.\n * @internal\n * @deprecated\n */\n @Input()\n public pickerButtonIconType: SkyIconType = 'fa';\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 * 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 }\n\n public get backgroundColorForDisplay(): string {\n /* istanbul ignore next */\n return this.#_backgroundColorForDisplay || '#fff';\n }\n\n public set hue(change: SkyColorpickerChangeAxis) {\n if (\n this.#hsva &&\n change.xCoordinate !== undefined &&\n change.maxRange !== undefined\n ) {\n this.#hsva.hue = change.xCoordinate / change.maxRange;\n this.#update();\n }\n }\n\n public set red(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rgba.red = change.colorValue! / change.maxRange!;\n this.#hsva = this.#svc.rgbaToHsva(rgba);\n this.#update();\n }\n }\n\n public set green(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rgba.green = change.colorValue! / change.maxRange!;\n this.#hsva = this.#svc.rgbaToHsva(rgba);\n this.#update();\n }\n }\n\n public set blue(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rgba.blue = change.colorValue! / change.maxRange!;\n this.#hsva = this.#svc.rgbaToHsva(rgba);\n this.#update();\n }\n }\n\n public set alphaAxis(change: SkyColorpickerChangeAxis) {\n if (\n this.#hsva &&\n change.xCoordinate !== undefined &&\n change.maxRange !== undefined\n ) {\n this.#hsva.alpha = change.xCoordinate / change.maxRange;\n this.#update();\n }\n }\n\n public set alphaColor(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.#hsva.alpha = change.colorValue! / change.maxRange!;\n this.#update();\n }\n }\n\n public set hex(change: SkyColorpickerChangeColor) {\n this.updatePickerValues(change.color);\n }\n\n public set saturationAndLightness(value: SkyColorpickerChangeAxis) {\n if (\n this.#hsva &&\n value.xCoordinate !== undefined &&\n value.xAxis !== undefined &&\n value.yCoordinate !== undefined &&\n value.yAxis !== undefined\n ) {\n this.#hsva.saturation = value.xCoordinate / value.xAxis;\n this.#hsva.value = value.yCoordinate / value.yAxis;\n this.#update();\n }\n }\n\n public skyColorpickerAlphaId: string;\n public returnFormat: string | undefined;\n public initialColor: string | undefined;\n public lastAppliedColor: string | undefined;\n public isVisible = true;\n\n @ViewChild('colorpickerTemplateRef', {\n read: TemplateRef,\n })\n protected colorpickerTemplateRef: TemplateRef<unknown> | undefined;\n\n @ViewChild('triggerButtonRef', {\n read: ElementRef,\n })\n protected triggerButtonRef: ElementRef | undefined;\n\n @ViewChild('colorpickerRef', {\n read: ElementRef,\n })\n protected set colorpickerRef(value: ElementRef | undefined) {\n if (value) {\n this.#_colorpickerRef = value;\n this.#destroyAffixer();\n\n this.#removePickerEventListeners();\n this.#pickerUnsubscribe = new Subject<void>();\n\n // Ensure the colorpicker has fully rendered before adding the affixer. Added to address a\n // race condition when running under production conditions.\n setTimeout(() => {\n this.#createAffixer();\n this.isPickerVisible = true;\n\n this.#coreAdapter.getFocusableChildrenAndApplyFocus(\n value,\n '.sky-colorpicker',\n false\n );\n this.#changeDetector.markForCheck();\n });\n }\n }\n\n protected get colorpickerRef(): ElementRef | undefined {\n return this.#_colorpickerRef;\n }\n\n protected colorpickerId: string;\n protected isOpen = false;\n protected triggerButtonId: string;\n protected skyColorpickerHexId: string;\n protected skyColorpickerRedId: string;\n protected skyColorpickerGreenId: string;\n protected skyColorpickerBlueId: string;\n protected slider: SliderPosition;\n protected allowTransparency: boolean | undefined;\n protected alphaSliderColor: string | undefined;\n protected hexText: string | undefined;\n protected hueSliderColor: string | undefined;\n protected presetColors: string[] | undefined;\n protected rgbaText: SkyColorpickerRgba | undefined;\n protected selectedColor: SkyColorpickerOutput | undefined;\n protected iconColor: string | undefined;\n protected isPickerVisible: boolean | undefined;\n\n #idIndex: number;\n #alphaChannel: string | undefined;\n #format: number | undefined;\n #outputFormat: string | undefined;\n #hsva: SkyColorpickerHsva | undefined;\n #sliderDimMax: SliderDimension;\n #ngUnsubscribe = new Subject<void>();\n #affixer: SkyAffixer | undefined;\n #overlay: SkyOverlayInstance | undefined;\n #pickerUnsubscribe: Subject<void> | undefined;\n\n #affixSvc: SkyAffixService;\n #changeDetector: ChangeDetectorRef;\n #coreAdapter: SkyCoreAdapterService;\n readonly #environmentInjector = inject(EnvironmentInjector);\n #overlaySvc: SkyOverlayService;\n #svc: SkyColorpickerService;\n #themeSvc: SkyThemeService | undefined;\n\n #_backgroundColorForDisplay: string | undefined;\n #_colorpickerRef: ElementRef | undefined;\n #_disabled = false;\n\n constructor(\n affixSvc: SkyAffixService,\n changeDetector: ChangeDetectorRef,\n coreAdapter: SkyCoreAdapterService,\n overlaySvc: SkyOverlayService,\n svc: SkyColorpickerService,\n @Optional() themeSvc?: SkyThemeService\n ) {\n this.#affixSvc = affixSvc;\n this.#changeDetector = changeDetector;\n this.#coreAdapter = coreAdapter;\n this.#overlaySvc = overlaySvc;\n this.#svc = svc;\n this.#themeSvc = themeSvc;\n\n componentIdIndex++;\n\n this.#idIndex = componentIdIndex;\n this.skyColorpickerRedId = `sky-colorpicker-red-${this.#idIndex}`;\n this.skyColorpickerHexId = `sky-colorpicker-hex--${this.#idIndex}`;\n this.skyColorpickerRedId = `sky-colorpicker-red--${this.#idIndex}`;\n this.skyColorpickerGreenId = `sky-colorpicker-green--${this.#idIndex}`;\n this.skyColorpickerBlueId = `sky-colorpicker-blue--${this.#idIndex}`;\n this.skyColorpickerAlphaId = `sky-colorpicker-alpha--${this.#idIndex}`;\n this.colorpickerId = `sky-colorpicker--${this.#idIndex}`;\n this.triggerButtonId = `sky-colorpicker-button--${this.#idIndex}`;\n\n this.#sliderDimMax = new SliderDimension(182, 270, 170, 182);\n this.slider = new SliderPosition(0, 0, 0, 0);\n }\n\n public setDialog(\n color: string | undefined,\n outputFormat: string,\n presetColors: Array<string>,\n alphaChannel: string,\n allowTransparency: boolean\n ): void {\n this.initialColor = color;\n this.#outputFormat = outputFormat;\n this.presetColors = presetColors;\n this.#alphaChannel = alphaChannel;\n this.allowTransparency = allowTransparency;\n\n if (this.#outputFormat === 'rgba') {\n this.#format = 1;\n } else if (this.#outputFormat === 'hsla') {\n this.#format = 2;\n } else {\n this.#format = 0;\n }\n }\n\n public ngOnInit(): void {\n this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyColorpickerMessage) => {\n this.#handleIncomingMessages(message);\n });\n\n this.#addTriggerButtonEventListeners();\n\n /* istanbul ignore else */\n if (this.#themeSvc) {\n this.#themeSvc.settingsChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((themeSettings) => {\n /* istanbul ignore next */\n const themeName = themeSettings.currentSettings?.theme?.name;\n\n // Hue/alpha slider bars have different widths in Modern theme.\n /* istanbul ignore if */\n if (themeName === 'modern') {\n this.#sliderDimMax = new SliderDimension(174, 270, 170, 174);\n } else {\n this.#sliderDimMax = new SliderDimension(182, 270, 170, 182);\n }\n this.#updateSlider();\n });\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n this.#removePickerEventListeners();\n this.#destroyAffixer();\n this.#destroyOverlay();\n }\n\n public onTriggerButtonClick(): void {\n this.#sendMessage(SkyColorpickerMessageType.Open);\n }\n\n public closePicker(): void {\n this.#destroyAffixer();\n this.#destroyOverlay();\n this.#removePickerEventListeners();\n this.triggerButtonRef?.nativeElement.focus();\n this.isOpen = false;\n }\n\n public onApplyColorClick(): void {\n if (this.selectedColor) {\n this.selectedColorChanged.emit(this.selectedColor);\n this.selectedColorApplied.emit({ color: this.selectedColor });\n this.lastAppliedColor = this.selectedColor.rgbaText;\n this.updatePickerValues(this.lastAppliedColor);\n this.backgroundColorForDisplay = this.selectedColor.rgbaText;\n }\n\n this.closePicker();\n }\n\n public onCancelClick(): void {\n // Revert picker values back to previous color.\n this.updatePickerValues(this.backgroundColorForDisplay);\n this.closePicker();\n }\n\n public onPresetClick(value: string): void {\n this.updatePickerValues(value);\n }\n\n public onResetClick(): void {\n this.#sendMessage(SkyColorpickerMessageType.Reset);\n }\n\n public updatePickerValues(value: string | undefined): void {\n const hsva = this.#getHsvaValue(value);\n if (hsva) {\n this.#hsva = hsva;\n this.#update();\n }\n }\n\n #update(): void {\n if (this.#hsva) {\n const rgba: SkyColorpickerRgba = this.#svc.hsvaToRgba(this.#hsva);\n const dRgba: SkyColorpickerRgba = this.#svc.denormalizeRGBA(rgba);\n\n const hsva: SkyColorpickerHsva = {\n hue: this.#hsva.hue,\n saturation: 1,\n value: 1,\n alpha: 1,\n };\n\n const hueRgba = this.#svc.denormalizeRGBA(this.#svc.hsvaToRgba(hsva));\n\n this.rgbaText = dRgba;\n this.hexText = this.#svc.hexText(dRgba, this.#alphaChannel === 'hex8');\n\n this.alphaSliderColor = `rgba(${dRgba.red},${dRgba.green},${dRgba.blue},${dRgba.alpha})`;\n this.hueSliderColor = `rgba(${hueRgba.red},${hueRgba.green},${hueRgba.blue},${rgba.alpha})`;\n\n if (\n this.#format === 0 &&\n this.#hsva.alpha < 1 &&\n this.#alphaChannel === 'hex6'\n ) {\n this.#format++;\n }\n\n this.selectedColor = this.#svc.skyColorpickerOut(this.#hsva);\n\n this.#updateSlider();\n }\n }\n\n #updateSlider(): void {\n if (this.#hsva && this.#sliderDimMax) {\n this.slider = new SliderPosition(\n this.#hsva.hue * this.#sliderDimMax.hue - 8,\n this.#hsva.saturation * this.#sliderDimMax.saturation - 8,\n (1 - this.#hsva.value) * this.#sliderDimMax.value - 8,\n this.#hsva.alpha * this.#sliderDimMax.alpha - 8\n );\n }\n }\n\n #openPicker(): void {\n this.isPickerVisible = false;\n this.#removePickerEventListeners();\n this.#destroyOverlay();\n this.#createOverlay();\n this.isOpen = true;\n }\n\n #sendMessage(type: SkyColorpickerMessageType) {\n this.messageStream.next({ type });\n }\n\n #handleIncomingMessages(message: SkyColorpickerMessage) {\n switch (message.type) {\n case SkyColorpickerMessageType.Open:\n if (!this.isOpen) {\n this.#openPicker();\n }\n break;\n\n case SkyColorpickerMessageType.Close:\n if (this.isOpen) {\n this.closePicker();\n }\n break;\n\n case SkyColorpickerMessageType.Reset:\n this.updatePickerValues(this.initialColor);\n this.backgroundColorForDisplay = this.initialColor;\n this.selectedColorChanged.emit(this.selectedColor);\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.selectedColorApplied.emit({ color: this.selectedColor! });\n break;\n\n case SkyColorpickerMessageType.ToggleResetButton:\n this.showResetButton = !this.showResetButton;\n break;\n }\n }\n\n #createAffixer(): void {\n if (\n this.colorpickerRef &&\n this.triggerButtonRef &&\n this.#pickerUnsubscribe\n ) {\n const affixer = this.#affixSvc.createAffixer(this.colorpickerRef);\n\n affixer.placementChange\n .pipe(takeUntil(this.#pickerUnsubscribe))\n .subscribe((change) => {\n this.isPickerVisible = change.placement !== null;\n });\n\n affixer.affixTo(this.triggerButtonRef.nativeElement, {\n autoFitContext: SkyAffixAutoFitContext.Viewport,\n enableAutoFit: true,\n horizontalAlignment: 'left',\n isSticky: true,\n placement: 'below',\n });\n\n this.#affixer = affixer;\n }\n }\n\n #destroyAffixer(): void {\n /*istanbul ignore else*/\n if (this.#affixer) {\n this.#affixer.destroy();\n this.#affixer = undefined;\n }\n }\n\n #createOverlay(): void {\n if (this.colorpickerTemplateRef) {\n const overlay = this.#overlaySvc.create({\n enableClose: false,\n enablePointerEvents: false,\n enableScroll: true,\n environmentInjector: this.#environmentInjector,\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","<div\n class=\"sky-input-group\"\n [ngClass]=\"{\n 'sky-colorpicker-hidden': !isVisible,\n 'sky-colorpicker-disabled': disabled\n }\"\n>\n <div [hidden]=\"true\">\n <ng-content />\n </div>\n\n <button\n aria-haspopup=\"dialog\"\n class=\"sky-colorpicker-button\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? colorpickerId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-label]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-button-disabled': disabled\n }\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-sm': 'modern'\n }\"\n [style.background-color]=\"backgroundColorForDisplay\"\n (click)=\"onTriggerButtonClick()\"\n #triggerButtonRef\n >\n <sky-icon\n *ngIf=\"pickerButtonIcon\"\n class=\"sky-colorpicker-button-icon\"\n [icon]=\"pickerButtonIcon\"\n [iconType]=\"pickerButtonIconType\"\n [size]=\"'1x'\"\n [style.color]=\"iconColor\"\n />\n <ng-container *skyThemeIf=\"'modern'\">\n <sky-icon\n class=\"sky-colorpicker-button-modern-chevron\"\n icon=\"chevron-down\"\n size=\"xs\"\n [ngClass]=\"{\n 'sky-colorpicker-button-modern-chevron-disabled': disabled\n }\"\n />\n </ng-container>\n </button>\n\n <ng-template #colorpickerTemplateRef>\n <div\n class=\"sky-colorpicker-container\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"colorpickerId\"\n [hidden]=\"!isPickerVisible\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n #colorpickerRef\n >\n <div class=\"sky-colorpicker\">\n <div\n class=\"saturation-lightness\"\n [color]=\"slider.saturation - slider.value + ''\"\n [skyColorpickerSlider]\n [style.background-color]=\"hueSliderColor\"\n [xAxis]=\"1\"\n [yAxis]=\"1\"\n (newColorContrast)=\"saturationAndLightness = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.saturation\"\n [style.top.px]=\"slider.value\"\n ></div>\n </div>\n\n <div class=\"box\">\n <div class=\"left\">\n <div class=\"selected-color-background sky-rounded-circle\"></div>\n <div\n class=\"selected-color sky-rounded-circle\"\n [style.background-color]=\"selectedColor?.rgbaText\"\n ></div>\n </div>\n <div class=\"right\">\n <div\n class=\"hue\"\n [skyColorpickerSlider]\n [xAxis]=\"1\"\n (newColorContrast)=\"hue = $event\"\n #hueSlider\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.hue\"\n ></div>\n </div>\n <div\n *ngIf=\"this.allowTransparency\"\n class=\"alpha\"\n [skyColorpickerSlider]\n [style.background-color]=\"alphaSliderColor\"\n [xAxis]=\"1\"\n (newColorContrast)=\"alphaAxis = $event\"\n #alphaSlider\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.alpha\"\n ></div>\n </div>\n </div>\n </div>\n\n <div class=\"rgba-text\">\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_hex' | skyLibResources\"\n [attr.for]=\"skyColorpickerHexId\"\n >\n {{ 'skyux_colorpicker_hex' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n pattern=\"^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$\"\n [attr.id]=\"skyColorpickerHexId\"\n [skyColorpickerText]\n [value]=\"hexText\"\n (newColorContrast)=\"hex = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_red' | skyLibResources\"\n [attr.for]=\"skyColorpickerRedId\"\n >\n {{ 'skyux_colorpicker_red' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerRedId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.red\"\n (newColorContrast)=\"red = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_green' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerGreenId\"\n >\n {{ 'skyux_colorpicker_green' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerGreenId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.green\"\n (newColorContrast)=\"green = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_blue' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerBlueId\"\n >\n {{ 'skyux_colorpicker_blue' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerBlueId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.blue\"\n (newColorContrast)=\"blue = $event\"\n />\n </sky-input-box>\n <sky-input-box *ngIf=\"this.allowTransparency\">\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_alpha' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerAlphaId\"\n >\n {{ 'skyux_colorpicker_alpha' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"1\"\n min=\"0\"\n pattern=\"[0-9]+([\\.,][0-9]{1,2})?\"\n step=\"0.1\"\n type=\"number\"\n [attr.id]=\"skyColorpickerAlphaId\"\n [maxRange]=\"1\"\n [skyColorpickerText]\n [value]=\"rgbaText?.alpha\"\n (newColorContrast)=\"alphaColor = $event\"\n />\n </sky-input-box>\n </div>\n <div\n *ngIf=\"presetColors && presetColors.length\"\n class=\"sky-colorpicker-preset-color-area\"\n >\n <button\n *ngFor=\"let color of presetColors | slice : 0 : 12; let i = index\"\n type=\"button\"\n [attr.aria-label]=\"\n ('skyux_colorpicker_preset_color' | skyLibResources) + ' ' + color\n \"\n [skyThemeClass]=\"{\n 'sky-preset-color': 'default',\n 'sky-btn sky-btn-link': 'modern'\n }\"\n [style.backgroundColor]=\"color\"\n (click)=\"onPresetClick(color)\"\n ></button>\n </div>\n </div>\n\n <div\n class=\"sky-colorpicker-footer\"\n [skyThemeClass]=\"{\n 'sky-padding-even-large': 'default'\n }\"\n >\n <section class=\"sky-colorpicker-column\">\n <button\n class=\"sky-btn sky-btn-primary sky-btn-colorpicker-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_apply' | skyLibResources\"\n [skyThemeClass]=\"{ 'sky-margin-inline-sm': 'modern' }\"\n (click)=\"onApplyColorClick()\"\n >\n {{ 'skyux_colorpicker_apply' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-btn-colorpicker-close\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_close' | skyLibResources\"\n (click)=\"onCancelClick()\"\n >\n {{ 'skyux_colorpicker_close' | skyLibResources }}\n </button>\n </section>\n </div>\n </div>\n </ng-template>\n <span\n *ngIf=\"allowTransparency\"\n aria-hidden=\"true\"\n class=\"sky-colorpicker-checkered-background\"\n >\n </span>\n\n <button\n *ngIf=\"showResetButton\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_reset' | skyLibResources\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-reset-button-disabled': disabled\n }\"\n [skyThemeClass]=\"{\n 'sky-colorpicker-reset-button': 'default',\n 'sky-btn sky-btn-icon-borderless sky-colorpicker-reset-button-modern':\n 'modern'\n }\"\n (click)=\"onResetClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"times\" size=\"sm\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"trash\" size=\"lg\" />\n </button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyAffixModule } from '@skyux/core';\nimport { SkyInputBoxModule } from '@skyux/forms';\nimport { SkyIconModule } from '@skyux/indicators';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyColorpickerResourcesModule } from '../shared/sky-colorpicker-resources.module';\n\nimport { SkyColorpickerInputDirective } from './colorpicker-input.directive';\nimport { SkyColorpickerSliderDirective } from './colorpicker-slider.directive';\nimport { SkyColorpickerTextDirective } from './colorpicker-text.directive';\nimport { SkyColorpickerComponent } from './colorpicker.component';\n\n@NgModule({\n declarations: [\n SkyColorpickerComponent,\n SkyColorpickerInputDirective,\n SkyColorpickerTextDirective,\n SkyColorpickerSliderDirective,\n ],\n imports: [\n CommonModule,\n SkyAffixModule,\n SkyColorpickerResourcesModule,\n SkyIconModule,\n SkyInputBoxModule,\n SkyThemeModule,\n ],\n exports: [SkyColorpickerComponent, SkyColorpickerInputDirective],\n})\nexport class SkyColorpickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.SkyColorpickerService","i2.SkyColorpickerService","i7.SkyColorpickerTextDirective","i8.SkyColorpickerSliderDirective","i9"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/colorpicker",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.4.0",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blackbaud",
|
|
@@ -40,12 +40,12 @@
|
|
|
40
40
|
"@angular/core": "^16.2.5",
|
|
41
41
|
"@angular/forms": "^16.2.5",
|
|
42
42
|
"@angular/platform-browser": "^16.2.5",
|
|
43
|
-
"@skyux-sdk/testing": "9.
|
|
44
|
-
"@skyux/core": "9.
|
|
45
|
-
"@skyux/forms": "9.
|
|
46
|
-
"@skyux/i18n": "9.
|
|
47
|
-
"@skyux/indicators": "9.
|
|
48
|
-
"@skyux/theme": "9.
|
|
43
|
+
"@skyux-sdk/testing": "9.4.0",
|
|
44
|
+
"@skyux/core": "9.4.0",
|
|
45
|
+
"@skyux/forms": "9.4.0",
|
|
46
|
+
"@skyux/i18n": "9.4.0",
|
|
47
|
+
"@skyux/indicators": "9.4.0",
|
|
48
|
+
"@skyux/theme": "9.4.0"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"tslib": "^2.6.2"
|