@skyux/colorpicker 12.28.1 → 12.30.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.
|
@@ -1457,7 +1457,7 @@ class SkyColorpickerComponent {
|
|
|
1457
1457
|
SkyColorpickerInputService,
|
|
1458
1458
|
SkyColorpickerService,
|
|
1459
1459
|
{ provide: SKY_FORM_ERRORS_ENABLED, useValue: true },
|
|
1460
|
-
], queries: [{ propertyName: "formControl", first: true, predicate: FormControlDirective, descendants: true }, { propertyName: "formControlByName", first: true, predicate: FormControlName, descendants: true }, { propertyName: "ngModel", first: true, predicate: NgModel, descendants: true }, { propertyName: "requiredState", first: true, predicate: SkyRequiredStateDirective, descendants: true }], viewQueries: [{ propertyName: "colorpickerTemplateRef", first: true, predicate: ["colorpickerTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "triggerButtonRef", first: true, predicate: ["triggerButtonRef"], descendants: true, read: ElementRef }, { propertyName: "colorpickerRef", first: true, predicate: ["colorpickerRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<span class=\"sky-color-picker-label-wrapper\">\n @if (labelText) {\n <label\n class=\"sky-control-label\"\n [ngClass]=\"{\n 'sky-screen-reader-only': labelHidden,\n 'sky-control-label-required': requiredState?.isRequired()\n }\"\n [for]=\"inputId\"\n >{{ labelText }}</label\n >\n @if ((helpPopoverContent || helpKey) && !labelHidden) {\n <span class=\"sky-control-help-container\">\n <sky-help-inline\n [helpKey]=\"helpKey\"\n [labelText]=\"labelText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n </span>\n }\n }\n</span>\n\n<div\n class=\"sky-colorpicker-input-group sky-input-group\"\n [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 #triggerButtonRef\n aria-haspopup=\"dialog\"\n class=\"sky-colorpicker-button\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? colorpickerId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n [attr.aria-label]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-button-disabled': disabled,\n 'sky-colorpicker-error':\n (ngControl?.touched || ngControl?.dirty) && ngControl?.errors\n }\"\n [style.background-color]=\"backgroundColorForDisplay\"\n (click)=\"onTriggerButtonClick()\"\n >\n @if (pickerButtonIcon) {\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-colorpicker-button-icon\"\n variant=\"solid\"\n iconSize=\"s\"\n [iconName]=\"pickerButtonIcon\"\n [style.color]=\"iconColor\"\n />\n <sky-icon\n *skyThemeIf=\"'modern'\"\n class=\"sky-colorpicker-button-icon\"\n variant=\"solid\"\n [iconName]=\"pickerButtonIcon\"\n [style.color]=\"iconColor\"\n />\n }\n <ng-container *skyThemeIf=\"'modern'\">\n <sky-icon\n class=\"sky-colorpicker-button-modern-chevron\"\n iconName=\"chevron-down\"\n iconSize=\"xxs\"\n [ngClass]=\"{\n 'sky-colorpicker-button-modern-chevron-disabled': disabled\n }\"\n />\n </ng-container>\n </button>\n\n <ng-template #colorpickerTemplateRef>\n <div\n #colorpickerRef\n class=\"sky-colorpicker-container\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"colorpickerId\"\n [hidden]=\"!isPickerVisible\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n [cdkTrapFocus]=\"true\"\n [cdkTrapFocusAutoCapture]=\"false\"\n >\n <div class=\"sky-colorpicker\">\n <div\n class=\"saturation-lightness\"\n [color]=\"slider.saturation - slider.value + ''\"\n [skyColorpickerSlider]\n [style.background-color]=\"hueSliderColor\"\n [xAxis]=\"1\"\n [yAxis]=\"1\"\n (newColorContrast)=\"saturationAndLightness = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.saturation\"\n [style.top.px]=\"slider.value\"\n ></div>\n </div>\n\n <div class=\"box\">\n <div class=\"left\">\n <div class=\"selected-color-background sky-rounded-circle\"></div>\n <div\n class=\"selected-color sky-rounded-circle\"\n [style.background-color]=\"selectedColor?.rgbaText\"\n ></div>\n </div>\n <div class=\"right\">\n <div\n #hueSlider\n class=\"hue\"\n [skyColorpickerSlider]\n [xAxis]=\"1\"\n (newColorContrast)=\"hue = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.hue\"\n ></div>\n </div>\n @if (allowTransparency) {\n <div\n #alphaSlider\n class=\"alpha\"\n [skyColorpickerSlider]\n [style.background-color]=\"alphaSliderColor\"\n [xAxis]=\"1\"\n (newColorContrast)=\"alphaAxis = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.alpha\"\n ></div>\n </div>\n }\n </div>\n </div>\n\n <div\n class=\"rgba-text\"\n (keydown.enter)=\"onContainerEnterKeyDown($event)\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_hex' | skyLibResources\"\n [attr.for]=\"skyColorpickerHexId\"\n >\n {{ 'skyux_colorpicker_hex' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n pattern=\"^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$\"\n [attr.id]=\"skyColorpickerHexId\"\n [skyColorpickerText]\n [value]=\"hexText\"\n (newColorContrast)=\"hex = $event\"\n />\n </sky-input-box>\n\n <fieldset\n [attr.aria-label]=\"'skyux_colorpicker_aria_rgba' | skyLibResources\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_red' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerRedId\"\n >\n {{ 'skyux_colorpicker_red' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerRedId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.red\"\n (newColorContrast)=\"red = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_green' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerGreenId\"\n >\n {{ 'skyux_colorpicker_green' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerGreenId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.green\"\n (newColorContrast)=\"green = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_blue' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerBlueId\"\n >\n {{ 'skyux_colorpicker_blue' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerBlueId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.blue\"\n (newColorContrast)=\"blue = $event\"\n />\n </sky-input-box>\n @if (allowTransparency) {\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_alpha' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerAlphaId\"\n >\n {{ 'skyux_colorpicker_alpha' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"1\"\n min=\"0\"\n pattern=\"[0-9]+([\\.,][0-9]{1,2})?\"\n step=\"0.1\"\n type=\"number\"\n [attr.id]=\"skyColorpickerAlphaId\"\n [maxRange]=\"1\"\n [skyColorpickerText]\n [value]=\"rgbaText?.alpha\"\n (newColorContrast)=\"alphaColor = $event\"\n />\n </sky-input-box>\n }\n </fieldset>\n </div>\n @if (presetColors && presetColors.length) {\n <div class=\"sky-colorpicker-preset-color-area\">\n @for (\n color of presetColors | slice: 0 : 12;\n track color;\n let i = $index\n ) {\n <button\n class=\"sky-preset-color\"\n type=\"button\"\n [attr.aria-label]=\"\n ('skyux_colorpicker_preset_color' | skyLibResources) +\n ' ' +\n color\n \"\n [skyThemeClass]=\"{\n 'sky-btn sky-btn-link': 'modern'\n }\"\n [style.backgroundColor]=\"color\"\n (click)=\"onPresetClick(color)\"\n ></button>\n }\n </div>\n }\n </div>\n\n <div class=\"sky-colorpicker-footer\">\n <section class=\"sky-colorpicker-column\">\n <button\n class=\"sky-btn sky-btn-primary sky-btn-colorpicker-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_apply' | skyLibResources\"\n (click)=\"onApplyColorClick()\"\n >\n {{ 'skyux_colorpicker_apply' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-btn-colorpicker-close\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_close' | skyLibResources\"\n (click)=\"onCancelClick()\"\n >\n {{ 'skyux_colorpicker_close' | skyLibResources }}\n </button>\n </section>\n </div>\n </div>\n </ng-template>\n @if (allowTransparency) {\n <span aria-hidden=\"true\" class=\"sky-colorpicker-checkered-background\">\n </span>\n }\n\n @if (showResetButton) {\n <button\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_reset' | skyLibResources\"\n [disabled]=\"disabled\"\n [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'\" iconName=\"close\" iconSize=\"s\" />\n <sky-icon *skyThemeIf=\"'modern'\" iconName=\"delete\" />\n </button>\n }\n</div>\n\n<div #hintTextEl=\"skyId\" skyId>\n @if (hintText) {\n <div\n class=\"sky-colorpicker-hint-text\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'default',\n 'sky-font-hint-text-s': 'modern'\n }\"\n >\n {{ hintText }}\n </div>\n }\n</div>\n\n<sky-form-errors\n [id]=\"errorId\"\n [errors]=\"ngControl?.errors\"\n [labelText]=\"labelText\"\n [touched]=\"ngControl?.touched\"\n [dirty]=\"ngControl?.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n", styles: [".sky-color-picker-label-wrapper:not(.sky-theme-modern *){--sky-override-colorpicker-label-color: var(--sky-text-color-default);--sky-override-colorpicker-label-space: 5px;--sky-override-colorpicker-label-font-size: 15px;--sky-override-colorpicker-label-font-weight: 400;--sky-override-colorpicker-label-line-height: normal}.sky-colorpicker-hint-text:not(.sky-theme-modern *){--sky-override-colorpicker-hint-text-space: var(--sky-margin-stacked-xs)}.sky-colorpicker-input-group:not(.sky-theme-modern *){--sky-override-colorpicker-button-background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%3Cdefs%3E%3Cpath%20id%3D%22a%22%20d%3D%22M0%200h30v30H0V0zm14.5%204H4v22h14v-8h8V4H14.5z%22%2F%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cuse%20fill%3D%22%23FFF%22%20xlink%3Ahref%3D%22%23a%22%2F%3E%3Cpath%20stroke%3D%22%23CCC%22%20d%3D%22M.5.5v29h29V.5H.5zm18%2018v8h-15v-23h23v15h-8z%22%2F%3E%3Cpath%20fill%3D%22%23292A2B%22%20d%3D%22M23.5%2025L21%2022h5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);--sky-override-colorpicker-button-border-radius: 0;--sky-override-colorpicker-button-box-shadow: none;--sky-override-colorpicker-button-box-shadow-focus: none;--sky-override-colorpicker-button-error-border: 1px solid var(--sky-highlight-color-danger);--sky-override-colorpicker-button-error-box-shadow: 0 0 8px rgba(239, 64, 68, .6);--sky-override-colorpicker-button-focus-outline: -webkit-focus-ring-color auto 5px;--sky-override-colorpicker-button-size: 30px;--sky-override-colorpicker-disabled-cursor: default;--sky-override-colorpicker-disabled-opacity: .65;--sky-override-colorpicker-icon-font-size: 12px}.sky-colorpicker-container:not(.sky-theme-modern *){--sky-override-colorpicker-alpha-margin-top: 16px;--sky-override-colorpicker-background-color: #fff;--sky-override-colorpicker-bottom-radius: 0;--sky-override-colorpicker-box-padding: 4px 8px;--sky-override-colorpicker-current-color-padding: 16px 8px;--sky-override-colorpicker-current-controls-padding: 12px 8px;--sky-override-colorpicker-footer-border-top: 1px solid #e2e3e4;--sky-override-colorpicker-footer-button-spacing: 0;--sky-override-colorpicker-footer-padding: 15px;--sky-override-colorpicker-hue-alpha-height: 16px;--sky-override-colorpicker-input-font-size: 14px;--sky-override-colorpicker-input-height: 26px;--sky-override-colorpicker-input-label-margin: 0 0 8px 0;--sky-override-colorpicker-input-padding: 1px;--sky-override-colorpicker-input-text-align: center;--sky-override-colorpicker-rgba-padding: 7px 15px 15px;--sky-override-colorpicker-rgba-space-between: 8px;--sky-override-colorpicker-selected-color-left: 8px;--sky-override-colorpicker-selected-color-size: 40px;--sky-override-colorpicker-selected-color-top: 16px;--sky-override-colorpicker-selector-size: 17px;--sky-override-colorpicker-swatch-area-padding: 0 9px 15px 9px;--sky-override-colorpicker-swatch-border-radius: 0;--sky-override-colorpicker-swatch-border: 1px solid #e2e3e4;--sky-override-colorpicker-swatch-hover-border: #ffffff solid 2px;--sky-override-colorpicker-swatch-hover-box-shadow: 0 0 0 1px #cdcfd2, 0 0 0 2px #e2e3e4;--sky-override-colorpicker-swatch-hover-margin: 4px;--sky-override-colorpicker-swatch-margin: 5px;--sky-override-colorpicker-swatch-size-hover: 34px;--sky-override-colorpicker-swatch-size: 32px;--sky-override-colorpicker-width: 270px;--sky-override-colorpicker-rgba-font-size: 18px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-color-picker-label-wrapper{--sky-override-colorpicker-label-color: var(--sky-text-color-deemphasized);--sky-override-colorpicker-label-font-size: 16px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-colorpicker-input-group{--sky-override-colorpicker-button-border-color: var(--modern-color-gray-15);--sky-override-colorpicker-button-box-shadow-focus: inset 0 0 0 var(--sky-border-width-input-focus) var(--sky-color-border-input-focus), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-container-base), inset 0 0 0 var(--sky-color-picker-inner-border-size) var( --sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base) ), var(--sky-elevation-focus);--sky-override-colorpicker-button-size: 40px;--sky-override-colorpicker-reset-button-size: 40px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-colorpicker-container{--sky-override-colorpicker-box-padding: 15px 30px;--sky-override-colorpicker-footer-padding: 10px 10px 15px;--sky-override-colorpicker-rgba-padding: 0 10px 10px;--sky-override-colorpicker-selected-color-size: 46px;--sky-override-colorpicker-swatch-area-padding: 10px 10px 15px;--sky-override-colorpicker-swatch-border-radius: 4px;--sky-override-colorpicker-swatch-size-hover: 46px;--sky-override-colorpicker-swatch-size: 46px;--sky-override-colorpicker-width: 310px}sky-colorpicker.sky-form-field-stacked{display:block}.sky-colorpicker-container{position:fixed;max-height:100vh;overflow-y:auto;overflow-x:hidden;background-color:var(--sky-override-colorpicker-background-color, var(--sky-color-background-container-menu));border-radius:0 0 var(--sky-border-radius-s) var(--sky-border-radius-s)}.sky-colorpicker-button{--sky-colorpicker-border-padding-size: calc( var(--sky-border-width-input-base) + calc(var(--sky-border-width-input-base) * 2) );--sky-color-picker-inner-border-size: calc( var(--sky-colorpicker-border-padding-size) + var(--sky-border-width-input-base) );height:var(--sky-override-colorpicker-button-size, calc(var(--sky-font-line_height-body-m) * var(--sky-font-size-body-m) + var(--sky-comp-button-icon-space-inset-top) + var(--sky-comp-button-icon-space-inset-bottom)));width:var(--sky-override-colorpicker-button-size, calc(var(--sky-font-line_height-body-m) * var(--sky-font-size-body-m) + var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)));border:none;border-radius:var(--sky-override-colorpicker-button-border-radius, var(--sky-border-radius-s));box-shadow:var(--sky-override-colorpicker-button-box-shadow, inset 0 0 0 var(--sky-border-width-input-base) var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base)), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-container-base), inset 0 0 0 var(--sky-color-picker-inner-border-size) var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base)));cursor:pointer;position:relative;z-index:1}.sky-colorpicker-button:hover{box-shadow:var(--sky-override-colorpicker-button-box-shadow, inset 0 0 0 var(--sky-border-width-input-hover) var(--sky-color-border-input-hover), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-container-base), inset 0 0 0 var(--sky-color-picker-inner-border-size) var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base)))}.sky-colorpicker-button:focus-visible:not(:active){box-shadow:var(--sky-override-colorpicker-button-box-shadow-focus, inset 0 0 0 var(--sky-border-width-input-focus) var(--sky-color-border-input-focus), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-container-base), inset 0 0 0 var(--sky-color-picker-inner-border-size) var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base)));outline:var(--sky-override-colorpicker-button-focus-outline)}.sky-colorpicker-button.sky-colorpicker-button-disabled{cursor:var(--sky-override-colorpicker-disabled-cursor, not-allowed);box-shadow:var(--sky-override-colorpicker-button-box-shadow, inset 0 0 0 var(--sky-border-width-input-disabled) var(--sky-color-border-action-secondary-disabled), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-input-disabled), inset 0 0 0 var(--sky-color-picker-inner-border-size) var(--sky-color-border-action-secondary-disabled))}.sky-colorpicker-disabled{opacity:var(--sky-override-colorpicker-disabled-opacity);cursor:default}.sky-colorpicker-button,.sky-colorpicker-button:active{background-image:var(--sky-override-colorpicker-button-background-image)}.sky-colorpicker-hidden{width:0px;height:0px;overflow:hidden}.sky-colorpicker-hint-text{margin-top:var(--sky-override-colorpicker-hint-text-space, var(--sky-space-gap-stacked_supplemental-s))}.sky-colorpicker-error{background-origin:border-box;box-shadow:var(--sky-override-colorpicker-button-error-box-shadow, inset 0 0 0 var(--sky-border-width-input-error) var(--sky-color-border-input-error), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-container-base), inset 0 0 0 calc(var(--sky-colorpicker-border-padding-size) + var(--sky-border-width-action-base)) var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base)));border:var(--sky-override-colorpicker-button-error-border);outline:none}.sky-colorpicker-reset-button{background-color:#fff;margin-left:5px;border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px #cdcfd2;width:30px;height:30px;cursor:pointer;color:#686c73}.sky-colorpicker-reset-button:hover{color:#383a3d}.sky-colorpicker-reset-button.sky-colorpicker-reset-button-disabled{color:#686c73;cursor:default}.sky-colorpicker-input-group{position:relative;z-index:0}.sky-colorpicker-input-group .sky-colorpicker-reset-button-modern{width:var(--sky-override-colorpicker-reset-button-size);height:var(--sky-override-colorpicker-reset-button-size);margin-left:var(--sky-space-gap-action_group-m)}.sky-colorpicker-input-group .sky-colorpicker-reset-button-modern.sky-colorpicker-reset-button-disabled{background-color:var(--sky-color-background-action-tertiary-disabled)}.sky-colorpicker-input-group .sky-colorpicker-button-modern-chevron{position:absolute;background-color:var(--sky-color-background-container-base);border-top-left-radius:calc(var(--sky-border-radius-s) - var(--sky-colorpicker-border-padding-size));border-bottom-right-radius:calc(var(--sky-border-radius-s) - var(--sky-colorpicker-border-padding-size));border-left:var(--sky-border-width-input-base) solid var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base));border-top:var(--sky-border-width-input-base) solid var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base));bottom:var(--sky-colorpicker-border-padding-size);color:var(--sky-color-icon-default);right:var(--sky-colorpicker-border-padding-size)}.sky-colorpicker-input-group .sky-colorpicker-button-modern-chevron.sky-colorpicker-button-modern-chevron-disabled{color:var(--sky-color-text-deemphasized)}.sky-colorpicker-footer{border-top:var(--sky-override-colorpicker-footer-border-top, none);padding:var(--sky-override-colorpicker-footer-padding, var(--sky-comp-colorpicker-content-space-inset-top) var(--sky-comp-colorpicker-content-space-inset-right) var(--sky-comp-colorpicker-content-space-inset-bottom) var(--sky-comp-colorpicker-content-space-inset-left))}.sky-colorpicker-footer .sky-btn-colorpicker-apply{margin-right:var(--sky-override-colorpicker-footer-button-spacing, var(--sky-space-gap-action_group-m))}.sky-colorpicker *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0}.sky-colorpicker{cursor:default;width:var(--sky-override-colorpicker-width, calc(var(--sky-size-width-viewport-smallest) - (var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right))));height:auto;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sky-colorpicker i{cursor:default;position:relative}.sky-colorpicker input{text-align:var(--sky-override-colorpicker-input-text-align);font-size:var(--sky-override-colorpicker-input-font-size);height:var(--sky-override-colorpicker-input-height)}.sky-colorpicker input:invalid{box-shadow:none}.sky-colorpicker input:-moz-submit-invalid{box-shadow:none}.sky-colorpicker input:-moz-ui-invalid{box-shadow:none}.sky-colorpicker input::-webkit-inner-spin-button,.sky-colorpicker input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sky-colorpicker input[type=number].sky-form-control{-moz-appearance:textfield!important}.sky-colorpicker .sky-colorpicker-preset-color-area{padding:var(--sky-override-colorpicker-swatch-area-padding, var(--sky-comp-colorpicker-content-space-inset-top) var(--sky-comp-colorpicker-content-space-inset-right) var(--sky-comp-colorpicker-content-space-inset-bottom) var(--sky-comp-colorpicker-content-space-inset-left));display:flex;flex-direction:row;flex-wrap:wrap}.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color{cursor:pointer;width:var(--sky-override-colorpicker-swatch-size, calc((var(--sky-size-width-viewport-smallest) - (var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)) - (var(--sky-comp-colorpicker-content-space-inset-left) + var(--sky-comp-colorpicker-content-space-inset-right)) - var(--sky-space-gap-form-m) * 4) / 5));height:var(--sky-override-colorpicker-swatch-size, calc((var(--sky-size-width-viewport-smallest) - (var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)) - (var(--sky-comp-colorpicker-content-space-inset-left) + var(--sky-comp-colorpicker-content-space-inset-right)) - var(--sky-space-gap-form-m) * 4) / 5));border-radius:var(--sky-override-colorpicker-swatch-border-radius, var(--sky-border-radius-s));margin:var(--sky-override-colorpicker-swatch-margin, 0 var(--sky-space-gap-form-m) var(--sky-space-gap-form-m) 0)}.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color:not(:active),.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color:not(:hover),.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color:not(:focus){border:var(--sky-override-colorpicker-swatch-border, var(--sky-border-width-input-base) solid var(--sky-color-border-input-base))}.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color:hover{cursor:pointer;border:var(--sky-override-colorpicker-swatch-hover-border, var(--sky-border-width-input-base) solid var(--sky-color-border-input-base));margin:var(--sky-override-colorpicker-swatch-hover-margin, 0 var(--sky-space-gap-form-m) var(--sky-space-gap-form-m) 0);width:var(--sky-override-colorpicker-swatch-size-hover, calc((var(--sky-size-width-viewport-smallest) - (var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)) - (var(--sky-comp-colorpicker-content-space-inset-left) + var(--sky-comp-colorpicker-content-space-inset-right)) - var(--sky-space-gap-form-m) * 4) / 5));height:var(--sky-override-colorpicker-swatch-size-hover, calc((var(--sky-size-width-viewport-smallest) - (var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)) - (var(--sky-comp-colorpicker-content-space-inset-left) + var(--sky-comp-colorpicker-content-space-inset-right)) - var(--sky-space-gap-form-m) * 4) / 5));box-shadow:var(--sky-override-colorpicker-swatch-hover-box-shadow, inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-tertiary-hover))}.sky-colorpicker div.cursor{cursor:default;position:relative;width:var(--sky-override-colorpicker-selector-size, calc(var(--sky-font-size-body-m) + 1px));height:var(--sky-override-colorpicker-selector-size, calc(var(--sky-font-size-body-m) + 1px));border:#ffffff solid 2px;outline:thin solid}.sky-colorpicker .saturation-lightness{cursor:pointer;width:100%;height:170px;border:none;background-size:100% 100%;background-image:url(https://sky.blackbaudcdn.net/static/skyux-public-assets/1.0.0-beta.4/assets/images/colorpicker/saturation-lightness.webp)}.sky-colorpicker .box{display:flex;padding:var(--sky-override-colorpicker-box-padding, var(--sky-comp-colorpicker-content-space-inset-top) var(--sky-comp-colorpicker-content-space-inset-right) var(--sky-comp-colorpicker-content-space-inset-bottom) var(--sky-comp-colorpicker-content-space-inset-left))}.sky-colorpicker .box .left{position:relative;padding:var(--sky-override-colorpicker-current-color-padding, 0 var(--sky-space-gap-form-xl) 0 0)}.sky-colorpicker .box .right{flex:1 1 auto;padding:var(--sky-override-colorpicker-current-controls-padding);display:flex;flex-direction:column;justify-content:center}.sky-colorpicker .hue{cursor:pointer;width:100%;height:var(--sky-override-colorpicker-hue-alpha-height, var(--sky-font-size-body-m));border:none;background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC)}.sky-colorpicker .alpha{cursor:pointer;width:100%;height:var(--sky-override-colorpicker-hue-alpha-height, var(--sky-font-size-body-m));border:none;margin-top:var(--sky-override-colorpicker-alpha-margin-top, var(--sky-space-gap-form-s));background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwYQlZMa3gAAAWVJREFUaN7tmEGO6jAQRCsOArHgBpyAJYGjcGocxAm4A2IHpmoWE0eBH+ezmFlNvU06shJ3W6VEelWMUQAIIF9f6qZpimsA1LYtS2uF51/u27YVAFZVRUkEoGHdPV/sIcbIEIIkUdI/9Xa7neyv61+SWFUVAVCSct00TWn2fv6u3+Ecfd3tXzy/0+nEUu+SPjo/kqzrmiQpScN6v98XewfA8/lMkiLJ2WxGSUopcT6fM6U0NX9/frfbjev1WtfrlZfLhYfDQQHG/AIOlnGwjINlHCxjHCzjYJm/TJWdCwquJXseFFzGwDNNeiKMOJTO8xQdDQaeB29+K9efeLaBo9J7vdvtJj1RjFFjfiv7qv95tjx/7leSQgh93e1ffMeIp6O+YQjho/N791t1XVOSSI7N//K+4/GoxWLBx+PB5/Op5XLJ+/3OlJJWqxU3m83ovv5iGf8KjYNlHCxjHCzjYBkHy5gf5gusvQU7U37jTAAAAABJRU5ErkJggg==)}.sky-colorpicker .selected-color{width:var(--sky-override-colorpicker-selected-color-size, calc(var(--sky-font-size-body-m) * 2 + var(--sky-space-gap-form-s)));height:var(--sky-override-colorpicker-selected-color-size, calc(var(--sky-font-size-body-m) * 2 + var(--sky-space-gap-form-s)));top:var(--sky-override-colorpicker-selected-color-top, 0);left:var(--sky-override-colorpicker-selected-color-left, 0);position:absolute}.sky-colorpicker .selected-color-background{width:var(--sky-override-colorpicker-selected-color-size, calc(var(--sky-font-size-body-m) * 2 + var(--sky-space-gap-form-s)));height:var(--sky-override-colorpicker-selected-color-size, calc(var(--sky-font-size-body-m) * 2 + var(--sky-space-gap-form-s)));background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYR+2W0QlAMQgD60zdfwOdqa8TmI/wQMr5K0I5bZLIzLOa2nt37VVVbd+dDx5obgCC3KBLwJ2ff4PnVidkf+ucIhw80HQaCLo3DMH3CRK3iFsmAWVl6hPNDwt8EvNE5q+YuEXcMgkonVM6SdyCoEvAnZ8v1Hjx817MilmxSUB5rdLJDycZgUAZUch/AAAAAElFTkSuQmCC)}.sky-colorpicker .rgba-text{width:100%;font-size:var(--sky-override-colorpicker-rgba-font-size);padding:var(--sky-override-colorpicker-rgba-padding, var(--sky-comp-colorpicker-content-space-inset-top) var(--sky-comp-colorpicker-content-space-inset-right) var(--sky-comp-colorpicker-content-space-inset-bottom) var(--sky-comp-colorpicker-content-space-inset-left));display:flex}.sky-colorpicker .rgba-text input{min-width:0;padding:var(--sky-override-colorpicker-input-padding)}.sky-colorpicker .rgba-text label{margin:var(--sky-override-colorpicker-input-label-margin)}.sky-colorpicker .rgba-text sky-input-box{flex:1;margin:0 var(--sky-override-colorpicker-rgba-space-between, var(--sky-space-gap-form-s)) 0 0}.sky-colorpicker .rgba-text>sky-input-box{flex:2}.sky-colorpicker .rgba-text>fieldset{display:flex;flex:4}.sky-colorpicker .rgba-text sky-input-box:last-child{margin:0}.sky-colorpicker-checkered-background{position:absolute;top:0;left:0;height:var(--sky-override-colorpicker-button-size, calc(var(--sky-font-line_height-body-m) * var(--sky-font-size-body-m) + var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)));width:var(--sky-override-colorpicker-button-size, calc(var(--sky-font-line_height-body-m) * var(--sky-font-size-body-m) + var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)));background:-webkit-linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),-webkit-linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),#fff;background:-moz-linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),-moz-linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),#fff;background:linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),#fff;background-repeat:repeat,repeat;background-position:0px 0,5px 5px;-webkit-transform-origin:0 0 0;transform-origin:0 0 0;-webkit-background-origin:padding-box,padding-box;background-origin:padding-box,padding-box;-webkit-background-clip:border-box,border-box;background-clip:border-box,border-box;-webkit-background-size:10px 10px,10px 10px;background-size:10px 10px,10px 10px;-webkit-box-shadow:none;border-radius:var(--sky-override-colorpicker-button-border-radius, var(--sky-border-radius-s));box-shadow:none;text-shadow:none;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;-webkit-transform:scaleX(1) scaleY(1) scaleZ(1);transform:scaleX(1) scaleY(1) scaleZ(1)}.sky-color-picker-label-wrapper .sky-control-label{color:var(--sky-override-colorpicker-label-color, var(--sky-color-text-default));margin-bottom:var(--sky-override-colorpicker-label-space, var(--sky-space-gap-form-xs));font-size:var(--sky-override-colorpicker-label-font-size, var(--sky-font-size-input-label));font-style:var(--sky-font-style-input-label);font-weight:var(--sky-override-colorpicker-label-font-weight, var(--sky-font-weight-input-label));letter-spacing:var(--sky-font-letter_spacing-input-label);line-height:var(--sky-override-colorpicker-label-line-height, var(--sky-font-line_height-input-label))}.sky-theme-modern .sky-colorpicker-button.sky-colorpicker-button-disabled{background-color:var(--sky-color-background-input-disabled)!important}.sky-theme-modern .sky-colorpicker-button.sky-colorpicker-button-disabled .sky-colorpicker-button-modern-chevron{background-color:var(--sky-color-background-input-disabled);border-left:1px solid var(--sky-color-border-action-secondary-disabled);border-top:1px solid var(--sky-color-border-action-secondary-disabled)}.sky-theme-modern .sky-colorpicker-button.sky-colorpicker-button-disabled .sky-colorpicker-button-icon{color:var(--sky-color-text-deemphasized)!important}.sky-theme-modern .rgba-text{flex-wrap:wrap}.sky-theme-modern .rgba-text>sky-input-box:first-child{width:100%;flex:0 1 auto;margin:0 0 var(--sky-space-gap-form-s) 0}.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn:nth-child(5n){margin:0 0 var(--sky-space-gap-form-m) 0}\n"], dependencies: [{ kind: "directive", type: i4.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "component", type: i6.λ21, selector: "sky-form-errors", inputs: ["errors", "labelText", "touched", "dirty"] }, { kind: "component", type: i7.λ1, selector: "sky-help-inline", inputs: ["ariaControls", "ariaExpanded", "ariaLabel", "helpKey", "labelledBy", "labelText", "popoverContent", "popoverTitle"], outputs: ["actionClick"] }, { kind: "component", type: i8.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant", "iconSize"] }, { kind: "component", type: i6.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled", "labelText", "characterLimit", "stacked", "helpPopoverTitle", "helpPopoverContent", "helpKey", "hintText"] }, { kind: "directive", type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "directive", type: SkyColorpickerTextDirective, selector: "[skyColorpickerText]", inputs: ["skyColorpickerText", "color", "maxRange"], outputs: ["newColorContrast"] }, { kind: "directive", type: SkyColorpickerSliderDirective, selector: "[skyColorpickerSlider]", inputs: ["skyColorpickerSlider", "color", "xAxis", "yAxis"], outputs: ["newColorContrast"] }, { kind: "pipe", type: i5.SlicePipe, name: "slice" }, { kind: "pipe", type: i2.SkyLibResourcesPipe, name: "skyLibResources" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1460
|
+
], queries: [{ propertyName: "formControl", first: true, predicate: FormControlDirective, descendants: true }, { propertyName: "formControlByName", first: true, predicate: FormControlName, descendants: true }, { propertyName: "ngModel", first: true, predicate: NgModel, descendants: true }, { propertyName: "requiredState", first: true, predicate: SkyRequiredStateDirective, descendants: true }], viewQueries: [{ propertyName: "colorpickerTemplateRef", first: true, predicate: ["colorpickerTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "triggerButtonRef", first: true, predicate: ["triggerButtonRef"], descendants: true, read: ElementRef }, { propertyName: "colorpickerRef", first: true, predicate: ["colorpickerRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<span class=\"sky-color-picker-label-wrapper\">\n @if (labelText) {\n <label\n class=\"sky-control-label\"\n [ngClass]=\"{\n 'sky-screen-reader-only': labelHidden,\n 'sky-control-label-required': requiredState?.isRequired()\n }\"\n [for]=\"inputId\"\n >{{ labelText }}</label\n >\n @if ((helpPopoverContent || helpKey) && !labelHidden) {\n <span class=\"sky-control-help-container\">\n <sky-help-inline\n [helpKey]=\"helpKey\"\n [labelText]=\"labelText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n </span>\n }\n }\n</span>\n\n<div\n class=\"sky-colorpicker-input-group sky-input-group\"\n [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 #triggerButtonRef\n aria-haspopup=\"dialog\"\n class=\"sky-colorpicker-button\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? colorpickerId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n [attr.aria-label]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-button-disabled': disabled,\n 'sky-colorpicker-error':\n (ngControl?.touched || ngControl?.dirty) && ngControl?.errors\n }\"\n [style.background-color]=\"backgroundColorForDisplay\"\n (click)=\"onTriggerButtonClick()\"\n >\n @if (pickerButtonIcon) {\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-colorpicker-button-icon\"\n variant=\"solid\"\n iconSize=\"s\"\n [iconName]=\"pickerButtonIcon\"\n [style.color]=\"iconColor\"\n />\n <sky-icon\n *skyThemeIf=\"'modern'\"\n class=\"sky-colorpicker-button-icon\"\n variant=\"solid\"\n [iconName]=\"pickerButtonIcon\"\n [style.color]=\"iconColor\"\n />\n }\n <ng-container *skyThemeIf=\"'modern'\">\n <sky-icon\n class=\"sky-colorpicker-button-modern-chevron\"\n iconName=\"chevron-down\"\n iconSize=\"xxs\"\n [ngClass]=\"{\n 'sky-colorpicker-button-modern-chevron-disabled': disabled\n }\"\n />\n </ng-container>\n </button>\n\n <ng-template #colorpickerTemplateRef>\n <div\n #colorpickerRef\n class=\"sky-colorpicker-container\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"colorpickerId\"\n [hidden]=\"!isPickerVisible\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n [cdkTrapFocus]=\"true\"\n [cdkTrapFocusAutoCapture]=\"false\"\n >\n <div class=\"sky-colorpicker\">\n <div\n class=\"saturation-lightness\"\n [color]=\"slider.saturation - slider.value + ''\"\n [skyColorpickerSlider]\n [style.background-color]=\"hueSliderColor\"\n [xAxis]=\"1\"\n [yAxis]=\"1\"\n (newColorContrast)=\"saturationAndLightness = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.saturation\"\n [style.top.px]=\"slider.value\"\n ></div>\n </div>\n\n <div class=\"box\">\n <div class=\"left\">\n <div class=\"selected-color-background sky-rounded-circle\"></div>\n <div\n class=\"selected-color sky-rounded-circle\"\n [style.background-color]=\"selectedColor?.rgbaText\"\n ></div>\n </div>\n <div class=\"right\">\n <div\n #hueSlider\n class=\"hue\"\n [skyColorpickerSlider]\n [xAxis]=\"1\"\n (newColorContrast)=\"hue = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.hue\"\n ></div>\n </div>\n @if (allowTransparency) {\n <div\n #alphaSlider\n class=\"alpha\"\n [skyColorpickerSlider]\n [style.background-color]=\"alphaSliderColor\"\n [xAxis]=\"1\"\n (newColorContrast)=\"alphaAxis = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.alpha\"\n ></div>\n </div>\n }\n </div>\n </div>\n\n <div\n class=\"rgba-text\"\n (keydown.enter)=\"onContainerEnterKeyDown($event)\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_hex' | skyLibResources\"\n [attr.for]=\"skyColorpickerHexId\"\n >\n {{ 'skyux_colorpicker_hex' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n pattern=\"^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$\"\n [attr.id]=\"skyColorpickerHexId\"\n [skyColorpickerText]\n [value]=\"hexText\"\n (newColorContrast)=\"hex = $event\"\n />\n </sky-input-box>\n\n <fieldset\n [attr.aria-label]=\"'skyux_colorpicker_aria_rgba' | skyLibResources\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_red' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerRedId\"\n >\n {{ 'skyux_colorpicker_red' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerRedId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.red\"\n (newColorContrast)=\"red = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_green' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerGreenId\"\n >\n {{ 'skyux_colorpicker_green' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerGreenId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.green\"\n (newColorContrast)=\"green = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_blue' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerBlueId\"\n >\n {{ 'skyux_colorpicker_blue' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerBlueId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.blue\"\n (newColorContrast)=\"blue = $event\"\n />\n </sky-input-box>\n @if (allowTransparency) {\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_alpha' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerAlphaId\"\n >\n {{ 'skyux_colorpicker_alpha' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"1\"\n min=\"0\"\n pattern=\"[0-9]+([\\.,][0-9]{1,2})?\"\n step=\"0.1\"\n type=\"number\"\n [attr.id]=\"skyColorpickerAlphaId\"\n [maxRange]=\"1\"\n [skyColorpickerText]\n [value]=\"rgbaText?.alpha\"\n (newColorContrast)=\"alphaColor = $event\"\n />\n </sky-input-box>\n }\n </fieldset>\n </div>\n @if (presetColors && presetColors.length) {\n <div class=\"sky-colorpicker-preset-color-area\">\n @for (\n color of presetColors | slice: 0 : 12;\n track color;\n let i = $index\n ) {\n <button\n class=\"sky-preset-color\"\n type=\"button\"\n [attr.aria-label]=\"\n ('skyux_colorpicker_preset_color' | skyLibResources) +\n ' ' +\n color\n \"\n [skyThemeClass]=\"{\n 'sky-btn sky-btn-link': 'modern'\n }\"\n [style.backgroundColor]=\"color\"\n (click)=\"onPresetClick(color)\"\n ></button>\n }\n </div>\n }\n </div>\n\n <div class=\"sky-colorpicker-footer\">\n <section class=\"sky-colorpicker-column\">\n <button\n class=\"sky-btn sky-btn-primary sky-btn-colorpicker-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_apply' | skyLibResources\"\n (click)=\"onApplyColorClick()\"\n >\n {{ 'skyux_colorpicker_apply' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-btn-colorpicker-close\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_close' | skyLibResources\"\n (click)=\"onCancelClick()\"\n >\n {{ 'skyux_colorpicker_close' | skyLibResources }}\n </button>\n </section>\n </div>\n </div>\n </ng-template>\n @if (allowTransparency) {\n <span aria-hidden=\"true\" class=\"sky-colorpicker-checkered-background\">\n </span>\n }\n\n @if (showResetButton) {\n <button\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_reset' | skyLibResources\"\n [disabled]=\"disabled\"\n [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'\" iconName=\"close\" iconSize=\"s\" />\n <sky-icon *skyThemeIf=\"'modern'\" iconName=\"delete\" />\n </button>\n }\n</div>\n\n<div #hintTextEl=\"skyId\" skyId>\n @if (hintText) {\n <div\n class=\"sky-colorpicker-hint-text\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'default',\n 'sky-font-hint-text-s': 'modern'\n }\"\n >\n {{ hintText }}\n </div>\n }\n</div>\n\n<sky-form-errors\n [id]=\"errorId\"\n [errors]=\"ngControl?.errors\"\n [labelText]=\"labelText\"\n [touched]=\"ngControl?.touched\"\n [dirty]=\"ngControl?.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n", styles: [".sky-color-picker-label-wrapper:not(.sky-theme-modern *){--sky-override-colorpicker-label-color: var(--sky-text-color-default);--sky-override-colorpicker-label-space: 5px;--sky-override-colorpicker-label-font-size: 15px;--sky-override-colorpicker-label-font-weight: 400;--sky-override-colorpicker-label-line-height: normal}.sky-colorpicker-hint-text:not(.sky-theme-modern *){--sky-override-colorpicker-hint-text-space: var(--sky-margin-stacked-xs)}.sky-colorpicker-input-group:not(.sky-theme-modern *){--sky-override-colorpicker-button-background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%3Cdefs%3E%3Cpath%20id%3D%22a%22%20d%3D%22M0%200h30v30H0V0zm14.5%204H4v22h14v-8h8V4H14.5z%22%2F%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cuse%20fill%3D%22%23FFF%22%20xlink%3Ahref%3D%22%23a%22%2F%3E%3Cpath%20stroke%3D%22%23CCC%22%20d%3D%22M.5.5v29h29V.5H.5zm18%2018v8h-15v-23h23v15h-8z%22%2F%3E%3Cpath%20fill%3D%22%23292A2B%22%20d%3D%22M23.5%2025L21%2022h5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);--sky-override-colorpicker-button-border-radius: 0;--sky-override-colorpicker-button-box-shadow: none;--sky-override-colorpicker-button-box-shadow-focus: none;--sky-override-colorpicker-button-error-border: 1px solid var(--sky-highlight-color-danger);--sky-override-colorpicker-button-error-box-shadow: 0 0 8px rgba(239, 64, 68, .6);--sky-override-colorpicker-button-focus-outline: -webkit-focus-ring-color auto 5px;--sky-override-colorpicker-button-size: 30px;--sky-override-colorpicker-disabled-cursor: default;--sky-override-colorpicker-disabled-opacity: .65;--sky-override-colorpicker-icon-font-size: 12px}.sky-colorpicker-container:not(.sky-theme-modern *){--sky-override-colorpicker-alpha-margin-top: 16px;--sky-override-colorpicker-background-color: #fff;--sky-override-colorpicker-bottom-radius: 0;--sky-override-colorpicker-box-padding: 4px 8px;--sky-override-colorpicker-current-color-padding: 16px 8px;--sky-override-colorpicker-current-controls-padding: 12px 8px;--sky-override-colorpicker-footer-border-top: 1px solid #e2e3e4;--sky-override-colorpicker-footer-button-spacing: 0;--sky-override-colorpicker-footer-padding: 15px;--sky-override-colorpicker-hue-alpha-height: 16px;--sky-override-colorpicker-input-font-size: 14px;--sky-override-colorpicker-input-height: 26px;--sky-override-colorpicker-input-label-margin: 0 0 8px 0;--sky-override-colorpicker-input-padding: 1px;--sky-override-colorpicker-input-text-align: center;--sky-override-colorpicker-rgba-padding: 7px 15px 15px;--sky-override-colorpicker-rgba-space-between: 8px;--sky-override-colorpicker-selected-color-left: 8px;--sky-override-colorpicker-selected-color-size: 40px;--sky-override-colorpicker-selected-color-top: 16px;--sky-override-colorpicker-selector-size: 17px;--sky-override-colorpicker-swatch-area-padding: 0 9px 15px 9px;--sky-override-colorpicker-swatch-border-radius: 0;--sky-override-colorpicker-swatch-border: 1px solid #e2e3e4;--sky-override-colorpicker-swatch-hover-border: #ffffff solid 2px;--sky-override-colorpicker-swatch-hover-box-shadow: 0 0 0 1px #cdcfd2, 0 0 0 2px #e2e3e4;--sky-override-colorpicker-swatch-hover-margin: 4px;--sky-override-colorpicker-swatch-margin: 5px;--sky-override-colorpicker-swatch-size-hover: 34px;--sky-override-colorpicker-swatch-size: 32px;--sky-override-colorpicker-width: 270px;--sky-override-colorpicker-rgba-font-size: 18px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-color-picker-label-wrapper{--sky-override-colorpicker-label-color: var(--sky-text-color-deemphasized);--sky-override-colorpicker-label-font-size: 16px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-colorpicker-input-group{--sky-override-colorpicker-button-border-color: var(--modern-color-gray-15);--sky-override-colorpicker-button-box-shadow-focus: inset 0 0 0 var(--sky-border-width-input-focus) var(--sky-color-border-input-focus), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-container-base), inset 0 0 0 var(--sky-color-picker-inner-border-size) var( --sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base) ), var(--sky-elevation-focus);--sky-override-colorpicker-button-size: 40px;--sky-override-colorpicker-reset-button-size: 40px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-colorpicker-container{--sky-override-colorpicker-box-padding: 15px 30px;--sky-override-colorpicker-footer-padding: 10px 10px 15px;--sky-override-colorpicker-rgba-padding: 0 10px 10px;--sky-override-colorpicker-selected-color-size: 46px;--sky-override-colorpicker-swatch-area-padding: 10px 10px 15px;--sky-override-colorpicker-swatch-border-radius: 4px;--sky-override-colorpicker-swatch-size-hover: 46px;--sky-override-colorpicker-swatch-size: 46px;--sky-override-colorpicker-width: 310px}sky-colorpicker.sky-form-field-stacked{display:block}.sky-colorpicker-container{position:fixed;max-height:100vh;overflow-y:auto;overflow-x:hidden;background-color:var(--sky-override-colorpicker-background-color, var(--sky-color-background-container-menu));border-radius:0 0 var(--sky-border-radius-s) var(--sky-border-radius-s)}.sky-colorpicker-button{--sky-colorpicker-border-padding-size: calc( var(--sky-border-width-input-base) + calc(var(--sky-border-width-input-base) * 2) );--sky-color-picker-inner-border-size: calc( var(--sky-colorpicker-border-padding-size) + var(--sky-border-width-input-base) );height:var(--sky-override-colorpicker-button-size, calc(var(--sky-font-line_height-body-m) * var(--sky-font-size-body-m) + var(--sky-comp-button-icon-space-inset-top) + var(--sky-comp-button-icon-space-inset-bottom)));width:var(--sky-override-colorpicker-button-size, calc(var(--sky-font-line_height-body-m) * var(--sky-font-size-body-m) + var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)));border:none;border-radius:var(--sky-override-colorpicker-button-border-radius, var(--sky-border-radius-s));box-shadow:var(--sky-override-colorpicker-button-box-shadow, inset 0 0 0 var(--sky-border-width-input-base) var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base)), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-container-base), inset 0 0 0 var(--sky-color-picker-inner-border-size) var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base)));cursor:pointer;position:relative;z-index:1}.sky-colorpicker-button:hover{box-shadow:var(--sky-override-colorpicker-button-box-shadow, inset 0 0 0 var(--sky-border-width-input-hover) var(--sky-color-border-input-hover), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-container-base), inset 0 0 0 var(--sky-color-picker-inner-border-size) var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base)))}.sky-colorpicker-button:focus-visible:not(:active){box-shadow:var(--sky-override-colorpicker-button-box-shadow-focus, inset 0 0 0 var(--sky-border-width-input-focus) var(--sky-color-border-input-focus), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-container-base), inset 0 0 0 var(--sky-color-picker-inner-border-size) var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base)));outline:var(--sky-override-colorpicker-button-focus-outline)}.sky-colorpicker-button.sky-colorpicker-button-disabled{cursor:var(--sky-override-colorpicker-disabled-cursor, not-allowed);box-shadow:var(--sky-override-colorpicker-button-box-shadow, inset 0 0 0 var(--sky-border-width-input-disabled) var(--sky-color-border-action-secondary-disabled), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-input-disabled), inset 0 0 0 var(--sky-color-picker-inner-border-size) var(--sky-color-border-action-secondary-disabled))}.sky-colorpicker-disabled{opacity:var(--sky-override-colorpicker-disabled-opacity);cursor:default}.sky-colorpicker-button,.sky-colorpicker-button:active{background-image:var(--sky-override-colorpicker-button-background-image)}.sky-colorpicker-hidden{width:0px;height:0px;overflow:hidden}.sky-colorpicker-hint-text{margin-top:var(--sky-override-colorpicker-hint-text-space, var(--sky-space-gap-stacked_supplemental-s))}.sky-colorpicker-error{background-origin:border-box;box-shadow:var(--sky-override-colorpicker-button-error-box-shadow, inset 0 0 0 var(--sky-border-width-input-error) var(--sky-color-border-input-error), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-container-base), inset 0 0 0 calc(var(--sky-colorpicker-border-padding-size) + var(--sky-border-width-action-base)) var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base)));border:var(--sky-override-colorpicker-button-error-border);outline:none}.sky-colorpicker-reset-button{background-color:#fff;margin-left:5px;border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px #cdcfd2;width:30px;height:30px;cursor:pointer;color:#686c73}.sky-colorpicker-reset-button:hover{color:#383a3d}.sky-colorpicker-reset-button.sky-colorpicker-reset-button-disabled{color:#686c73;cursor:default}.sky-colorpicker-input-group{position:relative;z-index:0}.sky-colorpicker-input-group .sky-colorpicker-reset-button-modern{width:var(--sky-override-colorpicker-reset-button-size);height:var(--sky-override-colorpicker-reset-button-size);margin-left:var(--sky-space-gap-action_group-m)}.sky-colorpicker-input-group .sky-colorpicker-reset-button-modern.sky-colorpicker-reset-button-disabled{background-color:var(--sky-color-background-action-tertiary-disabled)}.sky-colorpicker-input-group .sky-colorpicker-button-modern-chevron{position:absolute;background-color:var(--sky-color-background-container-base);border-top-left-radius:calc(var(--sky-border-radius-s) - var(--sky-colorpicker-border-padding-size));border-bottom-right-radius:calc(var(--sky-border-radius-s) - var(--sky-colorpicker-border-padding-size));border-left:var(--sky-border-width-input-base) solid var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base));border-top:var(--sky-border-width-input-base) solid var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base));bottom:var(--sky-colorpicker-border-padding-size);color:var(--sky-color-icon-default);right:var(--sky-colorpicker-border-padding-size)}.sky-colorpicker-input-group .sky-colorpicker-button-modern-chevron.sky-colorpicker-button-modern-chevron-disabled{color:var(--sky-color-text-deemphasized)}.sky-colorpicker-footer{border-top:var(--sky-override-colorpicker-footer-border-top, none);padding:var(--sky-override-colorpicker-footer-padding, var(--sky-comp-colorpicker-content-space-inset-top) var(--sky-comp-colorpicker-content-space-inset-right) var(--sky-comp-colorpicker-content-space-inset-bottom) var(--sky-comp-colorpicker-content-space-inset-left))}.sky-colorpicker-footer .sky-btn-colorpicker-apply{margin-right:var(--sky-override-colorpicker-footer-button-spacing, var(--sky-space-gap-action_group-m))}.sky-colorpicker *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0}.sky-colorpicker{cursor:default;width:var(--sky-override-colorpicker-width, calc(var(--sky-size-width-viewport-smallest) - (var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right))));height:auto;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sky-colorpicker i{cursor:default;position:relative}.sky-colorpicker input{text-align:var(--sky-override-colorpicker-input-text-align);font-size:var(--sky-override-colorpicker-input-font-size);height:var(--sky-override-colorpicker-input-height)}.sky-colorpicker input:invalid{box-shadow:none}.sky-colorpicker input:-moz-submit-invalid{box-shadow:none}.sky-colorpicker input:-moz-ui-invalid{box-shadow:none}.sky-colorpicker input::-webkit-inner-spin-button,.sky-colorpicker input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sky-colorpicker input[type=number].sky-form-control{-moz-appearance:textfield!important}.sky-colorpicker .sky-colorpicker-preset-color-area{padding:var(--sky-override-colorpicker-swatch-area-padding, var(--sky-comp-colorpicker-content-space-inset-top) var(--sky-comp-colorpicker-content-space-inset-right) var(--sky-comp-colorpicker-content-space-inset-bottom) var(--sky-comp-colorpicker-content-space-inset-left));display:flex;flex-direction:row;flex-wrap:wrap}.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color{cursor:pointer;width:var(--sky-override-colorpicker-swatch-size, calc((var(--sky-size-width-viewport-smallest) - (var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)) - (var(--sky-comp-colorpicker-content-space-inset-left) + var(--sky-comp-colorpicker-content-space-inset-right)) - var(--sky-space-gap-form-m) * 4) / 5));height:var(--sky-override-colorpicker-swatch-size, calc((var(--sky-size-width-viewport-smallest) - (var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)) - (var(--sky-comp-colorpicker-content-space-inset-left) + var(--sky-comp-colorpicker-content-space-inset-right)) - var(--sky-space-gap-form-m) * 4) / 5));border-radius:var(--sky-override-colorpicker-swatch-border-radius, var(--sky-border-radius-s));margin:var(--sky-override-colorpicker-swatch-margin, 0 var(--sky-space-gap-form-m) var(--sky-space-gap-form-m) 0)}.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color:not(:active),.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color:not(:hover),.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color:not(:focus){border:var(--sky-override-colorpicker-swatch-border, var(--sky-border-width-input-base) solid var(--sky-color-border-input-base))}.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color:hover{cursor:pointer;border:var(--sky-override-colorpicker-swatch-hover-border, var(--sky-border-width-input-base) solid var(--sky-color-border-input-base));margin:var(--sky-override-colorpicker-swatch-hover-margin, 0 var(--sky-space-gap-form-m) var(--sky-space-gap-form-m) 0);width:var(--sky-override-colorpicker-swatch-size-hover, calc((var(--sky-size-width-viewport-smallest) - (var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)) - (var(--sky-comp-colorpicker-content-space-inset-left) + var(--sky-comp-colorpicker-content-space-inset-right)) - var(--sky-space-gap-form-m) * 4) / 5));height:var(--sky-override-colorpicker-swatch-size-hover, calc((var(--sky-size-width-viewport-smallest) - (var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)) - (var(--sky-comp-colorpicker-content-space-inset-left) + var(--sky-comp-colorpicker-content-space-inset-right)) - var(--sky-space-gap-form-m) * 4) / 5));box-shadow:var(--sky-override-colorpicker-swatch-hover-box-shadow, inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-tertiary-hover))}.sky-colorpicker div.cursor{cursor:default;position:relative;width:var(--sky-override-colorpicker-selector-size, calc(var(--sky-font-size-body-m) + 1px));height:var(--sky-override-colorpicker-selector-size, calc(var(--sky-font-size-body-m) + 1px));border:#ffffff solid 2px;outline:thin solid}.sky-colorpicker .saturation-lightness{cursor:pointer;width:100%;height:170px;border:none;background-size:100% 100%;background-image:url(https://sky.blackbaudcdn.net/static/skyux-public-assets/1.0.0-beta.4/assets/images/colorpicker/saturation-lightness.webp)}.sky-colorpicker .box{display:flex;padding:var(--sky-override-colorpicker-box-padding, var(--sky-comp-colorpicker-content-space-inset-top) var(--sky-comp-colorpicker-content-space-inset-right) var(--sky-comp-colorpicker-content-space-inset-bottom) var(--sky-comp-colorpicker-content-space-inset-left))}.sky-colorpicker .box .left{position:relative;padding:var(--sky-override-colorpicker-current-color-padding, 0 var(--sky-space-gap-form-xl) 0 0)}.sky-colorpicker .box .right{flex:1 1 auto;padding:var(--sky-override-colorpicker-current-controls-padding);display:flex;flex-direction:column;justify-content:center}.sky-colorpicker .hue{cursor:pointer;width:100%;height:var(--sky-override-colorpicker-hue-alpha-height, var(--sky-font-size-body-m));border:none;background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC)}.sky-colorpicker .alpha{cursor:pointer;width:100%;height:var(--sky-override-colorpicker-hue-alpha-height, var(--sky-font-size-body-m));border:none;margin-top:var(--sky-override-colorpicker-alpha-margin-top, var(--sky-space-gap-form-s));background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwYQlZMa3gAAAWVJREFUaN7tmEGO6jAQRCsOArHgBpyAJYGjcGocxAm4A2IHpmoWE0eBH+ezmFlNvU06shJ3W6VEelWMUQAIIF9f6qZpimsA1LYtS2uF51/u27YVAFZVRUkEoGHdPV/sIcbIEIIkUdI/9Xa7neyv61+SWFUVAVCSct00TWn2fv6u3+Ecfd3tXzy/0+nEUu+SPjo/kqzrmiQpScN6v98XewfA8/lMkiLJ2WxGSUopcT6fM6U0NX9/frfbjev1WtfrlZfLhYfDQQHG/AIOlnGwjINlHCxjHCzjYJm/TJWdCwquJXseFFzGwDNNeiKMOJTO8xQdDQaeB29+K9efeLaBo9J7vdvtJj1RjFFjfiv7qv95tjx/7leSQgh93e1ffMeIp6O+YQjho/N791t1XVOSSI7N//K+4/GoxWLBx+PB5/Op5XLJ+/3OlJJWqxU3m83ovv5iGf8KjYNlHCxjHCzjYBkHy5gf5gusvQU7U37jTAAAAABJRU5ErkJggg==)}.sky-colorpicker .selected-color{width:var(--sky-override-colorpicker-selected-color-size, calc(var(--sky-font-size-body-m) * 2 + var(--sky-space-gap-form-s)));height:var(--sky-override-colorpicker-selected-color-size, calc(var(--sky-font-size-body-m) * 2 + var(--sky-space-gap-form-s)));top:var(--sky-override-colorpicker-selected-color-top, 0);left:var(--sky-override-colorpicker-selected-color-left, 0);position:absolute}.sky-colorpicker .selected-color-background{width:var(--sky-override-colorpicker-selected-color-size, calc(var(--sky-font-size-body-m) * 2 + var(--sky-space-gap-form-s)));height:var(--sky-override-colorpicker-selected-color-size, calc(var(--sky-font-size-body-m) * 2 + var(--sky-space-gap-form-s)));background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYR+2W0QlAMQgD60zdfwOdqa8TmI/wQMr5K0I5bZLIzLOa2nt37VVVbd+dDx5obgCC3KBLwJ2ff4PnVidkf+ucIhw80HQaCLo3DMH3CRK3iFsmAWVl6hPNDwt8EvNE5q+YuEXcMgkonVM6SdyCoEvAnZ8v1Hjx817MilmxSUB5rdLJDycZgUAZUch/AAAAAElFTkSuQmCC)}.sky-colorpicker .rgba-text{width:100%;font-size:var(--sky-override-colorpicker-rgba-font-size);padding:var(--sky-override-colorpicker-rgba-padding, var(--sky-comp-colorpicker-content-space-inset-top) var(--sky-comp-colorpicker-content-space-inset-right) var(--sky-comp-colorpicker-content-space-inset-bottom) var(--sky-comp-colorpicker-content-space-inset-left));display:flex}.sky-colorpicker .rgba-text input{min-width:0;padding:var(--sky-override-colorpicker-input-padding)}.sky-colorpicker .rgba-text label{margin:var(--sky-override-colorpicker-input-label-margin)}.sky-colorpicker .rgba-text sky-input-box{flex:1;margin:0 var(--sky-override-colorpicker-rgba-space-between, var(--sky-space-gap-form-s)) 0 0}.sky-colorpicker .rgba-text>sky-input-box{flex:2}.sky-colorpicker .rgba-text>fieldset{display:flex;flex:4}.sky-colorpicker .rgba-text sky-input-box:last-child{margin:0}.sky-colorpicker-checkered-background{position:absolute;top:0;left:0;height:var(--sky-override-colorpicker-button-size, calc(var(--sky-font-line_height-body-m) * var(--sky-font-size-body-m) + var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)));width:var(--sky-override-colorpicker-button-size, calc(var(--sky-font-line_height-body-m) * var(--sky-font-size-body-m) + var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)));background:-webkit-linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),-webkit-linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),#fff;background:-moz-linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),-moz-linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),#fff;background:linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),#fff;background-repeat:repeat,repeat;background-position:0px 0,5px 5px;-webkit-transform-origin:0 0 0;transform-origin:0 0 0;-webkit-background-origin:padding-box,padding-box;background-origin:padding-box,padding-box;-webkit-background-clip:border-box,border-box;background-clip:border-box,border-box;-webkit-background-size:10px 10px,10px 10px;background-size:10px 10px,10px 10px;-webkit-box-shadow:none;border-radius:var(--sky-override-colorpicker-button-border-radius, var(--sky-border-radius-s));box-shadow:none;text-shadow:none;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;-webkit-transform:scaleX(1) scaleY(1) scaleZ(1);transform:scaleX(1) scaleY(1) scaleZ(1)}.sky-color-picker-label-wrapper .sky-control-label{color:var(--sky-override-colorpicker-label-color, var(--sky-color-text-default));margin-bottom:var(--sky-override-colorpicker-label-space, var(--sky-space-gap-form-xs));font-size:var(--sky-override-colorpicker-label-font-size, var(--sky-font-size-input-label));font-style:var(--sky-font-style-input-label);font-weight:var(--sky-override-colorpicker-label-font-weight, var(--sky-font-style-input-label));letter-spacing:var(--sky-font-letter_spacing-input-label);line-height:var(--sky-override-colorpicker-label-line-height, var(--sky-font-line_height-input-label))}.sky-theme-modern .sky-colorpicker-button.sky-colorpicker-button-disabled{background-color:var(--sky-color-background-input-disabled)!important}.sky-theme-modern .sky-colorpicker-button.sky-colorpicker-button-disabled .sky-colorpicker-button-modern-chevron{background-color:var(--sky-color-background-input-disabled);border-left:1px solid var(--sky-color-border-action-secondary-disabled);border-top:1px solid var(--sky-color-border-action-secondary-disabled)}.sky-theme-modern .sky-colorpicker-button.sky-colorpicker-button-disabled .sky-colorpicker-button-icon{color:var(--sky-color-text-deemphasized)!important}.sky-theme-modern .rgba-text{flex-wrap:wrap}.sky-theme-modern .rgba-text>sky-input-box:first-child{width:100%;flex:0 1 auto;margin:0 0 var(--sky-space-gap-form-s) 0}.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn:nth-child(5n){margin:0 0 var(--sky-space-gap-form-m) 0}\n"], dependencies: [{ kind: "directive", type: i4.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "component", type: i6.λ21, selector: "sky-form-errors", inputs: ["errors", "labelText", "touched", "dirty"] }, { kind: "component", type: i7.λ1, selector: "sky-help-inline", inputs: ["ariaControls", "ariaExpanded", "ariaLabel", "helpKey", "labelledBy", "labelText", "popoverContent", "popoverTitle"], outputs: ["actionClick"] }, { kind: "component", type: i8.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant", "iconSize"] }, { kind: "component", type: i6.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled", "labelText", "characterLimit", "stacked", "helpPopoverTitle", "helpPopoverContent", "helpKey", "hintText"] }, { kind: "directive", type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "directive", type: SkyColorpickerTextDirective, selector: "[skyColorpickerText]", inputs: ["skyColorpickerText", "color", "maxRange"], outputs: ["newColorContrast"] }, { kind: "directive", type: SkyColorpickerSliderDirective, selector: "[skyColorpickerSlider]", inputs: ["skyColorpickerSlider", "color", "xAxis", "yAxis"], outputs: ["newColorContrast"] }, { kind: "pipe", type: i5.SlicePipe, name: "slice" }, { kind: "pipe", type: i2.SkyLibResourcesPipe, name: "skyLibResources" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1461
1461
|
}
|
|
1462
1462
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyColorpickerComponent, decorators: [{
|
|
1463
1463
|
type: Component,
|
|
@@ -1465,7 +1465,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
1465
1465
|
SkyColorpickerInputService,
|
|
1466
1466
|
SkyColorpickerService,
|
|
1467
1467
|
{ provide: SKY_FORM_ERRORS_ENABLED, useValue: true },
|
|
1468
|
-
], encapsulation: ViewEncapsulation.None, standalone: false, template: "<span class=\"sky-color-picker-label-wrapper\">\n @if (labelText) {\n <label\n class=\"sky-control-label\"\n [ngClass]=\"{\n 'sky-screen-reader-only': labelHidden,\n 'sky-control-label-required': requiredState?.isRequired()\n }\"\n [for]=\"inputId\"\n >{{ labelText }}</label\n >\n @if ((helpPopoverContent || helpKey) && !labelHidden) {\n <span class=\"sky-control-help-container\">\n <sky-help-inline\n [helpKey]=\"helpKey\"\n [labelText]=\"labelText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n </span>\n }\n }\n</span>\n\n<div\n class=\"sky-colorpicker-input-group sky-input-group\"\n [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 #triggerButtonRef\n aria-haspopup=\"dialog\"\n class=\"sky-colorpicker-button\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? colorpickerId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n [attr.aria-label]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-button-disabled': disabled,\n 'sky-colorpicker-error':\n (ngControl?.touched || ngControl?.dirty) && ngControl?.errors\n }\"\n [style.background-color]=\"backgroundColorForDisplay\"\n (click)=\"onTriggerButtonClick()\"\n >\n @if (pickerButtonIcon) {\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-colorpicker-button-icon\"\n variant=\"solid\"\n iconSize=\"s\"\n [iconName]=\"pickerButtonIcon\"\n [style.color]=\"iconColor\"\n />\n <sky-icon\n *skyThemeIf=\"'modern'\"\n class=\"sky-colorpicker-button-icon\"\n variant=\"solid\"\n [iconName]=\"pickerButtonIcon\"\n [style.color]=\"iconColor\"\n />\n }\n <ng-container *skyThemeIf=\"'modern'\">\n <sky-icon\n class=\"sky-colorpicker-button-modern-chevron\"\n iconName=\"chevron-down\"\n iconSize=\"xxs\"\n [ngClass]=\"{\n 'sky-colorpicker-button-modern-chevron-disabled': disabled\n }\"\n />\n </ng-container>\n </button>\n\n <ng-template #colorpickerTemplateRef>\n <div\n #colorpickerRef\n class=\"sky-colorpicker-container\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"colorpickerId\"\n [hidden]=\"!isPickerVisible\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n [cdkTrapFocus]=\"true\"\n [cdkTrapFocusAutoCapture]=\"false\"\n >\n <div class=\"sky-colorpicker\">\n <div\n class=\"saturation-lightness\"\n [color]=\"slider.saturation - slider.value + ''\"\n [skyColorpickerSlider]\n [style.background-color]=\"hueSliderColor\"\n [xAxis]=\"1\"\n [yAxis]=\"1\"\n (newColorContrast)=\"saturationAndLightness = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.saturation\"\n [style.top.px]=\"slider.value\"\n ></div>\n </div>\n\n <div class=\"box\">\n <div class=\"left\">\n <div class=\"selected-color-background sky-rounded-circle\"></div>\n <div\n class=\"selected-color sky-rounded-circle\"\n [style.background-color]=\"selectedColor?.rgbaText\"\n ></div>\n </div>\n <div class=\"right\">\n <div\n #hueSlider\n class=\"hue\"\n [skyColorpickerSlider]\n [xAxis]=\"1\"\n (newColorContrast)=\"hue = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.hue\"\n ></div>\n </div>\n @if (allowTransparency) {\n <div\n #alphaSlider\n class=\"alpha\"\n [skyColorpickerSlider]\n [style.background-color]=\"alphaSliderColor\"\n [xAxis]=\"1\"\n (newColorContrast)=\"alphaAxis = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.alpha\"\n ></div>\n </div>\n }\n </div>\n </div>\n\n <div\n class=\"rgba-text\"\n (keydown.enter)=\"onContainerEnterKeyDown($event)\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_hex' | skyLibResources\"\n [attr.for]=\"skyColorpickerHexId\"\n >\n {{ 'skyux_colorpicker_hex' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n pattern=\"^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$\"\n [attr.id]=\"skyColorpickerHexId\"\n [skyColorpickerText]\n [value]=\"hexText\"\n (newColorContrast)=\"hex = $event\"\n />\n </sky-input-box>\n\n <fieldset\n [attr.aria-label]=\"'skyux_colorpicker_aria_rgba' | skyLibResources\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_red' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerRedId\"\n >\n {{ 'skyux_colorpicker_red' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerRedId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.red\"\n (newColorContrast)=\"red = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_green' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerGreenId\"\n >\n {{ 'skyux_colorpicker_green' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerGreenId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.green\"\n (newColorContrast)=\"green = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_blue' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerBlueId\"\n >\n {{ 'skyux_colorpicker_blue' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerBlueId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.blue\"\n (newColorContrast)=\"blue = $event\"\n />\n </sky-input-box>\n @if (allowTransparency) {\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_alpha' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerAlphaId\"\n >\n {{ 'skyux_colorpicker_alpha' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"1\"\n min=\"0\"\n pattern=\"[0-9]+([\\.,][0-9]{1,2})?\"\n step=\"0.1\"\n type=\"number\"\n [attr.id]=\"skyColorpickerAlphaId\"\n [maxRange]=\"1\"\n [skyColorpickerText]\n [value]=\"rgbaText?.alpha\"\n (newColorContrast)=\"alphaColor = $event\"\n />\n </sky-input-box>\n }\n </fieldset>\n </div>\n @if (presetColors && presetColors.length) {\n <div class=\"sky-colorpicker-preset-color-area\">\n @for (\n color of presetColors | slice: 0 : 12;\n track color;\n let i = $index\n ) {\n <button\n class=\"sky-preset-color\"\n type=\"button\"\n [attr.aria-label]=\"\n ('skyux_colorpicker_preset_color' | skyLibResources) +\n ' ' +\n color\n \"\n [skyThemeClass]=\"{\n 'sky-btn sky-btn-link': 'modern'\n }\"\n [style.backgroundColor]=\"color\"\n (click)=\"onPresetClick(color)\"\n ></button>\n }\n </div>\n }\n </div>\n\n <div class=\"sky-colorpicker-footer\">\n <section class=\"sky-colorpicker-column\">\n <button\n class=\"sky-btn sky-btn-primary sky-btn-colorpicker-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_apply' | skyLibResources\"\n (click)=\"onApplyColorClick()\"\n >\n {{ 'skyux_colorpicker_apply' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-btn-colorpicker-close\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_close' | skyLibResources\"\n (click)=\"onCancelClick()\"\n >\n {{ 'skyux_colorpicker_close' | skyLibResources }}\n </button>\n </section>\n </div>\n </div>\n </ng-template>\n @if (allowTransparency) {\n <span aria-hidden=\"true\" class=\"sky-colorpicker-checkered-background\">\n </span>\n }\n\n @if (showResetButton) {\n <button\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_reset' | skyLibResources\"\n [disabled]=\"disabled\"\n [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'\" iconName=\"close\" iconSize=\"s\" />\n <sky-icon *skyThemeIf=\"'modern'\" iconName=\"delete\" />\n </button>\n }\n</div>\n\n<div #hintTextEl=\"skyId\" skyId>\n @if (hintText) {\n <div\n class=\"sky-colorpicker-hint-text\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'default',\n 'sky-font-hint-text-s': 'modern'\n }\"\n >\n {{ hintText }}\n </div>\n }\n</div>\n\n<sky-form-errors\n [id]=\"errorId\"\n [errors]=\"ngControl?.errors\"\n [labelText]=\"labelText\"\n [touched]=\"ngControl?.touched\"\n [dirty]=\"ngControl?.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n", styles: [".sky-color-picker-label-wrapper:not(.sky-theme-modern *){--sky-override-colorpicker-label-color: var(--sky-text-color-default);--sky-override-colorpicker-label-space: 5px;--sky-override-colorpicker-label-font-size: 15px;--sky-override-colorpicker-label-font-weight: 400;--sky-override-colorpicker-label-line-height: normal}.sky-colorpicker-hint-text:not(.sky-theme-modern *){--sky-override-colorpicker-hint-text-space: var(--sky-margin-stacked-xs)}.sky-colorpicker-input-group:not(.sky-theme-modern *){--sky-override-colorpicker-button-background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%3Cdefs%3E%3Cpath%20id%3D%22a%22%20d%3D%22M0%200h30v30H0V0zm14.5%204H4v22h14v-8h8V4H14.5z%22%2F%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cuse%20fill%3D%22%23FFF%22%20xlink%3Ahref%3D%22%23a%22%2F%3E%3Cpath%20stroke%3D%22%23CCC%22%20d%3D%22M.5.5v29h29V.5H.5zm18%2018v8h-15v-23h23v15h-8z%22%2F%3E%3Cpath%20fill%3D%22%23292A2B%22%20d%3D%22M23.5%2025L21%2022h5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);--sky-override-colorpicker-button-border-radius: 0;--sky-override-colorpicker-button-box-shadow: none;--sky-override-colorpicker-button-box-shadow-focus: none;--sky-override-colorpicker-button-error-border: 1px solid var(--sky-highlight-color-danger);--sky-override-colorpicker-button-error-box-shadow: 0 0 8px rgba(239, 64, 68, .6);--sky-override-colorpicker-button-focus-outline: -webkit-focus-ring-color auto 5px;--sky-override-colorpicker-button-size: 30px;--sky-override-colorpicker-disabled-cursor: default;--sky-override-colorpicker-disabled-opacity: .65;--sky-override-colorpicker-icon-font-size: 12px}.sky-colorpicker-container:not(.sky-theme-modern *){--sky-override-colorpicker-alpha-margin-top: 16px;--sky-override-colorpicker-background-color: #fff;--sky-override-colorpicker-bottom-radius: 0;--sky-override-colorpicker-box-padding: 4px 8px;--sky-override-colorpicker-current-color-padding: 16px 8px;--sky-override-colorpicker-current-controls-padding: 12px 8px;--sky-override-colorpicker-footer-border-top: 1px solid #e2e3e4;--sky-override-colorpicker-footer-button-spacing: 0;--sky-override-colorpicker-footer-padding: 15px;--sky-override-colorpicker-hue-alpha-height: 16px;--sky-override-colorpicker-input-font-size: 14px;--sky-override-colorpicker-input-height: 26px;--sky-override-colorpicker-input-label-margin: 0 0 8px 0;--sky-override-colorpicker-input-padding: 1px;--sky-override-colorpicker-input-text-align: center;--sky-override-colorpicker-rgba-padding: 7px 15px 15px;--sky-override-colorpicker-rgba-space-between: 8px;--sky-override-colorpicker-selected-color-left: 8px;--sky-override-colorpicker-selected-color-size: 40px;--sky-override-colorpicker-selected-color-top: 16px;--sky-override-colorpicker-selector-size: 17px;--sky-override-colorpicker-swatch-area-padding: 0 9px 15px 9px;--sky-override-colorpicker-swatch-border-radius: 0;--sky-override-colorpicker-swatch-border: 1px solid #e2e3e4;--sky-override-colorpicker-swatch-hover-border: #ffffff solid 2px;--sky-override-colorpicker-swatch-hover-box-shadow: 0 0 0 1px #cdcfd2, 0 0 0 2px #e2e3e4;--sky-override-colorpicker-swatch-hover-margin: 4px;--sky-override-colorpicker-swatch-margin: 5px;--sky-override-colorpicker-swatch-size-hover: 34px;--sky-override-colorpicker-swatch-size: 32px;--sky-override-colorpicker-width: 270px;--sky-override-colorpicker-rgba-font-size: 18px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-color-picker-label-wrapper{--sky-override-colorpicker-label-color: var(--sky-text-color-deemphasized);--sky-override-colorpicker-label-font-size: 16px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-colorpicker-input-group{--sky-override-colorpicker-button-border-color: var(--modern-color-gray-15);--sky-override-colorpicker-button-box-shadow-focus: inset 0 0 0 var(--sky-border-width-input-focus) var(--sky-color-border-input-focus), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-container-base), inset 0 0 0 var(--sky-color-picker-inner-border-size) var( --sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base) ), var(--sky-elevation-focus);--sky-override-colorpicker-button-size: 40px;--sky-override-colorpicker-reset-button-size: 40px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-colorpicker-container{--sky-override-colorpicker-box-padding: 15px 30px;--sky-override-colorpicker-footer-padding: 10px 10px 15px;--sky-override-colorpicker-rgba-padding: 0 10px 10px;--sky-override-colorpicker-selected-color-size: 46px;--sky-override-colorpicker-swatch-area-padding: 10px 10px 15px;--sky-override-colorpicker-swatch-border-radius: 4px;--sky-override-colorpicker-swatch-size-hover: 46px;--sky-override-colorpicker-swatch-size: 46px;--sky-override-colorpicker-width: 310px}sky-colorpicker.sky-form-field-stacked{display:block}.sky-colorpicker-container{position:fixed;max-height:100vh;overflow-y:auto;overflow-x:hidden;background-color:var(--sky-override-colorpicker-background-color, var(--sky-color-background-container-menu));border-radius:0 0 var(--sky-border-radius-s) var(--sky-border-radius-s)}.sky-colorpicker-button{--sky-colorpicker-border-padding-size: calc( var(--sky-border-width-input-base) + calc(var(--sky-border-width-input-base) * 2) );--sky-color-picker-inner-border-size: calc( var(--sky-colorpicker-border-padding-size) + var(--sky-border-width-input-base) );height:var(--sky-override-colorpicker-button-size, calc(var(--sky-font-line_height-body-m) * var(--sky-font-size-body-m) + var(--sky-comp-button-icon-space-inset-top) + var(--sky-comp-button-icon-space-inset-bottom)));width:var(--sky-override-colorpicker-button-size, calc(var(--sky-font-line_height-body-m) * var(--sky-font-size-body-m) + var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)));border:none;border-radius:var(--sky-override-colorpicker-button-border-radius, var(--sky-border-radius-s));box-shadow:var(--sky-override-colorpicker-button-box-shadow, inset 0 0 0 var(--sky-border-width-input-base) var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base)), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-container-base), inset 0 0 0 var(--sky-color-picker-inner-border-size) var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base)));cursor:pointer;position:relative;z-index:1}.sky-colorpicker-button:hover{box-shadow:var(--sky-override-colorpicker-button-box-shadow, inset 0 0 0 var(--sky-border-width-input-hover) var(--sky-color-border-input-hover), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-container-base), inset 0 0 0 var(--sky-color-picker-inner-border-size) var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base)))}.sky-colorpicker-button:focus-visible:not(:active){box-shadow:var(--sky-override-colorpicker-button-box-shadow-focus, inset 0 0 0 var(--sky-border-width-input-focus) var(--sky-color-border-input-focus), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-container-base), inset 0 0 0 var(--sky-color-picker-inner-border-size) var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base)));outline:var(--sky-override-colorpicker-button-focus-outline)}.sky-colorpicker-button.sky-colorpicker-button-disabled{cursor:var(--sky-override-colorpicker-disabled-cursor, not-allowed);box-shadow:var(--sky-override-colorpicker-button-box-shadow, inset 0 0 0 var(--sky-border-width-input-disabled) var(--sky-color-border-action-secondary-disabled), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-input-disabled), inset 0 0 0 var(--sky-color-picker-inner-border-size) var(--sky-color-border-action-secondary-disabled))}.sky-colorpicker-disabled{opacity:var(--sky-override-colorpicker-disabled-opacity);cursor:default}.sky-colorpicker-button,.sky-colorpicker-button:active{background-image:var(--sky-override-colorpicker-button-background-image)}.sky-colorpicker-hidden{width:0px;height:0px;overflow:hidden}.sky-colorpicker-hint-text{margin-top:var(--sky-override-colorpicker-hint-text-space, var(--sky-space-gap-stacked_supplemental-s))}.sky-colorpicker-error{background-origin:border-box;box-shadow:var(--sky-override-colorpicker-button-error-box-shadow, inset 0 0 0 var(--sky-border-width-input-error) var(--sky-color-border-input-error), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-container-base), inset 0 0 0 calc(var(--sky-colorpicker-border-padding-size) + var(--sky-border-width-action-base)) var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base)));border:var(--sky-override-colorpicker-button-error-border);outline:none}.sky-colorpicker-reset-button{background-color:#fff;margin-left:5px;border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px #cdcfd2;width:30px;height:30px;cursor:pointer;color:#686c73}.sky-colorpicker-reset-button:hover{color:#383a3d}.sky-colorpicker-reset-button.sky-colorpicker-reset-button-disabled{color:#686c73;cursor:default}.sky-colorpicker-input-group{position:relative;z-index:0}.sky-colorpicker-input-group .sky-colorpicker-reset-button-modern{width:var(--sky-override-colorpicker-reset-button-size);height:var(--sky-override-colorpicker-reset-button-size);margin-left:var(--sky-space-gap-action_group-m)}.sky-colorpicker-input-group .sky-colorpicker-reset-button-modern.sky-colorpicker-reset-button-disabled{background-color:var(--sky-color-background-action-tertiary-disabled)}.sky-colorpicker-input-group .sky-colorpicker-button-modern-chevron{position:absolute;background-color:var(--sky-color-background-container-base);border-top-left-radius:calc(var(--sky-border-radius-s) - var(--sky-colorpicker-border-padding-size));border-bottom-right-radius:calc(var(--sky-border-radius-s) - var(--sky-colorpicker-border-padding-size));border-left:var(--sky-border-width-input-base) solid var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base));border-top:var(--sky-border-width-input-base) solid var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base));bottom:var(--sky-colorpicker-border-padding-size);color:var(--sky-color-icon-default);right:var(--sky-colorpicker-border-padding-size)}.sky-colorpicker-input-group .sky-colorpicker-button-modern-chevron.sky-colorpicker-button-modern-chevron-disabled{color:var(--sky-color-text-deemphasized)}.sky-colorpicker-footer{border-top:var(--sky-override-colorpicker-footer-border-top, none);padding:var(--sky-override-colorpicker-footer-padding, var(--sky-comp-colorpicker-content-space-inset-top) var(--sky-comp-colorpicker-content-space-inset-right) var(--sky-comp-colorpicker-content-space-inset-bottom) var(--sky-comp-colorpicker-content-space-inset-left))}.sky-colorpicker-footer .sky-btn-colorpicker-apply{margin-right:var(--sky-override-colorpicker-footer-button-spacing, var(--sky-space-gap-action_group-m))}.sky-colorpicker *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0}.sky-colorpicker{cursor:default;width:var(--sky-override-colorpicker-width, calc(var(--sky-size-width-viewport-smallest) - (var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right))));height:auto;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sky-colorpicker i{cursor:default;position:relative}.sky-colorpicker input{text-align:var(--sky-override-colorpicker-input-text-align);font-size:var(--sky-override-colorpicker-input-font-size);height:var(--sky-override-colorpicker-input-height)}.sky-colorpicker input:invalid{box-shadow:none}.sky-colorpicker input:-moz-submit-invalid{box-shadow:none}.sky-colorpicker input:-moz-ui-invalid{box-shadow:none}.sky-colorpicker input::-webkit-inner-spin-button,.sky-colorpicker input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sky-colorpicker input[type=number].sky-form-control{-moz-appearance:textfield!important}.sky-colorpicker .sky-colorpicker-preset-color-area{padding:var(--sky-override-colorpicker-swatch-area-padding, var(--sky-comp-colorpicker-content-space-inset-top) var(--sky-comp-colorpicker-content-space-inset-right) var(--sky-comp-colorpicker-content-space-inset-bottom) var(--sky-comp-colorpicker-content-space-inset-left));display:flex;flex-direction:row;flex-wrap:wrap}.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color{cursor:pointer;width:var(--sky-override-colorpicker-swatch-size, calc((var(--sky-size-width-viewport-smallest) - (var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)) - (var(--sky-comp-colorpicker-content-space-inset-left) + var(--sky-comp-colorpicker-content-space-inset-right)) - var(--sky-space-gap-form-m) * 4) / 5));height:var(--sky-override-colorpicker-swatch-size, calc((var(--sky-size-width-viewport-smallest) - (var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)) - (var(--sky-comp-colorpicker-content-space-inset-left) + var(--sky-comp-colorpicker-content-space-inset-right)) - var(--sky-space-gap-form-m) * 4) / 5));border-radius:var(--sky-override-colorpicker-swatch-border-radius, var(--sky-border-radius-s));margin:var(--sky-override-colorpicker-swatch-margin, 0 var(--sky-space-gap-form-m) var(--sky-space-gap-form-m) 0)}.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color:not(:active),.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color:not(:hover),.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color:not(:focus){border:var(--sky-override-colorpicker-swatch-border, var(--sky-border-width-input-base) solid var(--sky-color-border-input-base))}.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color:hover{cursor:pointer;border:var(--sky-override-colorpicker-swatch-hover-border, var(--sky-border-width-input-base) solid var(--sky-color-border-input-base));margin:var(--sky-override-colorpicker-swatch-hover-margin, 0 var(--sky-space-gap-form-m) var(--sky-space-gap-form-m) 0);width:var(--sky-override-colorpicker-swatch-size-hover, calc((var(--sky-size-width-viewport-smallest) - (var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)) - (var(--sky-comp-colorpicker-content-space-inset-left) + var(--sky-comp-colorpicker-content-space-inset-right)) - var(--sky-space-gap-form-m) * 4) / 5));height:var(--sky-override-colorpicker-swatch-size-hover, calc((var(--sky-size-width-viewport-smallest) - (var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)) - (var(--sky-comp-colorpicker-content-space-inset-left) + var(--sky-comp-colorpicker-content-space-inset-right)) - var(--sky-space-gap-form-m) * 4) / 5));box-shadow:var(--sky-override-colorpicker-swatch-hover-box-shadow, inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-tertiary-hover))}.sky-colorpicker div.cursor{cursor:default;position:relative;width:var(--sky-override-colorpicker-selector-size, calc(var(--sky-font-size-body-m) + 1px));height:var(--sky-override-colorpicker-selector-size, calc(var(--sky-font-size-body-m) + 1px));border:#ffffff solid 2px;outline:thin solid}.sky-colorpicker .saturation-lightness{cursor:pointer;width:100%;height:170px;border:none;background-size:100% 100%;background-image:url(https://sky.blackbaudcdn.net/static/skyux-public-assets/1.0.0-beta.4/assets/images/colorpicker/saturation-lightness.webp)}.sky-colorpicker .box{display:flex;padding:var(--sky-override-colorpicker-box-padding, var(--sky-comp-colorpicker-content-space-inset-top) var(--sky-comp-colorpicker-content-space-inset-right) var(--sky-comp-colorpicker-content-space-inset-bottom) var(--sky-comp-colorpicker-content-space-inset-left))}.sky-colorpicker .box .left{position:relative;padding:var(--sky-override-colorpicker-current-color-padding, 0 var(--sky-space-gap-form-xl) 0 0)}.sky-colorpicker .box .right{flex:1 1 auto;padding:var(--sky-override-colorpicker-current-controls-padding);display:flex;flex-direction:column;justify-content:center}.sky-colorpicker .hue{cursor:pointer;width:100%;height:var(--sky-override-colorpicker-hue-alpha-height, var(--sky-font-size-body-m));border:none;background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC)}.sky-colorpicker .alpha{cursor:pointer;width:100%;height:var(--sky-override-colorpicker-hue-alpha-height, var(--sky-font-size-body-m));border:none;margin-top:var(--sky-override-colorpicker-alpha-margin-top, var(--sky-space-gap-form-s));background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwYQlZMa3gAAAWVJREFUaN7tmEGO6jAQRCsOArHgBpyAJYGjcGocxAm4A2IHpmoWE0eBH+ezmFlNvU06shJ3W6VEelWMUQAIIF9f6qZpimsA1LYtS2uF51/u27YVAFZVRUkEoGHdPV/sIcbIEIIkUdI/9Xa7neyv61+SWFUVAVCSct00TWn2fv6u3+Ecfd3tXzy/0+nEUu+SPjo/kqzrmiQpScN6v98XewfA8/lMkiLJ2WxGSUopcT6fM6U0NX9/frfbjev1WtfrlZfLhYfDQQHG/AIOlnGwjINlHCxjHCzjYJm/TJWdCwquJXseFFzGwDNNeiKMOJTO8xQdDQaeB29+K9efeLaBo9J7vdvtJj1RjFFjfiv7qv95tjx/7leSQgh93e1ffMeIp6O+YQjho/N791t1XVOSSI7N//K+4/GoxWLBx+PB5/Op5XLJ+/3OlJJWqxU3m83ovv5iGf8KjYNlHCxjHCzjYBkHy5gf5gusvQU7U37jTAAAAABJRU5ErkJggg==)}.sky-colorpicker .selected-color{width:var(--sky-override-colorpicker-selected-color-size, calc(var(--sky-font-size-body-m) * 2 + var(--sky-space-gap-form-s)));height:var(--sky-override-colorpicker-selected-color-size, calc(var(--sky-font-size-body-m) * 2 + var(--sky-space-gap-form-s)));top:var(--sky-override-colorpicker-selected-color-top, 0);left:var(--sky-override-colorpicker-selected-color-left, 0);position:absolute}.sky-colorpicker .selected-color-background{width:var(--sky-override-colorpicker-selected-color-size, calc(var(--sky-font-size-body-m) * 2 + var(--sky-space-gap-form-s)));height:var(--sky-override-colorpicker-selected-color-size, calc(var(--sky-font-size-body-m) * 2 + var(--sky-space-gap-form-s)));background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYR+2W0QlAMQgD60zdfwOdqa8TmI/wQMr5K0I5bZLIzLOa2nt37VVVbd+dDx5obgCC3KBLwJ2ff4PnVidkf+ucIhw80HQaCLo3DMH3CRK3iFsmAWVl6hPNDwt8EvNE5q+YuEXcMgkonVM6SdyCoEvAnZ8v1Hjx817MilmxSUB5rdLJDycZgUAZUch/AAAAAElFTkSuQmCC)}.sky-colorpicker .rgba-text{width:100%;font-size:var(--sky-override-colorpicker-rgba-font-size);padding:var(--sky-override-colorpicker-rgba-padding, var(--sky-comp-colorpicker-content-space-inset-top) var(--sky-comp-colorpicker-content-space-inset-right) var(--sky-comp-colorpicker-content-space-inset-bottom) var(--sky-comp-colorpicker-content-space-inset-left));display:flex}.sky-colorpicker .rgba-text input{min-width:0;padding:var(--sky-override-colorpicker-input-padding)}.sky-colorpicker .rgba-text label{margin:var(--sky-override-colorpicker-input-label-margin)}.sky-colorpicker .rgba-text sky-input-box{flex:1;margin:0 var(--sky-override-colorpicker-rgba-space-between, var(--sky-space-gap-form-s)) 0 0}.sky-colorpicker .rgba-text>sky-input-box{flex:2}.sky-colorpicker .rgba-text>fieldset{display:flex;flex:4}.sky-colorpicker .rgba-text sky-input-box:last-child{margin:0}.sky-colorpicker-checkered-background{position:absolute;top:0;left:0;height:var(--sky-override-colorpicker-button-size, calc(var(--sky-font-line_height-body-m) * var(--sky-font-size-body-m) + var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)));width:var(--sky-override-colorpicker-button-size, calc(var(--sky-font-line_height-body-m) * var(--sky-font-size-body-m) + var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)));background:-webkit-linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),-webkit-linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),#fff;background:-moz-linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),-moz-linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),#fff;background:linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),#fff;background-repeat:repeat,repeat;background-position:0px 0,5px 5px;-webkit-transform-origin:0 0 0;transform-origin:0 0 0;-webkit-background-origin:padding-box,padding-box;background-origin:padding-box,padding-box;-webkit-background-clip:border-box,border-box;background-clip:border-box,border-box;-webkit-background-size:10px 10px,10px 10px;background-size:10px 10px,10px 10px;-webkit-box-shadow:none;border-radius:var(--sky-override-colorpicker-button-border-radius, var(--sky-border-radius-s));box-shadow:none;text-shadow:none;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;-webkit-transform:scaleX(1) scaleY(1) scaleZ(1);transform:scaleX(1) scaleY(1) scaleZ(1)}.sky-color-picker-label-wrapper .sky-control-label{color:var(--sky-override-colorpicker-label-color, var(--sky-color-text-default));margin-bottom:var(--sky-override-colorpicker-label-space, var(--sky-space-gap-form-xs));font-size:var(--sky-override-colorpicker-label-font-size, var(--sky-font-size-input-label));font-style:var(--sky-font-style-input-label);font-weight:var(--sky-override-colorpicker-label-font-weight, var(--sky-font-weight-input-label));letter-spacing:var(--sky-font-letter_spacing-input-label);line-height:var(--sky-override-colorpicker-label-line-height, var(--sky-font-line_height-input-label))}.sky-theme-modern .sky-colorpicker-button.sky-colorpicker-button-disabled{background-color:var(--sky-color-background-input-disabled)!important}.sky-theme-modern .sky-colorpicker-button.sky-colorpicker-button-disabled .sky-colorpicker-button-modern-chevron{background-color:var(--sky-color-background-input-disabled);border-left:1px solid var(--sky-color-border-action-secondary-disabled);border-top:1px solid var(--sky-color-border-action-secondary-disabled)}.sky-theme-modern .sky-colorpicker-button.sky-colorpicker-button-disabled .sky-colorpicker-button-icon{color:var(--sky-color-text-deemphasized)!important}.sky-theme-modern .rgba-text{flex-wrap:wrap}.sky-theme-modern .rgba-text>sky-input-box:first-child{width:100%;flex:0 1 auto;margin:0 0 var(--sky-space-gap-form-s) 0}.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn:nth-child(5n){margin:0 0 var(--sky-space-gap-form-m) 0}\n"] }]
|
|
1468
|
+
], encapsulation: ViewEncapsulation.None, standalone: false, template: "<span class=\"sky-color-picker-label-wrapper\">\n @if (labelText) {\n <label\n class=\"sky-control-label\"\n [ngClass]=\"{\n 'sky-screen-reader-only': labelHidden,\n 'sky-control-label-required': requiredState?.isRequired()\n }\"\n [for]=\"inputId\"\n >{{ labelText }}</label\n >\n @if ((helpPopoverContent || helpKey) && !labelHidden) {\n <span class=\"sky-control-help-container\">\n <sky-help-inline\n [helpKey]=\"helpKey\"\n [labelText]=\"labelText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n </span>\n }\n }\n</span>\n\n<div\n class=\"sky-colorpicker-input-group sky-input-group\"\n [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 #triggerButtonRef\n aria-haspopup=\"dialog\"\n class=\"sky-colorpicker-button\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? colorpickerId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n [attr.aria-label]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-button-disabled': disabled,\n 'sky-colorpicker-error':\n (ngControl?.touched || ngControl?.dirty) && ngControl?.errors\n }\"\n [style.background-color]=\"backgroundColorForDisplay\"\n (click)=\"onTriggerButtonClick()\"\n >\n @if (pickerButtonIcon) {\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-colorpicker-button-icon\"\n variant=\"solid\"\n iconSize=\"s\"\n [iconName]=\"pickerButtonIcon\"\n [style.color]=\"iconColor\"\n />\n <sky-icon\n *skyThemeIf=\"'modern'\"\n class=\"sky-colorpicker-button-icon\"\n variant=\"solid\"\n [iconName]=\"pickerButtonIcon\"\n [style.color]=\"iconColor\"\n />\n }\n <ng-container *skyThemeIf=\"'modern'\">\n <sky-icon\n class=\"sky-colorpicker-button-modern-chevron\"\n iconName=\"chevron-down\"\n iconSize=\"xxs\"\n [ngClass]=\"{\n 'sky-colorpicker-button-modern-chevron-disabled': disabled\n }\"\n />\n </ng-container>\n </button>\n\n <ng-template #colorpickerTemplateRef>\n <div\n #colorpickerRef\n class=\"sky-colorpicker-container\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"colorpickerId\"\n [hidden]=\"!isPickerVisible\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n [cdkTrapFocus]=\"true\"\n [cdkTrapFocusAutoCapture]=\"false\"\n >\n <div class=\"sky-colorpicker\">\n <div\n class=\"saturation-lightness\"\n [color]=\"slider.saturation - slider.value + ''\"\n [skyColorpickerSlider]\n [style.background-color]=\"hueSliderColor\"\n [xAxis]=\"1\"\n [yAxis]=\"1\"\n (newColorContrast)=\"saturationAndLightness = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.saturation\"\n [style.top.px]=\"slider.value\"\n ></div>\n </div>\n\n <div class=\"box\">\n <div class=\"left\">\n <div class=\"selected-color-background sky-rounded-circle\"></div>\n <div\n class=\"selected-color sky-rounded-circle\"\n [style.background-color]=\"selectedColor?.rgbaText\"\n ></div>\n </div>\n <div class=\"right\">\n <div\n #hueSlider\n class=\"hue\"\n [skyColorpickerSlider]\n [xAxis]=\"1\"\n (newColorContrast)=\"hue = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.hue\"\n ></div>\n </div>\n @if (allowTransparency) {\n <div\n #alphaSlider\n class=\"alpha\"\n [skyColorpickerSlider]\n [style.background-color]=\"alphaSliderColor\"\n [xAxis]=\"1\"\n (newColorContrast)=\"alphaAxis = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.alpha\"\n ></div>\n </div>\n }\n </div>\n </div>\n\n <div\n class=\"rgba-text\"\n (keydown.enter)=\"onContainerEnterKeyDown($event)\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_hex' | skyLibResources\"\n [attr.for]=\"skyColorpickerHexId\"\n >\n {{ 'skyux_colorpicker_hex' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n pattern=\"^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$\"\n [attr.id]=\"skyColorpickerHexId\"\n [skyColorpickerText]\n [value]=\"hexText\"\n (newColorContrast)=\"hex = $event\"\n />\n </sky-input-box>\n\n <fieldset\n [attr.aria-label]=\"'skyux_colorpicker_aria_rgba' | skyLibResources\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_red' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerRedId\"\n >\n {{ 'skyux_colorpicker_red' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerRedId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.red\"\n (newColorContrast)=\"red = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_green' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerGreenId\"\n >\n {{ 'skyux_colorpicker_green' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerGreenId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.green\"\n (newColorContrast)=\"green = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_blue' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerBlueId\"\n >\n {{ 'skyux_colorpicker_blue' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerBlueId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.blue\"\n (newColorContrast)=\"blue = $event\"\n />\n </sky-input-box>\n @if (allowTransparency) {\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_alpha' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerAlphaId\"\n >\n {{ 'skyux_colorpicker_alpha' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"1\"\n min=\"0\"\n pattern=\"[0-9]+([\\.,][0-9]{1,2})?\"\n step=\"0.1\"\n type=\"number\"\n [attr.id]=\"skyColorpickerAlphaId\"\n [maxRange]=\"1\"\n [skyColorpickerText]\n [value]=\"rgbaText?.alpha\"\n (newColorContrast)=\"alphaColor = $event\"\n />\n </sky-input-box>\n }\n </fieldset>\n </div>\n @if (presetColors && presetColors.length) {\n <div class=\"sky-colorpicker-preset-color-area\">\n @for (\n color of presetColors | slice: 0 : 12;\n track color;\n let i = $index\n ) {\n <button\n class=\"sky-preset-color\"\n type=\"button\"\n [attr.aria-label]=\"\n ('skyux_colorpicker_preset_color' | skyLibResources) +\n ' ' +\n color\n \"\n [skyThemeClass]=\"{\n 'sky-btn sky-btn-link': 'modern'\n }\"\n [style.backgroundColor]=\"color\"\n (click)=\"onPresetClick(color)\"\n ></button>\n }\n </div>\n }\n </div>\n\n <div class=\"sky-colorpicker-footer\">\n <section class=\"sky-colorpicker-column\">\n <button\n class=\"sky-btn sky-btn-primary sky-btn-colorpicker-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_apply' | skyLibResources\"\n (click)=\"onApplyColorClick()\"\n >\n {{ 'skyux_colorpicker_apply' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-btn-colorpicker-close\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_close' | skyLibResources\"\n (click)=\"onCancelClick()\"\n >\n {{ 'skyux_colorpicker_close' | skyLibResources }}\n </button>\n </section>\n </div>\n </div>\n </ng-template>\n @if (allowTransparency) {\n <span aria-hidden=\"true\" class=\"sky-colorpicker-checkered-background\">\n </span>\n }\n\n @if (showResetButton) {\n <button\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_reset' | skyLibResources\"\n [disabled]=\"disabled\"\n [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'\" iconName=\"close\" iconSize=\"s\" />\n <sky-icon *skyThemeIf=\"'modern'\" iconName=\"delete\" />\n </button>\n }\n</div>\n\n<div #hintTextEl=\"skyId\" skyId>\n @if (hintText) {\n <div\n class=\"sky-colorpicker-hint-text\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'default',\n 'sky-font-hint-text-s': 'modern'\n }\"\n >\n {{ hintText }}\n </div>\n }\n</div>\n\n<sky-form-errors\n [id]=\"errorId\"\n [errors]=\"ngControl?.errors\"\n [labelText]=\"labelText\"\n [touched]=\"ngControl?.touched\"\n [dirty]=\"ngControl?.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n", styles: [".sky-color-picker-label-wrapper:not(.sky-theme-modern *){--sky-override-colorpicker-label-color: var(--sky-text-color-default);--sky-override-colorpicker-label-space: 5px;--sky-override-colorpicker-label-font-size: 15px;--sky-override-colorpicker-label-font-weight: 400;--sky-override-colorpicker-label-line-height: normal}.sky-colorpicker-hint-text:not(.sky-theme-modern *){--sky-override-colorpicker-hint-text-space: var(--sky-margin-stacked-xs)}.sky-colorpicker-input-group:not(.sky-theme-modern *){--sky-override-colorpicker-button-background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%3Cdefs%3E%3Cpath%20id%3D%22a%22%20d%3D%22M0%200h30v30H0V0zm14.5%204H4v22h14v-8h8V4H14.5z%22%2F%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cuse%20fill%3D%22%23FFF%22%20xlink%3Ahref%3D%22%23a%22%2F%3E%3Cpath%20stroke%3D%22%23CCC%22%20d%3D%22M.5.5v29h29V.5H.5zm18%2018v8h-15v-23h23v15h-8z%22%2F%3E%3Cpath%20fill%3D%22%23292A2B%22%20d%3D%22M23.5%2025L21%2022h5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);--sky-override-colorpicker-button-border-radius: 0;--sky-override-colorpicker-button-box-shadow: none;--sky-override-colorpicker-button-box-shadow-focus: none;--sky-override-colorpicker-button-error-border: 1px solid var(--sky-highlight-color-danger);--sky-override-colorpicker-button-error-box-shadow: 0 0 8px rgba(239, 64, 68, .6);--sky-override-colorpicker-button-focus-outline: -webkit-focus-ring-color auto 5px;--sky-override-colorpicker-button-size: 30px;--sky-override-colorpicker-disabled-cursor: default;--sky-override-colorpicker-disabled-opacity: .65;--sky-override-colorpicker-icon-font-size: 12px}.sky-colorpicker-container:not(.sky-theme-modern *){--sky-override-colorpicker-alpha-margin-top: 16px;--sky-override-colorpicker-background-color: #fff;--sky-override-colorpicker-bottom-radius: 0;--sky-override-colorpicker-box-padding: 4px 8px;--sky-override-colorpicker-current-color-padding: 16px 8px;--sky-override-colorpicker-current-controls-padding: 12px 8px;--sky-override-colorpicker-footer-border-top: 1px solid #e2e3e4;--sky-override-colorpicker-footer-button-spacing: 0;--sky-override-colorpicker-footer-padding: 15px;--sky-override-colorpicker-hue-alpha-height: 16px;--sky-override-colorpicker-input-font-size: 14px;--sky-override-colorpicker-input-height: 26px;--sky-override-colorpicker-input-label-margin: 0 0 8px 0;--sky-override-colorpicker-input-padding: 1px;--sky-override-colorpicker-input-text-align: center;--sky-override-colorpicker-rgba-padding: 7px 15px 15px;--sky-override-colorpicker-rgba-space-between: 8px;--sky-override-colorpicker-selected-color-left: 8px;--sky-override-colorpicker-selected-color-size: 40px;--sky-override-colorpicker-selected-color-top: 16px;--sky-override-colorpicker-selector-size: 17px;--sky-override-colorpicker-swatch-area-padding: 0 9px 15px 9px;--sky-override-colorpicker-swatch-border-radius: 0;--sky-override-colorpicker-swatch-border: 1px solid #e2e3e4;--sky-override-colorpicker-swatch-hover-border: #ffffff solid 2px;--sky-override-colorpicker-swatch-hover-box-shadow: 0 0 0 1px #cdcfd2, 0 0 0 2px #e2e3e4;--sky-override-colorpicker-swatch-hover-margin: 4px;--sky-override-colorpicker-swatch-margin: 5px;--sky-override-colorpicker-swatch-size-hover: 34px;--sky-override-colorpicker-swatch-size: 32px;--sky-override-colorpicker-width: 270px;--sky-override-colorpicker-rgba-font-size: 18px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-color-picker-label-wrapper{--sky-override-colorpicker-label-color: var(--sky-text-color-deemphasized);--sky-override-colorpicker-label-font-size: 16px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-colorpicker-input-group{--sky-override-colorpicker-button-border-color: var(--modern-color-gray-15);--sky-override-colorpicker-button-box-shadow-focus: inset 0 0 0 var(--sky-border-width-input-focus) var(--sky-color-border-input-focus), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-container-base), inset 0 0 0 var(--sky-color-picker-inner-border-size) var( --sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base) ), var(--sky-elevation-focus);--sky-override-colorpicker-button-size: 40px;--sky-override-colorpicker-reset-button-size: 40px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-colorpicker-container{--sky-override-colorpicker-box-padding: 15px 30px;--sky-override-colorpicker-footer-padding: 10px 10px 15px;--sky-override-colorpicker-rgba-padding: 0 10px 10px;--sky-override-colorpicker-selected-color-size: 46px;--sky-override-colorpicker-swatch-area-padding: 10px 10px 15px;--sky-override-colorpicker-swatch-border-radius: 4px;--sky-override-colorpicker-swatch-size-hover: 46px;--sky-override-colorpicker-swatch-size: 46px;--sky-override-colorpicker-width: 310px}sky-colorpicker.sky-form-field-stacked{display:block}.sky-colorpicker-container{position:fixed;max-height:100vh;overflow-y:auto;overflow-x:hidden;background-color:var(--sky-override-colorpicker-background-color, var(--sky-color-background-container-menu));border-radius:0 0 var(--sky-border-radius-s) var(--sky-border-radius-s)}.sky-colorpicker-button{--sky-colorpicker-border-padding-size: calc( var(--sky-border-width-input-base) + calc(var(--sky-border-width-input-base) * 2) );--sky-color-picker-inner-border-size: calc( var(--sky-colorpicker-border-padding-size) + var(--sky-border-width-input-base) );height:var(--sky-override-colorpicker-button-size, calc(var(--sky-font-line_height-body-m) * var(--sky-font-size-body-m) + var(--sky-comp-button-icon-space-inset-top) + var(--sky-comp-button-icon-space-inset-bottom)));width:var(--sky-override-colorpicker-button-size, calc(var(--sky-font-line_height-body-m) * var(--sky-font-size-body-m) + var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)));border:none;border-radius:var(--sky-override-colorpicker-button-border-radius, var(--sky-border-radius-s));box-shadow:var(--sky-override-colorpicker-button-box-shadow, inset 0 0 0 var(--sky-border-width-input-base) var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base)), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-container-base), inset 0 0 0 var(--sky-color-picker-inner-border-size) var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base)));cursor:pointer;position:relative;z-index:1}.sky-colorpicker-button:hover{box-shadow:var(--sky-override-colorpicker-button-box-shadow, inset 0 0 0 var(--sky-border-width-input-hover) var(--sky-color-border-input-hover), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-container-base), inset 0 0 0 var(--sky-color-picker-inner-border-size) var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base)))}.sky-colorpicker-button:focus-visible:not(:active){box-shadow:var(--sky-override-colorpicker-button-box-shadow-focus, inset 0 0 0 var(--sky-border-width-input-focus) var(--sky-color-border-input-focus), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-container-base), inset 0 0 0 var(--sky-color-picker-inner-border-size) var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base)));outline:var(--sky-override-colorpicker-button-focus-outline)}.sky-colorpicker-button.sky-colorpicker-button-disabled{cursor:var(--sky-override-colorpicker-disabled-cursor, not-allowed);box-shadow:var(--sky-override-colorpicker-button-box-shadow, inset 0 0 0 var(--sky-border-width-input-disabled) var(--sky-color-border-action-secondary-disabled), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-input-disabled), inset 0 0 0 var(--sky-color-picker-inner-border-size) var(--sky-color-border-action-secondary-disabled))}.sky-colorpicker-disabled{opacity:var(--sky-override-colorpicker-disabled-opacity);cursor:default}.sky-colorpicker-button,.sky-colorpicker-button:active{background-image:var(--sky-override-colorpicker-button-background-image)}.sky-colorpicker-hidden{width:0px;height:0px;overflow:hidden}.sky-colorpicker-hint-text{margin-top:var(--sky-override-colorpicker-hint-text-space, var(--sky-space-gap-stacked_supplemental-s))}.sky-colorpicker-error{background-origin:border-box;box-shadow:var(--sky-override-colorpicker-button-error-box-shadow, inset 0 0 0 var(--sky-border-width-input-error) var(--sky-color-border-input-error), inset 0 0 0 var(--sky-colorpicker-border-padding-size) var(--sky-color-background-container-base), inset 0 0 0 calc(var(--sky-colorpicker-border-padding-size) + var(--sky-border-width-action-base)) var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base)));border:var(--sky-override-colorpicker-button-error-border);outline:none}.sky-colorpicker-reset-button{background-color:#fff;margin-left:5px;border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px #cdcfd2;width:30px;height:30px;cursor:pointer;color:#686c73}.sky-colorpicker-reset-button:hover{color:#383a3d}.sky-colorpicker-reset-button.sky-colorpicker-reset-button-disabled{color:#686c73;cursor:default}.sky-colorpicker-input-group{position:relative;z-index:0}.sky-colorpicker-input-group .sky-colorpicker-reset-button-modern{width:var(--sky-override-colorpicker-reset-button-size);height:var(--sky-override-colorpicker-reset-button-size);margin-left:var(--sky-space-gap-action_group-m)}.sky-colorpicker-input-group .sky-colorpicker-reset-button-modern.sky-colorpicker-reset-button-disabled{background-color:var(--sky-color-background-action-tertiary-disabled)}.sky-colorpicker-input-group .sky-colorpicker-button-modern-chevron{position:absolute;background-color:var(--sky-color-background-container-base);border-top-left-radius:calc(var(--sky-border-radius-s) - var(--sky-colorpicker-border-padding-size));border-bottom-right-radius:calc(var(--sky-border-radius-s) - var(--sky-colorpicker-border-padding-size));border-left:var(--sky-border-width-input-base) solid var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base));border-top:var(--sky-border-width-input-base) solid var(--sky-override-colorpicker-button-border-color, var(--sky-color-border-input-base));bottom:var(--sky-colorpicker-border-padding-size);color:var(--sky-color-icon-default);right:var(--sky-colorpicker-border-padding-size)}.sky-colorpicker-input-group .sky-colorpicker-button-modern-chevron.sky-colorpicker-button-modern-chevron-disabled{color:var(--sky-color-text-deemphasized)}.sky-colorpicker-footer{border-top:var(--sky-override-colorpicker-footer-border-top, none);padding:var(--sky-override-colorpicker-footer-padding, var(--sky-comp-colorpicker-content-space-inset-top) var(--sky-comp-colorpicker-content-space-inset-right) var(--sky-comp-colorpicker-content-space-inset-bottom) var(--sky-comp-colorpicker-content-space-inset-left))}.sky-colorpicker-footer .sky-btn-colorpicker-apply{margin-right:var(--sky-override-colorpicker-footer-button-spacing, var(--sky-space-gap-action_group-m))}.sky-colorpicker *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0}.sky-colorpicker{cursor:default;width:var(--sky-override-colorpicker-width, calc(var(--sky-size-width-viewport-smallest) - (var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right))));height:auto;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sky-colorpicker i{cursor:default;position:relative}.sky-colorpicker input{text-align:var(--sky-override-colorpicker-input-text-align);font-size:var(--sky-override-colorpicker-input-font-size);height:var(--sky-override-colorpicker-input-height)}.sky-colorpicker input:invalid{box-shadow:none}.sky-colorpicker input:-moz-submit-invalid{box-shadow:none}.sky-colorpicker input:-moz-ui-invalid{box-shadow:none}.sky-colorpicker input::-webkit-inner-spin-button,.sky-colorpicker input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sky-colorpicker input[type=number].sky-form-control{-moz-appearance:textfield!important}.sky-colorpicker .sky-colorpicker-preset-color-area{padding:var(--sky-override-colorpicker-swatch-area-padding, var(--sky-comp-colorpicker-content-space-inset-top) var(--sky-comp-colorpicker-content-space-inset-right) var(--sky-comp-colorpicker-content-space-inset-bottom) var(--sky-comp-colorpicker-content-space-inset-left));display:flex;flex-direction:row;flex-wrap:wrap}.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color{cursor:pointer;width:var(--sky-override-colorpicker-swatch-size, calc((var(--sky-size-width-viewport-smallest) - (var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)) - (var(--sky-comp-colorpicker-content-space-inset-left) + var(--sky-comp-colorpicker-content-space-inset-right)) - var(--sky-space-gap-form-m) * 4) / 5));height:var(--sky-override-colorpicker-swatch-size, calc((var(--sky-size-width-viewport-smallest) - (var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)) - (var(--sky-comp-colorpicker-content-space-inset-left) + var(--sky-comp-colorpicker-content-space-inset-right)) - var(--sky-space-gap-form-m) * 4) / 5));border-radius:var(--sky-override-colorpicker-swatch-border-radius, var(--sky-border-radius-s));margin:var(--sky-override-colorpicker-swatch-margin, 0 var(--sky-space-gap-form-m) var(--sky-space-gap-form-m) 0)}.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color:not(:active),.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color:not(:hover),.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color:not(:focus){border:var(--sky-override-colorpicker-swatch-border, var(--sky-border-width-input-base) solid var(--sky-color-border-input-base))}.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color:hover{cursor:pointer;border:var(--sky-override-colorpicker-swatch-hover-border, var(--sky-border-width-input-base) solid var(--sky-color-border-input-base));margin:var(--sky-override-colorpicker-swatch-hover-margin, 0 var(--sky-space-gap-form-m) var(--sky-space-gap-form-m) 0);width:var(--sky-override-colorpicker-swatch-size-hover, calc((var(--sky-size-width-viewport-smallest) - (var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)) - (var(--sky-comp-colorpicker-content-space-inset-left) + var(--sky-comp-colorpicker-content-space-inset-right)) - var(--sky-space-gap-form-m) * 4) / 5));height:var(--sky-override-colorpicker-swatch-size-hover, calc((var(--sky-size-width-viewport-smallest) - (var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)) - (var(--sky-comp-colorpicker-content-space-inset-left) + var(--sky-comp-colorpicker-content-space-inset-right)) - var(--sky-space-gap-form-m) * 4) / 5));box-shadow:var(--sky-override-colorpicker-swatch-hover-box-shadow, inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-tertiary-hover))}.sky-colorpicker div.cursor{cursor:default;position:relative;width:var(--sky-override-colorpicker-selector-size, calc(var(--sky-font-size-body-m) + 1px));height:var(--sky-override-colorpicker-selector-size, calc(var(--sky-font-size-body-m) + 1px));border:#ffffff solid 2px;outline:thin solid}.sky-colorpicker .saturation-lightness{cursor:pointer;width:100%;height:170px;border:none;background-size:100% 100%;background-image:url(https://sky.blackbaudcdn.net/static/skyux-public-assets/1.0.0-beta.4/assets/images/colorpicker/saturation-lightness.webp)}.sky-colorpicker .box{display:flex;padding:var(--sky-override-colorpicker-box-padding, var(--sky-comp-colorpicker-content-space-inset-top) var(--sky-comp-colorpicker-content-space-inset-right) var(--sky-comp-colorpicker-content-space-inset-bottom) var(--sky-comp-colorpicker-content-space-inset-left))}.sky-colorpicker .box .left{position:relative;padding:var(--sky-override-colorpicker-current-color-padding, 0 var(--sky-space-gap-form-xl) 0 0)}.sky-colorpicker .box .right{flex:1 1 auto;padding:var(--sky-override-colorpicker-current-controls-padding);display:flex;flex-direction:column;justify-content:center}.sky-colorpicker .hue{cursor:pointer;width:100%;height:var(--sky-override-colorpicker-hue-alpha-height, var(--sky-font-size-body-m));border:none;background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC)}.sky-colorpicker .alpha{cursor:pointer;width:100%;height:var(--sky-override-colorpicker-hue-alpha-height, var(--sky-font-size-body-m));border:none;margin-top:var(--sky-override-colorpicker-alpha-margin-top, var(--sky-space-gap-form-s));background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwYQlZMa3gAAAWVJREFUaN7tmEGO6jAQRCsOArHgBpyAJYGjcGocxAm4A2IHpmoWE0eBH+ezmFlNvU06shJ3W6VEelWMUQAIIF9f6qZpimsA1LYtS2uF51/u27YVAFZVRUkEoGHdPV/sIcbIEIIkUdI/9Xa7neyv61+SWFUVAVCSct00TWn2fv6u3+Ecfd3tXzy/0+nEUu+SPjo/kqzrmiQpScN6v98XewfA8/lMkiLJ2WxGSUopcT6fM6U0NX9/frfbjev1WtfrlZfLhYfDQQHG/AIOlnGwjINlHCxjHCzjYJm/TJWdCwquJXseFFzGwDNNeiKMOJTO8xQdDQaeB29+K9efeLaBo9J7vdvtJj1RjFFjfiv7qv95tjx/7leSQgh93e1ffMeIp6O+YQjho/N791t1XVOSSI7N//K+4/GoxWLBx+PB5/Op5XLJ+/3OlJJWqxU3m83ovv5iGf8KjYNlHCxjHCzjYBkHy5gf5gusvQU7U37jTAAAAABJRU5ErkJggg==)}.sky-colorpicker .selected-color{width:var(--sky-override-colorpicker-selected-color-size, calc(var(--sky-font-size-body-m) * 2 + var(--sky-space-gap-form-s)));height:var(--sky-override-colorpicker-selected-color-size, calc(var(--sky-font-size-body-m) * 2 + var(--sky-space-gap-form-s)));top:var(--sky-override-colorpicker-selected-color-top, 0);left:var(--sky-override-colorpicker-selected-color-left, 0);position:absolute}.sky-colorpicker .selected-color-background{width:var(--sky-override-colorpicker-selected-color-size, calc(var(--sky-font-size-body-m) * 2 + var(--sky-space-gap-form-s)));height:var(--sky-override-colorpicker-selected-color-size, calc(var(--sky-font-size-body-m) * 2 + var(--sky-space-gap-form-s)));background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYR+2W0QlAMQgD60zdfwOdqa8TmI/wQMr5K0I5bZLIzLOa2nt37VVVbd+dDx5obgCC3KBLwJ2ff4PnVidkf+ucIhw80HQaCLo3DMH3CRK3iFsmAWVl6hPNDwt8EvNE5q+YuEXcMgkonVM6SdyCoEvAnZ8v1Hjx817MilmxSUB5rdLJDycZgUAZUch/AAAAAElFTkSuQmCC)}.sky-colorpicker .rgba-text{width:100%;font-size:var(--sky-override-colorpicker-rgba-font-size);padding:var(--sky-override-colorpicker-rgba-padding, var(--sky-comp-colorpicker-content-space-inset-top) var(--sky-comp-colorpicker-content-space-inset-right) var(--sky-comp-colorpicker-content-space-inset-bottom) var(--sky-comp-colorpicker-content-space-inset-left));display:flex}.sky-colorpicker .rgba-text input{min-width:0;padding:var(--sky-override-colorpicker-input-padding)}.sky-colorpicker .rgba-text label{margin:var(--sky-override-colorpicker-input-label-margin)}.sky-colorpicker .rgba-text sky-input-box{flex:1;margin:0 var(--sky-override-colorpicker-rgba-space-between, var(--sky-space-gap-form-s)) 0 0}.sky-colorpicker .rgba-text>sky-input-box{flex:2}.sky-colorpicker .rgba-text>fieldset{display:flex;flex:4}.sky-colorpicker .rgba-text sky-input-box:last-child{margin:0}.sky-colorpicker-checkered-background{position:absolute;top:0;left:0;height:var(--sky-override-colorpicker-button-size, calc(var(--sky-font-line_height-body-m) * var(--sky-font-size-body-m) + var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)));width:var(--sky-override-colorpicker-button-size, calc(var(--sky-font-line_height-body-m) * var(--sky-font-size-body-m) + var(--sky-comp-button-icon-space-inset-left) + var(--sky-comp-button-icon-space-inset-right)));background:-webkit-linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),-webkit-linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),#fff;background:-moz-linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),-moz-linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),#fff;background:linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),#fff;background-repeat:repeat,repeat;background-position:0px 0,5px 5px;-webkit-transform-origin:0 0 0;transform-origin:0 0 0;-webkit-background-origin:padding-box,padding-box;background-origin:padding-box,padding-box;-webkit-background-clip:border-box,border-box;background-clip:border-box,border-box;-webkit-background-size:10px 10px,10px 10px;background-size:10px 10px,10px 10px;-webkit-box-shadow:none;border-radius:var(--sky-override-colorpicker-button-border-radius, var(--sky-border-radius-s));box-shadow:none;text-shadow:none;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;-webkit-transform:scaleX(1) scaleY(1) scaleZ(1);transform:scaleX(1) scaleY(1) scaleZ(1)}.sky-color-picker-label-wrapper .sky-control-label{color:var(--sky-override-colorpicker-label-color, var(--sky-color-text-default));margin-bottom:var(--sky-override-colorpicker-label-space, var(--sky-space-gap-form-xs));font-size:var(--sky-override-colorpicker-label-font-size, var(--sky-font-size-input-label));font-style:var(--sky-font-style-input-label);font-weight:var(--sky-override-colorpicker-label-font-weight, var(--sky-font-style-input-label));letter-spacing:var(--sky-font-letter_spacing-input-label);line-height:var(--sky-override-colorpicker-label-line-height, var(--sky-font-line_height-input-label))}.sky-theme-modern .sky-colorpicker-button.sky-colorpicker-button-disabled{background-color:var(--sky-color-background-input-disabled)!important}.sky-theme-modern .sky-colorpicker-button.sky-colorpicker-button-disabled .sky-colorpicker-button-modern-chevron{background-color:var(--sky-color-background-input-disabled);border-left:1px solid var(--sky-color-border-action-secondary-disabled);border-top:1px solid var(--sky-color-border-action-secondary-disabled)}.sky-theme-modern .sky-colorpicker-button.sky-colorpicker-button-disabled .sky-colorpicker-button-icon{color:var(--sky-color-text-deemphasized)!important}.sky-theme-modern .rgba-text{flex-wrap:wrap}.sky-theme-modern .rgba-text>sky-input-box:first-child{width:100%;flex:0 1 auto;margin:0 0 var(--sky-space-gap-form-s) 0}.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn:nth-child(5n){margin:0 0 var(--sky-space-gap-form-m) 0}\n"] }]
|
|
1469
1469
|
}], ctorParameters: () => [{ type: i1.SkyAffixService }, { type: i0.ChangeDetectorRef }, { type: i1.SkyCoreAdapterService }, { type: i1.SkyOverlayService }, { type: SkyColorpickerService }, { type: i3.SkyThemeService, decorators: [{
|
|
1470
1470
|
type: Optional
|
|
1471
1471
|
}] }], propDecorators: { pickerButtonIcon: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-colorpicker.mjs","sources":["../../../../../libs/components/colorpicker/src/lib/modules/shared/sky-colorpicker-resources.module.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-input.service.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.service.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-input.directive.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-slider.directive.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-text.directive.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-classes.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/types/colorpicker-message-type.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.component.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.component.html","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.module.ts","../../../../../libs/components/colorpicker/src/skyux-colorpicker.ts"],"sourcesContent":["/* istanbul ignore file */\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-colorpicker' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_colorpicker_alpha: { message: 'A:' },\n skyux_colorpicker_apply: { message: 'Apply' },\n skyux_colorpicker_aria_alpha: {\n message: 'Alpha channel value between 0 and 1',\n },\n skyux_colorpicker_aria_blue: { message: 'Blue value between 0 and 255' },\n skyux_colorpicker_aria_green: { message: 'Green value between 0 and 255' },\n skyux_colorpicker_aria_hex: { message: 'Hexadecimal color code' },\n skyux_colorpicker_aria_red: { message: 'Red value between 0 and 255' },\n skyux_colorpicker_aria_rgba: { message: 'RGBA values' },\n skyux_colorpicker_blue: { message: 'B:' },\n skyux_colorpicker_close: { message: 'Cancel' },\n skyux_colorpicker_dropdown_button: { message: 'Select color value' },\n skyux_colorpicker_green: { message: 'G:' },\n skyux_colorpicker_hex: { message: 'Hex:' },\n skyux_colorpicker_input_default_label: { message: 'Color value' },\n skyux_colorpicker_preset_color: { message: 'Preset Color:' },\n skyux_colorpicker_red: { message: 'R:' },\n skyux_colorpicker_reset: { message: 'Reset color value to white' },\n },\n 'FR-CA': {\n skyux_colorpicker_alpha: { message: 'A :' },\n skyux_colorpicker_apply: { message: 'Appliquer' },\n skyux_colorpicker_aria_alpha: {\n message: 'Valeur du canal alpha entre 0 et 1',\n },\n skyux_colorpicker_aria_blue: { message: 'Valeur bleue entre 0 et 255' },\n skyux_colorpicker_aria_green: { message: 'Valeur verte entre 0 et 255' },\n skyux_colorpicker_aria_hex: { message: 'Code de couleur hexadécimal' },\n skyux_colorpicker_aria_red: { message: 'Valeur rouge entre 0 et 255' },\n skyux_colorpicker_aria_rgba: { message: 'Valeurs RGBA' },\n skyux_colorpicker_blue: { message: 'B :' },\n skyux_colorpicker_close: { message: 'Annuler' },\n skyux_colorpicker_dropdown_button: {\n message: 'Sélectionner la valeur de la couleur',\n },\n skyux_colorpicker_green: { message: 'G :' },\n skyux_colorpicker_hex: { message: 'Hexadécimale :' },\n skyux_colorpicker_input_default_label: { message: 'Valeur de la couleur' },\n skyux_colorpicker_preset_color: { message: 'Couleur prédéfinie :' },\n skyux_colorpicker_red: { message: 'R :' },\n skyux_colorpicker_reset: {\n message: 'Réinitialiser la valeur de la couleur à blanc',\n },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkyColorpickerResourcesModule {}\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { ReplaySubject } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyColorpickerInputService implements OnDestroy {\n public inputId = new ReplaySubject<string>(1);\n public labelText = new ReplaySubject<string | undefined>(1);\n public ariaError = new ReplaySubject<{ hasError: boolean; errorId: string }>(\n 1,\n );\n\n public ngOnDestroy(): void {\n this.inputId.complete();\n this.labelText.complete();\n this.ariaError.complete();\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkyColorpickerCmyk } from './types/colorpicker-cmyk';\nimport { SkyColorpickerHsla } from './types/colorpicker-hsla';\nimport { SkyColorpickerHsva } from './types/colorpicker-hsva';\nimport { SkyColorpickerOutput } from './types/colorpicker-output';\nimport { SkyColorpickerRgba } from './types/colorpicker-rgba';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyColorpickerService {\n public rgbaToHsva(rgba: SkyColorpickerRgba): SkyColorpickerHsva {\n const red = Math.min(rgba.red, 1);\n const green = Math.min(rgba.green, 1);\n const blue = Math.min(rgba.blue, 1);\n const alpha = Math.min(rgba.alpha, 1);\n const max = Math.max(red, green, blue);\n const min = Math.min(red, green, blue);\n const value = max;\n const d = max - min;\n const saturation = max === 0 ? 0 : d / max;\n let hue = 0;\n let maxValue: Record<number, number>;\n if (max !== min) {\n maxValue = {\n [red]: (green - blue) / d + (green < blue ? 6 : 0),\n [green]: (blue - red) / d + 2,\n [blue]: (red - green) / d + 4,\n };\n hue = maxValue[max];\n hue /= 6;\n }\n const hsva: SkyColorpickerHsva = {\n hue: hue,\n saturation: saturation,\n value: value,\n alpha: alpha,\n };\n return hsva;\n }\n\n public hsvaToRgba(hsva: SkyColorpickerHsva): SkyColorpickerRgba {\n let red = 0;\n let green = 0;\n let blue = 0;\n const hue = hsva.hue;\n const saturation = hsva.saturation;\n const value = hsva.value;\n const alpha = hsva.alpha || hsva.alpha === 0 ? hsva.alpha : 1;\n const i = Math.floor(hue * 6);\n const f = hue * 6 - i;\n const p = value * (1 - saturation);\n const q = value * (1 - f * saturation);\n const t = value * (1 - (1 - f) * saturation);\n const color: Record<number, () => void> = {\n 0: (): void => {\n red = value;\n green = t;\n blue = p;\n },\n 1: (): void => {\n red = q;\n green = value;\n blue = p;\n },\n 2: (): void => {\n red = p;\n green = value;\n blue = t;\n },\n 3: (): void => {\n red = p;\n green = q;\n blue = value;\n },\n 4: (): void => {\n red = t;\n green = p;\n blue = value;\n },\n 5: (): void => {\n red = value;\n green = p;\n blue = q;\n },\n };\n color[i % 6]();\n\n const rgba: SkyColorpickerRgba = {\n red: red,\n green: green,\n blue: blue,\n alpha: alpha,\n };\n return rgba;\n }\n\n public stringToHsva(\n colorString: string,\n hex8: boolean,\n ): SkyColorpickerHsva | undefined {\n const stringParsers: {\n re: RegExp;\n parse: (\n execResult: RegExpExecArray,\n ) => SkyColorpickerRgba | SkyColorpickerHsla;\n }[] = [\n {\n re: /(rgb)a?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*%?,\\s*(\\d{1,3})\\s*%?(?:,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)/,\n parse: (execResult): SkyColorpickerRgba => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[2], 0) / 255,\n green: parseInt(execResult[3], 0) / 255,\n blue: parseInt(execResult[4], 0) / 255,\n alpha: parseFloat(execResult[5]),\n };\n return rgba;\n },\n },\n {\n re: /(hsl)a?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})%\\s*,\\s*(\\d{1,3})%\\s*(?:,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)/,\n parse: (execResult): SkyColorpickerHsla => {\n const hsla: SkyColorpickerHsla = {\n hue: parseInt(execResult[2], 0) / 360,\n saturation: parseInt(execResult[3], 0) / 100,\n lightness: parseInt(execResult[4], 0) / 100,\n alpha: parseFloat(execResult[5]),\n };\n return hsla;\n },\n },\n ];\n if (hex8) {\n stringParsers.push({\n re: /#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/,\n parse: (execResult) => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[1], 16) / 255,\n green: parseInt(execResult[2], 16) / 255,\n blue: parseInt(execResult[3], 16) / 255,\n alpha: parseInt(execResult[4], 16) / 255,\n };\n return rgba;\n },\n });\n } else {\n stringParsers.push(\n {\n re: /#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/,\n parse: (execResult) => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[1], 16) / 255,\n green: parseInt(execResult[2], 16) / 255,\n blue: parseInt(execResult[3], 16) / 255,\n alpha: 1,\n };\n return rgba;\n },\n },\n {\n re: /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])$/,\n parse: (execResult) => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[1] + execResult[1], 16) / 255,\n green: parseInt(execResult[2] + execResult[2], 16) / 255,\n blue: parseInt(execResult[3] + execResult[3], 16) / 255,\n alpha: 1,\n };\n return rgba;\n },\n },\n );\n }\n\n for (const key in stringParsers) {\n /* istanbul ignore else */ /* for in must be filtered by an if */\n if (Object.prototype.hasOwnProperty.call(stringParsers, key)) {\n const parser = stringParsers[key];\n const match = parser.re.exec(colorString);\n const color = match && parser.parse(match);\n if (color) {\n let hsva: SkyColorpickerHsva | undefined;\n\n if ('red' in color) {\n hsva = this.rgbaToHsva(color);\n } else if ('hue' in color) {\n hsva = this.#hsla2hsva(color);\n }\n\n if (hsva) {\n return hsva;\n }\n }\n }\n }\n\n return undefined;\n }\n\n public skyColorpickerOut(color: SkyColorpickerHsva): SkyColorpickerOutput {\n const cmykText = this.#outputFormat(color, 'cmyk', true);\n const hslaText = this.#outputFormat(color, 'hsla', true);\n const rgbaText = this.#outputFormat(color, 'rgba', true);\n const rgba = this.hsvaToRgba(color);\n const hsla = this.#hsva2hsla(color);\n const cmyk = this.#rgbaToCmyk(rgba);\n const hex = this.#outputFormat(color, 'hex', false);\n\n const formatColor: SkyColorpickerOutput = {\n cmykText,\n hslaText,\n rgbaText,\n hsva: this.#denormalizeHSVA(color),\n rgba: this.denormalizeRGBA(rgba),\n hsla: this.#denormalizeHSLA(hsla),\n cmyk: this.#denormalizeCMYK(cmyk),\n hex,\n };\n\n return formatColor;\n }\n\n public hexText(rgba: SkyColorpickerRgba, allowHex8: boolean): string {\n let hexText =\n '#' +\n ((1 << 24) | (rgba.red << 16) | (rgba.green << 8) | rgba.blue)\n .toString(16)\n .substring(1);\n if (\n hexText[1] === hexText[2] &&\n hexText[3] === hexText[4] &&\n hexText[5] === hexText[6] &&\n rgba.alpha === 1 &&\n !allowHex8\n ) {\n hexText = '#' + hexText[1] + hexText[3] + hexText[5];\n }\n if (allowHex8) {\n hexText += ((1 << 8) | Math.round(rgba.alpha * 255))\n .toString(16)\n .substring(1);\n }\n return hexText;\n }\n\n public denormalizeRGBA(rgba: SkyColorpickerRgba): SkyColorpickerRgba {\n const denormalizeRgba: SkyColorpickerRgba = {\n red: Math.round(rgba.red * 255),\n green: Math.round(rgba.green * 255),\n blue: Math.round(rgba.blue * 255),\n alpha: Math.round(rgba.alpha * 100) / 100,\n };\n return denormalizeRgba;\n }\n\n #hsla2hsva(hsla: SkyColorpickerHsla): SkyColorpickerHsva {\n const alpha = Math.min(hsla.alpha, 1);\n const hue = Math.min(hsla.hue, 1);\n const lightness = Math.min(hsla.lightness, 1);\n const saturation = Math.min(hsla.saturation, 1);\n const hsva: SkyColorpickerHsva = {\n hue: hue,\n saturation: saturation,\n value: lightness,\n alpha: alpha,\n };\n if (lightness === 0) {\n hsva.saturation = 0;\n hsva.value = 0;\n } else {\n hsva.value =\n lightness + (saturation * (1 - Math.abs(2 * lightness - 1))) / 2;\n hsva.saturation = (2 * (hsva.value - lightness)) / hsva.value;\n }\n return hsva;\n }\n\n #hsva2hsla(hsva: SkyColorpickerHsva): SkyColorpickerHsla {\n const alpha = hsva.alpha;\n const hue = hsva.hue;\n const saturation = hsva.saturation;\n const value = hsva.value;\n\n const hsla: SkyColorpickerHsla = {\n hue: hue,\n saturation: saturation,\n lightness: value,\n alpha: alpha,\n };\n if (value === 0) {\n hsla.lightness = 0;\n hsla.saturation = 0;\n } else {\n hsla.lightness = (value * (2 - saturation)) / 2;\n hsla.saturation =\n (value * saturation) / (1 - Math.abs(2 * hsla.lightness - 1));\n if (Number.isNaN(hsla.saturation)) {\n hsla.saturation = 0;\n }\n }\n return hsla;\n }\n\n #rgbaToCmyk(rgba: SkyColorpickerRgba): SkyColorpickerCmyk {\n const cmyk: SkyColorpickerCmyk = { cyan: 0, magenta: 0, yellow: 0, key: 0 };\n const key = 1 - Math.max(rgba.red, rgba.green, rgba.blue);\n\n if (key === 1) {\n cmyk.key = 1;\n return cmyk;\n }\n cmyk.cyan = (1 - rgba.red - key) / (1 - key);\n cmyk.magenta = (1 - rgba.green - key) / (1 - key);\n cmyk.yellow = (1 - rgba.blue - key) / (1 - key);\n cmyk.key = key;\n return cmyk;\n }\n\n #outputFormat(\n hsva: SkyColorpickerHsva,\n outputFormat: string,\n allowHex8: boolean,\n ): string {\n if (['hsla', 'hex', 'cmyk'].indexOf(outputFormat) === -1) {\n outputFormat = 'rgba';\n }\n const color: Record<string, () => string> = {\n hsla: () => {\n const hsla = this.#denormalizeHSLA(this.#hsva2hsla(hsva));\n return `hsla(${hsla.hue},${hsla.saturation}%,${hsla.lightness}%,${hsla.alpha})`;\n },\n hex: () => {\n return this.hexText(\n this.denormalizeRGBA(this.hsvaToRgba(hsva)),\n allowHex8,\n );\n },\n cmyk: () => {\n const cmyk = this.#denormalizeCMYK(\n this.#rgbaToCmyk(this.hsvaToRgba(hsva)),\n );\n return `cmyk(${cmyk.cyan}%,${cmyk.magenta}%,${cmyk.yellow}%,${cmyk.key}%)`;\n },\n rgba: () => {\n const rgba = this.denormalizeRGBA(this.hsvaToRgba(hsva));\n return `rgba(${rgba.red},${rgba.green},${rgba.blue},${rgba.alpha})`;\n },\n };\n\n return color[outputFormat]();\n }\n\n #denormalizeHSLA(hsla: SkyColorpickerHsla): SkyColorpickerHsla {\n const denormalizeHsla: SkyColorpickerHsla = {\n hue: Math.round(hsla.hue * 360),\n saturation: Math.round(hsla.saturation * 100),\n lightness: Math.round(hsla.lightness * 100),\n alpha: Math.round(hsla.alpha * 100) / 100,\n };\n return denormalizeHsla;\n }\n\n #denormalizeHSVA(hsla: SkyColorpickerHsva): SkyColorpickerHsva {\n const denormalizeHsva: SkyColorpickerHsva = {\n hue: Math.round(hsla.hue * 360),\n saturation: Math.round(hsla.saturation * 100),\n value: Math.round(hsla.value * 100),\n alpha: Math.round(hsla.alpha * 100) / 100,\n };\n return denormalizeHsva;\n }\n\n #denormalizeCMYK(cmyk: SkyColorpickerCmyk): SkyColorpickerCmyk {\n const denormalizeCmyk: SkyColorpickerCmyk = {\n cyan: Math.round(cmyk.cyan * 100),\n magenta: Math.round(cmyk.magenta * 100),\n yellow: Math.round(cmyk.yellow * 100),\n key: Math.round(cmyk.key * 100),\n };\n return denormalizeCmyk;\n }\n}\n","import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n forwardRef,\n inject,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n NgControl,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { SkyRequiredStateDirective } from '@skyux/forms';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { Subject, Subscription, distinctUntilChanged, takeUntil } from 'rxjs';\n\nimport { SkyColorpickerInputService } from './colorpicker-input.service';\nimport { SkyColorpickerComponent } from './colorpicker.component';\nimport { SkyColorpickerService } from './colorpicker.service';\nimport { SkyColorpickerOutput } from './types/colorpicker-output';\n\nconst SKY_COLORPICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SkyColorpickerInputDirective),\n multi: true,\n};\n\nconst SKY_COLORPICKER_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyColorpickerInputDirective),\n multi: true,\n};\n\nconst SKY_COLORPICKER_DEFAULT_COLOR = '#FFFFFF';\n\n/**\n * Creates the colorpicker element and dropdown.\n */\n@Directive({\n selector: '[skyColorpickerInput]',\n providers: [SKY_COLORPICKER_VALUE_ACCESSOR, SKY_COLORPICKER_VALIDATOR],\n hostDirectives: [\n {\n directive: SkyRequiredStateDirective,\n inputs: ['required'],\n },\n ],\n standalone: false,\n})\nexport class SkyColorpickerInputDirective\n implements OnInit, OnChanges, ControlValueAccessor, Validator, OnDestroy\n{\n /**\n * Creates the colorpicker element and dropdown. Place this attribute on an `input` element\n * or `button` element, wrap the element in a `sky-colorpicker` component, and set the attribute\n * to the instance of the `sky-colorpicker` component.\n * @required\n */\n @Input()\n public skyColorpickerInput!: SkyColorpickerComponent;\n\n /**\n * The initial color to load in the colorpicker. Use a reactive or\n * template-driven form to set this value. This property is deprecated. As an alternative,\n * we recommend the `formControlName` property on reactive forms or `ngModel` on\n * template-driven forms. See the demo for examples.\n * @deprecated\n */\n @Input()\n public set initialColor(value: string | undefined) {\n /* istanbul ignore else */\n if (!this.#_initialColor && !this.#modelValue) {\n this.writeValue(value);\n }\n\n this.#_initialColor = value;\n }\n\n public get initialColor(): string {\n return this.#_initialColor || SKY_COLORPICKER_DEFAULT_COLOR;\n }\n\n /**\n * The ID should only be settable when `labelText` is undefined.\n * When `labelText` is set, the ID is defined by `SkyColorpickerComponent`.\n * @internal\n */\n @Input()\n public set id(value: string | undefined) {\n if (!this.#labelText && value) {\n this.#setInputId(value);\n }\n }\n\n /**\n * This property is deprecated and does not affect the colorpicker.\n * We recommend against using it.\n * @deprecated\n * @default \"rgba\"\n */\n @Input()\n public returnFormat = 'rgba';\n\n /**\n * The format for the color when the colorpicker uses a native input\n * element such as a standard text input or a button. This property accepts `rgba`, `hex`,\n * or `hsla`, but we do not recommend using it because users never see or use its value.\n * Instead, if you need to access this format value, see the demo for an example.\n * @default \"rgba\"\n */\n @Input()\n public outputFormat = 'rgba';\n\n /**\n * The array of colors to load as preset choices. The colorpicker displays the\n * colors in a series of 12 boxes for users to select.\n */\n @Input()\n public presetColors = ['#333', '#888', '#EFEFEF', '#FFF'];\n\n /**\n * The type of transparency in the transparency slider.\n *@default \"hex6\"\n */\n @Input()\n public alphaChannel = 'hex6';\n\n /**\n * Whether to display a transparency slider for users to select transparency\n * levels.\n */\n @Input()\n public allowTransparency = true;\n\n @HostBinding('readonly')\n protected readonly readonly = true;\n\n @HostBinding('class.sky-colorpicker-input')\n protected readonly colorInputClass = true;\n\n #modelValue: SkyColorpickerOutput | undefined;\n #elementRef: ElementRef;\n #renderer: Renderer2;\n #svc: SkyColorpickerService;\n #resourcesSvc: SkyLibResourcesService;\n #injector: Injector;\n #inputIdSubscription: Subscription | undefined;\n #labelText: string | undefined;\n\n #_disabled: boolean | undefined;\n #_initialColor: string | undefined;\n\n readonly #colorpickerInputSvc = inject(SkyColorpickerInputService);\n readonly #ngUnsubscribe = new Subject<void>();\n\n constructor(\n elementRef: ElementRef,\n renderer: Renderer2,\n svc: SkyColorpickerService,\n resourcesSvc: SkyLibResourcesService,\n injector: Injector,\n ) {\n this.#elementRef = elementRef;\n this.#renderer = renderer;\n this.#svc = svc;\n this.#resourcesSvc = resourcesSvc;\n this.#injector = injector;\n }\n\n @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.skyColorpickerInput.selectedColorChanged\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((newColor: SkyColorpickerOutput) => {\n /* istanbul ignore else */\n if (newColor) {\n this.#modelValue = this.#formatter(newColor);\n\n // Write the new value to the reactive form control, which will update the template model\n this.writeValue(newColor);\n }\n });\n\n this.#colorpickerInputSvc.labelText\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((labelText) => {\n this.#labelText = labelText;\n this.#inputIdSubscription?.unsubscribe();\n\n if (labelText) {\n this.#inputIdSubscription = this.#colorpickerInputSvc.inputId\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((inputId) => {\n this.#setInputId(inputId);\n });\n }\n });\n\n this.#colorpickerInputSvc.ariaError\n .pipe(\n distinctUntilChanged((a, b) => {\n return a.hasError === b.hasError && a.errorId === b.errorId;\n }),\n takeUntil(this.#ngUnsubscribe),\n )\n .subscribe((errorState) => {\n if (errorState.hasError) {\n this.#renderer.setAttribute(element, 'aria-invalid', 'true');\n this.#renderer.setAttribute(\n element,\n 'aria-errormessage',\n errorState.errorId,\n );\n } else {\n this.#renderer.removeAttribute(element, 'aria-invalid');\n this.#renderer.removeAttribute(element, 'aria-errormessage');\n }\n });\n\n this.skyColorpickerInput.updatePickerValues(this.initialColor);\n\n /* Sanity check */\n /* istanbul ignore else */\n if (!this.#_disabled) {\n this.skyColorpickerInput.backgroundColorForDisplay = this.initialColor;\n }\n\n /// Set aria-label as default, if not set\n if (!element.getAttribute('aria-label')) {\n this.#renderer.setAttribute(\n element,\n 'aria-label',\n this.#getString('skyux_colorpicker_input_default_label'),\n );\n }\n\n const typeAttr = element.getAttribute('type');\n if (typeAttr && typeAttr === 'hidden') {\n this.skyColorpickerInput.isVisible = false;\n } else {\n this.skyColorpickerInput.isVisible = true;\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public setColorPickerDefaults(): void {\n this.skyColorpickerInput.setDialog(\n this.initialColor,\n this.outputFormat,\n this.presetColors,\n this.alphaChannel,\n this.allowTransparency,\n );\n }\n\n public ngOnChanges(): void {\n this.skyColorpickerInput.returnFormat = this.returnFormat;\n this.setColorPickerDefaults();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public registerOnChange(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public registerOnTouched(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public registerOnValidatorChange(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public writeValue(value: any): void {\n if (\n this.skyColorpickerInput &&\n value &&\n value !== this.skyColorpickerInput.lastAppliedColor\n ) {\n const formattedValue = this.#formatter(value);\n\n this.#modelValue = formattedValue;\n this.#writeModelValue(formattedValue);\n\n if (!this.#_initialColor) {\n this.#_initialColor = value;\n this.skyColorpickerInput.initialColor = value;\n }\n this.skyColorpickerInput.lastAppliedColor = value;\n\n const control = this.#injector.get<NgControl>(NgControl, undefined, {\n optional: true,\n })?.control;\n\n if (control) {\n control.setValue(this.#modelValue, { emitEvent: false });\n }\n }\n }\n\n public validate(): ValidationErrors | null {\n return null;\n }\n\n /**\n * Implemented as part of ControlValueAccessor.\n */\n public setDisabledState(isDisabled: boolean): void {\n this.#_disabled = isDisabled;\n this.skyColorpickerInput.disabled = isDisabled;\n if (this.#_disabled) {\n this.skyColorpickerInput.backgroundColorForDisplay = '#fff';\n } else if (this.#modelValue) {\n this.skyColorpickerInput.backgroundColorForDisplay = this.#modelValue.hex;\n }\n }\n\n #writeModelValue(model: SkyColorpickerOutput): void {\n const setElementValue = model.rgbaText;\n const element = this.#elementRef.nativeElement;\n\n let output: string;\n switch (this.outputFormat) {\n case 'hsla':\n output = model.hslaText;\n break;\n case 'cmyk':\n output = model.cmykText;\n break;\n case 'hex':\n output = model.hex;\n break;\n default:\n output = model.rgbaText;\n break;\n }\n\n this.skyColorpickerInput.updatePickerValues(output);\n this.skyColorpickerInput.backgroundColorForDisplay = output;\n\n this.#renderer.setStyle(element, 'background-color', setElementValue);\n this.#renderer.setProperty(element, 'value', output);\n }\n\n #formatter(\n color: string | SkyColorpickerOutput | undefined,\n ): SkyColorpickerOutput {\n if (color && typeof color !== 'string') {\n return color;\n }\n\n const hsva = this.#svc.stringToHsva(\n color as string,\n this.alphaChannel === 'hex8',\n );\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const formatColor = this.#svc.skyColorpickerOut(hsva!);\n\n return formatColor;\n }\n\n #getString(key: string): string {\n // TODO: Need to implement the async `getString` method in a breaking change.\n return this.#resourcesSvc.getStringForLocale({ locale: 'en-US' }, key);\n }\n\n #setInputId(id: string): void {\n this.#renderer.setAttribute(this.#elementRef.nativeElement, 'id', id);\n }\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n} from '@angular/core';\n\nimport { SkyColorpickerChangeAxis } from './types/colorpicker-axis';\n\n/**\n * @internal\n */\n@Directive({\n selector: '[skyColorpickerSlider]',\n standalone: false,\n})\nexport class SkyColorpickerSliderDirective {\n @Output()\n public newColorContrast = new EventEmitter<SkyColorpickerChangeAxis>();\n @Input()\n public skyColorpickerSlider: string | undefined;\n @Input()\n public color: string | undefined;\n @Input()\n public xAxis: number | undefined;\n @Input()\n public yAxis: number | undefined;\n\n #listenerMove: (event: MouseEvent | TouchEvent) => void;\n #listenerStop: () => void;\n\n #el: ElementRef;\n\n constructor(el: ElementRef) {\n this.#el = el;\n this.#listenerMove = (event): void => {\n this.move(event);\n };\n this.#listenerStop = (): void => {\n this.stop();\n };\n }\n\n @HostListener('touchstart', ['$event'])\n @HostListener('mousedown', ['$event'])\n public start(event: MouseEvent): void {\n this.#setCursor(event);\n document.addEventListener('mousemove', this.#listenerMove);\n document.addEventListener('touchmove', this.#listenerMove);\n document.addEventListener('mouseup', this.#listenerStop);\n document.addEventListener('touchend', this.#listenerStop);\n }\n\n #setCursor(event: MouseEvent | TouchEvent): void {\n const height = this.#el.nativeElement.offsetHeight;\n const width = this.#el.nativeElement.offsetWidth;\n const xAxis = Math.max(0, Math.min(this.getX(event), width));\n const yAxis = Math.max(0, Math.min(this.getY(event), height));\n if (this.xAxis !== undefined && this.yAxis !== undefined) {\n this.newColorContrast.emit({\n xCoordinate: xAxis / width,\n yCoordinate: 1 - yAxis / height,\n xAxis: this.xAxis,\n yAxis: this.yAxis,\n } as SkyColorpickerChangeAxis);\n } else {\n this.newColorContrast.emit({\n xCoordinate: xAxis / width,\n maxRange: this.xAxis,\n } as SkyColorpickerChangeAxis);\n }\n /* // No vertical bars\n if (this.xAxis === undefined && this.yAxis !== undefined) {\n this.newColorContrast.emit({ yCoordinate: yAxis / height, maxRange: this.yAxis });\n } */\n }\n\n public stop(): void {\n document.removeEventListener('mousemove', this.#listenerMove);\n document.removeEventListener('touchmove', this.#listenerMove);\n document.removeEventListener('mouseup', this.#listenerStop);\n document.removeEventListener('touchend', this.#listenerStop);\n }\n\n public move(event: MouseEvent | TouchEvent): void {\n event.preventDefault();\n this.#setCursor(event);\n }\n\n public getX(event: MouseEvent | TouchEvent): number {\n /* Ignoring event.touches as tests are not run on a touch device. */\n /* istanbul ignore next */\n return (\n ('pageX' in event ? event.pageX : event.touches[0].pageX) -\n this.#el.nativeElement.getBoundingClientRect().left -\n window.pageXOffset\n );\n }\n public getY(event: MouseEvent | TouchEvent): number {\n /* Ignoring event.touches as tests are not run on a touch device. */\n /* istanbul ignore next */\n return (\n ('pageY' in event ? event.pageY : event.touches[0].pageY) -\n this.#el.nativeElement.getBoundingClientRect().top -\n window.pageYOffset\n );\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostListener,\n Input,\n Output,\n} from '@angular/core';\n\nimport { SkyColorpickerChangeColor } from './types/colorpicker-color';\n\n/**\n * @internal\n */\n@Directive({\n selector: '[skyColorpickerText]',\n standalone: false,\n})\nexport class SkyColorpickerTextDirective {\n @Output()\n public newColorContrast = new EventEmitter<SkyColorpickerChangeColor>();\n @Input()\n public skyColorpickerText: string | undefined;\n @Input()\n public color: string | undefined;\n @Input()\n public maxRange: number | undefined;\n\n @HostListener('input', ['$event'])\n protected changeInput(event: Event): void {\n const element = event.target as HTMLInputElement;\n const elementValue = parseFloat(element.value);\n if (this.maxRange === undefined) {\n this.newColorContrast.emit({\n color: element.value,\n colorValue: undefined,\n maxRange: undefined,\n } as SkyColorpickerChangeColor);\n }\n\n if (\n !isNaN(elementValue) &&\n elementValue >= 0 &&\n this.maxRange &&\n elementValue <= this.maxRange\n ) {\n this.newColorContrast.emit({\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n color: this.color!,\n colorValue: elementValue,\n maxRange: this.maxRange,\n });\n }\n }\n}\n","/**\n * @internal\n */\nexport class SliderPosition {\n constructor(\n public hue: number,\n public saturation: number,\n public value: number,\n public alpha: number,\n ) {}\n}\n/**\n * @internal\n */\nexport class SliderDimension {\n constructor(\n public hue: number,\n public saturation: number,\n public value: number,\n public alpha: number,\n ) {}\n}\n","/**\n * The commands to provide the colorpicker.\n */\nexport enum SkyColorpickerMessageType {\n /**\n * Opens the colorpicker.\n */\n Open = 0,\n /**\n * Resets the selection in the colorpicker.\n */\n Reset = 1,\n /**\n * Toggles whether to display a reset button beside the colorpicker.\n */\n ToggleResetButton = 2,\n /**\n * Closes the colorpicker.\n */\n Close = 3,\n}\n","import {\n AfterContentChecked,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EnvironmentInjector,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport {\n AbstractControlDirective,\n FormControlDirective,\n FormControlName,\n NgModel,\n} from '@angular/forms';\nimport {\n SkyAffixAutoFitContext,\n SkyAffixService,\n SkyAffixer,\n SkyCoreAdapterService,\n SkyIdService,\n SkyOverlayInstance,\n SkyOverlayService,\n} from '@skyux/core';\nimport {\n SKY_FORM_ERRORS_ENABLED,\n SkyRequiredStateDirective,\n} from '@skyux/forms';\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SliderDimension, SliderPosition } from './colorpicker-classes';\nimport { SkyColorpickerInputService } from './colorpicker-input.service';\nimport { SkyColorpickerService } from './colorpicker.service';\nimport { SkyColorpickerChangeAxis } from './types/colorpicker-axis';\nimport { SkyColorpickerChangeColor } from './types/colorpicker-color';\nimport { SkyColorpickerHsva } from './types/colorpicker-hsva';\nimport { SkyColorpickerMessage } from './types/colorpicker-message';\nimport { SkyColorpickerMessageType } from './types/colorpicker-message-type';\nimport { SkyColorpickerOutput } from './types/colorpicker-output';\nimport { SkyColorpickerResult } from './types/colorpicker-result';\nimport { SkyColorpickerRgba } from './types/colorpicker-rgba';\n\nlet componentIdIndex = 0;\n\n/**\n * The SKY UX-themed replacement for the HTML `input` element with `type=\"color\"`.\n * The value that users select is driven through the `ngModel` attribute specified on\n * the `input` element.\n */\n@Component({\n selector: 'sky-colorpicker',\n templateUrl: './colorpicker.component.html',\n styleUrls: ['./colorpicker.component.scss'],\n providers: [\n SkyColorpickerInputService,\n SkyColorpickerService,\n { provide: SKY_FORM_ERRORS_ENABLED, useValue: true },\n ],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class SkyColorpickerComponent\n implements OnInit, OnDestroy, AfterContentChecked\n{\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 ARIA label for the colorpicker. This sets the colorpicker's `aria-label` attribute\n * [to support accessibility](https://developer.blackbaud.com/skyux/components/checkbox#accessibility)\n * when the colorpicker does not include a visible label. If the colorpicker includes a visible label, use `labelledBy` instead.\n * @default \"Select color value\"\n */\n @Input()\n public label: string | undefined;\n\n /**\n * The HTML element ID of the element that labels the\n * colorpicker. This sets the colorpicker's `aria-labelledby` attribute\n * [to support accessibility](https://developer.blackbaud.com/skyux/components/checkbox#accessibility).\n * If the colorpicker does not include a visible label, use `label` instead.\n */\n @Input()\n public labelledBy: string | undefined;\n\n /**\n * The text to display as the colorpicker's label. Use this instead of a `label` element when the label is text-only.\n * Specifying `labelText` also enables automatic error message handling for standard colorpicker errors.\n */\n @Input()\n public set labelText(value: string | undefined) {\n this.#_labelText = value;\n this.#colorpickerInputSvc.labelText.next(value);\n }\n\n public get labelText(): string | undefined {\n return this.#_labelText;\n }\n\n /**\n * Whether to hide `labelText` from view.\n */\n @Input({ transform: booleanAttribute })\n public labelHidden = false;\n\n /**\n * A help key that identifies the global help content to display. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n * button is placed beside the colorpicker label. Clicking the button invokes [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help)\n * as configured by the application. This property only applies when `labelText` is also specified.\n */\n @Input()\n public helpKey: string | undefined;\n\n /**\n * The content of the help popover. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n * button is added to the colorpicker label. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)\n * when clicked using the specified content and optional title. This property only applies when `labelText` is also specified.\n */\n @Input()\n public helpPopoverContent: string | TemplateRef<unknown> | undefined;\n\n /**\n * The title of the help popover. This property only applies when `helpPopoverContent` is\n * also specified.\n */\n @Input()\n public helpPopoverTitle: string | undefined;\n\n /**\n * [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides\n * additional context to the user.\n */\n @Input()\n public hintText: string | undefined;\n\n /**\n * Whether the colorpicker is stacked on another form component. When specified,\n * the appropriate vertical spacing is automatically added to the text editor.\n */\n @Input({ transform: booleanAttribute })\n @HostBinding('class.sky-form-field-stacked')\n public stacked = false;\n\n /**\n * Fires when users select a color in the colorpicker.\n */\n @Output()\n public selectedColorChanged = new EventEmitter<SkyColorpickerOutput>();\n\n /**\n * Fires when users select **Apply** in the colorpicker to apply a color.\n */\n @Output()\n public selectedColorApplied = new EventEmitter<SkyColorpickerResult>();\n\n /**\n * The observable to send commands to the colorpicker. The commands should\n * respect the `SkyColorpickerMessage` type.\n */\n @Input()\n public messageStream = new Subject<SkyColorpickerMessage>();\n\n /**\n * Whether to display a reset button to let users return to the default color.\n */\n @Input()\n public showResetButton = true;\n\n public set disabled(value: boolean) {\n this.#_disabled = value;\n this.#changeDetector.markForCheck();\n }\n\n public get disabled(): boolean {\n return this.#_disabled;\n }\n\n public set backgroundColorForDisplay(value: string | undefined) {\n this.#_backgroundColorForDisplay = value;\n if (this.pickerButtonIcon) {\n this.iconColor = this.#getAccessibleIconColor(this.selectedColor);\n }\n this.#changeDetector.markForCheck();\n }\n\n public get backgroundColorForDisplay(): string {\n /* istanbul ignore next */\n return this.#_backgroundColorForDisplay || '#fff';\n }\n\n public set hue(change: SkyColorpickerChangeAxis) {\n if (\n this.#hsva &&\n change.xCoordinate !== undefined &&\n change.maxRange !== undefined\n ) {\n this.#hsva.hue = change.xCoordinate / change.maxRange;\n this.#update();\n }\n }\n\n public set red(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rgba.red = change.colorValue! / change.maxRange!;\n this.#hsva = this.#svc.rgbaToHsva(rgba);\n this.#update();\n }\n }\n\n public set green(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rgba.green = change.colorValue! / change.maxRange!;\n this.#hsva = this.#svc.rgbaToHsva(rgba);\n this.#update();\n }\n }\n\n public set blue(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rgba.blue = change.colorValue! / change.maxRange!;\n this.#hsva = this.#svc.rgbaToHsva(rgba);\n this.#update();\n }\n }\n\n public set alphaAxis(change: SkyColorpickerChangeAxis) {\n if (\n this.#hsva &&\n change.xCoordinate !== undefined &&\n change.maxRange !== undefined\n ) {\n this.#hsva.alpha = change.xCoordinate / change.maxRange;\n this.#update();\n }\n }\n\n public set alphaColor(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.#hsva.alpha = change.colorValue! / change.maxRange!;\n this.#update();\n }\n }\n\n public set hex(change: SkyColorpickerChangeColor) {\n this.updatePickerValues(change.color);\n }\n\n public set saturationAndLightness(value: SkyColorpickerChangeAxis) {\n if (\n this.#hsva &&\n value.xCoordinate !== undefined &&\n value.xAxis !== undefined &&\n value.yCoordinate !== undefined &&\n value.yAxis !== undefined\n ) {\n this.#hsva.saturation = value.xCoordinate / value.xAxis;\n this.#hsva.value = value.yCoordinate / value.yAxis;\n this.#update();\n }\n }\n\n public skyColorpickerAlphaId: string;\n public returnFormat: string | undefined;\n public initialColor: string | undefined;\n public lastAppliedColor: string | undefined;\n public isVisible = true;\n\n @ViewChild('colorpickerTemplateRef', {\n read: TemplateRef,\n })\n protected colorpickerTemplateRef: TemplateRef<unknown> | undefined;\n\n @ViewChild('triggerButtonRef', {\n read: ElementRef,\n })\n protected triggerButtonRef: ElementRef | undefined;\n\n @ViewChild('colorpickerRef', {\n read: ElementRef,\n })\n protected set colorpickerRef(value: ElementRef | undefined) {\n if (value) {\n this.#_colorpickerRef = value;\n this.#destroyAffixer();\n\n this.#removePickerEventListeners();\n this.#pickerUnsubscribe = new Subject<void>();\n\n // Ensure the colorpicker has fully rendered before adding the affixer. Added to address a\n // race condition when running under production conditions.\n setTimeout(() => {\n this.#createAffixer();\n this.isPickerVisible = true;\n\n this.#coreAdapter.getFocusableChildrenAndApplyFocus(\n value,\n '.sky-colorpicker',\n false,\n );\n this.#changeDetector.markForCheck();\n });\n }\n }\n\n protected get colorpickerRef(): ElementRef | undefined {\n return this.#_colorpickerRef;\n }\n\n @ContentChild(FormControlDirective)\n protected set formControl(value: FormControlDirective | undefined) {\n if (value) {\n this.ngControl = value;\n this.#changeDetector.markForCheck();\n }\n }\n\n @ContentChild(FormControlName)\n protected set formControlByName(value: FormControlName | undefined) {\n if (value) {\n this.ngControl = value;\n this.#changeDetector.markForCheck();\n }\n }\n\n @ContentChild(NgModel)\n protected set ngModel(value: NgModel | undefined) {\n if (value) {\n this.ngControl = value;\n this.#changeDetector.markForCheck();\n }\n }\n\n @ContentChild(SkyRequiredStateDirective)\n protected requiredState: SkyRequiredStateDirective | undefined;\n\n protected inputId: string | undefined;\n protected colorpickerId: string;\n protected isOpen = false;\n protected triggerButtonId: string;\n protected skyColorpickerHexId: string;\n protected skyColorpickerRedId: string;\n protected skyColorpickerGreenId: string;\n protected skyColorpickerBlueId: string;\n protected slider: SliderPosition;\n protected allowTransparency: boolean | undefined;\n protected alphaSliderColor: string | undefined;\n protected hexText: string | undefined;\n protected hueSliderColor: string | undefined;\n protected presetColors: string[] | undefined;\n protected rgbaText: SkyColorpickerRgba | undefined;\n protected selectedColor: SkyColorpickerOutput | undefined;\n protected iconColor: string | undefined;\n protected isPickerVisible: boolean | undefined;\n protected ngControl: AbstractControlDirective | undefined;\n\n #idIndex: number;\n #alphaChannel: string | undefined;\n #format: number | undefined;\n #outputFormat: string | undefined;\n #hsva: SkyColorpickerHsva | undefined;\n #sliderDimMax: SliderDimension;\n #ngUnsubscribe = new Subject<void>();\n #affixer: SkyAffixer | undefined;\n #overlay: SkyOverlayInstance | undefined;\n #pickerUnsubscribe: Subject<void> | undefined;\n\n #affixSvc: SkyAffixService;\n #changeDetector: ChangeDetectorRef;\n #coreAdapter: SkyCoreAdapterService;\n #overlaySvc: SkyOverlayService;\n #svc: SkyColorpickerService;\n #themeSvc: SkyThemeService | undefined;\n\n readonly #environmentInjector = inject(EnvironmentInjector);\n readonly #colorpickerInputSvc = inject(SkyColorpickerInputService);\n readonly #idSvc = inject(SkyIdService);\n\n protected readonly errorId = this.#idSvc.generateId();\n\n #_backgroundColorForDisplay: string | undefined;\n #_colorpickerRef: ElementRef | undefined;\n #_disabled = false;\n #_labelText: string | undefined;\n\n constructor(\n affixSvc: SkyAffixService,\n changeDetector: ChangeDetectorRef,\n coreAdapter: SkyCoreAdapterService,\n overlaySvc: SkyOverlayService,\n svc: SkyColorpickerService,\n @Optional() themeSvc?: SkyThemeService,\n ) {\n this.#affixSvc = affixSvc;\n this.#changeDetector = changeDetector;\n this.#coreAdapter = coreAdapter;\n this.#overlaySvc = overlaySvc;\n this.#svc = svc;\n this.#themeSvc = themeSvc;\n\n componentIdIndex++;\n\n this.#idIndex = componentIdIndex;\n this.inputId = this.#idSvc.generateId();\n this.#colorpickerInputSvc.inputId.next(this.inputId);\n this.skyColorpickerRedId = `sky-colorpicker-red-${this.#idIndex}`;\n this.skyColorpickerHexId = `sky-colorpicker-hex--${this.#idIndex}`;\n this.skyColorpickerRedId = `sky-colorpicker-red--${this.#idIndex}`;\n this.skyColorpickerGreenId = `sky-colorpicker-green--${this.#idIndex}`;\n this.skyColorpickerBlueId = `sky-colorpicker-blue--${this.#idIndex}`;\n this.skyColorpickerAlphaId = `sky-colorpicker-alpha--${this.#idIndex}`;\n this.colorpickerId = `sky-colorpicker--${this.#idIndex}`;\n this.triggerButtonId = `sky-colorpicker-button--${this.#idIndex}`;\n\n this.#sliderDimMax = new SliderDimension(182, 270, 170, 182);\n this.slider = new SliderPosition(0, 0, 0, 0);\n }\n\n public setDialog(\n color: string | undefined,\n outputFormat: string,\n presetColors: string[],\n alphaChannel: string,\n allowTransparency: boolean,\n ): void {\n this.initialColor = color;\n this.#outputFormat = outputFormat;\n this.presetColors = presetColors;\n this.#alphaChannel = alphaChannel;\n this.allowTransparency = allowTransparency;\n\n if (this.#outputFormat === 'rgba') {\n this.#format = 1;\n } else if (this.#outputFormat === 'hsla') {\n this.#format = 2;\n } else {\n this.#format = 0;\n }\n }\n\n public ngOnInit(): void {\n this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyColorpickerMessage) => {\n this.#handleIncomingMessages(message);\n });\n\n this.#addTriggerButtonEventListeners();\n\n /* istanbul ignore else */\n if (this.#themeSvc) {\n this.#themeSvc.settingsChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((themeSettings) => {\n /* istanbul ignore next */\n const themeName = themeSettings.currentSettings?.theme?.name;\n\n // Hue/alpha slider bars have different widths in Modern theme.\n /* istanbul ignore if */\n if (themeName === 'modern') {\n this.#sliderDimMax = new SliderDimension(174, 270, 170, 174);\n } else {\n this.#sliderDimMax = new SliderDimension(182, 270, 170, 182);\n }\n this.#updateSlider();\n });\n }\n }\n\n public ngAfterContentChecked(): void {\n if (this.labelText) {\n this.#colorpickerInputSvc.ariaError.next({\n hasError: !this.ngControl?.valid,\n errorId: this.errorId,\n });\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n this.#removePickerEventListeners();\n this.#destroyAffixer();\n this.#destroyOverlay();\n }\n\n public onTriggerButtonClick(): void {\n this.ngControl?.control?.markAsTouched();\n\n this.#sendMessage(SkyColorpickerMessageType.Open);\n }\n\n public closePicker(): void {\n this.#destroyAffixer();\n this.#destroyOverlay();\n this.#removePickerEventListeners();\n this.triggerButtonRef?.nativeElement.focus();\n this.isOpen = false;\n }\n\n public onApplyColorClick(): void {\n this.#confirmSelectedColor();\n }\n\n public onCancelClick(): void {\n // Revert picker values back to previous color.\n this.updatePickerValues(this.backgroundColorForDisplay);\n this.closePicker();\n\n this.#changeDetector.markForCheck();\n }\n\n public onPresetClick(value: string): void {\n this.updatePickerValues(value);\n }\n\n public onResetClick(): void {\n this.#sendMessage(SkyColorpickerMessageType.Reset);\n }\n\n public updatePickerValues(value: string | undefined): void {\n const hsva = this.#getHsvaValue(value);\n if (hsva) {\n this.#hsva = hsva;\n this.#update();\n }\n }\n\n protected onContainerEnterKeyDown(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n\n this.#confirmSelectedColor();\n }\n\n #update(): void {\n if (this.#hsva) {\n const rgba: SkyColorpickerRgba = this.#svc.hsvaToRgba(this.#hsva);\n const dRgba: SkyColorpickerRgba = this.#svc.denormalizeRGBA(rgba);\n\n const hsva: SkyColorpickerHsva = {\n hue: this.#hsva.hue,\n saturation: 1,\n value: 1,\n alpha: 1,\n };\n\n const hueRgba = this.#svc.denormalizeRGBA(this.#svc.hsvaToRgba(hsva));\n\n this.rgbaText = dRgba;\n this.hexText = this.#svc.hexText(dRgba, this.#alphaChannel === 'hex8');\n\n this.alphaSliderColor = `rgba(${dRgba.red},${dRgba.green},${dRgba.blue},${dRgba.alpha})`;\n this.hueSliderColor = `rgba(${hueRgba.red},${hueRgba.green},${hueRgba.blue},${rgba.alpha})`;\n\n if (\n this.#format === 0 &&\n this.#hsva.alpha < 1 &&\n this.#alphaChannel === 'hex6'\n ) {\n this.#format++;\n }\n\n this.selectedColor = this.#svc.skyColorpickerOut(this.#hsva);\n\n this.#updateSlider();\n }\n }\n\n #updateSlider(): void {\n if (this.#hsva && this.#sliderDimMax) {\n this.slider = new SliderPosition(\n this.#hsva.hue * this.#sliderDimMax.hue - 8,\n this.#hsva.saturation * this.#sliderDimMax.saturation - 8,\n (1 - this.#hsva.value) * this.#sliderDimMax.value - 8,\n this.#hsva.alpha * this.#sliderDimMax.alpha - 8,\n );\n }\n }\n\n #openPicker(): void {\n this.isPickerVisible = false;\n this.#removePickerEventListeners();\n this.#destroyOverlay();\n this.#createOverlay();\n this.isOpen = true;\n }\n\n #sendMessage(type: SkyColorpickerMessageType): void {\n this.messageStream.next({ type });\n }\n\n #handleIncomingMessages(message: SkyColorpickerMessage): void {\n switch (message.type) {\n case SkyColorpickerMessageType.Open:\n if (!this.isOpen) {\n this.#openPicker();\n }\n break;\n\n case SkyColorpickerMessageType.Close:\n if (this.isOpen) {\n this.closePicker();\n }\n break;\n\n case SkyColorpickerMessageType.Reset:\n this.updatePickerValues(this.initialColor);\n this.backgroundColorForDisplay = this.initialColor;\n this.selectedColorChanged.emit(this.selectedColor);\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.selectedColorApplied.emit({ color: this.selectedColor! });\n break;\n\n case SkyColorpickerMessageType.ToggleResetButton:\n this.showResetButton = !this.showResetButton;\n break;\n }\n }\n\n #createAffixer(): void {\n if (\n this.colorpickerRef &&\n this.triggerButtonRef &&\n this.#pickerUnsubscribe\n ) {\n const affixer = this.#affixSvc.createAffixer(this.colorpickerRef);\n\n affixer.placementChange\n .pipe(takeUntil(this.#pickerUnsubscribe))\n .subscribe((change) => {\n this.isPickerVisible = change.placement !== null;\n });\n\n affixer.affixTo(this.triggerButtonRef.nativeElement, {\n autoFitContext: SkyAffixAutoFitContext.Viewport,\n enableAutoFit: true,\n horizontalAlignment: 'left',\n verticalAlignment: 'bottom',\n isSticky: true,\n placement: 'below',\n });\n\n this.#affixer = affixer;\n }\n }\n\n #destroyAffixer(): void {\n /*istanbul ignore else*/\n if (this.#affixer) {\n this.#affixer.destroy();\n this.#affixer = undefined;\n }\n }\n\n #createOverlay(): void {\n if (this.colorpickerTemplateRef) {\n const overlay = this.#overlaySvc.create({\n enableClose: false,\n enablePointerEvents: false,\n enableScroll: true,\n environmentInjector: this.#environmentInjector,\n hideOthersFromScreenReaders: true,\n });\n\n overlay.attachTemplate(this.colorpickerTemplateRef);\n\n this.#overlay = overlay;\n }\n }\n\n #destroyOverlay(): void {\n /*istanbul ignore else*/\n if (this.#overlay) {\n this.#overlaySvc.close(this.#overlay);\n this.#overlay = undefined;\n }\n }\n\n #addTriggerButtonEventListeners(): void {\n fromEvent(window.document, 'keydown')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((event) => {\n const keyboardEvent = event as KeyboardEvent;\n const key = keyboardEvent.key?.toLowerCase();\n /* istanbul ignore else */\n if (key === 'escape') {\n this.#sendMessage(SkyColorpickerMessageType.Close);\n }\n });\n }\n\n #removePickerEventListeners(): void {\n /* istanbul ignore else */\n if (this.#pickerUnsubscribe) {\n this.#pickerUnsubscribe.next();\n this.#pickerUnsubscribe.complete();\n this.#pickerUnsubscribe = undefined;\n }\n }\n\n #getHsvaValue(value: string | undefined): SkyColorpickerHsva | undefined {\n let hsva: SkyColorpickerHsva | undefined;\n\n if (value) {\n if (this.#alphaChannel === 'hex8') {\n hsva = this.#svc.stringToHsva(value, true);\n if (!hsva && !this.#hsva) {\n hsva = this.#svc.stringToHsva(value, false);\n }\n } else {\n hsva = this.#svc.stringToHsva(value, false);\n }\n }\n\n return hsva;\n }\n\n #getAccessibleIconColor(\n backgroundColor: SkyColorpickerOutput | undefined,\n ): string | undefined {\n if (backgroundColor) {\n // https://www.w3.org/WAI/GL/wiki/Relative_luminance\n const RsRGB = backgroundColor.rgba.red / 255;\n const GsRGB = backgroundColor.rgba.green / 255;\n const BsRGB = backgroundColor.rgba.blue / 255;\n\n const R =\n RsRGB <= 0.03928\n ? RsRGB / 12.92\n : Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n const G =\n GsRGB <= 0.03928\n ? GsRGB / 12.92\n : Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n const B =\n BsRGB <= 0.03928\n ? BsRGB / 12.92\n : Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n\n const relativeLuminance =\n (0.2126 * R + 0.7152 * G + 0.0722 * B) *\n (1 / backgroundColor.rgba.alpha);\n\n // https://www.w3.org/WAI/GL/wiki/Contrast_ratio\n return 1.05 / (relativeLuminance + 0.05) > 3\n ? 'rgb(255, 255, 255)'\n : 'rgb(0, 0, 0)';\n }\n /* istanbul ignore next */\n return undefined;\n }\n\n #confirmSelectedColor(): void {\n if (this.selectedColor) {\n this.selectedColorChanged.emit(this.selectedColor);\n this.selectedColorApplied.emit({ color: this.selectedColor });\n this.lastAppliedColor = this.selectedColor.rgbaText;\n this.updatePickerValues(this.lastAppliedColor);\n this.backgroundColorForDisplay = this.selectedColor.rgbaText;\n }\n\n this.closePicker();\n }\n}\n","<span class=\"sky-color-picker-label-wrapper\">\n @if (labelText) {\n <label\n class=\"sky-control-label\"\n [ngClass]=\"{\n 'sky-screen-reader-only': labelHidden,\n 'sky-control-label-required': requiredState?.isRequired()\n }\"\n [for]=\"inputId\"\n >{{ labelText }}</label\n >\n @if ((helpPopoverContent || helpKey) && !labelHidden) {\n <span class=\"sky-control-help-container\">\n <sky-help-inline\n [helpKey]=\"helpKey\"\n [labelText]=\"labelText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n </span>\n }\n }\n</span>\n\n<div\n class=\"sky-colorpicker-input-group sky-input-group\"\n [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 #triggerButtonRef\n aria-haspopup=\"dialog\"\n class=\"sky-colorpicker-button\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? colorpickerId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n [attr.aria-label]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-button-disabled': disabled,\n 'sky-colorpicker-error':\n (ngControl?.touched || ngControl?.dirty) && ngControl?.errors\n }\"\n [style.background-color]=\"backgroundColorForDisplay\"\n (click)=\"onTriggerButtonClick()\"\n >\n @if (pickerButtonIcon) {\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-colorpicker-button-icon\"\n variant=\"solid\"\n iconSize=\"s\"\n [iconName]=\"pickerButtonIcon\"\n [style.color]=\"iconColor\"\n />\n <sky-icon\n *skyThemeIf=\"'modern'\"\n class=\"sky-colorpicker-button-icon\"\n variant=\"solid\"\n [iconName]=\"pickerButtonIcon\"\n [style.color]=\"iconColor\"\n />\n }\n <ng-container *skyThemeIf=\"'modern'\">\n <sky-icon\n class=\"sky-colorpicker-button-modern-chevron\"\n iconName=\"chevron-down\"\n iconSize=\"xxs\"\n [ngClass]=\"{\n 'sky-colorpicker-button-modern-chevron-disabled': disabled\n }\"\n />\n </ng-container>\n </button>\n\n <ng-template #colorpickerTemplateRef>\n <div\n #colorpickerRef\n class=\"sky-colorpicker-container\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"colorpickerId\"\n [hidden]=\"!isPickerVisible\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n [cdkTrapFocus]=\"true\"\n [cdkTrapFocusAutoCapture]=\"false\"\n >\n <div class=\"sky-colorpicker\">\n <div\n class=\"saturation-lightness\"\n [color]=\"slider.saturation - slider.value + ''\"\n [skyColorpickerSlider]\n [style.background-color]=\"hueSliderColor\"\n [xAxis]=\"1\"\n [yAxis]=\"1\"\n (newColorContrast)=\"saturationAndLightness = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.saturation\"\n [style.top.px]=\"slider.value\"\n ></div>\n </div>\n\n <div class=\"box\">\n <div class=\"left\">\n <div class=\"selected-color-background sky-rounded-circle\"></div>\n <div\n class=\"selected-color sky-rounded-circle\"\n [style.background-color]=\"selectedColor?.rgbaText\"\n ></div>\n </div>\n <div class=\"right\">\n <div\n #hueSlider\n class=\"hue\"\n [skyColorpickerSlider]\n [xAxis]=\"1\"\n (newColorContrast)=\"hue = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.hue\"\n ></div>\n </div>\n @if (allowTransparency) {\n <div\n #alphaSlider\n class=\"alpha\"\n [skyColorpickerSlider]\n [style.background-color]=\"alphaSliderColor\"\n [xAxis]=\"1\"\n (newColorContrast)=\"alphaAxis = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.alpha\"\n ></div>\n </div>\n }\n </div>\n </div>\n\n <div\n class=\"rgba-text\"\n (keydown.enter)=\"onContainerEnterKeyDown($event)\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_hex' | skyLibResources\"\n [attr.for]=\"skyColorpickerHexId\"\n >\n {{ 'skyux_colorpicker_hex' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n pattern=\"^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$\"\n [attr.id]=\"skyColorpickerHexId\"\n [skyColorpickerText]\n [value]=\"hexText\"\n (newColorContrast)=\"hex = $event\"\n />\n </sky-input-box>\n\n <fieldset\n [attr.aria-label]=\"'skyux_colorpicker_aria_rgba' | skyLibResources\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_red' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerRedId\"\n >\n {{ 'skyux_colorpicker_red' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerRedId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.red\"\n (newColorContrast)=\"red = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_green' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerGreenId\"\n >\n {{ 'skyux_colorpicker_green' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerGreenId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.green\"\n (newColorContrast)=\"green = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_blue' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerBlueId\"\n >\n {{ 'skyux_colorpicker_blue' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerBlueId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.blue\"\n (newColorContrast)=\"blue = $event\"\n />\n </sky-input-box>\n @if (allowTransparency) {\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_alpha' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerAlphaId\"\n >\n {{ 'skyux_colorpicker_alpha' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"1\"\n min=\"0\"\n pattern=\"[0-9]+([\\.,][0-9]{1,2})?\"\n step=\"0.1\"\n type=\"number\"\n [attr.id]=\"skyColorpickerAlphaId\"\n [maxRange]=\"1\"\n [skyColorpickerText]\n [value]=\"rgbaText?.alpha\"\n (newColorContrast)=\"alphaColor = $event\"\n />\n </sky-input-box>\n }\n </fieldset>\n </div>\n @if (presetColors && presetColors.length) {\n <div class=\"sky-colorpicker-preset-color-area\">\n @for (\n color of presetColors | slice: 0 : 12;\n track color;\n let i = $index\n ) {\n <button\n class=\"sky-preset-color\"\n type=\"button\"\n [attr.aria-label]=\"\n ('skyux_colorpicker_preset_color' | skyLibResources) +\n ' ' +\n color\n \"\n [skyThemeClass]=\"{\n 'sky-btn sky-btn-link': 'modern'\n }\"\n [style.backgroundColor]=\"color\"\n (click)=\"onPresetClick(color)\"\n ></button>\n }\n </div>\n }\n </div>\n\n <div class=\"sky-colorpicker-footer\">\n <section class=\"sky-colorpicker-column\">\n <button\n class=\"sky-btn sky-btn-primary sky-btn-colorpicker-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_apply' | skyLibResources\"\n (click)=\"onApplyColorClick()\"\n >\n {{ 'skyux_colorpicker_apply' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-btn-colorpicker-close\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_close' | skyLibResources\"\n (click)=\"onCancelClick()\"\n >\n {{ 'skyux_colorpicker_close' | skyLibResources }}\n </button>\n </section>\n </div>\n </div>\n </ng-template>\n @if (allowTransparency) {\n <span aria-hidden=\"true\" class=\"sky-colorpicker-checkered-background\">\n </span>\n }\n\n @if (showResetButton) {\n <button\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_reset' | skyLibResources\"\n [disabled]=\"disabled\"\n [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'\" iconName=\"close\" iconSize=\"s\" />\n <sky-icon *skyThemeIf=\"'modern'\" iconName=\"delete\" />\n </button>\n }\n</div>\n\n<div #hintTextEl=\"skyId\" skyId>\n @if (hintText) {\n <div\n class=\"sky-colorpicker-hint-text\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'default',\n 'sky-font-hint-text-s': 'modern'\n }\"\n >\n {{ hintText }}\n </div>\n }\n</div>\n\n<sky-form-errors\n [id]=\"errorId\"\n [errors]=\"ngControl?.errors\"\n [labelText]=\"labelText\"\n [touched]=\"ngControl?.touched\"\n [dirty]=\"ngControl?.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyAffixModule, SkyIdModule } from '@skyux/core';\nimport {\n SkyFormErrorModule,\n SkyFormErrorsModule,\n SkyInputBoxModule,\n} from '@skyux/forms';\nimport { SkyHelpInlineModule } from '@skyux/help-inline';\nimport { SkyIconModule } from '@skyux/icon';\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 A11yModule,\n CommonModule,\n SkyAffixModule,\n SkyColorpickerResourcesModule,\n SkyIdModule,\n SkyFormErrorModule,\n SkyFormErrorsModule,\n SkyHelpInlineModule,\n SkyIconModule,\n SkyInputBoxModule,\n SkyThemeModule,\n ],\n exports: [\n SkyColorpickerComponent,\n SkyColorpickerInputDirective,\n SkyFormErrorModule,\n ],\n})\nexport class SkyColorpickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.SkyColorpickerService","i3","takeUntil","i2.SkyColorpickerService","i9.SkyColorpickerTextDirective","i10.SkyColorpickerSliderDirective","i11"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-colorpicker.mjs","sources":["../../../../../libs/components/colorpicker/src/lib/modules/shared/sky-colorpicker-resources.module.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-input.service.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.service.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-input.directive.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-slider.directive.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-text.directive.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker-classes.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/types/colorpicker-message-type.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.component.ts","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.component.html","../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.module.ts","../../../../../libs/components/colorpicker/src/skyux-colorpicker.ts"],"sourcesContent":["/* istanbul ignore file */\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-colorpicker' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_colorpicker_alpha: { message: 'A:' },\n skyux_colorpicker_apply: { message: 'Apply' },\n skyux_colorpicker_aria_alpha: {\n message: 'Alpha channel value between 0 and 1',\n },\n skyux_colorpicker_aria_blue: { message: 'Blue value between 0 and 255' },\n skyux_colorpicker_aria_green: { message: 'Green value between 0 and 255' },\n skyux_colorpicker_aria_hex: { message: 'Hexadecimal color code' },\n skyux_colorpicker_aria_red: { message: 'Red value between 0 and 255' },\n skyux_colorpicker_aria_rgba: { message: 'RGBA values' },\n skyux_colorpicker_blue: { message: 'B:' },\n skyux_colorpicker_close: { message: 'Cancel' },\n skyux_colorpicker_dropdown_button: { message: 'Select color value' },\n skyux_colorpicker_green: { message: 'G:' },\n skyux_colorpicker_hex: { message: 'Hex:' },\n skyux_colorpicker_input_default_label: { message: 'Color value' },\n skyux_colorpicker_preset_color: { message: 'Preset Color:' },\n skyux_colorpicker_red: { message: 'R:' },\n skyux_colorpicker_reset: { message: 'Reset color value to white' },\n },\n 'FR-CA': {\n skyux_colorpicker_alpha: { message: 'A :' },\n skyux_colorpicker_apply: { message: 'Appliquer' },\n skyux_colorpicker_aria_alpha: {\n message: 'Valeur du canal alpha entre 0 et 1',\n },\n skyux_colorpicker_aria_blue: { message: 'Valeur bleue entre 0 et 255' },\n skyux_colorpicker_aria_green: { message: 'Valeur verte entre 0 et 255' },\n skyux_colorpicker_aria_hex: { message: 'Code de couleur hexadécimal' },\n skyux_colorpicker_aria_red: { message: 'Valeur rouge entre 0 et 255' },\n skyux_colorpicker_aria_rgba: { message: 'Valeurs RGBA' },\n skyux_colorpicker_blue: { message: 'B :' },\n skyux_colorpicker_close: { message: 'Annuler' },\n skyux_colorpicker_dropdown_button: {\n message: 'Sélectionner la valeur de la couleur',\n },\n skyux_colorpicker_green: { message: 'G :' },\n skyux_colorpicker_hex: { message: 'Hexadécimale :' },\n skyux_colorpicker_input_default_label: { message: 'Valeur de la couleur' },\n skyux_colorpicker_preset_color: { message: 'Couleur prédéfinie :' },\n skyux_colorpicker_red: { message: 'R :' },\n skyux_colorpicker_reset: {\n message: 'Réinitialiser la valeur de la couleur à blanc',\n },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkyColorpickerResourcesModule {}\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { ReplaySubject } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyColorpickerInputService implements OnDestroy {\n public inputId = new ReplaySubject<string>(1);\n public labelText = new ReplaySubject<string | undefined>(1);\n public ariaError = new ReplaySubject<{ hasError: boolean; errorId: string }>(\n 1,\n );\n\n public ngOnDestroy(): void {\n this.inputId.complete();\n this.labelText.complete();\n this.ariaError.complete();\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkyColorpickerCmyk } from './types/colorpicker-cmyk';\nimport { SkyColorpickerHsla } from './types/colorpicker-hsla';\nimport { SkyColorpickerHsva } from './types/colorpicker-hsva';\nimport { SkyColorpickerOutput } from './types/colorpicker-output';\nimport { SkyColorpickerRgba } from './types/colorpicker-rgba';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyColorpickerService {\n public rgbaToHsva(rgba: SkyColorpickerRgba): SkyColorpickerHsva {\n const red = Math.min(rgba.red, 1);\n const green = Math.min(rgba.green, 1);\n const blue = Math.min(rgba.blue, 1);\n const alpha = Math.min(rgba.alpha, 1);\n const max = Math.max(red, green, blue);\n const min = Math.min(red, green, blue);\n const value = max;\n const d = max - min;\n const saturation = max === 0 ? 0 : d / max;\n let hue = 0;\n let maxValue: Record<number, number>;\n if (max !== min) {\n maxValue = {\n [red]: (green - blue) / d + (green < blue ? 6 : 0),\n [green]: (blue - red) / d + 2,\n [blue]: (red - green) / d + 4,\n };\n hue = maxValue[max];\n hue /= 6;\n }\n const hsva: SkyColorpickerHsva = {\n hue: hue,\n saturation: saturation,\n value: value,\n alpha: alpha,\n };\n return hsva;\n }\n\n public hsvaToRgba(hsva: SkyColorpickerHsva): SkyColorpickerRgba {\n let red = 0;\n let green = 0;\n let blue = 0;\n const hue = hsva.hue;\n const saturation = hsva.saturation;\n const value = hsva.value;\n const alpha = hsva.alpha || hsva.alpha === 0 ? hsva.alpha : 1;\n const i = Math.floor(hue * 6);\n const f = hue * 6 - i;\n const p = value * (1 - saturation);\n const q = value * (1 - f * saturation);\n const t = value * (1 - (1 - f) * saturation);\n const color: Record<number, () => void> = {\n 0: (): void => {\n red = value;\n green = t;\n blue = p;\n },\n 1: (): void => {\n red = q;\n green = value;\n blue = p;\n },\n 2: (): void => {\n red = p;\n green = value;\n blue = t;\n },\n 3: (): void => {\n red = p;\n green = q;\n blue = value;\n },\n 4: (): void => {\n red = t;\n green = p;\n blue = value;\n },\n 5: (): void => {\n red = value;\n green = p;\n blue = q;\n },\n };\n color[i % 6]();\n\n const rgba: SkyColorpickerRgba = {\n red: red,\n green: green,\n blue: blue,\n alpha: alpha,\n };\n return rgba;\n }\n\n public stringToHsva(\n colorString: string,\n hex8: boolean,\n ): SkyColorpickerHsva | undefined {\n const stringParsers: {\n re: RegExp;\n parse: (\n execResult: RegExpExecArray,\n ) => SkyColorpickerRgba | SkyColorpickerHsla;\n }[] = [\n {\n re: /(rgb)a?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*%?,\\s*(\\d{1,3})\\s*%?(?:,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)/,\n parse: (execResult): SkyColorpickerRgba => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[2], 0) / 255,\n green: parseInt(execResult[3], 0) / 255,\n blue: parseInt(execResult[4], 0) / 255,\n alpha: parseFloat(execResult[5]),\n };\n return rgba;\n },\n },\n {\n re: /(hsl)a?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})%\\s*,\\s*(\\d{1,3})%\\s*(?:,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)/,\n parse: (execResult): SkyColorpickerHsla => {\n const hsla: SkyColorpickerHsla = {\n hue: parseInt(execResult[2], 0) / 360,\n saturation: parseInt(execResult[3], 0) / 100,\n lightness: parseInt(execResult[4], 0) / 100,\n alpha: parseFloat(execResult[5]),\n };\n return hsla;\n },\n },\n ];\n if (hex8) {\n stringParsers.push({\n re: /#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/,\n parse: (execResult) => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[1], 16) / 255,\n green: parseInt(execResult[2], 16) / 255,\n blue: parseInt(execResult[3], 16) / 255,\n alpha: parseInt(execResult[4], 16) / 255,\n };\n return rgba;\n },\n });\n } else {\n stringParsers.push(\n {\n re: /#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/,\n parse: (execResult) => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[1], 16) / 255,\n green: parseInt(execResult[2], 16) / 255,\n blue: parseInt(execResult[3], 16) / 255,\n alpha: 1,\n };\n return rgba;\n },\n },\n {\n re: /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])$/,\n parse: (execResult) => {\n const rgba: SkyColorpickerRgba = {\n red: parseInt(execResult[1] + execResult[1], 16) / 255,\n green: parseInt(execResult[2] + execResult[2], 16) / 255,\n blue: parseInt(execResult[3] + execResult[3], 16) / 255,\n alpha: 1,\n };\n return rgba;\n },\n },\n );\n }\n\n for (const key in stringParsers) {\n /* istanbul ignore else */ /* for in must be filtered by an if */\n if (Object.prototype.hasOwnProperty.call(stringParsers, key)) {\n const parser = stringParsers[key];\n const match = parser.re.exec(colorString);\n const color = match && parser.parse(match);\n if (color) {\n let hsva: SkyColorpickerHsva | undefined;\n\n if ('red' in color) {\n hsva = this.rgbaToHsva(color);\n } else if ('hue' in color) {\n hsva = this.#hsla2hsva(color);\n }\n\n if (hsva) {\n return hsva;\n }\n }\n }\n }\n\n return undefined;\n }\n\n public skyColorpickerOut(color: SkyColorpickerHsva): SkyColorpickerOutput {\n const cmykText = this.#outputFormat(color, 'cmyk', true);\n const hslaText = this.#outputFormat(color, 'hsla', true);\n const rgbaText = this.#outputFormat(color, 'rgba', true);\n const rgba = this.hsvaToRgba(color);\n const hsla = this.#hsva2hsla(color);\n const cmyk = this.#rgbaToCmyk(rgba);\n const hex = this.#outputFormat(color, 'hex', false);\n\n const formatColor: SkyColorpickerOutput = {\n cmykText,\n hslaText,\n rgbaText,\n hsva: this.#denormalizeHSVA(color),\n rgba: this.denormalizeRGBA(rgba),\n hsla: this.#denormalizeHSLA(hsla),\n cmyk: this.#denormalizeCMYK(cmyk),\n hex,\n };\n\n return formatColor;\n }\n\n public hexText(rgba: SkyColorpickerRgba, allowHex8: boolean): string {\n let hexText =\n '#' +\n ((1 << 24) | (rgba.red << 16) | (rgba.green << 8) | rgba.blue)\n .toString(16)\n .substring(1);\n if (\n hexText[1] === hexText[2] &&\n hexText[3] === hexText[4] &&\n hexText[5] === hexText[6] &&\n rgba.alpha === 1 &&\n !allowHex8\n ) {\n hexText = '#' + hexText[1] + hexText[3] + hexText[5];\n }\n if (allowHex8) {\n hexText += ((1 << 8) | Math.round(rgba.alpha * 255))\n .toString(16)\n .substring(1);\n }\n return hexText;\n }\n\n public denormalizeRGBA(rgba: SkyColorpickerRgba): SkyColorpickerRgba {\n const denormalizeRgba: SkyColorpickerRgba = {\n red: Math.round(rgba.red * 255),\n green: Math.round(rgba.green * 255),\n blue: Math.round(rgba.blue * 255),\n alpha: Math.round(rgba.alpha * 100) / 100,\n };\n return denormalizeRgba;\n }\n\n #hsla2hsva(hsla: SkyColorpickerHsla): SkyColorpickerHsva {\n const alpha = Math.min(hsla.alpha, 1);\n const hue = Math.min(hsla.hue, 1);\n const lightness = Math.min(hsla.lightness, 1);\n const saturation = Math.min(hsla.saturation, 1);\n const hsva: SkyColorpickerHsva = {\n hue: hue,\n saturation: saturation,\n value: lightness,\n alpha: alpha,\n };\n if (lightness === 0) {\n hsva.saturation = 0;\n hsva.value = 0;\n } else {\n hsva.value =\n lightness + (saturation * (1 - Math.abs(2 * lightness - 1))) / 2;\n hsva.saturation = (2 * (hsva.value - lightness)) / hsva.value;\n }\n return hsva;\n }\n\n #hsva2hsla(hsva: SkyColorpickerHsva): SkyColorpickerHsla {\n const alpha = hsva.alpha;\n const hue = hsva.hue;\n const saturation = hsva.saturation;\n const value = hsva.value;\n\n const hsla: SkyColorpickerHsla = {\n hue: hue,\n saturation: saturation,\n lightness: value,\n alpha: alpha,\n };\n if (value === 0) {\n hsla.lightness = 0;\n hsla.saturation = 0;\n } else {\n hsla.lightness = (value * (2 - saturation)) / 2;\n hsla.saturation =\n (value * saturation) / (1 - Math.abs(2 * hsla.lightness - 1));\n if (Number.isNaN(hsla.saturation)) {\n hsla.saturation = 0;\n }\n }\n return hsla;\n }\n\n #rgbaToCmyk(rgba: SkyColorpickerRgba): SkyColorpickerCmyk {\n const cmyk: SkyColorpickerCmyk = { cyan: 0, magenta: 0, yellow: 0, key: 0 };\n const key = 1 - Math.max(rgba.red, rgba.green, rgba.blue);\n\n if (key === 1) {\n cmyk.key = 1;\n return cmyk;\n }\n cmyk.cyan = (1 - rgba.red - key) / (1 - key);\n cmyk.magenta = (1 - rgba.green - key) / (1 - key);\n cmyk.yellow = (1 - rgba.blue - key) / (1 - key);\n cmyk.key = key;\n return cmyk;\n }\n\n #outputFormat(\n hsva: SkyColorpickerHsva,\n outputFormat: string,\n allowHex8: boolean,\n ): string {\n if (['hsla', 'hex', 'cmyk'].indexOf(outputFormat) === -1) {\n outputFormat = 'rgba';\n }\n const color: Record<string, () => string> = {\n hsla: () => {\n const hsla = this.#denormalizeHSLA(this.#hsva2hsla(hsva));\n return `hsla(${hsla.hue},${hsla.saturation}%,${hsla.lightness}%,${hsla.alpha})`;\n },\n hex: () => {\n return this.hexText(\n this.denormalizeRGBA(this.hsvaToRgba(hsva)),\n allowHex8,\n );\n },\n cmyk: () => {\n const cmyk = this.#denormalizeCMYK(\n this.#rgbaToCmyk(this.hsvaToRgba(hsva)),\n );\n return `cmyk(${cmyk.cyan}%,${cmyk.magenta}%,${cmyk.yellow}%,${cmyk.key}%)`;\n },\n rgba: () => {\n const rgba = this.denormalizeRGBA(this.hsvaToRgba(hsva));\n return `rgba(${rgba.red},${rgba.green},${rgba.blue},${rgba.alpha})`;\n },\n };\n\n return color[outputFormat]();\n }\n\n #denormalizeHSLA(hsla: SkyColorpickerHsla): SkyColorpickerHsla {\n const denormalizeHsla: SkyColorpickerHsla = {\n hue: Math.round(hsla.hue * 360),\n saturation: Math.round(hsla.saturation * 100),\n lightness: Math.round(hsla.lightness * 100),\n alpha: Math.round(hsla.alpha * 100) / 100,\n };\n return denormalizeHsla;\n }\n\n #denormalizeHSVA(hsla: SkyColorpickerHsva): SkyColorpickerHsva {\n const denormalizeHsva: SkyColorpickerHsva = {\n hue: Math.round(hsla.hue * 360),\n saturation: Math.round(hsla.saturation * 100),\n value: Math.round(hsla.value * 100),\n alpha: Math.round(hsla.alpha * 100) / 100,\n };\n return denormalizeHsva;\n }\n\n #denormalizeCMYK(cmyk: SkyColorpickerCmyk): SkyColorpickerCmyk {\n const denormalizeCmyk: SkyColorpickerCmyk = {\n cyan: Math.round(cmyk.cyan * 100),\n magenta: Math.round(cmyk.magenta * 100),\n yellow: Math.round(cmyk.yellow * 100),\n key: Math.round(cmyk.key * 100),\n };\n return denormalizeCmyk;\n }\n}\n","import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n forwardRef,\n inject,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n NgControl,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { SkyRequiredStateDirective } from '@skyux/forms';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { Subject, Subscription, distinctUntilChanged, takeUntil } from 'rxjs';\n\nimport { SkyColorpickerInputService } from './colorpicker-input.service';\nimport { SkyColorpickerComponent } from './colorpicker.component';\nimport { SkyColorpickerService } from './colorpicker.service';\nimport { SkyColorpickerOutput } from './types/colorpicker-output';\n\nconst SKY_COLORPICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SkyColorpickerInputDirective),\n multi: true,\n};\n\nconst SKY_COLORPICKER_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyColorpickerInputDirective),\n multi: true,\n};\n\nconst SKY_COLORPICKER_DEFAULT_COLOR = '#FFFFFF';\n\n/**\n * Creates the colorpicker element and dropdown.\n */\n@Directive({\n selector: '[skyColorpickerInput]',\n providers: [SKY_COLORPICKER_VALUE_ACCESSOR, SKY_COLORPICKER_VALIDATOR],\n hostDirectives: [\n {\n directive: SkyRequiredStateDirective,\n inputs: ['required'],\n },\n ],\n standalone: false,\n})\nexport class SkyColorpickerInputDirective\n implements OnInit, OnChanges, ControlValueAccessor, Validator, OnDestroy\n{\n /**\n * Creates the colorpicker element and dropdown. Place this attribute on an `input` element\n * or `button` element, wrap the element in a `sky-colorpicker` component, and set the attribute\n * to the instance of the `sky-colorpicker` component.\n * @required\n */\n @Input()\n public skyColorpickerInput!: SkyColorpickerComponent;\n\n /**\n * The initial color to load in the colorpicker. Use a reactive or\n * template-driven form to set this value. This property is deprecated. As an alternative,\n * we recommend the `formControlName` property on reactive forms or `ngModel` on\n * template-driven forms. See the demo for examples.\n * @deprecated\n */\n @Input()\n public set initialColor(value: string | undefined) {\n /* istanbul ignore else */\n if (!this.#_initialColor && !this.#modelValue) {\n this.writeValue(value);\n }\n\n this.#_initialColor = value;\n }\n\n public get initialColor(): string {\n return this.#_initialColor || SKY_COLORPICKER_DEFAULT_COLOR;\n }\n\n /**\n * The ID should only be settable when `labelText` is undefined.\n * When `labelText` is set, the ID is defined by `SkyColorpickerComponent`.\n * @internal\n */\n @Input()\n public set id(value: string | undefined) {\n if (!this.#labelText && value) {\n this.#setInputId(value);\n }\n }\n\n /**\n * This property is deprecated and does not affect the colorpicker.\n * We recommend against using it.\n * @deprecated\n * @default \"rgba\"\n */\n @Input()\n public returnFormat = 'rgba';\n\n /**\n * The format for the color when the colorpicker uses a native input\n * element such as a standard text input or a button. This property accepts `rgba`, `hex`,\n * or `hsla`, but we do not recommend using it because users never see or use its value.\n * Instead, if you need to access this format value, see the demo for an example.\n * @default \"rgba\"\n */\n @Input()\n public outputFormat = 'rgba';\n\n /**\n * The array of colors to load as preset choices. The colorpicker displays the\n * colors in a series of 12 boxes for users to select.\n */\n @Input()\n public presetColors = ['#333', '#888', '#EFEFEF', '#FFF'];\n\n /**\n * The type of transparency in the transparency slider.\n *@default \"hex6\"\n */\n @Input()\n public alphaChannel = 'hex6';\n\n /**\n * Whether to display a transparency slider for users to select transparency\n * levels.\n */\n @Input()\n public allowTransparency = true;\n\n @HostBinding('readonly')\n protected readonly readonly = true;\n\n @HostBinding('class.sky-colorpicker-input')\n protected readonly colorInputClass = true;\n\n #modelValue: SkyColorpickerOutput | undefined;\n #elementRef: ElementRef;\n #renderer: Renderer2;\n #svc: SkyColorpickerService;\n #resourcesSvc: SkyLibResourcesService;\n #injector: Injector;\n #inputIdSubscription: Subscription | undefined;\n #labelText: string | undefined;\n\n #_disabled: boolean | undefined;\n #_initialColor: string | undefined;\n\n readonly #colorpickerInputSvc = inject(SkyColorpickerInputService);\n readonly #ngUnsubscribe = new Subject<void>();\n\n constructor(\n elementRef: ElementRef,\n renderer: Renderer2,\n svc: SkyColorpickerService,\n resourcesSvc: SkyLibResourcesService,\n injector: Injector,\n ) {\n this.#elementRef = elementRef;\n this.#renderer = renderer;\n this.#svc = svc;\n this.#resourcesSvc = resourcesSvc;\n this.#injector = injector;\n }\n\n @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.skyColorpickerInput.selectedColorChanged\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((newColor: SkyColorpickerOutput) => {\n /* istanbul ignore else */\n if (newColor) {\n this.#modelValue = this.#formatter(newColor);\n\n // Write the new value to the reactive form control, which will update the template model\n this.writeValue(newColor);\n }\n });\n\n this.#colorpickerInputSvc.labelText\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((labelText) => {\n this.#labelText = labelText;\n this.#inputIdSubscription?.unsubscribe();\n\n if (labelText) {\n this.#inputIdSubscription = this.#colorpickerInputSvc.inputId\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((inputId) => {\n this.#setInputId(inputId);\n });\n }\n });\n\n this.#colorpickerInputSvc.ariaError\n .pipe(\n distinctUntilChanged((a, b) => {\n return a.hasError === b.hasError && a.errorId === b.errorId;\n }),\n takeUntil(this.#ngUnsubscribe),\n )\n .subscribe((errorState) => {\n if (errorState.hasError) {\n this.#renderer.setAttribute(element, 'aria-invalid', 'true');\n this.#renderer.setAttribute(\n element,\n 'aria-errormessage',\n errorState.errorId,\n );\n } else {\n this.#renderer.removeAttribute(element, 'aria-invalid');\n this.#renderer.removeAttribute(element, 'aria-errormessage');\n }\n });\n\n this.skyColorpickerInput.updatePickerValues(this.initialColor);\n\n /* Sanity check */\n /* istanbul ignore else */\n if (!this.#_disabled) {\n this.skyColorpickerInput.backgroundColorForDisplay = this.initialColor;\n }\n\n /// Set aria-label as default, if not set\n if (!element.getAttribute('aria-label')) {\n this.#renderer.setAttribute(\n element,\n 'aria-label',\n this.#getString('skyux_colorpicker_input_default_label'),\n );\n }\n\n const typeAttr = element.getAttribute('type');\n if (typeAttr && typeAttr === 'hidden') {\n this.skyColorpickerInput.isVisible = false;\n } else {\n this.skyColorpickerInput.isVisible = true;\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public setColorPickerDefaults(): void {\n this.skyColorpickerInput.setDialog(\n this.initialColor,\n this.outputFormat,\n this.presetColors,\n this.alphaChannel,\n this.allowTransparency,\n );\n }\n\n public ngOnChanges(): void {\n this.skyColorpickerInput.returnFormat = this.returnFormat;\n this.setColorPickerDefaults();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public registerOnChange(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public registerOnTouched(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public registerOnValidatorChange(): void {}\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public writeValue(value: any): void {\n if (\n this.skyColorpickerInput &&\n value &&\n value !== this.skyColorpickerInput.lastAppliedColor\n ) {\n const formattedValue = this.#formatter(value);\n\n this.#modelValue = formattedValue;\n this.#writeModelValue(formattedValue);\n\n if (!this.#_initialColor) {\n this.#_initialColor = value;\n this.skyColorpickerInput.initialColor = value;\n }\n this.skyColorpickerInput.lastAppliedColor = value;\n\n const control = this.#injector.get<NgControl>(NgControl, undefined, {\n optional: true,\n })?.control;\n\n if (control) {\n control.setValue(this.#modelValue, { emitEvent: false });\n }\n }\n }\n\n public validate(): ValidationErrors | null {\n return null;\n }\n\n /**\n * Implemented as part of ControlValueAccessor.\n */\n public setDisabledState(isDisabled: boolean): void {\n this.#_disabled = isDisabled;\n this.skyColorpickerInput.disabled = isDisabled;\n if (this.#_disabled) {\n this.skyColorpickerInput.backgroundColorForDisplay = '#fff';\n } else if (this.#modelValue) {\n this.skyColorpickerInput.backgroundColorForDisplay = this.#modelValue.hex;\n }\n }\n\n #writeModelValue(model: SkyColorpickerOutput): void {\n const setElementValue = model.rgbaText;\n const element = this.#elementRef.nativeElement;\n\n let output: string;\n switch (this.outputFormat) {\n case 'hsla':\n output = model.hslaText;\n break;\n case 'cmyk':\n output = model.cmykText;\n break;\n case 'hex':\n output = model.hex;\n break;\n default:\n output = model.rgbaText;\n break;\n }\n\n this.skyColorpickerInput.updatePickerValues(output);\n this.skyColorpickerInput.backgroundColorForDisplay = output;\n\n this.#renderer.setStyle(element, 'background-color', setElementValue);\n this.#renderer.setProperty(element, 'value', output);\n }\n\n #formatter(\n color: string | SkyColorpickerOutput | undefined,\n ): SkyColorpickerOutput {\n if (color && typeof color !== 'string') {\n return color;\n }\n\n const hsva = this.#svc.stringToHsva(\n color as string,\n this.alphaChannel === 'hex8',\n );\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const formatColor = this.#svc.skyColorpickerOut(hsva!);\n\n return formatColor;\n }\n\n #getString(key: string): string {\n // TODO: Need to implement the async `getString` method in a breaking change.\n return this.#resourcesSvc.getStringForLocale({ locale: 'en-US' }, key);\n }\n\n #setInputId(id: string): void {\n this.#renderer.setAttribute(this.#elementRef.nativeElement, 'id', id);\n }\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n} from '@angular/core';\n\nimport { SkyColorpickerChangeAxis } from './types/colorpicker-axis';\n\n/**\n * @internal\n */\n@Directive({\n selector: '[skyColorpickerSlider]',\n standalone: false,\n})\nexport class SkyColorpickerSliderDirective {\n @Output()\n public newColorContrast = new EventEmitter<SkyColorpickerChangeAxis>();\n @Input()\n public skyColorpickerSlider: string | undefined;\n @Input()\n public color: string | undefined;\n @Input()\n public xAxis: number | undefined;\n @Input()\n public yAxis: number | undefined;\n\n #listenerMove: (event: MouseEvent | TouchEvent) => void;\n #listenerStop: () => void;\n\n #el: ElementRef;\n\n constructor(el: ElementRef) {\n this.#el = el;\n this.#listenerMove = (event): void => {\n this.move(event);\n };\n this.#listenerStop = (): void => {\n this.stop();\n };\n }\n\n @HostListener('touchstart', ['$event'])\n @HostListener('mousedown', ['$event'])\n public start(event: MouseEvent): void {\n this.#setCursor(event);\n document.addEventListener('mousemove', this.#listenerMove);\n document.addEventListener('touchmove', this.#listenerMove);\n document.addEventListener('mouseup', this.#listenerStop);\n document.addEventListener('touchend', this.#listenerStop);\n }\n\n #setCursor(event: MouseEvent | TouchEvent): void {\n const height = this.#el.nativeElement.offsetHeight;\n const width = this.#el.nativeElement.offsetWidth;\n const xAxis = Math.max(0, Math.min(this.getX(event), width));\n const yAxis = Math.max(0, Math.min(this.getY(event), height));\n if (this.xAxis !== undefined && this.yAxis !== undefined) {\n this.newColorContrast.emit({\n xCoordinate: xAxis / width,\n yCoordinate: 1 - yAxis / height,\n xAxis: this.xAxis,\n yAxis: this.yAxis,\n } as SkyColorpickerChangeAxis);\n } else {\n this.newColorContrast.emit({\n xCoordinate: xAxis / width,\n maxRange: this.xAxis,\n } as SkyColorpickerChangeAxis);\n }\n /* // No vertical bars\n if (this.xAxis === undefined && this.yAxis !== undefined) {\n this.newColorContrast.emit({ yCoordinate: yAxis / height, maxRange: this.yAxis });\n } */\n }\n\n public stop(): void {\n document.removeEventListener('mousemove', this.#listenerMove);\n document.removeEventListener('touchmove', this.#listenerMove);\n document.removeEventListener('mouseup', this.#listenerStop);\n document.removeEventListener('touchend', this.#listenerStop);\n }\n\n public move(event: MouseEvent | TouchEvent): void {\n event.preventDefault();\n this.#setCursor(event);\n }\n\n public getX(event: MouseEvent | TouchEvent): number {\n /* Ignoring event.touches as tests are not run on a touch device. */\n /* istanbul ignore next */\n return (\n ('pageX' in event ? event.pageX : event.touches[0].pageX) -\n this.#el.nativeElement.getBoundingClientRect().left -\n window.pageXOffset\n );\n }\n public getY(event: MouseEvent | TouchEvent): number {\n /* Ignoring event.touches as tests are not run on a touch device. */\n /* istanbul ignore next */\n return (\n ('pageY' in event ? event.pageY : event.touches[0].pageY) -\n this.#el.nativeElement.getBoundingClientRect().top -\n window.pageYOffset\n );\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostListener,\n Input,\n Output,\n} from '@angular/core';\n\nimport { SkyColorpickerChangeColor } from './types/colorpicker-color';\n\n/**\n * @internal\n */\n@Directive({\n selector: '[skyColorpickerText]',\n standalone: false,\n})\nexport class SkyColorpickerTextDirective {\n @Output()\n public newColorContrast = new EventEmitter<SkyColorpickerChangeColor>();\n @Input()\n public skyColorpickerText: string | undefined;\n @Input()\n public color: string | undefined;\n @Input()\n public maxRange: number | undefined;\n\n @HostListener('input', ['$event'])\n protected changeInput(event: Event): void {\n const element = event.target as HTMLInputElement;\n const elementValue = parseFloat(element.value);\n if (this.maxRange === undefined) {\n this.newColorContrast.emit({\n color: element.value,\n colorValue: undefined,\n maxRange: undefined,\n } as SkyColorpickerChangeColor);\n }\n\n if (\n !isNaN(elementValue) &&\n elementValue >= 0 &&\n this.maxRange &&\n elementValue <= this.maxRange\n ) {\n this.newColorContrast.emit({\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n color: this.color!,\n colorValue: elementValue,\n maxRange: this.maxRange,\n });\n }\n }\n}\n","/**\n * @internal\n */\nexport class SliderPosition {\n constructor(\n public hue: number,\n public saturation: number,\n public value: number,\n public alpha: number,\n ) {}\n}\n/**\n * @internal\n */\nexport class SliderDimension {\n constructor(\n public hue: number,\n public saturation: number,\n public value: number,\n public alpha: number,\n ) {}\n}\n","/**\n * The commands to provide the colorpicker.\n */\nexport enum SkyColorpickerMessageType {\n /**\n * Opens the colorpicker.\n */\n Open = 0,\n /**\n * Resets the selection in the colorpicker.\n */\n Reset = 1,\n /**\n * Toggles whether to display a reset button beside the colorpicker.\n */\n ToggleResetButton = 2,\n /**\n * Closes the colorpicker.\n */\n Close = 3,\n}\n","import {\n AfterContentChecked,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EnvironmentInjector,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport {\n AbstractControlDirective,\n FormControlDirective,\n FormControlName,\n NgModel,\n} from '@angular/forms';\nimport {\n SkyAffixAutoFitContext,\n SkyAffixService,\n SkyAffixer,\n SkyCoreAdapterService,\n SkyIdService,\n SkyOverlayInstance,\n SkyOverlayService,\n} from '@skyux/core';\nimport {\n SKY_FORM_ERRORS_ENABLED,\n SkyRequiredStateDirective,\n} from '@skyux/forms';\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SliderDimension, SliderPosition } from './colorpicker-classes';\nimport { SkyColorpickerInputService } from './colorpicker-input.service';\nimport { SkyColorpickerService } from './colorpicker.service';\nimport { SkyColorpickerChangeAxis } from './types/colorpicker-axis';\nimport { SkyColorpickerChangeColor } from './types/colorpicker-color';\nimport { SkyColorpickerHsva } from './types/colorpicker-hsva';\nimport { SkyColorpickerMessage } from './types/colorpicker-message';\nimport { SkyColorpickerMessageType } from './types/colorpicker-message-type';\nimport { SkyColorpickerOutput } from './types/colorpicker-output';\nimport { SkyColorpickerResult } from './types/colorpicker-result';\nimport { SkyColorpickerRgba } from './types/colorpicker-rgba';\n\nlet componentIdIndex = 0;\n\n/**\n * The SKY UX-themed replacement for the HTML `input` element with `type=\"color\"`.\n * The value that users select is driven through the `ngModel` attribute specified on\n * the `input` element.\n */\n@Component({\n selector: 'sky-colorpicker',\n templateUrl: './colorpicker.component.html',\n styleUrls: ['./colorpicker.component.scss'],\n providers: [\n SkyColorpickerInputService,\n SkyColorpickerService,\n { provide: SKY_FORM_ERRORS_ENABLED, useValue: true },\n ],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class SkyColorpickerComponent\n implements OnInit, OnDestroy, AfterContentChecked\n{\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 ARIA label for the colorpicker. This sets the colorpicker's `aria-label` attribute\n * [to support accessibility](https://developer.blackbaud.com/skyux/components/checkbox#accessibility)\n * when the colorpicker does not include a visible label. If the colorpicker includes a visible label, use `labelledBy` instead.\n * @default \"Select color value\"\n */\n @Input()\n public label: string | undefined;\n\n /**\n * The HTML element ID of the element that labels the\n * colorpicker. This sets the colorpicker's `aria-labelledby` attribute\n * [to support accessibility](https://developer.blackbaud.com/skyux/components/checkbox#accessibility).\n * If the colorpicker does not include a visible label, use `label` instead.\n */\n @Input()\n public labelledBy: string | undefined;\n\n /**\n * The text to display as the colorpicker's label. Use this instead of a `label` element when the label is text-only.\n * Specifying `labelText` also enables automatic error message handling for standard colorpicker errors.\n */\n @Input()\n public set labelText(value: string | undefined) {\n this.#_labelText = value;\n this.#colorpickerInputSvc.labelText.next(value);\n }\n\n public get labelText(): string | undefined {\n return this.#_labelText;\n }\n\n /**\n * Whether to hide `labelText` from view.\n */\n @Input({ transform: booleanAttribute })\n public labelHidden = false;\n\n /**\n * A help key that identifies the global help content to display. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n * button is placed beside the colorpicker label. Clicking the button invokes [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help)\n * as configured by the application. This property only applies when `labelText` is also specified.\n */\n @Input()\n public helpKey: string | undefined;\n\n /**\n * The content of the help popover. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n * button is added to the colorpicker label. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)\n * when clicked using the specified content and optional title. This property only applies when `labelText` is also specified.\n */\n @Input()\n public helpPopoverContent: string | TemplateRef<unknown> | undefined;\n\n /**\n * The title of the help popover. This property only applies when `helpPopoverContent` is\n * also specified.\n */\n @Input()\n public helpPopoverTitle: string | undefined;\n\n /**\n * [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides\n * additional context to the user.\n */\n @Input()\n public hintText: string | undefined;\n\n /**\n * Whether the colorpicker is stacked on another form component. When specified,\n * the appropriate vertical spacing is automatically added to the text editor.\n */\n @Input({ transform: booleanAttribute })\n @HostBinding('class.sky-form-field-stacked')\n public stacked = false;\n\n /**\n * Fires when users select a color in the colorpicker.\n */\n @Output()\n public selectedColorChanged = new EventEmitter<SkyColorpickerOutput>();\n\n /**\n * Fires when users select **Apply** in the colorpicker to apply a color.\n */\n @Output()\n public selectedColorApplied = new EventEmitter<SkyColorpickerResult>();\n\n /**\n * The observable to send commands to the colorpicker. The commands should\n * respect the `SkyColorpickerMessage` type.\n */\n @Input()\n public messageStream = new Subject<SkyColorpickerMessage>();\n\n /**\n * Whether to display a reset button to let users return to the default color.\n */\n @Input()\n public showResetButton = true;\n\n public set disabled(value: boolean) {\n this.#_disabled = value;\n this.#changeDetector.markForCheck();\n }\n\n public get disabled(): boolean {\n return this.#_disabled;\n }\n\n public set backgroundColorForDisplay(value: string | undefined) {\n this.#_backgroundColorForDisplay = value;\n if (this.pickerButtonIcon) {\n this.iconColor = this.#getAccessibleIconColor(this.selectedColor);\n }\n this.#changeDetector.markForCheck();\n }\n\n public get backgroundColorForDisplay(): string {\n /* istanbul ignore next */\n return this.#_backgroundColorForDisplay || '#fff';\n }\n\n public set hue(change: SkyColorpickerChangeAxis) {\n if (\n this.#hsva &&\n change.xCoordinate !== undefined &&\n change.maxRange !== undefined\n ) {\n this.#hsva.hue = change.xCoordinate / change.maxRange;\n this.#update();\n }\n }\n\n public set red(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rgba.red = change.colorValue! / change.maxRange!;\n this.#hsva = this.#svc.rgbaToHsva(rgba);\n this.#update();\n }\n }\n\n public set green(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rgba.green = change.colorValue! / change.maxRange!;\n this.#hsva = this.#svc.rgbaToHsva(rgba);\n this.#update();\n }\n }\n\n public set blue(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n const rgba = this.#svc.hsvaToRgba(this.#hsva);\n\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rgba.blue = change.colorValue! / change.maxRange!;\n this.#hsva = this.#svc.rgbaToHsva(rgba);\n this.#update();\n }\n }\n\n public set alphaAxis(change: SkyColorpickerChangeAxis) {\n if (\n this.#hsva &&\n change.xCoordinate !== undefined &&\n change.maxRange !== undefined\n ) {\n this.#hsva.alpha = change.xCoordinate / change.maxRange;\n this.#update();\n }\n }\n\n public set alphaColor(change: SkyColorpickerChangeColor) {\n if (this.#hsva) {\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.#hsva.alpha = change.colorValue! / change.maxRange!;\n this.#update();\n }\n }\n\n public set hex(change: SkyColorpickerChangeColor) {\n this.updatePickerValues(change.color);\n }\n\n public set saturationAndLightness(value: SkyColorpickerChangeAxis) {\n if (\n this.#hsva &&\n value.xCoordinate !== undefined &&\n value.xAxis !== undefined &&\n value.yCoordinate !== undefined &&\n value.yAxis !== undefined\n ) {\n this.#hsva.saturation = value.xCoordinate / value.xAxis;\n this.#hsva.value = value.yCoordinate / value.yAxis;\n this.#update();\n }\n }\n\n public skyColorpickerAlphaId: string;\n public returnFormat: string | undefined;\n public initialColor: string | undefined;\n public lastAppliedColor: string | undefined;\n public isVisible = true;\n\n @ViewChild('colorpickerTemplateRef', {\n read: TemplateRef,\n })\n protected colorpickerTemplateRef: TemplateRef<unknown> | undefined;\n\n @ViewChild('triggerButtonRef', {\n read: ElementRef,\n })\n protected triggerButtonRef: ElementRef | undefined;\n\n @ViewChild('colorpickerRef', {\n read: ElementRef,\n })\n protected set colorpickerRef(value: ElementRef | undefined) {\n if (value) {\n this.#_colorpickerRef = value;\n this.#destroyAffixer();\n\n this.#removePickerEventListeners();\n this.#pickerUnsubscribe = new Subject<void>();\n\n // Ensure the colorpicker has fully rendered before adding the affixer. Added to address a\n // race condition when running under production conditions.\n setTimeout(() => {\n this.#createAffixer();\n this.isPickerVisible = true;\n\n this.#coreAdapter.getFocusableChildrenAndApplyFocus(\n value,\n '.sky-colorpicker',\n false,\n );\n this.#changeDetector.markForCheck();\n });\n }\n }\n\n protected get colorpickerRef(): ElementRef | undefined {\n return this.#_colorpickerRef;\n }\n\n @ContentChild(FormControlDirective)\n protected set formControl(value: FormControlDirective | undefined) {\n if (value) {\n this.ngControl = value;\n this.#changeDetector.markForCheck();\n }\n }\n\n @ContentChild(FormControlName)\n protected set formControlByName(value: FormControlName | undefined) {\n if (value) {\n this.ngControl = value;\n this.#changeDetector.markForCheck();\n }\n }\n\n @ContentChild(NgModel)\n protected set ngModel(value: NgModel | undefined) {\n if (value) {\n this.ngControl = value;\n this.#changeDetector.markForCheck();\n }\n }\n\n @ContentChild(SkyRequiredStateDirective)\n protected requiredState: SkyRequiredStateDirective | undefined;\n\n protected inputId: string | undefined;\n protected colorpickerId: string;\n protected isOpen = false;\n protected triggerButtonId: string;\n protected skyColorpickerHexId: string;\n protected skyColorpickerRedId: string;\n protected skyColorpickerGreenId: string;\n protected skyColorpickerBlueId: string;\n protected slider: SliderPosition;\n protected allowTransparency: boolean | undefined;\n protected alphaSliderColor: string | undefined;\n protected hexText: string | undefined;\n protected hueSliderColor: string | undefined;\n protected presetColors: string[] | undefined;\n protected rgbaText: SkyColorpickerRgba | undefined;\n protected selectedColor: SkyColorpickerOutput | undefined;\n protected iconColor: string | undefined;\n protected isPickerVisible: boolean | undefined;\n protected ngControl: AbstractControlDirective | undefined;\n\n #idIndex: number;\n #alphaChannel: string | undefined;\n #format: number | undefined;\n #outputFormat: string | undefined;\n #hsva: SkyColorpickerHsva | undefined;\n #sliderDimMax: SliderDimension;\n #ngUnsubscribe = new Subject<void>();\n #affixer: SkyAffixer | undefined;\n #overlay: SkyOverlayInstance | undefined;\n #pickerUnsubscribe: Subject<void> | undefined;\n\n #affixSvc: SkyAffixService;\n #changeDetector: ChangeDetectorRef;\n #coreAdapter: SkyCoreAdapterService;\n #overlaySvc: SkyOverlayService;\n #svc: SkyColorpickerService;\n #themeSvc: SkyThemeService | undefined;\n\n readonly #environmentInjector = inject(EnvironmentInjector);\n readonly #colorpickerInputSvc = inject(SkyColorpickerInputService);\n readonly #idSvc = inject(SkyIdService);\n\n protected readonly errorId = this.#idSvc.generateId();\n\n #_backgroundColorForDisplay: string | undefined;\n #_colorpickerRef: ElementRef | undefined;\n #_disabled = false;\n #_labelText: string | undefined;\n\n constructor(\n affixSvc: SkyAffixService,\n changeDetector: ChangeDetectorRef,\n coreAdapter: SkyCoreAdapterService,\n overlaySvc: SkyOverlayService,\n svc: SkyColorpickerService,\n @Optional() themeSvc?: SkyThemeService,\n ) {\n this.#affixSvc = affixSvc;\n this.#changeDetector = changeDetector;\n this.#coreAdapter = coreAdapter;\n this.#overlaySvc = overlaySvc;\n this.#svc = svc;\n this.#themeSvc = themeSvc;\n\n componentIdIndex++;\n\n this.#idIndex = componentIdIndex;\n this.inputId = this.#idSvc.generateId();\n this.#colorpickerInputSvc.inputId.next(this.inputId);\n this.skyColorpickerRedId = `sky-colorpicker-red-${this.#idIndex}`;\n this.skyColorpickerHexId = `sky-colorpicker-hex--${this.#idIndex}`;\n this.skyColorpickerRedId = `sky-colorpicker-red--${this.#idIndex}`;\n this.skyColorpickerGreenId = `sky-colorpicker-green--${this.#idIndex}`;\n this.skyColorpickerBlueId = `sky-colorpicker-blue--${this.#idIndex}`;\n this.skyColorpickerAlphaId = `sky-colorpicker-alpha--${this.#idIndex}`;\n this.colorpickerId = `sky-colorpicker--${this.#idIndex}`;\n this.triggerButtonId = `sky-colorpicker-button--${this.#idIndex}`;\n\n this.#sliderDimMax = new SliderDimension(182, 270, 170, 182);\n this.slider = new SliderPosition(0, 0, 0, 0);\n }\n\n public setDialog(\n color: string | undefined,\n outputFormat: string,\n presetColors: string[],\n alphaChannel: string,\n allowTransparency: boolean,\n ): void {\n this.initialColor = color;\n this.#outputFormat = outputFormat;\n this.presetColors = presetColors;\n this.#alphaChannel = alphaChannel;\n this.allowTransparency = allowTransparency;\n\n if (this.#outputFormat === 'rgba') {\n this.#format = 1;\n } else if (this.#outputFormat === 'hsla') {\n this.#format = 2;\n } else {\n this.#format = 0;\n }\n }\n\n public ngOnInit(): void {\n this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyColorpickerMessage) => {\n this.#handleIncomingMessages(message);\n });\n\n this.#addTriggerButtonEventListeners();\n\n /* istanbul ignore else */\n if (this.#themeSvc) {\n this.#themeSvc.settingsChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((themeSettings) => {\n /* istanbul ignore next */\n const themeName = themeSettings.currentSettings?.theme?.name;\n\n // Hue/alpha slider bars have different widths in Modern theme.\n /* istanbul ignore if */\n if (themeName === 'modern') {\n this.#sliderDimMax = new SliderDimension(174, 270, 170, 174);\n } else {\n this.#sliderDimMax = new SliderDimension(182, 270, 170, 182);\n }\n this.#updateSlider();\n });\n }\n }\n\n public ngAfterContentChecked(): void {\n if (this.labelText) {\n this.#colorpickerInputSvc.ariaError.next({\n hasError: !this.ngControl?.valid,\n errorId: this.errorId,\n });\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n this.#removePickerEventListeners();\n this.#destroyAffixer();\n this.#destroyOverlay();\n }\n\n public onTriggerButtonClick(): void {\n this.ngControl?.control?.markAsTouched();\n\n this.#sendMessage(SkyColorpickerMessageType.Open);\n }\n\n public closePicker(): void {\n this.#destroyAffixer();\n this.#destroyOverlay();\n this.#removePickerEventListeners();\n this.triggerButtonRef?.nativeElement.focus();\n this.isOpen = false;\n }\n\n public onApplyColorClick(): void {\n this.#confirmSelectedColor();\n }\n\n public onCancelClick(): void {\n // Revert picker values back to previous color.\n this.updatePickerValues(this.backgroundColorForDisplay);\n this.closePicker();\n\n this.#changeDetector.markForCheck();\n }\n\n public onPresetClick(value: string): void {\n this.updatePickerValues(value);\n }\n\n public onResetClick(): void {\n this.#sendMessage(SkyColorpickerMessageType.Reset);\n }\n\n public updatePickerValues(value: string | undefined): void {\n const hsva = this.#getHsvaValue(value);\n if (hsva) {\n this.#hsva = hsva;\n this.#update();\n }\n }\n\n protected onContainerEnterKeyDown(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n\n this.#confirmSelectedColor();\n }\n\n #update(): void {\n if (this.#hsva) {\n const rgba: SkyColorpickerRgba = this.#svc.hsvaToRgba(this.#hsva);\n const dRgba: SkyColorpickerRgba = this.#svc.denormalizeRGBA(rgba);\n\n const hsva: SkyColorpickerHsva = {\n hue: this.#hsva.hue,\n saturation: 1,\n value: 1,\n alpha: 1,\n };\n\n const hueRgba = this.#svc.denormalizeRGBA(this.#svc.hsvaToRgba(hsva));\n\n this.rgbaText = dRgba;\n this.hexText = this.#svc.hexText(dRgba, this.#alphaChannel === 'hex8');\n\n this.alphaSliderColor = `rgba(${dRgba.red},${dRgba.green},${dRgba.blue},${dRgba.alpha})`;\n this.hueSliderColor = `rgba(${hueRgba.red},${hueRgba.green},${hueRgba.blue},${rgba.alpha})`;\n\n if (\n this.#format === 0 &&\n this.#hsva.alpha < 1 &&\n this.#alphaChannel === 'hex6'\n ) {\n this.#format++;\n }\n\n this.selectedColor = this.#svc.skyColorpickerOut(this.#hsva);\n\n this.#updateSlider();\n }\n }\n\n #updateSlider(): void {\n if (this.#hsva && this.#sliderDimMax) {\n this.slider = new SliderPosition(\n this.#hsva.hue * this.#sliderDimMax.hue - 8,\n this.#hsva.saturation * this.#sliderDimMax.saturation - 8,\n (1 - this.#hsva.value) * this.#sliderDimMax.value - 8,\n this.#hsva.alpha * this.#sliderDimMax.alpha - 8,\n );\n }\n }\n\n #openPicker(): void {\n this.isPickerVisible = false;\n this.#removePickerEventListeners();\n this.#destroyOverlay();\n this.#createOverlay();\n this.isOpen = true;\n }\n\n #sendMessage(type: SkyColorpickerMessageType): void {\n this.messageStream.next({ type });\n }\n\n #handleIncomingMessages(message: SkyColorpickerMessage): void {\n switch (message.type) {\n case SkyColorpickerMessageType.Open:\n if (!this.isOpen) {\n this.#openPicker();\n }\n break;\n\n case SkyColorpickerMessageType.Close:\n if (this.isOpen) {\n this.closePicker();\n }\n break;\n\n case SkyColorpickerMessageType.Reset:\n this.updatePickerValues(this.initialColor);\n this.backgroundColorForDisplay = this.initialColor;\n this.selectedColorChanged.emit(this.selectedColor);\n // TODO: This code assumed non-null pre-strict mode. Reevaluate in the future?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.selectedColorApplied.emit({ color: this.selectedColor! });\n break;\n\n case SkyColorpickerMessageType.ToggleResetButton:\n this.showResetButton = !this.showResetButton;\n break;\n }\n }\n\n #createAffixer(): void {\n if (\n this.colorpickerRef &&\n this.triggerButtonRef &&\n this.#pickerUnsubscribe\n ) {\n const affixer = this.#affixSvc.createAffixer(this.colorpickerRef);\n\n affixer.placementChange\n .pipe(takeUntil(this.#pickerUnsubscribe))\n .subscribe((change) => {\n this.isPickerVisible = change.placement !== null;\n });\n\n affixer.affixTo(this.triggerButtonRef.nativeElement, {\n autoFitContext: SkyAffixAutoFitContext.Viewport,\n enableAutoFit: true,\n horizontalAlignment: 'left',\n verticalAlignment: 'bottom',\n isSticky: true,\n placement: 'below',\n });\n\n this.#affixer = affixer;\n }\n }\n\n #destroyAffixer(): void {\n /*istanbul ignore else*/\n if (this.#affixer) {\n this.#affixer.destroy();\n this.#affixer = undefined;\n }\n }\n\n #createOverlay(): void {\n if (this.colorpickerTemplateRef) {\n const overlay = this.#overlaySvc.create({\n enableClose: false,\n enablePointerEvents: false,\n enableScroll: true,\n environmentInjector: this.#environmentInjector,\n hideOthersFromScreenReaders: true,\n });\n\n overlay.attachTemplate(this.colorpickerTemplateRef);\n\n this.#overlay = overlay;\n }\n }\n\n #destroyOverlay(): void {\n /*istanbul ignore else*/\n if (this.#overlay) {\n this.#overlaySvc.close(this.#overlay);\n this.#overlay = undefined;\n }\n }\n\n #addTriggerButtonEventListeners(): void {\n fromEvent(window.document, 'keydown')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((event) => {\n const keyboardEvent = event as KeyboardEvent;\n const key = keyboardEvent.key?.toLowerCase();\n /* istanbul ignore else */\n if (key === 'escape') {\n this.#sendMessage(SkyColorpickerMessageType.Close);\n }\n });\n }\n\n #removePickerEventListeners(): void {\n /* istanbul ignore else */\n if (this.#pickerUnsubscribe) {\n this.#pickerUnsubscribe.next();\n this.#pickerUnsubscribe.complete();\n this.#pickerUnsubscribe = undefined;\n }\n }\n\n #getHsvaValue(value: string | undefined): SkyColorpickerHsva | undefined {\n let hsva: SkyColorpickerHsva | undefined;\n\n if (value) {\n if (this.#alphaChannel === 'hex8') {\n hsva = this.#svc.stringToHsva(value, true);\n if (!hsva && !this.#hsva) {\n hsva = this.#svc.stringToHsva(value, false);\n }\n } else {\n hsva = this.#svc.stringToHsva(value, false);\n }\n }\n\n return hsva;\n }\n\n #getAccessibleIconColor(\n backgroundColor: SkyColorpickerOutput | undefined,\n ): string | undefined {\n if (backgroundColor) {\n // https://www.w3.org/WAI/GL/wiki/Relative_luminance\n const RsRGB = backgroundColor.rgba.red / 255;\n const GsRGB = backgroundColor.rgba.green / 255;\n const BsRGB = backgroundColor.rgba.blue / 255;\n\n const R =\n RsRGB <= 0.03928\n ? RsRGB / 12.92\n : Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n const G =\n GsRGB <= 0.03928\n ? GsRGB / 12.92\n : Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n const B =\n BsRGB <= 0.03928\n ? BsRGB / 12.92\n : Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n\n const relativeLuminance =\n (0.2126 * R + 0.7152 * G + 0.0722 * B) *\n (1 / backgroundColor.rgba.alpha);\n\n // https://www.w3.org/WAI/GL/wiki/Contrast_ratio\n return 1.05 / (relativeLuminance + 0.05) > 3\n ? 'rgb(255, 255, 255)'\n : 'rgb(0, 0, 0)';\n }\n /* istanbul ignore next */\n return undefined;\n }\n\n #confirmSelectedColor(): void {\n if (this.selectedColor) {\n this.selectedColorChanged.emit(this.selectedColor);\n this.selectedColorApplied.emit({ color: this.selectedColor });\n this.lastAppliedColor = this.selectedColor.rgbaText;\n this.updatePickerValues(this.lastAppliedColor);\n this.backgroundColorForDisplay = this.selectedColor.rgbaText;\n }\n\n this.closePicker();\n }\n}\n","<span class=\"sky-color-picker-label-wrapper\">\n @if (labelText) {\n <label\n class=\"sky-control-label\"\n [ngClass]=\"{\n 'sky-screen-reader-only': labelHidden,\n 'sky-control-label-required': requiredState?.isRequired()\n }\"\n [for]=\"inputId\"\n >{{ labelText }}</label\n >\n @if ((helpPopoverContent || helpKey) && !labelHidden) {\n <span class=\"sky-control-help-container\">\n <sky-help-inline\n [helpKey]=\"helpKey\"\n [labelText]=\"labelText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n </span>\n }\n }\n</span>\n\n<div\n class=\"sky-colorpicker-input-group sky-input-group\"\n [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 #triggerButtonRef\n aria-haspopup=\"dialog\"\n class=\"sky-colorpicker-button\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? colorpickerId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n [attr.aria-label]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-button-disabled': disabled,\n 'sky-colorpicker-error':\n (ngControl?.touched || ngControl?.dirty) && ngControl?.errors\n }\"\n [style.background-color]=\"backgroundColorForDisplay\"\n (click)=\"onTriggerButtonClick()\"\n >\n @if (pickerButtonIcon) {\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-colorpicker-button-icon\"\n variant=\"solid\"\n iconSize=\"s\"\n [iconName]=\"pickerButtonIcon\"\n [style.color]=\"iconColor\"\n />\n <sky-icon\n *skyThemeIf=\"'modern'\"\n class=\"sky-colorpicker-button-icon\"\n variant=\"solid\"\n [iconName]=\"pickerButtonIcon\"\n [style.color]=\"iconColor\"\n />\n }\n <ng-container *skyThemeIf=\"'modern'\">\n <sky-icon\n class=\"sky-colorpicker-button-modern-chevron\"\n iconName=\"chevron-down\"\n iconSize=\"xxs\"\n [ngClass]=\"{\n 'sky-colorpicker-button-modern-chevron-disabled': disabled\n }\"\n />\n </ng-container>\n </button>\n\n <ng-template #colorpickerTemplateRef>\n <div\n #colorpickerRef\n class=\"sky-colorpicker-container\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"colorpickerId\"\n [hidden]=\"!isPickerVisible\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n [cdkTrapFocus]=\"true\"\n [cdkTrapFocusAutoCapture]=\"false\"\n >\n <div class=\"sky-colorpicker\">\n <div\n class=\"saturation-lightness\"\n [color]=\"slider.saturation - slider.value + ''\"\n [skyColorpickerSlider]\n [style.background-color]=\"hueSliderColor\"\n [xAxis]=\"1\"\n [yAxis]=\"1\"\n (newColorContrast)=\"saturationAndLightness = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.saturation\"\n [style.top.px]=\"slider.value\"\n ></div>\n </div>\n\n <div class=\"box\">\n <div class=\"left\">\n <div class=\"selected-color-background sky-rounded-circle\"></div>\n <div\n class=\"selected-color sky-rounded-circle\"\n [style.background-color]=\"selectedColor?.rgbaText\"\n ></div>\n </div>\n <div class=\"right\">\n <div\n #hueSlider\n class=\"hue\"\n [skyColorpickerSlider]\n [xAxis]=\"1\"\n (newColorContrast)=\"hue = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.hue\"\n ></div>\n </div>\n @if (allowTransparency) {\n <div\n #alphaSlider\n class=\"alpha\"\n [skyColorpickerSlider]\n [style.background-color]=\"alphaSliderColor\"\n [xAxis]=\"1\"\n (newColorContrast)=\"alphaAxis = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.alpha\"\n ></div>\n </div>\n }\n </div>\n </div>\n\n <div\n class=\"rgba-text\"\n (keydown.enter)=\"onContainerEnterKeyDown($event)\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_hex' | skyLibResources\"\n [attr.for]=\"skyColorpickerHexId\"\n >\n {{ 'skyux_colorpicker_hex' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n pattern=\"^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$\"\n [attr.id]=\"skyColorpickerHexId\"\n [skyColorpickerText]\n [value]=\"hexText\"\n (newColorContrast)=\"hex = $event\"\n />\n </sky-input-box>\n\n <fieldset\n [attr.aria-label]=\"'skyux_colorpicker_aria_rgba' | skyLibResources\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_red' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerRedId\"\n >\n {{ 'skyux_colorpicker_red' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerRedId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.red\"\n (newColorContrast)=\"red = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_green' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerGreenId\"\n >\n {{ 'skyux_colorpicker_green' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerGreenId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.green\"\n (newColorContrast)=\"green = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_blue' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerBlueId\"\n >\n {{ 'skyux_colorpicker_blue' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerBlueId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.blue\"\n (newColorContrast)=\"blue = $event\"\n />\n </sky-input-box>\n @if (allowTransparency) {\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_alpha' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerAlphaId\"\n >\n {{ 'skyux_colorpicker_alpha' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"1\"\n min=\"0\"\n pattern=\"[0-9]+([\\.,][0-9]{1,2})?\"\n step=\"0.1\"\n type=\"number\"\n [attr.id]=\"skyColorpickerAlphaId\"\n [maxRange]=\"1\"\n [skyColorpickerText]\n [value]=\"rgbaText?.alpha\"\n (newColorContrast)=\"alphaColor = $event\"\n />\n </sky-input-box>\n }\n </fieldset>\n </div>\n @if (presetColors && presetColors.length) {\n <div class=\"sky-colorpicker-preset-color-area\">\n @for (\n color of presetColors | slice: 0 : 12;\n track color;\n let i = $index\n ) {\n <button\n class=\"sky-preset-color\"\n type=\"button\"\n [attr.aria-label]=\"\n ('skyux_colorpicker_preset_color' | skyLibResources) +\n ' ' +\n color\n \"\n [skyThemeClass]=\"{\n 'sky-btn sky-btn-link': 'modern'\n }\"\n [style.backgroundColor]=\"color\"\n (click)=\"onPresetClick(color)\"\n ></button>\n }\n </div>\n }\n </div>\n\n <div class=\"sky-colorpicker-footer\">\n <section class=\"sky-colorpicker-column\">\n <button\n class=\"sky-btn sky-btn-primary sky-btn-colorpicker-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_apply' | skyLibResources\"\n (click)=\"onApplyColorClick()\"\n >\n {{ 'skyux_colorpicker_apply' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-btn-colorpicker-close\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_close' | skyLibResources\"\n (click)=\"onCancelClick()\"\n >\n {{ 'skyux_colorpicker_close' | skyLibResources }}\n </button>\n </section>\n </div>\n </div>\n </ng-template>\n @if (allowTransparency) {\n <span aria-hidden=\"true\" class=\"sky-colorpicker-checkered-background\">\n </span>\n }\n\n @if (showResetButton) {\n <button\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_reset' | skyLibResources\"\n [disabled]=\"disabled\"\n [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'\" iconName=\"close\" iconSize=\"s\" />\n <sky-icon *skyThemeIf=\"'modern'\" iconName=\"delete\" />\n </button>\n }\n</div>\n\n<div #hintTextEl=\"skyId\" skyId>\n @if (hintText) {\n <div\n class=\"sky-colorpicker-hint-text\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'default',\n 'sky-font-hint-text-s': 'modern'\n }\"\n >\n {{ hintText }}\n </div>\n }\n</div>\n\n<sky-form-errors\n [id]=\"errorId\"\n [errors]=\"ngControl?.errors\"\n [labelText]=\"labelText\"\n [touched]=\"ngControl?.touched\"\n [dirty]=\"ngControl?.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyAffixModule, SkyIdModule } from '@skyux/core';\nimport {\n SkyFormErrorModule,\n SkyFormErrorsModule,\n SkyInputBoxModule,\n} from '@skyux/forms';\nimport { SkyHelpInlineModule } from '@skyux/help-inline';\nimport { SkyIconModule } from '@skyux/icon';\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 A11yModule,\n CommonModule,\n SkyAffixModule,\n SkyColorpickerResourcesModule,\n SkyIdModule,\n SkyFormErrorModule,\n SkyFormErrorsModule,\n SkyHelpInlineModule,\n SkyIconModule,\n SkyInputBoxModule,\n SkyThemeModule,\n ],\n exports: [\n SkyColorpickerComponent,\n SkyColorpickerInputDirective,\n SkyFormErrorModule,\n ],\n})\nexport class SkyColorpickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.SkyColorpickerService","i3","takeUntil","i2.SkyColorpickerService","i9.SkyColorpickerTextDirective","i10.SkyColorpickerSliderDirective","i11"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/colorpicker",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.30.0",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blackbaud",
|
|
@@ -21,13 +21,13 @@
|
|
|
21
21
|
"@angular/core": "^19.2.14",
|
|
22
22
|
"@angular/forms": "^19.2.14",
|
|
23
23
|
"@angular/platform-browser": "^19.2.14",
|
|
24
|
-
"@skyux-sdk/testing": "12.
|
|
25
|
-
"@skyux/core": "12.
|
|
26
|
-
"@skyux/forms": "12.
|
|
27
|
-
"@skyux/help-inline": "12.
|
|
28
|
-
"@skyux/i18n": "12.
|
|
29
|
-
"@skyux/icon": "12.
|
|
30
|
-
"@skyux/theme": "12.
|
|
24
|
+
"@skyux-sdk/testing": "12.30.0",
|
|
25
|
+
"@skyux/core": "12.30.0",
|
|
26
|
+
"@skyux/forms": "12.30.0",
|
|
27
|
+
"@skyux/help-inline": "12.30.0",
|
|
28
|
+
"@skyux/i18n": "12.30.0",
|
|
29
|
+
"@skyux/icon": "12.30.0",
|
|
30
|
+
"@skyux/theme": "12.30.0"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"tslib": "^2.8.1"
|