ngx-tethys 19.0.2 → 19.0.3
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.
- package/CHANGELOG.md +9 -0
- package/color-picker/color-picker.component.d.ts +2 -1
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/package.json +1 -1
- package/popover/popover.config.d.ts +2 -2
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/select/select.config.d.ts +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [19.0.3](https://github.com/atinc/ngx-tethys/compare/19.0.2...19.0.3) (2025-04-10)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* specify the Overlay type returned by the function TINFR-1816 ([#3333](https://github.com/atinc/ngx-tethys/issues/3333)) ([ce1626f](https://github.com/atinc/ngx-tethys/commit/ce1626fdefb0e8b46ac64528e3b9da56219b04f3))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
5
14
|
## [19.0.2](https://github.com/atinc/ngx-tethys/compare/19.0.1...19.0.2) (2025-04-08)
|
|
6
15
|
|
|
7
16
|
### Features
|
|
@@ -4,6 +4,7 @@ import { ElementRef, EventEmitter, NgZone, OnDestroy, OnInit } from '@angular/co
|
|
|
4
4
|
import { ThyOverlayDirectiveBase, ThyPlacement, ThyOverlayTrigger } from 'ngx-tethys/core';
|
|
5
5
|
import { ThyPopoverRef } from 'ngx-tethys/popover';
|
|
6
6
|
import { ThyColorPickerPanel } from './color-picker-panel.component';
|
|
7
|
+
import { OverlayRef } from '@angular/cdk/overlay';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
export declare class OverlayBase extends ThyOverlayDirectiveBase {
|
|
9
10
|
protected zone: NgZone;
|
|
@@ -82,7 +83,7 @@ export declare class ThyColorPickerDirective extends _BaseMixin implements OnIni
|
|
|
82
83
|
get backgroundColor(): string;
|
|
83
84
|
constructor();
|
|
84
85
|
ngOnInit(): void;
|
|
85
|
-
togglePanel():
|
|
86
|
+
togglePanel(): OverlayRef;
|
|
86
87
|
show(delay?: number): void;
|
|
87
88
|
hide(delay?: number): void;
|
|
88
89
|
writeValue(value: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-color-picker.mjs","sources":["../../../src/color-picker/helpers/rgba.class.ts","../../../src/color-picker/helpers/colors-table.class.ts","../../../src/color-picker/helpers/color.class.ts","../../../src/color-picker/parts/inputs/inputs.component.ts","../../../src/color-picker/parts/inputs/inputs.component.html","../../../src/color-picker/parts/indicator/indicator.component.ts","../../../src/color-picker/parts/indicator/indicator.component.html","../../../src/color-picker/coordinates.directive.ts","../../../src/color-picker/parts/alpha/alpha.component.ts","../../../src/color-picker/parts/alpha/alpha.component.html","../../../src/color-picker/parts/hue/hue.component.ts","../../../src/color-picker/parts/hue/hue.component.html","../../../src/color-picker/parts/saturation/saturation.component.ts","../../../src/color-picker/parts/saturation/saturation.component.html","../../../src/color-picker/color-picker-custom-panel.component.ts","../../../src/color-picker/color-picker-custom-panel.component.html","../../../src/color-picker/color-picker-panel.component.ts","../../../src/color-picker/color-picker-panel.component.html","../../../src/color-picker/constant.ts","../../../src/color-picker/color-picker.component.ts","../../../src/color-picker/module.ts","../../../src/color-picker/ngx-tethys-color-picker.ts"],"sourcesContent":["/**\n * RGB (Red Green Blue)\n *\n * Red = ranges from 0-255\n * Green = ranges from 0-255\n * Blue = ranges from 0-255\n * Alpha = range from 0-1\n */\nexport class ThyRgba {\n constructor(\n public red: number,\n public green: number,\n public blue: number,\n public alpha: number\n ) {}\n\n public toString(showAlphaChannel: boolean = true): string {\n return showAlphaChannel\n ? `rgba(${this.getRed()}, ${this.getGreen()}, ${this.getBlue()}, ${this.getAlpha()})`\n : `rgb(${this.getRed()}, ${this.getGreen()}, ${this.getBlue()})`;\n }\n\n public getRed(): number {\n return Math.round(this.red);\n }\n\n public getGreen(): number {\n return Math.round(this.green);\n }\n\n public getBlue(): number {\n return Math.round(this.blue);\n }\n\n public getAlpha(): number {\n return Math.round(this.alpha * 100) / 100;\n }\n}\n","import { ThyRgba } from './rgba.class';\n\n/**\n * http://www.w3.org/TR/css3-color/\n */\nexport class ThyColorsTable {\n public static transparent = new ThyRgba(0, 0, 0, 0);\n public static aliceblue = new ThyRgba(240, 248, 255, 1);\n public static antiquewhite = new ThyRgba(250, 235, 215, 1);\n public static aqua = new ThyRgba(0, 255, 255, 1);\n public static aquamarine = new ThyRgba(127, 255, 212, 1);\n public static azure = new ThyRgba(240, 255, 255, 1);\n public static beige = new ThyRgba(245, 245, 220, 1);\n public static bisque = new ThyRgba(255, 228, 196, 1);\n public static black = new ThyRgba(0, 0, 0, 1);\n public static blanchedalmond = new ThyRgba(255, 235, 205, 1);\n public static blue = new ThyRgba(0, 0, 255, 1);\n public static blueviolet = new ThyRgba(138, 43, 226, 1);\n public static brown = new ThyRgba(165, 42, 42, 1);\n public static burlywood = new ThyRgba(222, 184, 135, 1);\n public static cadetblue = new ThyRgba(95, 158, 160, 1);\n public static chartreuse = new ThyRgba(127, 255, 0, 1);\n public static chocolate = new ThyRgba(210, 105, 30, 1);\n public static coral = new ThyRgba(255, 127, 80, 1);\n public static cornflowerblue = new ThyRgba(100, 149, 237, 1);\n public static cornsilk = new ThyRgba(255, 248, 220, 1);\n public static crimson = new ThyRgba(220, 20, 60, 1);\n public static cyan = new ThyRgba(0, 255, 255, 1);\n public static darkblue = new ThyRgba(0, 0, 139, 1);\n public static darkcyan = new ThyRgba(0, 139, 139, 1);\n public static darkgoldenrod = new ThyRgba(184, 134, 11, 1);\n public static darkgray = new ThyRgba(169, 169, 169, 1);\n public static darkgreen = new ThyRgba(0, 100, 0, 1);\n public static darkgrey = ThyColorsTable.darkgray;\n public static darkkhaki = new ThyRgba(189, 183, 107, 1);\n public static darkmagenta = new ThyRgba(139, 0, 139, 1);\n public static darkolivegreen = new ThyRgba(85, 107, 47, 1);\n public static darkorange = new ThyRgba(255, 140, 0, 1);\n public static darkorchid = new ThyRgba(153, 50, 204, 1);\n public static darkred = new ThyRgba(139, 0, 0, 1);\n public static darksalmon = new ThyRgba(233, 150, 122, 1);\n public static darkseagreen = new ThyRgba(143, 188, 143, 1);\n public static darkslateblue = new ThyRgba(72, 61, 139, 1);\n public static darkslategray = new ThyRgba(47, 79, 79, 1);\n public static darkslategrey = ThyColorsTable.darkslategray;\n public static darkturquoise = new ThyRgba(0, 206, 209, 1);\n public static darkviolet = new ThyRgba(148, 0, 211, 1);\n public static deeppink = new ThyRgba(255, 20, 147, 1);\n public static deepskyblue = new ThyRgba(0, 191, 255, 1);\n public static dimgray = new ThyRgba(105, 105, 105, 1);\n public static dimgrey = ThyColorsTable.dimgray;\n public static dodgerblue = new ThyRgba(30, 144, 255, 1);\n public static firebrick = new ThyRgba(178, 34, 34, 1);\n public static floralwhite = new ThyRgba(255, 250, 240, 1);\n public static forestgreen = new ThyRgba(34, 139, 34, 1);\n public static fuchsia = new ThyRgba(255, 0, 255, 1);\n public static gainsboro = new ThyRgba(220, 220, 220, 1);\n public static ghostwhite = new ThyRgba(248, 248, 255, 1);\n public static gold = new ThyRgba(255, 215, 0, 1);\n public static goldenrod = new ThyRgba(218, 165, 32, 1);\n public static gray = new ThyRgba(128, 128, 128, 1);\n public static grey = ThyColorsTable.gray;\n public static green = new ThyRgba(0, 128, 0, 1);\n public static greenyellow = new ThyRgba(173, 255, 47, 1);\n public static honeydew = new ThyRgba(240, 255, 240, 1);\n public static hotpink = new ThyRgba(255, 105, 180, 1);\n public static indianred = new ThyRgba(205, 92, 92, 1);\n public static indigo = new ThyRgba(75, 0, 130, 1);\n public static ivory = new ThyRgba(255, 255, 240, 1);\n public static khaki = new ThyRgba(240, 230, 140, 1);\n public static lavender = new ThyRgba(230, 230, 250, 1);\n public static lavenderblush = new ThyRgba(255, 240, 245, 1);\n public static lawngreen = new ThyRgba(124, 252, 0, 1);\n public static lemonchiffon = new ThyRgba(255, 250, 205, 1);\n public static lightblue = new ThyRgba(173, 216, 230, 1);\n public static lightcoral = new ThyRgba(240, 128, 128, 1);\n public static lightcyan = new ThyRgba(224, 255, 255, 1);\n public static lightgoldenrodyellow = new ThyRgba(250, 250, 210, 1);\n public static lightgray = new ThyRgba(211, 211, 211, 1);\n public static lightgreen = new ThyRgba(144, 238, 144, 1);\n public static lightgrey = ThyColorsTable.lightgray;\n public static lightpink = new ThyRgba(255, 182, 193, 1);\n public static lightsalmon = new ThyRgba(255, 160, 122, 1);\n public static lightseagreen = new ThyRgba(32, 178, 170, 1);\n public static lightskyblue = new ThyRgba(135, 206, 250, 1);\n public static lightslategray = new ThyRgba(119, 136, 153, 1);\n public static lightslategrey = ThyColorsTable.lightslategray;\n public static lightsteelblue = new ThyRgba(176, 196, 222, 1);\n public static lightyellow = new ThyRgba(255, 255, 224, 1);\n public static lime = new ThyRgba(0, 255, 0, 1);\n public static limegreen = new ThyRgba(50, 205, 50, 1);\n public static linen = new ThyRgba(250, 240, 230, 1);\n public static magenta = new ThyRgba(255, 0, 255, 1);\n public static maroon = new ThyRgba(128, 0, 0, 1);\n public static mediumaquamarine = new ThyRgba(102, 205, 170, 1);\n public static mediumblue = new ThyRgba(0, 0, 205, 1);\n public static mediumorchid = new ThyRgba(186, 85, 211, 1);\n public static mediumpurple = new ThyRgba(147, 112, 219, 1);\n public static mediumseagreen = new ThyRgba(60, 179, 113, 1);\n public static mediumslateblue = new ThyRgba(123, 104, 238, 1);\n public static mediumspringgreen = new ThyRgba(0, 250, 154, 1);\n public static mediumturquoise = new ThyRgba(72, 209, 204, 1);\n public static mediumvioletred = new ThyRgba(199, 21, 133, 1);\n public static midnightblue = new ThyRgba(25, 25, 112, 1);\n public static mintcream = new ThyRgba(245, 255, 250, 1);\n public static mistyrose = new ThyRgba(255, 228, 225, 1);\n public static moccasin = new ThyRgba(255, 228, 181, 1);\n public static navajowhite = new ThyRgba(255, 222, 173, 1);\n public static navy = new ThyRgba(0, 0, 128, 1);\n public static oldlace = new ThyRgba(253, 245, 230, 1);\n public static olive = new ThyRgba(128, 128, 0, 1);\n public static olivedrab = new ThyRgba(107, 142, 35, 1);\n public static orange = new ThyRgba(255, 165, 0, 1);\n public static orangered = new ThyRgba(255, 69, 0, 1);\n public static orchid = new ThyRgba(218, 112, 214, 1);\n public static palegoldenrod = new ThyRgba(238, 232, 170, 1);\n public static palegreen = new ThyRgba(152, 251, 152, 1);\n public static paleturquoise = new ThyRgba(175, 238, 238, 1);\n public static palevioletred = new ThyRgba(219, 112, 147, 1);\n public static papayawhip = new ThyRgba(255, 239, 213, 1);\n public static peachpuff = new ThyRgba(255, 218, 185, 1);\n public static peru = new ThyRgba(205, 133, 63, 1);\n public static pink = new ThyRgba(255, 192, 203, 1);\n public static plum = new ThyRgba(221, 160, 221, 1);\n public static powderblue = new ThyRgba(176, 224, 230, 1);\n public static purple = new ThyRgba(128, 0, 128, 1);\n public static red = new ThyRgba(255, 0, 0, 1);\n public static rosybrown = new ThyRgba(188, 143, 143, 1);\n public static royalblue = new ThyRgba(65, 105, 225, 1);\n public static saddlebrown = new ThyRgba(139, 69, 19, 1);\n public static salmon = new ThyRgba(250, 128, 114, 1);\n public static sandybrown = new ThyRgba(244, 164, 96, 1);\n public static seagreen = new ThyRgba(46, 139, 87, 1);\n public static seashell = new ThyRgba(255, 245, 238, 1);\n public static sienna = new ThyRgba(160, 82, 45, 1);\n public static silver = new ThyRgba(192, 192, 192, 1);\n public static skyblue = new ThyRgba(135, 206, 235, 1);\n public static slateblue = new ThyRgba(106, 90, 205, 1);\n public static slategray = new ThyRgba(112, 128, 144, 1);\n public static slategrey = ThyColorsTable.slategray;\n public static snow = new ThyRgba(255, 250, 250, 1);\n public static springgreen = new ThyRgba(0, 255, 127, 1);\n public static steelblue = new ThyRgba(70, 130, 180, 1);\n public static tan = new ThyRgba(210, 180, 140, 1);\n public static teal = new ThyRgba(0, 128, 128, 1);\n public static thistle = new ThyRgba(216, 191, 216, 1);\n public static tomato = new ThyRgba(255, 99, 71, 1);\n public static turquoise = new ThyRgba(64, 224, 208, 1);\n public static violet = new ThyRgba(238, 130, 238, 1);\n public static wheat = new ThyRgba(245, 222, 179, 1);\n public static white = new ThyRgba(255, 255, 255, 1);\n public static whitesmoke = new ThyRgba(245, 245, 245, 1);\n public static yellow = new ThyRgba(255, 255, 0, 1);\n public static yellowgreen = new ThyRgba(154, 205, 50, 1);\n}\n","import { ThyColorsTable } from './colors-table.class';\nimport { ThyRgba } from './rgba.class';\n\nconst hsv2hsl = function (hue: number, sat: number, val: number) {\n return [hue, (sat * val) / ((hue = (2 - sat) * val) < 1 ? hue : 2 - hue) || 0, hue / 2];\n};\n\nexport class ThyColor {\n hue = 0;\n saturation = 0;\n value = 0;\n alpha = 1;\n enableAlpha = false;\n format = 'hex';\n displayValue = '#000000'; // 最终展示的值\n rgba: ThyRgba = new ThyRgba(0, 0, 0, 1);\n\n constructor(color?: string | { h: number; s: number; v: number; alpha: number }) {\n if (color) {\n this.stringToColor(color);\n }\n }\n\n private stringToColor(color: string | { h: number; s: number; v: number; alpha: number }): this {\n if (typeof color === 'string') {\n const str = color.replace(/ /g, '').toLowerCase();\n /**\n * try to find color by name in table\n */\n let rgba: ThyRgba = ThyColorsTable[str] || null;\n\n /**\n * hex find\n */\n if (str[0] === '#') {\n let hex = str.substr(1);\n const length = hex.length;\n let hexArray: string[] = [];\n\n if (length === 3) {\n hexArray = hex.split('').map(value => value + value);\n } else if (length === 6) {\n hexArray = hex.match(/.{2}/g);\n } else if (length === 8) {\n const alpha = hex.substr(-2);\n hex = hex.substr(0, length - 2);\n this.alpha = this.roundNumber(parseInt(alpha || 'FF', 16) / 255);\n hexArray = hex.match(/.{2}/g);\n }\n\n if (hexArray.length === 3) {\n rgba = new ThyRgba(parseInt(hexArray[0], 16), parseInt(hexArray[1], 16), parseInt(hexArray[2], 16), this.alpha);\n }\n }\n const OpenParenthesis = str.indexOf('(');\n const CloseParenthesis = str.indexOf(')');\n if (OpenParenthesis !== -1 && CloseParenthesis + 1 === str.length) {\n const colorTypeName = str.substr(0, OpenParenthesis);\n const params = str.substr(OpenParenthesis + 1, CloseParenthesis - (OpenParenthesis + 1)).split(',');\n switch (colorTypeName) {\n case 'rgba':\n this.alpha = parseFloat(params.pop());\n case 'rgb':\n rgba = new ThyRgba(parseInt(params[0], 10), parseInt(params[1], 10), parseInt(params[2], 10), this.alpha);\n break;\n case 'hsla':\n this.alpha = parseFloat(params.pop());\n case 'hsl':\n rgba = this.hslaToRgba(parseInt(params[0], 10), parseInt(params[1], 10), parseInt(params[2], 10), this.alpha);\n break;\n // case 'cmyk':\n // const cmyk = new Cmyk(\n // parseInt(params[0], 10),\n // parseInt(params[1], 10),\n // parseInt(params[2], 10),\n // parseInt(params[3], 10)\n // );\n // rgba = this.cmykToRgba(cmyk);\n // break;\n }\n }\n if (rgba) {\n this.rgba = new ThyRgba(rgba.red, rgba.green, rgba.blue, rgba.alpha);\n const hsv = this.rgbTohsv(rgba.red, rgba.green, rgba.blue);\n this.updateColor(hsv.h, hsv.s, hsv.v, rgba.alpha, false);\n }\n } else {\n this.updateColor(color.h, color.s, color.v, color.alpha, true);\n }\n return this;\n }\n\n public setRgba(red: number = null, green: number = null, blue: number = null, alpha: number = 1): this {\n if (red != null) {\n this.rgba.red = red;\n }\n\n if (green != null) {\n this.rgba.green = green;\n }\n\n if (blue != null) {\n this.rgba.blue = blue;\n }\n\n if (alpha != null) {\n alpha = alpha > 1 ? 1 : alpha < 0 ? 0 : alpha;\n this.rgba.alpha = alpha;\n }\n\n const { h, s, v } = this.rgbTohsv(this.rgba.red, this.rgba.green, this.rgba.blue);\n this.updateColor(h, s, v, this.rgba.alpha, false);\n return this;\n }\n\n rgbTohsv(r: number, g: number, b: number) {\n const red = r / 255;\n const green = g / 255;\n const blue = b / 255;\n const Cmax = Math.max(red, green, blue);\n const Cmin = Math.min(red, green, blue);\n const delta = Cmax - Cmin;\n let hue = 0;\n let saturation: number = Cmax === 0 ? 0 : delta / Cmax;\n let brightness: number = Cmax;\n if (Cmax !== Cmin) {\n switch (Cmax) {\n case red:\n hue = (green - blue) / delta + (green < blue ? 6 : 0);\n break;\n case green:\n hue = 2 + (blue - red) / delta;\n break;\n case blue:\n hue = 4 + (red - green) / delta;\n break;\n }\n hue /= 6;\n }\n\n return { h: Math.round(hue * 360), s: Math.round(saturation * 100), v: Math.round(brightness * 100) };\n }\n\n public getRgba(): ThyRgba {\n return new ThyRgba(this.rgba.red, this.rgba.green, this.rgba.blue, this.rgba.alpha);\n }\n\n private hslaToRgba(h: number, s: number, l: number, a: number): ThyRgba {\n const hue = h / 360;\n const saturation = s / 100;\n const lightness = l / 100;\n const alpha = a;\n\n let red = lightness;\n let green = lightness;\n let blue = lightness;\n\n if (saturation !== 0) {\n const q = lightness < 0.5 ? lightness * (1 + saturation) : lightness + saturation - lightness * saturation;\n const p = 2 * lightness - q;\n\n red = this.hueToRgb(p, q, hue + 1 / 3);\n green = this.hueToRgb(p, q, hue);\n blue = this.hueToRgb(p, q, hue - 1 / 3);\n }\n\n red = red * 255;\n green = green * 255;\n blue = blue * 255;\n\n return new ThyRgba(red, green, blue, alpha);\n }\n\n private hueToRgb(p: number, q: number, t: number): number {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n }\n\n private roundNumber(n: number): number {\n return Math.round(n * 100) / 100;\n }\n\n updateColor(h: number, s: number, v: number, alpha: number, updateRgba: boolean, enableAlpha = true, format = 'hex') {\n this.hue = Math.max(0, Math.min(360, h));\n this.saturation = Math.max(0, Math.min(100, s));\n this.value = Math.max(0, Math.min(100, v));\n this.alpha = alpha;\n if (updateRgba) {\n this.rgba = this.hsvaToRgba(this.hue, Math.round(this.saturation), Math.round(this.value), this.alpha);\n }\n this.enableAlpha = enableAlpha;\n this.format = format;\n this.getFinalValue();\n }\n\n public toHexString(alpha: boolean = false): string {\n let hex = '#' + ((1 << 24) | (this.rgba.getRed() << 16) | (this.rgba.getGreen() << 8) | this.rgba.getBlue()).toString(16).substr(1);\n if (alpha && this.rgba.alpha !== 1) {\n hex += ((1 << 8) | Math.round(this.rgba.alpha * 255)).toString(16).substr(1);\n }\n return hex.toUpperCase();\n }\n\n hsvaToRgba(h: number, s: number, v: number, alpha: number) {\n let red = 1;\n let green = 0;\n let blue = 0;\n const saturation = Math.round(s) / 100;\n const brightness = Math.round(v) / 100;\n const hex = h / 60;\n const primary = Math.floor(hex);\n const secoundary = hex - primary;\n const a = (1 - saturation) * brightness;\n const b = (1 - saturation * secoundary) * brightness;\n const c = (1 - saturation * (1 - secoundary)) * brightness;\n\n switch (primary) {\n case 6:\n case 0:\n red = brightness;\n green = c;\n blue = a;\n break;\n case 1:\n red = b;\n green = brightness;\n blue = a;\n break;\n case 2:\n red = a;\n green = brightness;\n blue = c;\n break;\n case 3:\n red = a;\n green = b;\n blue = brightness;\n break;\n case 4:\n red = c;\n green = a;\n blue = brightness;\n break;\n case 5:\n red = brightness;\n green = a;\n blue = b;\n break;\n }\n\n red = red * 255;\n green = green * 255;\n blue = blue * 255;\n\n return new ThyRgba(Math.round(red), Math.round(green), Math.round(blue), alpha);\n }\n\n getFinalValue() {\n let { hue, saturation, value, alpha, format } = this;\n if (this.enableAlpha) {\n switch (format) {\n case 'hsl':\n const hsl = hsv2hsl(hue, saturation / 100, value / 100);\n this.displayValue = `hsla(${hue}, ${Math.round(hsl[1] * 100)}%, ${Math.round(hsl[2] * 100)}%, ${alpha})`;\n break;\n case 'hsv':\n this.displayValue = `hsva(${hue}, ${Math.round(saturation)}%, ${Math.round(value)}%, ${alpha})`;\n break;\n case 'rgb':\n this.displayValue = `rgba(${this.rgba.red}, ${this.rgba.green}, ${this.rgba.blue}, ${this.rgba.alpha})`;\n break;\n default:\n this.displayValue = this.toHexString(true);\n }\n } else {\n switch (format) {\n case 'hsl':\n const hsl = hsv2hsl(hue, saturation / 100, value / 100);\n this.displayValue = `hsl(${hue}, ${Math.round(hsl[1] * 100)}%, ${Math.round(hsl[2] * 100)}%)`;\n break;\n case 'hsv':\n this.displayValue = `hsv(${hue}, ${Math.round(saturation)}%, ${Math.round(value)}%)`;\n break;\n case 'rgb':\n this.displayValue = `rgb(${this.rgba.red}, ${this.rgba.green}, ${this.rgba.blue})`;\n break;\n default:\n this.displayValue = this.toHexString();\n }\n }\n }\n}\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ThyInputDirective, ThyInputGroup } from 'ngx-tethys/input';\nimport { ThyInputNumber } from 'ngx-tethys/input-number';\nimport { ThyEnterDirective } from 'ngx-tethys/shared';\nimport { ThyColor } from '../../helpers/color.class';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-color-inputs',\n templateUrl: './inputs.component.html',\n imports: [ThyInputDirective, FormsModule, ThyEnterDirective, ThyInputNumber, ThyInputGroup]\n})\nexport class ThyColorInputs {\n @HostBinding('class.thy-color-inputs') className = true;\n\n innerColor: ThyColor;\n\n hex: string;\n\n @Input()\n set color(value: ThyColor) {\n this.alpha = Math.round(value.rgba.alpha * 100);\n this.innerColor = value;\n this.hex = this.innerColor.toHexString(false).slice(1, 7);\n }\n\n get color() {\n return this.innerColor;\n }\n\n @Output()\n public colorChange = new EventEmitter<ThyColor>(false);\n\n alpha: number;\n\n onInputChange(event: Event, type: string) {\n let newColor;\n const alpha = this.alpha / 100;\n if (type === 'hex') {\n let finalDisplayValue = this.hex;\n if (this.hex.length === 3) {\n finalDisplayValue = this.hex\n .split('')\n .map(value => value + value)\n .join('');\n }\n finalDisplayValue = `#${finalDisplayValue}`;\n if (alpha !== 1) {\n finalDisplayValue += ((1 << 8) | Math.round(alpha * 255)).toString(16).substr(1);\n }\n newColor = new ThyColor(finalDisplayValue);\n } else {\n newColor = new ThyColor().setRgba(this.innerColor.rgba.red, this.innerColor.rgba.green, this.innerColor.rgba.blue, alpha);\n }\n this.colorChange.emit(newColor);\n }\n}\n","<div class=\"hex-column\">\n <thy-input-group class=\"hex-input-group\">\n <ng-template #prefix>\n <span>#</span>\n </ng-template>\n <input\n class=\"px-0 form-control-xs\"\n thyInput\n [(ngModel)]=\"hex\"\n maxlength=\"6\"\n (blur)=\"onInputChange($event, 'hex')\"\n (thyEnter)=\"onInputChange($event, 'hex')\" />\n </thy-input-group>\n <span>HEX</span>\n</div>\n<div class=\"column\">\n <thy-input-number\n thySize=\"xs\"\n [thyMin]=\"0\"\n [thyMax]=\"255\"\n class=\"px-0 text-center\"\n [(ngModel)]=\"color.rgba.red\"\n (thyBlur)=\"onInputChange($event, 'R')\"\n (thyEnter)=\"onInputChange($event, 'R')\"></thy-input-number>\n <span>R</span>\n</div>\n<div class=\"column\">\n <thy-input-number\n thySize=\"xs\"\n [thyMin]=\"0\"\n [thyMax]=\"255\"\n class=\"px-0 text-center\"\n [(ngModel)]=\"color.rgba.green\"\n (thyBlur)=\"onInputChange($event, 'G')\"\n (thyEnter)=\"onInputChange($event, 'G')\"></thy-input-number>\n <span>G</span>\n</div>\n<div class=\"column\">\n <thy-input-number\n thySize=\"xs\"\n [thyMin]=\"0\"\n [thyMax]=\"255\"\n class=\"px-0 text-center\"\n [(ngModel)]=\"color.rgba.blue\"\n (thyBlur)=\"onInputChange($event, 'B')\"\n (thyEnter)=\"onInputChange($event, 'B')\"></thy-input-number>\n <span>B</span>\n</div>\n<div class=\"column\">\n <thy-input-number\n [thyMin]=\"0\"\n [thyMax]=\"100\"\n thySize=\"xs\"\n class=\"px-0 text-center\"\n [(ngModel)]=\"alpha\"\n (thyBlur)=\"onInputChange($event, 'A')\"\n (thyEnter)=\"onInputChange($event, 'A')\"></thy-input-number>\n <span>A</span>\n</div>\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { ThyColor } from '../../helpers/color.class';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-indicator',\n templateUrl: './indicator.component.html',\n standalone: true\n})\nexport class ThyIndicator {\n @HostBinding('class.thy-indicator') className = true;\n\n @Input()\n public color: ThyColor;\n\n public get backgroundColor(): string {\n return this.color.rgba.toString();\n }\n}\n","<div [style.backgroundColor]=\"backgroundColor\" class=\"icon-container\"></div>\n","import { Directive, ElementRef, HostListener, OnDestroy, OnInit, Output, inject } from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n/**\n * @internal\n */\n@Directive({\n selector: '[thyColorCoordinates]',\n standalone: true\n})\nexport class ThyCoordinatesDirective implements OnInit, OnDestroy {\n el = inject(ElementRef);\n\n @Output()\n coordinatesChange = new Subject<{\n x: number;\n y: number;\n left: number;\n top: number;\n containerWidth: number;\n containerHeight: number;\n $event: any;\n }>();\n\n private mousechange = new Subject<{\n x: number;\n y: number;\n $event: any;\n }>();\n\n private mouseListening = false;\n\n private sub?: Subscription;\n\n @HostListener('mousedown', ['$event', '$event.pageX', '$event.pageY'])\n mousedown($event: Event, x: number, y: number) {\n $event.preventDefault();\n this.mouseListening = true;\n this.mousechange.next({ x, y, $event });\n }\n\n @HostListener('window:mousemove', ['$event', '$event.pageX', '$event.pageY'])\n mousemove($event: Event, x: number, y: number) {\n if (this.mouseListening) {\n $event.preventDefault();\n this.mousechange.next({ x, y, $event });\n }\n }\n\n @HostListener('window:mouseup')\n mouseup() {\n this.mouseListening = false;\n }\n\n ngOnInit() {\n this.sub = this.mousechange\n .pipe(distinctUntilChanged((last, current) => last.x === current.x && last.y === current.y))\n .subscribe(n => this.handleChange(n.x, n.y, n.$event));\n }\n\n handleChange(x: number, y: number, $event: Event) {\n const containerWidth = this.el.nativeElement.clientWidth;\n const containerHeight = this.el.nativeElement.clientHeight;\n const left = x - (this.el.nativeElement.getBoundingClientRect().left + window.pageXOffset);\n const top = y - (this.el.nativeElement.getBoundingClientRect().top + window.pageYOffset);\n this.coordinatesChange.next({\n x,\n y,\n top,\n left,\n containerHeight,\n containerWidth,\n $event\n });\n }\n\n ngOnDestroy(): void {\n this.sub?.unsubscribe();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n Output,\n Renderer2,\n SimpleChanges,\n ViewChild,\n inject\n} from '@angular/core';\nimport { ThyCoordinatesDirective } from '../../coordinates.directive';\nimport { ThyColor } from '../../helpers/color.class';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-alpha',\n templateUrl: './alpha.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ThyCoordinatesDirective]\n})\nexport class ThyAlpha implements OnChanges {\n private readonly renderer = inject(Renderer2);\n\n @HostBinding('class.thy-alpha') className = true;\n\n @Input() color: ThyColor;\n\n @ViewChild('pointer', { static: true })\n public pointer: ElementRef;\n\n @ViewChild('gradient', { static: true })\n public gradient: ElementRef;\n\n @Output()\n public colorChange = new EventEmitter<ThyColor>(false);\n\n setBackground() {\n this.renderer.setStyle(\n this.gradient.nativeElement,\n 'background',\n `linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(${this.color.rgba.red},\n ${this.color.rgba.green},\n ${this.color.rgba.blue},\n 1) 100%)`\n );\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.color && changes.color.previousValue !== changes.color.currentValue) {\n this.setBackground();\n this.changePointerPosition(this.color.alpha);\n }\n }\n\n private changePointerPosition(alpha: number): void {\n const x = alpha * 100;\n this.renderer.setStyle(this.pointer.nativeElement, 'left', `${x}%`);\n }\n\n handleChange(event: {\n x: number;\n y: number;\n top: number;\n left: number;\n containerHeight: number;\n containerWidth: number;\n $event: Event;\n }) {\n let x;\n if (event.left < 0) {\n x = 0;\n } else if (event.left > event.containerWidth) {\n x = 1;\n } else {\n x = Math.round((event.left * 100) / event.containerWidth) / 100;\n }\n this.changePointerPosition(x);\n this.colorChange.emit(new ThyColor({ h: this.color.hue, s: this.color.saturation, v: this.color.value, alpha: x }));\n }\n}\n","<div class=\"gradient-container\" thyColorCoordinates (coordinatesChange)=\"handleChange($event)\">\n <div class=\"gradient-color\" #gradient>\n <div class=\"pointer-container\">\n <div class=\"pointer\" #pointer></div>\n </div>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n Output,\n Renderer2,\n SimpleChanges,\n ViewChild,\n inject\n} from '@angular/core';\nimport { ThyCoordinatesDirective } from '../../coordinates.directive';\nimport { ThyColor } from '../../helpers/color.class';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-hue',\n templateUrl: './hue.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ThyCoordinatesDirective]\n})\nexport class ThyHue implements OnChanges {\n private readonly renderer = inject(Renderer2);\n\n @HostBinding('class.thy-hue') className = true;\n\n @Input() color: ThyColor;\n\n @Output()\n public colorChange = new EventEmitter<ThyColor>(false);\n\n @ViewChild('pointer', { static: true })\n public pointer: ElementRef;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.color && changes.color.previousValue !== changes.color.currentValue) {\n this.changePointerPosition(this.color.hue);\n }\n }\n\n private changePointerPosition(hue: number): void {\n const x = (hue / 360) * 100;\n this.renderer.setStyle(this.pointer.nativeElement, 'left', `${x}%`);\n }\n\n handleChange(event: {\n x: number;\n y: number;\n top: number;\n left: number;\n containerHeight: number;\n containerWidth: number;\n $event: Event;\n }) {\n let x;\n if (event.left < 0) {\n x = 0;\n } else if (event.left > event.containerWidth) {\n x = 1;\n } else {\n x = Math.round((event.left * 100) / event.containerWidth) / 100;\n }\n this.changePointerPosition(x * 360);\n this.colorChange.emit(new ThyColor({ h: x * 360, s: this.color.saturation, v: this.color.value, alpha: this.color.alpha }));\n }\n}\n","<div class=\"hue-contianer\">\n <div class=\"pointer-container\" thyColorCoordinates (coordinatesChange)=\"handleChange($event)\">\n <div class=\"pointer\" #pointer></div>\n </div>\n</div>\n","import {\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n Output,\n Renderer2,\n SimpleChanges,\n ViewChild,\n inject\n} from '@angular/core';\nimport { ThyCoordinatesDirective } from '../../coordinates.directive';\nimport { ThyColor } from '../../helpers/color.class';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-saturation',\n templateUrl: './saturation.component.html',\n imports: [ThyCoordinatesDirective]\n})\nexport class ThySaturation implements OnChanges {\n private readonly renderer = inject(Renderer2);\n\n @HostBinding('class.thy-saturation') className = true;\n\n @ViewChild('panel', { static: true })\n public panel: ElementRef;\n\n @ViewChild('pointer', { static: true })\n public pointer: ElementRef;\n\n @Output()\n public colorChange = new EventEmitter<ThyColor>(false);\n\n @Input()\n public color: ThyColor;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.color && changes.color.previousValue !== changes.color.currentValue) {\n this.setBackground();\n this.changePointerPosition(this.color.saturation, this.color.value);\n }\n }\n\n setBackground() {\n this.renderer.setStyle(this.panel.nativeElement, 'background', `hsl(${this.color.hue},100%,50%)`);\n }\n\n changePointerPosition(s: number, v: number) {\n this.renderer.setStyle(this.pointer.nativeElement, 'left', `${s}%`);\n this.renderer.setStyle(this.pointer.nativeElement, 'top', `${100 - v}%`);\n }\n\n handleChange(event: {\n x: number;\n y: number;\n top: number;\n left: number;\n containerHeight: number;\n containerWidth: number;\n $event: Event;\n }) {\n let x = event.left,\n y = event.top;\n if (event.left < 0) {\n x = 0;\n } else if (event.left > event.containerWidth) {\n x = event.containerWidth;\n }\n if (event.top < 0) {\n y = 0;\n } else if (event.top > event.containerHeight) {\n y = event.containerHeight;\n }\n\n const s = x / event.containerWidth;\n let v = 1 - y / event.containerHeight;\n v = v > 0 ? v : 0;\n v = v > 1 ? 1 : v;\n\n this.changePointerPosition(s * 100, v * 100);\n\n this.colorChange.emit(new ThyColor({ h: this.color.hue, s: s * 100, v: v * 100, alpha: this.color.alpha }));\n }\n}\n","<div class=\"color-panel\" #panel thyColorCoordinates (coordinatesChange)=\"handleChange($event)\">\n <div class=\"color-panel-white\"></div>\n <div class=\"color-panel-black\"></div>\n <div class=\"color-panel-pointer\" #pointer></div>\n</div>\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { ThyColor } from './helpers/color.class';\nimport { ThyColorInputs } from './parts/inputs/inputs.component';\nimport { ThyIndicator } from './parts/indicator/indicator.component';\nimport { ThyAlpha } from './parts/alpha/alpha.component';\nimport { ThyHue } from './parts/hue/hue.component';\nimport { ThySaturation } from './parts/saturation/saturation.component';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-color-picker-custom-panel',\n templateUrl: './color-picker-custom-panel.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ThySaturation, ThyHue, ThyAlpha, ThyIndicator, ThyColorInputs]\n})\nexport class ThyColorPickerCustomPanel implements OnInit {\n @HostBinding('class.thy-color-picker-custom-panel') className = true;\n\n colorInstance: ThyColor;\n\n @Input() color?: string;\n\n @Input() pickerColorChange: (color: string) => {};\n\n constructor() {}\n\n ngOnInit() {\n this.colorInstance = new ThyColor(this.color);\n }\n\n colorChangeEvent($event: ThyColor) {\n this.colorInstance = $event;\n this.color = this.colorInstance.displayValue;\n this.pickerColorChange(this.color);\n }\n}\n","<thy-saturation [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-saturation>\n<div class=\"controls\">\n <div class=\"indicator-hue-alp\">\n <div class=\"rows\">\n <thy-hue [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-hue>\n <thy-alpha [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-alpha>\n </div>\n <thy-indicator [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-indicator>\n </div>\n</div>\n<thy-color-inputs [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-color-inputs>\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit, Signal, ViewContainerRef, inject } from '@angular/core';\nimport { ThyPopover, ThyPopoverRef } from 'ngx-tethys/popover';\nimport { ThyColorPickerCustomPanel } from './color-picker-custom-panel.component';\nimport { ThyColor } from './helpers/color.class';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgClass, NgTemplateOutlet, NgStyle } from '@angular/common';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { injectLocale, ThyColorPickerLocale } from 'ngx-tethys/i18n';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-color-picker-panel',\n templateUrl: './color-picker-panel.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.pt-4]': '!transparentColorSelectable'\n },\n imports: [NgClass, NgTemplateOutlet, ThyIcon, NgStyle]\n})\nexport class ThyColorPickerPanel implements OnInit {\n private thyPopover = inject(ThyPopover);\n private viewContainerRef = inject(ViewContainerRef);\n private thyPopoverRef = inject<ThyPopoverRef<ThyColorPickerPanel>>(ThyPopoverRef);\n locale: Signal<ThyColorPickerLocale> = injectLocale('colorPicker');\n\n @HostBinding('class.thy-color-picker-panel') className = true;\n\n @Input() color: string;\n\n @Input() colorChange: (color: string) => {};\n\n @Input() set defaultColor(value: string) {\n this.customDefaultColor = value;\n }\n\n get defaultColor() {\n return new ThyColor(this.customDefaultColor).toHexString(true);\n }\n\n @Input({ transform: coerceBooleanProperty }) transparentColorSelectable: boolean;\n\n @Input() defaultColors: string[];\n\n public customDefaultColor: string;\n\n recentColors: string[] = [];\n\n newColor: string;\n\n customPanelPopoverRef: ThyPopoverRef<ThyColorPickerCustomPanel>;\n\n ngOnInit(): void {\n const colors = localStorage.getItem('recentColors');\n if (colors) {\n this.recentColors = JSON.parse(colors);\n }\n }\n\n selectColor(color: string) {\n this.color = color;\n this.colorChange(this.color);\n this.thyPopoverRef.close();\n }\n\n showMoreColor(event: Event) {\n if (!this.customPanelPopoverRef) {\n this.customPanelPopoverRef = this.thyPopover.open(ThyColorPickerCustomPanel, {\n origin: event.currentTarget as HTMLElement,\n offset: -4,\n placement: 'rightBottom',\n manualClosure: true,\n width: '260px',\n hasBackdrop: false,\n viewContainerRef: this.viewContainerRef,\n originActiveClass: 'thy-color-picker-active',\n initialState: {\n color: this.color,\n pickerColorChange: (value: string) => {\n this.newColor = value;\n this.colorChange(value);\n }\n }\n });\n }\n this.customPanelPopoverRef?.afterClosed().subscribe(() => {\n if (this.newColor) {\n const index = this.recentColors.findIndex(item => item === this.newColor);\n if (index !== -1) {\n this.recentColors.splice(index, 1);\n }\n this.recentColors.unshift(this.newColor);\n this.recentColors = this.recentColors.slice(0, 10);\n localStorage.setItem('recentColors', JSON.stringify(this.recentColors));\n }\n this.thyPopoverRef.close();\n });\n }\n\n getIconColor(item: string) {\n const rgba = new ThyColor(item).rgba;\n const hsp = 0.299 * rgba.red + 0.587 * rgba.green + 0.114 * rgba.blue;\n return hsp > 192 ? 'black' : 'white';\n }\n}\n","@if (customDefaultColor) {\n <div class=\"quick-color\" [ngClass]=\"transparentColorSelectable ? ' mb-0 pb-0' : ''\" (click)=\"selectColor(defaultColor)\">\n <ng-template [ngTemplateOutlet]=\"checkIconTpl\" [ngTemplateOutletContext]=\"{ $implicit: defaultColor }\"></ng-template>\n <span class=\"ml-2 font-size-sm text-secondary\">{{ locale().defaultColor }}</span>\n </div>\n}\n@if (transparentColorSelectable) {\n <div class=\"quick-color\" [ngClass]=\"customDefaultColor ? 'mt-0 pt-0' : ''\" (click)=\"selectColor('transparent')\">\n <div class=\"color-block\"></div>\n <span class=\"ml-2 font-size-sm text-secondary\">{{ locale().noFillColor }}</span>\n </div>\n}\n<div class=\"main-content\">\n <div class=\"default-color\">\n @for (item of defaultColors; track $index) {\n <ng-template [ngTemplateOutlet]=\"checkIconTpl\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n }\n </div>\n <p class=\"font-size-sm text-secondary recent-text\">{{ locale().recentUsedColor }}</p>\n <div class=\"recent-color-container\">\n @for (item of recentColors; track $index) {\n <ng-template [ngTemplateOutlet]=\"checkIconTpl\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n }\n @if (recentColors.length === 0) {\n <div class=\"font-size-sm px-1 text-muted\">{{ locale().none }}</div>\n }\n </div>\n</div>\n<div class=\"more-color\" (click)=\"showMoreColor($event)\">\n <thy-icon thyIconName=\"palette\" class=\"mr-2\"></thy-icon>\n <span class=\"font-size-sm custom-text\">{{ locale().customColor }}</span>\n <thy-icon thyDropdownMenuItemExtendIcon thyIconName=\"angle-right\"></thy-icon>\n</div>\n\n<ng-template #checkIconTpl let-colorItem>\n <div\n class=\"color-item\"\n [ngStyle]=\"{ background: colorItem }\"\n [ngClass]=\"colorItem === '#FFFFFF' ? 'item-border' : ''\"\n (click)=\"selectColor(colorItem)\">\n <thy-icon\n thyIconName=\"check-thick\"\n class=\"check-icon\"\n [ngClass]=\"\n color === colorItem ? (getIconColor(colorItem) === 'white' ? 'checked white-check' : 'checked black-check') : ''\n \"></thy-icon>\n </div>\n</ng-template>\n","export const DEFAULT_COLORS = [\n '#333333',\n '#666666',\n '#999999',\n '#AAAAAA',\n '#CACACA',\n '#DDDDDD',\n '#EEEEEE',\n '#F5F5F5',\n '#F7F7F7',\n '#FFFFFF',\n '#E48483',\n '#E0B75D',\n '#69B1E4',\n '#77C386',\n '#6EC4C4',\n '#E581D4',\n '#B0C774',\n '#6F81DB',\n '#C18976',\n '#A287E1',\n '#FDEFED',\n '#FCF6E1',\n '#E5F3FC',\n '#E9F7E9',\n '#E3F7F5',\n '#FBECF6',\n '#F7FAE6',\n '#E8EEFC',\n '#F7EDE6',\n '#F0E7FA',\n '#FBD3D0',\n '#F8E8BC',\n '#C3E4F5',\n '#CEEBD2',\n '#C0EBE5',\n '#F1CFE7',\n '#E4EDCA',\n '#C2CDF0',\n '#EBD5C9',\n '#DCCEF5',\n '#EFACA9',\n '#EBD28D',\n '#92C9ED',\n '#9ED0A6',\n '#9BD6D4',\n '#ECA6D9',\n '#D0DF9D',\n '#92A2E3',\n '#D5AD9A',\n '#C0ABEA',\n '#BD6568',\n '#B98F44',\n '#5593C6',\n '#579B67',\n '#4F9FA1',\n '#BA5FA5',\n '#8BA257',\n '#5461B8',\n '#9B6657',\n '#8069BF',\n '#703039',\n '#6B4C1D',\n '#224870',\n '#244F31',\n '#214D52',\n '#6A2E61',\n '#405122',\n '#272B69',\n '#4F2B24',\n '#392E6E'\n];\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n numberAttribute,\n OnDestroy,\n OnInit,\n Output,\n inject\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ThyOverlayDirectiveBase, ThyPlacement, ThyOverlayTrigger, mixinTabIndex, mixinDisabled } from 'ngx-tethys/core';\nimport { ThyPopover, ThyPopoverRef } from 'ngx-tethys/popover';\nimport { fromEvent, Subject } from 'rxjs';\nimport { ThyColorPickerPanel } from './color-picker-panel.component';\nimport { DEFAULT_COLORS } from './constant';\nimport { ThyColor } from './helpers/color.class';\nimport { takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport class OverlayBase extends ThyOverlayDirectiveBase {\n constructor(\n protected zone: NgZone,\n protected elementRef: ElementRef<HTMLElement>,\n platform: Platform,\n focusMonitor: FocusMonitor\n ) {\n super(elementRef, platform, focusMonitor, zone, true);\n }\n\n show(): void {}\n\n hide() {}\n}\n\nconst _BaseMixin = mixinTabIndex(mixinDisabled(OverlayBase));\n\n/**\n * 颜色选择组件\n * @name thyColorPicker\n */\n@Directive({\n selector: '[thyColorPicker]',\n host: {\n class: 'thy-color-picker',\n '[attr.tabindex]': `tabIndex`,\n '[class.thy-color-picker-disabled]': 'disabled'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => ThyColorPickerDirective)\n }\n ],\n standalone: true\n})\nexport class ThyColorPickerDirective extends _BaseMixin implements OnInit, OnDestroy {\n private thyPopover = inject(ThyPopover);\n\n /**\n * 弹框偏移量\n * @type number\n */\n @Input({ transform: numberAttribute }) thyOffset: number = 0;\n\n /**\n * 颜色选择面板是否有幕布\n */\n @Input({ transform: coerceBooleanProperty }) thyHasBackdrop: boolean = true;\n\n /**\n * 设置颜色选择面板的默认颜色选项值\n */\n @Input() thyDefaultColor: string;\n\n /**\n * 是否显示'无填充色'选项\n */\n @Input({ transform: coerceBooleanProperty }) thyTransparentColorSelectable: boolean = true;\n\n /**\n * 预设的快捷选择颜色\n * @type string[]\n */\n @Input() thyPresetColors: string[] = DEFAULT_COLORS;\n\n /**\n * 颜色面板弹出位置 'top' | 'topLeft' | 'topRight' | 'bottom' | 'bottomLeft' | 'bottomRight' | 'left' | 'leftTop' | 'leftBottom' | 'right' | 'rightTop' | 'rightBottom'\n * @type ThyPlacement\n */\n @Input() thyPlacement: ThyPlacement = 'bottom';\n\n /**\n * panel 展开后触发\n */\n @Output() thyPanelOpen: EventEmitter<ThyPopoverRef<ThyColorPickerPanel>> = new EventEmitter<ThyPopoverRef<ThyColorPickerPanel>>();\n\n /**\n * panel 关闭后触发\n */\n @Output() thyPanelClose: EventEmitter<ThyPopoverRef<ThyColorPickerPanel>> = new EventEmitter<ThyPopoverRef<ThyColorPickerPanel>>();\n\n /**\n * 弹出悬浮层的触发方式\n * @type 'hover' | 'click'\n * @default click\n */\n @Input() set thyTrigger(trigger: ThyOverlayTrigger) {\n this.trigger = trigger;\n }\n\n /**\n * 显示延迟时间\n */\n @Input({ transform: numberAttribute })\n set thyShowDelay(value: number) {\n this.showDelay = value;\n }\n\n /**\n * 隐藏延迟时间\n */\n @Input({ transform: numberAttribute })\n set thyHideDelay(value: number) {\n this.hideDelay = value;\n }\n\n /**\n * 是否属于禁用状态\n */\n @Input({ transform: coerceBooleanProperty })\n override set thyDisabled(value: boolean) {\n this.disabled = value;\n }\n override get thyDisabled(): boolean {\n return this.disabled;\n }\n\n protected onChangeFn: (value: number | string) => void = () => {};\n\n private onTouchFn: () => void = () => {};\n\n color: string;\n\n private popoverRef: ThyPopoverRef<ThyColorPickerPanel>;\n\n private closePanel = true;\n\n private destroy$ = new Subject<void>();\n\n public get backgroundColor(): string {\n return this.color;\n }\n\n constructor() {\n const zone = inject(NgZone);\n const elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n const platform = inject(Platform);\n const focusMonitor = inject(FocusMonitor);\n\n super(zone, elementRef, platform, focusMonitor);\n }\n\n ngOnInit(): void {\n this.initialize();\n if (this.trigger === 'hover') {\n this.ngZone.runOutsideAngular(() => {\n return fromEvent(document, 'mousemove')\n .pipe(takeUntil(this.destroy$))\n .subscribe(event => {\n if (this.popoverRef?.getOverlayRef()?.hasAttached()) {\n if (\n this.elementRef.nativeElement.contains(event.target as HTMLElement) ||\n (event.target as HTMLElement).closest('.thy-color-picker-custom-panel') ||\n !!(event.target as HTMLElement).querySelector('.thy-color-picker-custom-panel') ||\n this.popoverRef.getOverlayRef()?.hostElement?.contains(event.target as HTMLElement)\n ) {\n this.closePanel = false;\n } else {\n this.closePanel = true;\n this.popoverRef.close();\n }\n }\n });\n });\n }\n }\n\n togglePanel() {\n this.closePanel = false;\n this.popoverRef = this.thyPopover.open(ThyColorPickerPanel, {\n origin: this.elementRef.nativeElement as HTMLElement,\n offset: this.thyOffset,\n manualClosure: true,\n width: '286px',\n placement: this.thyPlacement,\n originActiveClass: 'thy-default-picker-active',\n hasBackdrop: this.thyHasBackdrop,\n outsideClosable: false,\n canClose: () => {\n if (this.trigger === 'hover') {\n return this.closePanel;\n }\n return true;\n },\n initialState: {\n color: new ThyColor(this.color).toHexString(true),\n defaultColor: this.thyDefaultColor,\n transparentColorSelectable: this.thyTransparentColorSelectable,\n defaultColors: this.thyPresetColors,\n colorChange: (value: string) => {\n this.closePanel = true;\n this.onModelChange(value);\n }\n }\n });\n if (this.popoverRef) {\n this.popoverRef.afterOpened().subscribe(() => {\n this.thyPanelOpen.emit(this.popoverRef);\n });\n this.popoverRef.afterClosed().subscribe(() => {\n this.thyPanelClose.emit(this.popoverRef);\n this.elementRef.nativeElement.focus();\n });\n }\n if (this.popoverRef && !this.thyHasBackdrop) {\n this.popoverRef\n .getOverlayRef()\n .outsidePointerEvents()\n .subscribe(event => {\n if ((event.target as HTMLElement).closest('.thy-color-picker-custom-panel')) {\n return;\n }\n if (!this.popoverRef.getOverlayRef().hostElement.contains(event.target as HTMLElement)) {\n this.popoverRef.close();\n }\n });\n }\n return this.popoverRef.getOverlayRef();\n }\n\n override show(delay: number = this.showDelay): void {\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n this.hideTimeoutId = null;\n }\n\n if (this.disabled || (this.overlayRef && this.overlayRef.hasAttached())) {\n return;\n }\n if (this.trigger !== 'hover') {\n delay = 0;\n }\n\n this.showTimeoutId = setTimeout(() => {\n const overlayRef = this.togglePanel();\n this.overlayRef = overlayRef;\n this.showTimeoutId = null;\n }, delay);\n }\n\n override hide(delay: number = this.hideDelay) {\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n this.showTimeoutId = null;\n }\n\n this.hideTimeoutId = setTimeout(() => {\n if (this.popoverRef) {\n this.popoverRef?.getOverlayRef()?.hasAttached() && this.popoverRef.close();\n }\n this.hideTimeoutId = null;\n }, delay);\n }\n\n writeValue(value: string): void {\n this.color = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchFn = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onModelChange(value: string): void {\n this.color = value;\n this.onChangeFn(value);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n this.hide();\n this.dispose();\n this.popoverRef = null;\n }\n}\n","import { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyInputModule } from 'ngx-tethys/input';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ThyColorPickerDirective } from './color-picker.component';\nimport { ThyColorPickerCustomPanel } from './color-picker-custom-panel.component';\nimport { ThySaturation } from './parts/saturation/saturation.component';\nimport { ThyDialogModule } from 'ngx-tethys/dialog';\nimport { ThyHue } from './parts/hue/hue.component';\nimport { ThyAlpha } from './parts/alpha/alpha.component';\nimport { ThyIndicator } from './parts/indicator/indicator.component';\nimport { ThyCoordinatesDirective } from './coordinates.directive';\nimport { ThyColorPickerPanel } from './color-picker-panel.component';\nimport { ThyColorInputs } from './parts/inputs/inputs.component';\nimport { FormsModule } from '@angular/forms';\nimport { ThyInputNumberModule } from 'ngx-tethys/input-number';\nimport { ThySharedModule } from 'ngx-tethys/shared';\n\n@NgModule({\n imports: [\n CommonModule,\n ThyDialogModule,\n ThyInputModule,\n ThyIconModule,\n FormsModule,\n ThyInputNumberModule,\n ThySharedModule,\n ThyColorPickerDirective,\n ThyColorPickerCustomPanel,\n ThySaturation,\n ThyHue,\n ThyAlpha,\n ThyIndicator,\n ThyCoordinatesDirective,\n ThyColorPickerPanel,\n ThyColorInputs\n ],\n exports: [ThyColorPickerDirective]\n})\nexport class ThyColorPickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-color-picker.mjs","sources":["../../../src/color-picker/helpers/rgba.class.ts","../../../src/color-picker/helpers/colors-table.class.ts","../../../src/color-picker/helpers/color.class.ts","../../../src/color-picker/parts/inputs/inputs.component.ts","../../../src/color-picker/parts/inputs/inputs.component.html","../../../src/color-picker/parts/indicator/indicator.component.ts","../../../src/color-picker/parts/indicator/indicator.component.html","../../../src/color-picker/coordinates.directive.ts","../../../src/color-picker/parts/alpha/alpha.component.ts","../../../src/color-picker/parts/alpha/alpha.component.html","../../../src/color-picker/parts/hue/hue.component.ts","../../../src/color-picker/parts/hue/hue.component.html","../../../src/color-picker/parts/saturation/saturation.component.ts","../../../src/color-picker/parts/saturation/saturation.component.html","../../../src/color-picker/color-picker-custom-panel.component.ts","../../../src/color-picker/color-picker-custom-panel.component.html","../../../src/color-picker/color-picker-panel.component.ts","../../../src/color-picker/color-picker-panel.component.html","../../../src/color-picker/constant.ts","../../../src/color-picker/color-picker.component.ts","../../../src/color-picker/module.ts","../../../src/color-picker/ngx-tethys-color-picker.ts"],"sourcesContent":["/**\n * RGB (Red Green Blue)\n *\n * Red = ranges from 0-255\n * Green = ranges from 0-255\n * Blue = ranges from 0-255\n * Alpha = range from 0-1\n */\nexport class ThyRgba {\n constructor(\n public red: number,\n public green: number,\n public blue: number,\n public alpha: number\n ) {}\n\n public toString(showAlphaChannel: boolean = true): string {\n return showAlphaChannel\n ? `rgba(${this.getRed()}, ${this.getGreen()}, ${this.getBlue()}, ${this.getAlpha()})`\n : `rgb(${this.getRed()}, ${this.getGreen()}, ${this.getBlue()})`;\n }\n\n public getRed(): number {\n return Math.round(this.red);\n }\n\n public getGreen(): number {\n return Math.round(this.green);\n }\n\n public getBlue(): number {\n return Math.round(this.blue);\n }\n\n public getAlpha(): number {\n return Math.round(this.alpha * 100) / 100;\n }\n}\n","import { ThyRgba } from './rgba.class';\n\n/**\n * http://www.w3.org/TR/css3-color/\n */\nexport class ThyColorsTable {\n public static transparent = new ThyRgba(0, 0, 0, 0);\n public static aliceblue = new ThyRgba(240, 248, 255, 1);\n public static antiquewhite = new ThyRgba(250, 235, 215, 1);\n public static aqua = new ThyRgba(0, 255, 255, 1);\n public static aquamarine = new ThyRgba(127, 255, 212, 1);\n public static azure = new ThyRgba(240, 255, 255, 1);\n public static beige = new ThyRgba(245, 245, 220, 1);\n public static bisque = new ThyRgba(255, 228, 196, 1);\n public static black = new ThyRgba(0, 0, 0, 1);\n public static blanchedalmond = new ThyRgba(255, 235, 205, 1);\n public static blue = new ThyRgba(0, 0, 255, 1);\n public static blueviolet = new ThyRgba(138, 43, 226, 1);\n public static brown = new ThyRgba(165, 42, 42, 1);\n public static burlywood = new ThyRgba(222, 184, 135, 1);\n public static cadetblue = new ThyRgba(95, 158, 160, 1);\n public static chartreuse = new ThyRgba(127, 255, 0, 1);\n public static chocolate = new ThyRgba(210, 105, 30, 1);\n public static coral = new ThyRgba(255, 127, 80, 1);\n public static cornflowerblue = new ThyRgba(100, 149, 237, 1);\n public static cornsilk = new ThyRgba(255, 248, 220, 1);\n public static crimson = new ThyRgba(220, 20, 60, 1);\n public static cyan = new ThyRgba(0, 255, 255, 1);\n public static darkblue = new ThyRgba(0, 0, 139, 1);\n public static darkcyan = new ThyRgba(0, 139, 139, 1);\n public static darkgoldenrod = new ThyRgba(184, 134, 11, 1);\n public static darkgray = new ThyRgba(169, 169, 169, 1);\n public static darkgreen = new ThyRgba(0, 100, 0, 1);\n public static darkgrey = ThyColorsTable.darkgray;\n public static darkkhaki = new ThyRgba(189, 183, 107, 1);\n public static darkmagenta = new ThyRgba(139, 0, 139, 1);\n public static darkolivegreen = new ThyRgba(85, 107, 47, 1);\n public static darkorange = new ThyRgba(255, 140, 0, 1);\n public static darkorchid = new ThyRgba(153, 50, 204, 1);\n public static darkred = new ThyRgba(139, 0, 0, 1);\n public static darksalmon = new ThyRgba(233, 150, 122, 1);\n public static darkseagreen = new ThyRgba(143, 188, 143, 1);\n public static darkslateblue = new ThyRgba(72, 61, 139, 1);\n public static darkslategray = new ThyRgba(47, 79, 79, 1);\n public static darkslategrey = ThyColorsTable.darkslategray;\n public static darkturquoise = new ThyRgba(0, 206, 209, 1);\n public static darkviolet = new ThyRgba(148, 0, 211, 1);\n public static deeppink = new ThyRgba(255, 20, 147, 1);\n public static deepskyblue = new ThyRgba(0, 191, 255, 1);\n public static dimgray = new ThyRgba(105, 105, 105, 1);\n public static dimgrey = ThyColorsTable.dimgray;\n public static dodgerblue = new ThyRgba(30, 144, 255, 1);\n public static firebrick = new ThyRgba(178, 34, 34, 1);\n public static floralwhite = new ThyRgba(255, 250, 240, 1);\n public static forestgreen = new ThyRgba(34, 139, 34, 1);\n public static fuchsia = new ThyRgba(255, 0, 255, 1);\n public static gainsboro = new ThyRgba(220, 220, 220, 1);\n public static ghostwhite = new ThyRgba(248, 248, 255, 1);\n public static gold = new ThyRgba(255, 215, 0, 1);\n public static goldenrod = new ThyRgba(218, 165, 32, 1);\n public static gray = new ThyRgba(128, 128, 128, 1);\n public static grey = ThyColorsTable.gray;\n public static green = new ThyRgba(0, 128, 0, 1);\n public static greenyellow = new ThyRgba(173, 255, 47, 1);\n public static honeydew = new ThyRgba(240, 255, 240, 1);\n public static hotpink = new ThyRgba(255, 105, 180, 1);\n public static indianred = new ThyRgba(205, 92, 92, 1);\n public static indigo = new ThyRgba(75, 0, 130, 1);\n public static ivory = new ThyRgba(255, 255, 240, 1);\n public static khaki = new ThyRgba(240, 230, 140, 1);\n public static lavender = new ThyRgba(230, 230, 250, 1);\n public static lavenderblush = new ThyRgba(255, 240, 245, 1);\n public static lawngreen = new ThyRgba(124, 252, 0, 1);\n public static lemonchiffon = new ThyRgba(255, 250, 205, 1);\n public static lightblue = new ThyRgba(173, 216, 230, 1);\n public static lightcoral = new ThyRgba(240, 128, 128, 1);\n public static lightcyan = new ThyRgba(224, 255, 255, 1);\n public static lightgoldenrodyellow = new ThyRgba(250, 250, 210, 1);\n public static lightgray = new ThyRgba(211, 211, 211, 1);\n public static lightgreen = new ThyRgba(144, 238, 144, 1);\n public static lightgrey = ThyColorsTable.lightgray;\n public static lightpink = new ThyRgba(255, 182, 193, 1);\n public static lightsalmon = new ThyRgba(255, 160, 122, 1);\n public static lightseagreen = new ThyRgba(32, 178, 170, 1);\n public static lightskyblue = new ThyRgba(135, 206, 250, 1);\n public static lightslategray = new ThyRgba(119, 136, 153, 1);\n public static lightslategrey = ThyColorsTable.lightslategray;\n public static lightsteelblue = new ThyRgba(176, 196, 222, 1);\n public static lightyellow = new ThyRgba(255, 255, 224, 1);\n public static lime = new ThyRgba(0, 255, 0, 1);\n public static limegreen = new ThyRgba(50, 205, 50, 1);\n public static linen = new ThyRgba(250, 240, 230, 1);\n public static magenta = new ThyRgba(255, 0, 255, 1);\n public static maroon = new ThyRgba(128, 0, 0, 1);\n public static mediumaquamarine = new ThyRgba(102, 205, 170, 1);\n public static mediumblue = new ThyRgba(0, 0, 205, 1);\n public static mediumorchid = new ThyRgba(186, 85, 211, 1);\n public static mediumpurple = new ThyRgba(147, 112, 219, 1);\n public static mediumseagreen = new ThyRgba(60, 179, 113, 1);\n public static mediumslateblue = new ThyRgba(123, 104, 238, 1);\n public static mediumspringgreen = new ThyRgba(0, 250, 154, 1);\n public static mediumturquoise = new ThyRgba(72, 209, 204, 1);\n public static mediumvioletred = new ThyRgba(199, 21, 133, 1);\n public static midnightblue = new ThyRgba(25, 25, 112, 1);\n public static mintcream = new ThyRgba(245, 255, 250, 1);\n public static mistyrose = new ThyRgba(255, 228, 225, 1);\n public static moccasin = new ThyRgba(255, 228, 181, 1);\n public static navajowhite = new ThyRgba(255, 222, 173, 1);\n public static navy = new ThyRgba(0, 0, 128, 1);\n public static oldlace = new ThyRgba(253, 245, 230, 1);\n public static olive = new ThyRgba(128, 128, 0, 1);\n public static olivedrab = new ThyRgba(107, 142, 35, 1);\n public static orange = new ThyRgba(255, 165, 0, 1);\n public static orangered = new ThyRgba(255, 69, 0, 1);\n public static orchid = new ThyRgba(218, 112, 214, 1);\n public static palegoldenrod = new ThyRgba(238, 232, 170, 1);\n public static palegreen = new ThyRgba(152, 251, 152, 1);\n public static paleturquoise = new ThyRgba(175, 238, 238, 1);\n public static palevioletred = new ThyRgba(219, 112, 147, 1);\n public static papayawhip = new ThyRgba(255, 239, 213, 1);\n public static peachpuff = new ThyRgba(255, 218, 185, 1);\n public static peru = new ThyRgba(205, 133, 63, 1);\n public static pink = new ThyRgba(255, 192, 203, 1);\n public static plum = new ThyRgba(221, 160, 221, 1);\n public static powderblue = new ThyRgba(176, 224, 230, 1);\n public static purple = new ThyRgba(128, 0, 128, 1);\n public static red = new ThyRgba(255, 0, 0, 1);\n public static rosybrown = new ThyRgba(188, 143, 143, 1);\n public static royalblue = new ThyRgba(65, 105, 225, 1);\n public static saddlebrown = new ThyRgba(139, 69, 19, 1);\n public static salmon = new ThyRgba(250, 128, 114, 1);\n public static sandybrown = new ThyRgba(244, 164, 96, 1);\n public static seagreen = new ThyRgba(46, 139, 87, 1);\n public static seashell = new ThyRgba(255, 245, 238, 1);\n public static sienna = new ThyRgba(160, 82, 45, 1);\n public static silver = new ThyRgba(192, 192, 192, 1);\n public static skyblue = new ThyRgba(135, 206, 235, 1);\n public static slateblue = new ThyRgba(106, 90, 205, 1);\n public static slategray = new ThyRgba(112, 128, 144, 1);\n public static slategrey = ThyColorsTable.slategray;\n public static snow = new ThyRgba(255, 250, 250, 1);\n public static springgreen = new ThyRgba(0, 255, 127, 1);\n public static steelblue = new ThyRgba(70, 130, 180, 1);\n public static tan = new ThyRgba(210, 180, 140, 1);\n public static teal = new ThyRgba(0, 128, 128, 1);\n public static thistle = new ThyRgba(216, 191, 216, 1);\n public static tomato = new ThyRgba(255, 99, 71, 1);\n public static turquoise = new ThyRgba(64, 224, 208, 1);\n public static violet = new ThyRgba(238, 130, 238, 1);\n public static wheat = new ThyRgba(245, 222, 179, 1);\n public static white = new ThyRgba(255, 255, 255, 1);\n public static whitesmoke = new ThyRgba(245, 245, 245, 1);\n public static yellow = new ThyRgba(255, 255, 0, 1);\n public static yellowgreen = new ThyRgba(154, 205, 50, 1);\n}\n","import { ThyColorsTable } from './colors-table.class';\nimport { ThyRgba } from './rgba.class';\n\nconst hsv2hsl = function (hue: number, sat: number, val: number) {\n return [hue, (sat * val) / ((hue = (2 - sat) * val) < 1 ? hue : 2 - hue) || 0, hue / 2];\n};\n\nexport class ThyColor {\n hue = 0;\n saturation = 0;\n value = 0;\n alpha = 1;\n enableAlpha = false;\n format = 'hex';\n displayValue = '#000000'; // 最终展示的值\n rgba: ThyRgba = new ThyRgba(0, 0, 0, 1);\n\n constructor(color?: string | { h: number; s: number; v: number; alpha: number }) {\n if (color) {\n this.stringToColor(color);\n }\n }\n\n private stringToColor(color: string | { h: number; s: number; v: number; alpha: number }): this {\n if (typeof color === 'string') {\n const str = color.replace(/ /g, '').toLowerCase();\n /**\n * try to find color by name in table\n */\n let rgba: ThyRgba = ThyColorsTable[str] || null;\n\n /**\n * hex find\n */\n if (str[0] === '#') {\n let hex = str.substr(1);\n const length = hex.length;\n let hexArray: string[] = [];\n\n if (length === 3) {\n hexArray = hex.split('').map(value => value + value);\n } else if (length === 6) {\n hexArray = hex.match(/.{2}/g);\n } else if (length === 8) {\n const alpha = hex.substr(-2);\n hex = hex.substr(0, length - 2);\n this.alpha = this.roundNumber(parseInt(alpha || 'FF', 16) / 255);\n hexArray = hex.match(/.{2}/g);\n }\n\n if (hexArray.length === 3) {\n rgba = new ThyRgba(parseInt(hexArray[0], 16), parseInt(hexArray[1], 16), parseInt(hexArray[2], 16), this.alpha);\n }\n }\n const OpenParenthesis = str.indexOf('(');\n const CloseParenthesis = str.indexOf(')');\n if (OpenParenthesis !== -1 && CloseParenthesis + 1 === str.length) {\n const colorTypeName = str.substr(0, OpenParenthesis);\n const params = str.substr(OpenParenthesis + 1, CloseParenthesis - (OpenParenthesis + 1)).split(',');\n switch (colorTypeName) {\n case 'rgba':\n this.alpha = parseFloat(params.pop());\n case 'rgb':\n rgba = new ThyRgba(parseInt(params[0], 10), parseInt(params[1], 10), parseInt(params[2], 10), this.alpha);\n break;\n case 'hsla':\n this.alpha = parseFloat(params.pop());\n case 'hsl':\n rgba = this.hslaToRgba(parseInt(params[0], 10), parseInt(params[1], 10), parseInt(params[2], 10), this.alpha);\n break;\n // case 'cmyk':\n // const cmyk = new Cmyk(\n // parseInt(params[0], 10),\n // parseInt(params[1], 10),\n // parseInt(params[2], 10),\n // parseInt(params[3], 10)\n // );\n // rgba = this.cmykToRgba(cmyk);\n // break;\n }\n }\n if (rgba) {\n this.rgba = new ThyRgba(rgba.red, rgba.green, rgba.blue, rgba.alpha);\n const hsv = this.rgbTohsv(rgba.red, rgba.green, rgba.blue);\n this.updateColor(hsv.h, hsv.s, hsv.v, rgba.alpha, false);\n }\n } else {\n this.updateColor(color.h, color.s, color.v, color.alpha, true);\n }\n return this;\n }\n\n public setRgba(red: number = null, green: number = null, blue: number = null, alpha: number = 1): this {\n if (red != null) {\n this.rgba.red = red;\n }\n\n if (green != null) {\n this.rgba.green = green;\n }\n\n if (blue != null) {\n this.rgba.blue = blue;\n }\n\n if (alpha != null) {\n alpha = alpha > 1 ? 1 : alpha < 0 ? 0 : alpha;\n this.rgba.alpha = alpha;\n }\n\n const { h, s, v } = this.rgbTohsv(this.rgba.red, this.rgba.green, this.rgba.blue);\n this.updateColor(h, s, v, this.rgba.alpha, false);\n return this;\n }\n\n rgbTohsv(r: number, g: number, b: number) {\n const red = r / 255;\n const green = g / 255;\n const blue = b / 255;\n const Cmax = Math.max(red, green, blue);\n const Cmin = Math.min(red, green, blue);\n const delta = Cmax - Cmin;\n let hue = 0;\n let saturation: number = Cmax === 0 ? 0 : delta / Cmax;\n let brightness: number = Cmax;\n if (Cmax !== Cmin) {\n switch (Cmax) {\n case red:\n hue = (green - blue) / delta + (green < blue ? 6 : 0);\n break;\n case green:\n hue = 2 + (blue - red) / delta;\n break;\n case blue:\n hue = 4 + (red - green) / delta;\n break;\n }\n hue /= 6;\n }\n\n return { h: Math.round(hue * 360), s: Math.round(saturation * 100), v: Math.round(brightness * 100) };\n }\n\n public getRgba(): ThyRgba {\n return new ThyRgba(this.rgba.red, this.rgba.green, this.rgba.blue, this.rgba.alpha);\n }\n\n private hslaToRgba(h: number, s: number, l: number, a: number): ThyRgba {\n const hue = h / 360;\n const saturation = s / 100;\n const lightness = l / 100;\n const alpha = a;\n\n let red = lightness;\n let green = lightness;\n let blue = lightness;\n\n if (saturation !== 0) {\n const q = lightness < 0.5 ? lightness * (1 + saturation) : lightness + saturation - lightness * saturation;\n const p = 2 * lightness - q;\n\n red = this.hueToRgb(p, q, hue + 1 / 3);\n green = this.hueToRgb(p, q, hue);\n blue = this.hueToRgb(p, q, hue - 1 / 3);\n }\n\n red = red * 255;\n green = green * 255;\n blue = blue * 255;\n\n return new ThyRgba(red, green, blue, alpha);\n }\n\n private hueToRgb(p: number, q: number, t: number): number {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n }\n\n private roundNumber(n: number): number {\n return Math.round(n * 100) / 100;\n }\n\n updateColor(h: number, s: number, v: number, alpha: number, updateRgba: boolean, enableAlpha = true, format = 'hex') {\n this.hue = Math.max(0, Math.min(360, h));\n this.saturation = Math.max(0, Math.min(100, s));\n this.value = Math.max(0, Math.min(100, v));\n this.alpha = alpha;\n if (updateRgba) {\n this.rgba = this.hsvaToRgba(this.hue, Math.round(this.saturation), Math.round(this.value), this.alpha);\n }\n this.enableAlpha = enableAlpha;\n this.format = format;\n this.getFinalValue();\n }\n\n public toHexString(alpha: boolean = false): string {\n let hex = '#' + ((1 << 24) | (this.rgba.getRed() << 16) | (this.rgba.getGreen() << 8) | this.rgba.getBlue()).toString(16).substr(1);\n if (alpha && this.rgba.alpha !== 1) {\n hex += ((1 << 8) | Math.round(this.rgba.alpha * 255)).toString(16).substr(1);\n }\n return hex.toUpperCase();\n }\n\n hsvaToRgba(h: number, s: number, v: number, alpha: number) {\n let red = 1;\n let green = 0;\n let blue = 0;\n const saturation = Math.round(s) / 100;\n const brightness = Math.round(v) / 100;\n const hex = h / 60;\n const primary = Math.floor(hex);\n const secoundary = hex - primary;\n const a = (1 - saturation) * brightness;\n const b = (1 - saturation * secoundary) * brightness;\n const c = (1 - saturation * (1 - secoundary)) * brightness;\n\n switch (primary) {\n case 6:\n case 0:\n red = brightness;\n green = c;\n blue = a;\n break;\n case 1:\n red = b;\n green = brightness;\n blue = a;\n break;\n case 2:\n red = a;\n green = brightness;\n blue = c;\n break;\n case 3:\n red = a;\n green = b;\n blue = brightness;\n break;\n case 4:\n red = c;\n green = a;\n blue = brightness;\n break;\n case 5:\n red = brightness;\n green = a;\n blue = b;\n break;\n }\n\n red = red * 255;\n green = green * 255;\n blue = blue * 255;\n\n return new ThyRgba(Math.round(red), Math.round(green), Math.round(blue), alpha);\n }\n\n getFinalValue() {\n let { hue, saturation, value, alpha, format } = this;\n if (this.enableAlpha) {\n switch (format) {\n case 'hsl':\n const hsl = hsv2hsl(hue, saturation / 100, value / 100);\n this.displayValue = `hsla(${hue}, ${Math.round(hsl[1] * 100)}%, ${Math.round(hsl[2] * 100)}%, ${alpha})`;\n break;\n case 'hsv':\n this.displayValue = `hsva(${hue}, ${Math.round(saturation)}%, ${Math.round(value)}%, ${alpha})`;\n break;\n case 'rgb':\n this.displayValue = `rgba(${this.rgba.red}, ${this.rgba.green}, ${this.rgba.blue}, ${this.rgba.alpha})`;\n break;\n default:\n this.displayValue = this.toHexString(true);\n }\n } else {\n switch (format) {\n case 'hsl':\n const hsl = hsv2hsl(hue, saturation / 100, value / 100);\n this.displayValue = `hsl(${hue}, ${Math.round(hsl[1] * 100)}%, ${Math.round(hsl[2] * 100)}%)`;\n break;\n case 'hsv':\n this.displayValue = `hsv(${hue}, ${Math.round(saturation)}%, ${Math.round(value)}%)`;\n break;\n case 'rgb':\n this.displayValue = `rgb(${this.rgba.red}, ${this.rgba.green}, ${this.rgba.blue})`;\n break;\n default:\n this.displayValue = this.toHexString();\n }\n }\n }\n}\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ThyInputDirective, ThyInputGroup } from 'ngx-tethys/input';\nimport { ThyInputNumber } from 'ngx-tethys/input-number';\nimport { ThyEnterDirective } from 'ngx-tethys/shared';\nimport { ThyColor } from '../../helpers/color.class';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-color-inputs',\n templateUrl: './inputs.component.html',\n imports: [ThyInputDirective, FormsModule, ThyEnterDirective, ThyInputNumber, ThyInputGroup]\n})\nexport class ThyColorInputs {\n @HostBinding('class.thy-color-inputs') className = true;\n\n innerColor: ThyColor;\n\n hex: string;\n\n @Input()\n set color(value: ThyColor) {\n this.alpha = Math.round(value.rgba.alpha * 100);\n this.innerColor = value;\n this.hex = this.innerColor.toHexString(false).slice(1, 7);\n }\n\n get color() {\n return this.innerColor;\n }\n\n @Output()\n public colorChange = new EventEmitter<ThyColor>(false);\n\n alpha: number;\n\n onInputChange(event: Event, type: string) {\n let newColor;\n const alpha = this.alpha / 100;\n if (type === 'hex') {\n let finalDisplayValue = this.hex;\n if (this.hex.length === 3) {\n finalDisplayValue = this.hex\n .split('')\n .map(value => value + value)\n .join('');\n }\n finalDisplayValue = `#${finalDisplayValue}`;\n if (alpha !== 1) {\n finalDisplayValue += ((1 << 8) | Math.round(alpha * 255)).toString(16).substr(1);\n }\n newColor = new ThyColor(finalDisplayValue);\n } else {\n newColor = new ThyColor().setRgba(this.innerColor.rgba.red, this.innerColor.rgba.green, this.innerColor.rgba.blue, alpha);\n }\n this.colorChange.emit(newColor);\n }\n}\n","<div class=\"hex-column\">\n <thy-input-group class=\"hex-input-group\">\n <ng-template #prefix>\n <span>#</span>\n </ng-template>\n <input\n class=\"px-0 form-control-xs\"\n thyInput\n [(ngModel)]=\"hex\"\n maxlength=\"6\"\n (blur)=\"onInputChange($event, 'hex')\"\n (thyEnter)=\"onInputChange($event, 'hex')\" />\n </thy-input-group>\n <span>HEX</span>\n</div>\n<div class=\"column\">\n <thy-input-number\n thySize=\"xs\"\n [thyMin]=\"0\"\n [thyMax]=\"255\"\n class=\"px-0 text-center\"\n [(ngModel)]=\"color.rgba.red\"\n (thyBlur)=\"onInputChange($event, 'R')\"\n (thyEnter)=\"onInputChange($event, 'R')\"></thy-input-number>\n <span>R</span>\n</div>\n<div class=\"column\">\n <thy-input-number\n thySize=\"xs\"\n [thyMin]=\"0\"\n [thyMax]=\"255\"\n class=\"px-0 text-center\"\n [(ngModel)]=\"color.rgba.green\"\n (thyBlur)=\"onInputChange($event, 'G')\"\n (thyEnter)=\"onInputChange($event, 'G')\"></thy-input-number>\n <span>G</span>\n</div>\n<div class=\"column\">\n <thy-input-number\n thySize=\"xs\"\n [thyMin]=\"0\"\n [thyMax]=\"255\"\n class=\"px-0 text-center\"\n [(ngModel)]=\"color.rgba.blue\"\n (thyBlur)=\"onInputChange($event, 'B')\"\n (thyEnter)=\"onInputChange($event, 'B')\"></thy-input-number>\n <span>B</span>\n</div>\n<div class=\"column\">\n <thy-input-number\n [thyMin]=\"0\"\n [thyMax]=\"100\"\n thySize=\"xs\"\n class=\"px-0 text-center\"\n [(ngModel)]=\"alpha\"\n (thyBlur)=\"onInputChange($event, 'A')\"\n (thyEnter)=\"onInputChange($event, 'A')\"></thy-input-number>\n <span>A</span>\n</div>\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { ThyColor } from '../../helpers/color.class';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-indicator',\n templateUrl: './indicator.component.html',\n standalone: true\n})\nexport class ThyIndicator {\n @HostBinding('class.thy-indicator') className = true;\n\n @Input()\n public color: ThyColor;\n\n public get backgroundColor(): string {\n return this.color.rgba.toString();\n }\n}\n","<div [style.backgroundColor]=\"backgroundColor\" class=\"icon-container\"></div>\n","import { Directive, ElementRef, HostListener, OnDestroy, OnInit, Output, inject } from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n/**\n * @internal\n */\n@Directive({\n selector: '[thyColorCoordinates]',\n standalone: true\n})\nexport class ThyCoordinatesDirective implements OnInit, OnDestroy {\n el = inject(ElementRef);\n\n @Output()\n coordinatesChange = new Subject<{\n x: number;\n y: number;\n left: number;\n top: number;\n containerWidth: number;\n containerHeight: number;\n $event: any;\n }>();\n\n private mousechange = new Subject<{\n x: number;\n y: number;\n $event: any;\n }>();\n\n private mouseListening = false;\n\n private sub?: Subscription;\n\n @HostListener('mousedown', ['$event', '$event.pageX', '$event.pageY'])\n mousedown($event: Event, x: number, y: number) {\n $event.preventDefault();\n this.mouseListening = true;\n this.mousechange.next({ x, y, $event });\n }\n\n @HostListener('window:mousemove', ['$event', '$event.pageX', '$event.pageY'])\n mousemove($event: Event, x: number, y: number) {\n if (this.mouseListening) {\n $event.preventDefault();\n this.mousechange.next({ x, y, $event });\n }\n }\n\n @HostListener('window:mouseup')\n mouseup() {\n this.mouseListening = false;\n }\n\n ngOnInit() {\n this.sub = this.mousechange\n .pipe(distinctUntilChanged((last, current) => last.x === current.x && last.y === current.y))\n .subscribe(n => this.handleChange(n.x, n.y, n.$event));\n }\n\n handleChange(x: number, y: number, $event: Event) {\n const containerWidth = this.el.nativeElement.clientWidth;\n const containerHeight = this.el.nativeElement.clientHeight;\n const left = x - (this.el.nativeElement.getBoundingClientRect().left + window.pageXOffset);\n const top = y - (this.el.nativeElement.getBoundingClientRect().top + window.pageYOffset);\n this.coordinatesChange.next({\n x,\n y,\n top,\n left,\n containerHeight,\n containerWidth,\n $event\n });\n }\n\n ngOnDestroy(): void {\n this.sub?.unsubscribe();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n Output,\n Renderer2,\n SimpleChanges,\n ViewChild,\n inject\n} from '@angular/core';\nimport { ThyCoordinatesDirective } from '../../coordinates.directive';\nimport { ThyColor } from '../../helpers/color.class';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-alpha',\n templateUrl: './alpha.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ThyCoordinatesDirective]\n})\nexport class ThyAlpha implements OnChanges {\n private readonly renderer = inject(Renderer2);\n\n @HostBinding('class.thy-alpha') className = true;\n\n @Input() color: ThyColor;\n\n @ViewChild('pointer', { static: true })\n public pointer: ElementRef;\n\n @ViewChild('gradient', { static: true })\n public gradient: ElementRef;\n\n @Output()\n public colorChange = new EventEmitter<ThyColor>(false);\n\n setBackground() {\n this.renderer.setStyle(\n this.gradient.nativeElement,\n 'background',\n `linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(${this.color.rgba.red},\n ${this.color.rgba.green},\n ${this.color.rgba.blue},\n 1) 100%)`\n );\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.color && changes.color.previousValue !== changes.color.currentValue) {\n this.setBackground();\n this.changePointerPosition(this.color.alpha);\n }\n }\n\n private changePointerPosition(alpha: number): void {\n const x = alpha * 100;\n this.renderer.setStyle(this.pointer.nativeElement, 'left', `${x}%`);\n }\n\n handleChange(event: {\n x: number;\n y: number;\n top: number;\n left: number;\n containerHeight: number;\n containerWidth: number;\n $event: Event;\n }) {\n let x;\n if (event.left < 0) {\n x = 0;\n } else if (event.left > event.containerWidth) {\n x = 1;\n } else {\n x = Math.round((event.left * 100) / event.containerWidth) / 100;\n }\n this.changePointerPosition(x);\n this.colorChange.emit(new ThyColor({ h: this.color.hue, s: this.color.saturation, v: this.color.value, alpha: x }));\n }\n}\n","<div class=\"gradient-container\" thyColorCoordinates (coordinatesChange)=\"handleChange($event)\">\n <div class=\"gradient-color\" #gradient>\n <div class=\"pointer-container\">\n <div class=\"pointer\" #pointer></div>\n </div>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n Output,\n Renderer2,\n SimpleChanges,\n ViewChild,\n inject\n} from '@angular/core';\nimport { ThyCoordinatesDirective } from '../../coordinates.directive';\nimport { ThyColor } from '../../helpers/color.class';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-hue',\n templateUrl: './hue.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ThyCoordinatesDirective]\n})\nexport class ThyHue implements OnChanges {\n private readonly renderer = inject(Renderer2);\n\n @HostBinding('class.thy-hue') className = true;\n\n @Input() color: ThyColor;\n\n @Output()\n public colorChange = new EventEmitter<ThyColor>(false);\n\n @ViewChild('pointer', { static: true })\n public pointer: ElementRef;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.color && changes.color.previousValue !== changes.color.currentValue) {\n this.changePointerPosition(this.color.hue);\n }\n }\n\n private changePointerPosition(hue: number): void {\n const x = (hue / 360) * 100;\n this.renderer.setStyle(this.pointer.nativeElement, 'left', `${x}%`);\n }\n\n handleChange(event: {\n x: number;\n y: number;\n top: number;\n left: number;\n containerHeight: number;\n containerWidth: number;\n $event: Event;\n }) {\n let x;\n if (event.left < 0) {\n x = 0;\n } else if (event.left > event.containerWidth) {\n x = 1;\n } else {\n x = Math.round((event.left * 100) / event.containerWidth) / 100;\n }\n this.changePointerPosition(x * 360);\n this.colorChange.emit(new ThyColor({ h: x * 360, s: this.color.saturation, v: this.color.value, alpha: this.color.alpha }));\n }\n}\n","<div class=\"hue-contianer\">\n <div class=\"pointer-container\" thyColorCoordinates (coordinatesChange)=\"handleChange($event)\">\n <div class=\"pointer\" #pointer></div>\n </div>\n</div>\n","import {\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n Output,\n Renderer2,\n SimpleChanges,\n ViewChild,\n inject\n} from '@angular/core';\nimport { ThyCoordinatesDirective } from '../../coordinates.directive';\nimport { ThyColor } from '../../helpers/color.class';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-saturation',\n templateUrl: './saturation.component.html',\n imports: [ThyCoordinatesDirective]\n})\nexport class ThySaturation implements OnChanges {\n private readonly renderer = inject(Renderer2);\n\n @HostBinding('class.thy-saturation') className = true;\n\n @ViewChild('panel', { static: true })\n public panel: ElementRef;\n\n @ViewChild('pointer', { static: true })\n public pointer: ElementRef;\n\n @Output()\n public colorChange = new EventEmitter<ThyColor>(false);\n\n @Input()\n public color: ThyColor;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.color && changes.color.previousValue !== changes.color.currentValue) {\n this.setBackground();\n this.changePointerPosition(this.color.saturation, this.color.value);\n }\n }\n\n setBackground() {\n this.renderer.setStyle(this.panel.nativeElement, 'background', `hsl(${this.color.hue},100%,50%)`);\n }\n\n changePointerPosition(s: number, v: number) {\n this.renderer.setStyle(this.pointer.nativeElement, 'left', `${s}%`);\n this.renderer.setStyle(this.pointer.nativeElement, 'top', `${100 - v}%`);\n }\n\n handleChange(event: {\n x: number;\n y: number;\n top: number;\n left: number;\n containerHeight: number;\n containerWidth: number;\n $event: Event;\n }) {\n let x = event.left,\n y = event.top;\n if (event.left < 0) {\n x = 0;\n } else if (event.left > event.containerWidth) {\n x = event.containerWidth;\n }\n if (event.top < 0) {\n y = 0;\n } else if (event.top > event.containerHeight) {\n y = event.containerHeight;\n }\n\n const s = x / event.containerWidth;\n let v = 1 - y / event.containerHeight;\n v = v > 0 ? v : 0;\n v = v > 1 ? 1 : v;\n\n this.changePointerPosition(s * 100, v * 100);\n\n this.colorChange.emit(new ThyColor({ h: this.color.hue, s: s * 100, v: v * 100, alpha: this.color.alpha }));\n }\n}\n","<div class=\"color-panel\" #panel thyColorCoordinates (coordinatesChange)=\"handleChange($event)\">\n <div class=\"color-panel-white\"></div>\n <div class=\"color-panel-black\"></div>\n <div class=\"color-panel-pointer\" #pointer></div>\n</div>\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { ThyColor } from './helpers/color.class';\nimport { ThyColorInputs } from './parts/inputs/inputs.component';\nimport { ThyIndicator } from './parts/indicator/indicator.component';\nimport { ThyAlpha } from './parts/alpha/alpha.component';\nimport { ThyHue } from './parts/hue/hue.component';\nimport { ThySaturation } from './parts/saturation/saturation.component';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-color-picker-custom-panel',\n templateUrl: './color-picker-custom-panel.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ThySaturation, ThyHue, ThyAlpha, ThyIndicator, ThyColorInputs]\n})\nexport class ThyColorPickerCustomPanel implements OnInit {\n @HostBinding('class.thy-color-picker-custom-panel') className = true;\n\n colorInstance: ThyColor;\n\n @Input() color?: string;\n\n @Input() pickerColorChange: (color: string) => {};\n\n constructor() {}\n\n ngOnInit() {\n this.colorInstance = new ThyColor(this.color);\n }\n\n colorChangeEvent($event: ThyColor) {\n this.colorInstance = $event;\n this.color = this.colorInstance.displayValue;\n this.pickerColorChange(this.color);\n }\n}\n","<thy-saturation [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-saturation>\n<div class=\"controls\">\n <div class=\"indicator-hue-alp\">\n <div class=\"rows\">\n <thy-hue [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-hue>\n <thy-alpha [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-alpha>\n </div>\n <thy-indicator [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-indicator>\n </div>\n</div>\n<thy-color-inputs [color]=\"colorInstance\" (colorChange)=\"colorChangeEvent($event)\"></thy-color-inputs>\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit, Signal, ViewContainerRef, inject } from '@angular/core';\nimport { ThyPopover, ThyPopoverRef } from 'ngx-tethys/popover';\nimport { ThyColorPickerCustomPanel } from './color-picker-custom-panel.component';\nimport { ThyColor } from './helpers/color.class';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgClass, NgTemplateOutlet, NgStyle } from '@angular/common';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { injectLocale, ThyColorPickerLocale } from 'ngx-tethys/i18n';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-color-picker-panel',\n templateUrl: './color-picker-panel.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.pt-4]': '!transparentColorSelectable'\n },\n imports: [NgClass, NgTemplateOutlet, ThyIcon, NgStyle]\n})\nexport class ThyColorPickerPanel implements OnInit {\n private thyPopover = inject(ThyPopover);\n private viewContainerRef = inject(ViewContainerRef);\n private thyPopoverRef = inject<ThyPopoverRef<ThyColorPickerPanel>>(ThyPopoverRef);\n locale: Signal<ThyColorPickerLocale> = injectLocale('colorPicker');\n\n @HostBinding('class.thy-color-picker-panel') className = true;\n\n @Input() color: string;\n\n @Input() colorChange: (color: string) => {};\n\n @Input() set defaultColor(value: string) {\n this.customDefaultColor = value;\n }\n\n get defaultColor() {\n return new ThyColor(this.customDefaultColor).toHexString(true);\n }\n\n @Input({ transform: coerceBooleanProperty }) transparentColorSelectable: boolean;\n\n @Input() defaultColors: string[];\n\n public customDefaultColor: string;\n\n recentColors: string[] = [];\n\n newColor: string;\n\n customPanelPopoverRef: ThyPopoverRef<ThyColorPickerCustomPanel>;\n\n ngOnInit(): void {\n const colors = localStorage.getItem('recentColors');\n if (colors) {\n this.recentColors = JSON.parse(colors);\n }\n }\n\n selectColor(color: string) {\n this.color = color;\n this.colorChange(this.color);\n this.thyPopoverRef.close();\n }\n\n showMoreColor(event: Event) {\n if (!this.customPanelPopoverRef) {\n this.customPanelPopoverRef = this.thyPopover.open(ThyColorPickerCustomPanel, {\n origin: event.currentTarget as HTMLElement,\n offset: -4,\n placement: 'rightBottom',\n manualClosure: true,\n width: '260px',\n hasBackdrop: false,\n viewContainerRef: this.viewContainerRef,\n originActiveClass: 'thy-color-picker-active',\n initialState: {\n color: this.color,\n pickerColorChange: (value: string) => {\n this.newColor = value;\n this.colorChange(value);\n }\n }\n });\n }\n this.customPanelPopoverRef?.afterClosed().subscribe(() => {\n if (this.newColor) {\n const index = this.recentColors.findIndex(item => item === this.newColor);\n if (index !== -1) {\n this.recentColors.splice(index, 1);\n }\n this.recentColors.unshift(this.newColor);\n this.recentColors = this.recentColors.slice(0, 10);\n localStorage.setItem('recentColors', JSON.stringify(this.recentColors));\n }\n this.thyPopoverRef.close();\n });\n }\n\n getIconColor(item: string) {\n const rgba = new ThyColor(item).rgba;\n const hsp = 0.299 * rgba.red + 0.587 * rgba.green + 0.114 * rgba.blue;\n return hsp > 192 ? 'black' : 'white';\n }\n}\n","@if (customDefaultColor) {\n <div class=\"quick-color\" [ngClass]=\"transparentColorSelectable ? ' mb-0 pb-0' : ''\" (click)=\"selectColor(defaultColor)\">\n <ng-template [ngTemplateOutlet]=\"checkIconTpl\" [ngTemplateOutletContext]=\"{ $implicit: defaultColor }\"></ng-template>\n <span class=\"ml-2 font-size-sm text-secondary\">{{ locale().defaultColor }}</span>\n </div>\n}\n@if (transparentColorSelectable) {\n <div class=\"quick-color\" [ngClass]=\"customDefaultColor ? 'mt-0 pt-0' : ''\" (click)=\"selectColor('transparent')\">\n <div class=\"color-block\"></div>\n <span class=\"ml-2 font-size-sm text-secondary\">{{ locale().noFillColor }}</span>\n </div>\n}\n<div class=\"main-content\">\n <div class=\"default-color\">\n @for (item of defaultColors; track $index) {\n <ng-template [ngTemplateOutlet]=\"checkIconTpl\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n }\n </div>\n <p class=\"font-size-sm text-secondary recent-text\">{{ locale().recentUsedColor }}</p>\n <div class=\"recent-color-container\">\n @for (item of recentColors; track $index) {\n <ng-template [ngTemplateOutlet]=\"checkIconTpl\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n }\n @if (recentColors.length === 0) {\n <div class=\"font-size-sm px-1 text-muted\">{{ locale().none }}</div>\n }\n </div>\n</div>\n<div class=\"more-color\" (click)=\"showMoreColor($event)\">\n <thy-icon thyIconName=\"palette\" class=\"mr-2\"></thy-icon>\n <span class=\"font-size-sm custom-text\">{{ locale().customColor }}</span>\n <thy-icon thyDropdownMenuItemExtendIcon thyIconName=\"angle-right\"></thy-icon>\n</div>\n\n<ng-template #checkIconTpl let-colorItem>\n <div\n class=\"color-item\"\n [ngStyle]=\"{ background: colorItem }\"\n [ngClass]=\"colorItem === '#FFFFFF' ? 'item-border' : ''\"\n (click)=\"selectColor(colorItem)\">\n <thy-icon\n thyIconName=\"check-thick\"\n class=\"check-icon\"\n [ngClass]=\"\n color === colorItem ? (getIconColor(colorItem) === 'white' ? 'checked white-check' : 'checked black-check') : ''\n \"></thy-icon>\n </div>\n</ng-template>\n","export const DEFAULT_COLORS = [\n '#333333',\n '#666666',\n '#999999',\n '#AAAAAA',\n '#CACACA',\n '#DDDDDD',\n '#EEEEEE',\n '#F5F5F5',\n '#F7F7F7',\n '#FFFFFF',\n '#E48483',\n '#E0B75D',\n '#69B1E4',\n '#77C386',\n '#6EC4C4',\n '#E581D4',\n '#B0C774',\n '#6F81DB',\n '#C18976',\n '#A287E1',\n '#FDEFED',\n '#FCF6E1',\n '#E5F3FC',\n '#E9F7E9',\n '#E3F7F5',\n '#FBECF6',\n '#F7FAE6',\n '#E8EEFC',\n '#F7EDE6',\n '#F0E7FA',\n '#FBD3D0',\n '#F8E8BC',\n '#C3E4F5',\n '#CEEBD2',\n '#C0EBE5',\n '#F1CFE7',\n '#E4EDCA',\n '#C2CDF0',\n '#EBD5C9',\n '#DCCEF5',\n '#EFACA9',\n '#EBD28D',\n '#92C9ED',\n '#9ED0A6',\n '#9BD6D4',\n '#ECA6D9',\n '#D0DF9D',\n '#92A2E3',\n '#D5AD9A',\n '#C0ABEA',\n '#BD6568',\n '#B98F44',\n '#5593C6',\n '#579B67',\n '#4F9FA1',\n '#BA5FA5',\n '#8BA257',\n '#5461B8',\n '#9B6657',\n '#8069BF',\n '#703039',\n '#6B4C1D',\n '#224870',\n '#244F31',\n '#214D52',\n '#6A2E61',\n '#405122',\n '#272B69',\n '#4F2B24',\n '#392E6E'\n];\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n numberAttribute,\n OnDestroy,\n OnInit,\n Output,\n inject\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ThyOverlayDirectiveBase, ThyPlacement, ThyOverlayTrigger, mixinTabIndex, mixinDisabled } from 'ngx-tethys/core';\nimport { ThyPopover, ThyPopoverRef } from 'ngx-tethys/popover';\nimport { fromEvent, Subject } from 'rxjs';\nimport { ThyColorPickerPanel } from './color-picker-panel.component';\nimport { DEFAULT_COLORS } from './constant';\nimport { ThyColor } from './helpers/color.class';\nimport { takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { OverlayRef } from '@angular/cdk/overlay';\n\nexport class OverlayBase extends ThyOverlayDirectiveBase {\n constructor(\n protected zone: NgZone,\n protected elementRef: ElementRef<HTMLElement>,\n platform: Platform,\n focusMonitor: FocusMonitor\n ) {\n super(elementRef, platform, focusMonitor, zone, true);\n }\n\n show(): void {}\n\n hide() {}\n}\n\nconst _BaseMixin = mixinTabIndex(mixinDisabled(OverlayBase));\n\n/**\n * 颜色选择组件\n * @name thyColorPicker\n */\n@Directive({\n selector: '[thyColorPicker]',\n host: {\n class: 'thy-color-picker',\n '[attr.tabindex]': `tabIndex`,\n '[class.thy-color-picker-disabled]': 'disabled'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => ThyColorPickerDirective)\n }\n ],\n standalone: true\n})\nexport class ThyColorPickerDirective extends _BaseMixin implements OnInit, OnDestroy {\n private thyPopover = inject(ThyPopover);\n\n /**\n * 弹框偏移量\n * @type number\n */\n @Input({ transform: numberAttribute }) thyOffset: number = 0;\n\n /**\n * 颜色选择面板是否有幕布\n */\n @Input({ transform: coerceBooleanProperty }) thyHasBackdrop: boolean = true;\n\n /**\n * 设置颜色选择面板的默认颜色选项值\n */\n @Input() thyDefaultColor: string;\n\n /**\n * 是否显示'无填充色'选项\n */\n @Input({ transform: coerceBooleanProperty }) thyTransparentColorSelectable: boolean = true;\n\n /**\n * 预设的快捷选择颜色\n * @type string[]\n */\n @Input() thyPresetColors: string[] = DEFAULT_COLORS;\n\n /**\n * 颜色面板弹出位置 'top' | 'topLeft' | 'topRight' | 'bottom' | 'bottomLeft' | 'bottomRight' | 'left' | 'leftTop' | 'leftBottom' | 'right' | 'rightTop' | 'rightBottom'\n * @type ThyPlacement\n */\n @Input() thyPlacement: ThyPlacement = 'bottom';\n\n /**\n * panel 展开后触发\n */\n @Output() thyPanelOpen: EventEmitter<ThyPopoverRef<ThyColorPickerPanel>> = new EventEmitter<ThyPopoverRef<ThyColorPickerPanel>>();\n\n /**\n * panel 关闭后触发\n */\n @Output() thyPanelClose: EventEmitter<ThyPopoverRef<ThyColorPickerPanel>> = new EventEmitter<ThyPopoverRef<ThyColorPickerPanel>>();\n\n /**\n * 弹出悬浮层的触发方式\n * @type 'hover' | 'click'\n * @default click\n */\n @Input() set thyTrigger(trigger: ThyOverlayTrigger) {\n this.trigger = trigger;\n }\n\n /**\n * 显示延迟时间\n */\n @Input({ transform: numberAttribute })\n set thyShowDelay(value: number) {\n this.showDelay = value;\n }\n\n /**\n * 隐藏延迟时间\n */\n @Input({ transform: numberAttribute })\n set thyHideDelay(value: number) {\n this.hideDelay = value;\n }\n\n /**\n * 是否属于禁用状态\n */\n @Input({ transform: coerceBooleanProperty })\n override set thyDisabled(value: boolean) {\n this.disabled = value;\n }\n override get thyDisabled(): boolean {\n return this.disabled;\n }\n\n protected onChangeFn: (value: number | string) => void = () => {};\n\n private onTouchFn: () => void = () => {};\n\n color: string;\n\n private popoverRef: ThyPopoverRef<ThyColorPickerPanel>;\n\n private closePanel = true;\n\n private destroy$ = new Subject<void>();\n\n public get backgroundColor(): string {\n return this.color;\n }\n\n constructor() {\n const zone = inject(NgZone);\n const elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n const platform = inject(Platform);\n const focusMonitor = inject(FocusMonitor);\n\n super(zone, elementRef, platform, focusMonitor);\n }\n\n ngOnInit(): void {\n this.initialize();\n if (this.trigger === 'hover') {\n this.ngZone.runOutsideAngular(() => {\n return fromEvent(document, 'mousemove')\n .pipe(takeUntil(this.destroy$))\n .subscribe(event => {\n if (this.popoverRef?.getOverlayRef()?.hasAttached()) {\n if (\n this.elementRef.nativeElement.contains(event.target as HTMLElement) ||\n (event.target as HTMLElement).closest('.thy-color-picker-custom-panel') ||\n !!(event.target as HTMLElement).querySelector('.thy-color-picker-custom-panel') ||\n this.popoverRef.getOverlayRef()?.hostElement?.contains(event.target as HTMLElement)\n ) {\n this.closePanel = false;\n } else {\n this.closePanel = true;\n this.popoverRef.close();\n }\n }\n });\n });\n }\n }\n\n togglePanel(): OverlayRef {\n this.closePanel = false;\n this.popoverRef = this.thyPopover.open(ThyColorPickerPanel, {\n origin: this.elementRef.nativeElement as HTMLElement,\n offset: this.thyOffset,\n manualClosure: true,\n width: '286px',\n placement: this.thyPlacement,\n originActiveClass: 'thy-default-picker-active',\n hasBackdrop: this.thyHasBackdrop,\n outsideClosable: false,\n canClose: () => {\n if (this.trigger === 'hover') {\n return this.closePanel;\n }\n return true;\n },\n initialState: {\n color: new ThyColor(this.color).toHexString(true),\n defaultColor: this.thyDefaultColor,\n transparentColorSelectable: this.thyTransparentColorSelectable,\n defaultColors: this.thyPresetColors,\n colorChange: (value: string) => {\n this.closePanel = true;\n this.onModelChange(value);\n }\n }\n });\n if (this.popoverRef) {\n this.popoverRef.afterOpened().subscribe(() => {\n this.thyPanelOpen.emit(this.popoverRef);\n });\n this.popoverRef.afterClosed().subscribe(() => {\n this.thyPanelClose.emit(this.popoverRef);\n this.elementRef.nativeElement.focus();\n });\n }\n if (this.popoverRef && !this.thyHasBackdrop) {\n this.popoverRef\n .getOverlayRef()\n .outsidePointerEvents()\n .subscribe(event => {\n if ((event.target as HTMLElement).closest('.thy-color-picker-custom-panel')) {\n return;\n }\n if (!this.popoverRef.getOverlayRef().hostElement.contains(event.target as HTMLElement)) {\n this.popoverRef.close();\n }\n });\n }\n return this.popoverRef.getOverlayRef();\n }\n\n override show(delay: number = this.showDelay): void {\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n this.hideTimeoutId = null;\n }\n\n if (this.disabled || (this.overlayRef && this.overlayRef.hasAttached())) {\n return;\n }\n if (this.trigger !== 'hover') {\n delay = 0;\n }\n\n this.showTimeoutId = setTimeout(() => {\n const overlayRef = this.togglePanel();\n this.overlayRef = overlayRef;\n this.showTimeoutId = null;\n }, delay);\n }\n\n override hide(delay: number = this.hideDelay) {\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n this.showTimeoutId = null;\n }\n\n this.hideTimeoutId = setTimeout(() => {\n if (this.popoverRef) {\n this.popoverRef?.getOverlayRef()?.hasAttached() && this.popoverRef.close();\n }\n this.hideTimeoutId = null;\n }, delay);\n }\n\n writeValue(value: string): void {\n this.color = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchFn = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onModelChange(value: string): void {\n this.color = value;\n this.onChangeFn(value);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n this.hide();\n this.dispose();\n this.popoverRef = null;\n }\n}\n","import { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyInputModule } from 'ngx-tethys/input';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ThyColorPickerDirective } from './color-picker.component';\nimport { ThyColorPickerCustomPanel } from './color-picker-custom-panel.component';\nimport { ThySaturation } from './parts/saturation/saturation.component';\nimport { ThyDialogModule } from 'ngx-tethys/dialog';\nimport { ThyHue } from './parts/hue/hue.component';\nimport { ThyAlpha } from './parts/alpha/alpha.component';\nimport { ThyIndicator } from './parts/indicator/indicator.component';\nimport { ThyCoordinatesDirective } from './coordinates.directive';\nimport { ThyColorPickerPanel } from './color-picker-panel.component';\nimport { ThyColorInputs } from './parts/inputs/inputs.component';\nimport { FormsModule } from '@angular/forms';\nimport { ThyInputNumberModule } from 'ngx-tethys/input-number';\nimport { ThySharedModule } from 'ngx-tethys/shared';\n\n@NgModule({\n imports: [\n CommonModule,\n ThyDialogModule,\n ThyInputModule,\n ThyIconModule,\n FormsModule,\n ThyInputNumberModule,\n ThySharedModule,\n ThyColorPickerDirective,\n ThyColorPickerCustomPanel,\n ThySaturation,\n ThyHue,\n ThyAlpha,\n ThyIndicator,\n ThyCoordinatesDirective,\n ThyColorPickerPanel,\n ThyColorInputs\n ],\n exports: [ThyColorPickerDirective]\n})\nexport class ThyColorPickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|