@kurkle/color 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -1
- package/dist/byte.d.ts +35 -0
- package/dist/color.cjs +461 -331
- package/dist/color.cjs.map +7 -0
- package/dist/color.d.ts +55 -155
- package/dist/color.esm.js +432 -298
- package/dist/color.esm.js.map +7 -0
- package/dist/color.min.js +3 -3
- package/dist/color.min.js.map +7 -1
- package/dist/hex.d.ts +16 -0
- package/dist/hue.d.ts +53 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.esm.d.ts +18 -0
- package/dist/names.d.ts +11 -0
- package/dist/packed.d.ts +9 -0
- package/dist/rgb.d.ts +16 -0
- package/dist/srgb.d.ts +12 -0
- package/package.json +25 -34
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/index.ts", "../src/index.esm.ts", "../src/byte.ts", "../src/hex.ts", "../src/hue.ts", "../src/packed.ts", "../src/names.ts", "../src/rgb.ts", "../src/srgb.ts", "../src/color.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * @packageDocumentation\n * @module index\n */\n\nimport * as color from './index.esm.js'\n\nexport default Object.assign(color.default, color)\n", "/**\n * @packageDocumentation\n * @module index\n */\n\nimport Color, { RGBA } from './color.js'\n\nexport * from './byte.js'\nexport * from './hex.js'\nexport * from './hue.js'\nexport * from './names.js'\nexport * from './rgb.js'\nexport * from './srgb.js'\nexport { Color, RGBA }\n\n/**\n * Construct new Color instance\n * @param input\n * @internal\n */\nexport default function (input: Color | RGBA | string | number[]): Color {\n return new Color(input)\n}\n", "/**\n * @packageDocumentation\n * @module utils\n */\n\n/**\n * Rounds decimal to nearest integer\n * @param v - the number to round\n */\nexport function round(v: number): number {\n return (v + 0.5) | 0\n}\n\nexport const lim = (v: number, l: number, h: number): number => Math.max(Math.min(v, h), l)\n\n/**\n * convert percent to byte 0..255\n * @param v - 0..100\n */\nexport function p2b(v: number): number {\n return lim(round(v * 2.55), 0, 255)\n}\n\n/**\n * convert byte to percet 0..100\n * @param v - 0..255\n */\nexport function b2p(v: number): number {\n return lim(round(v / 2.55), 0, 100)\n}\n\n/**\n * convert normalized to byte 0..255\n * @param v - 0..1\n */\nexport function n2b(v: number): number {\n return lim(round(v * 255), 0, 255)\n}\n\n/**\n * convert byte to normalized 0..1\n * @param v - 0..255\n */\nexport function b2n(v: number): number {\n return lim(round(v / 2.55) / 100, 0, 1)\n}\n\n/**\n * convert normalized to percent 0..100\n * @param v - 0..1\n */\nexport function n2p(v: number): number {\n return lim(round(v * 100), 0, 100)\n}\n", "/**\n * @packageDocumentation\n * @module utils\n */\n\nimport type { RGBA } from './color.js'\n\n/**\n * @hidden\n */\nconst map: Record<string, number> = {\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3,\n 4: 4,\n 5: 5,\n 6: 6,\n 7: 7,\n 8: 8,\n 9: 9,\n A: 10,\n a: 10,\n B: 11,\n b: 11,\n C: 12,\n c: 12,\n D: 13,\n d: 13,\n E: 14,\n e: 14,\n F: 15,\n f: 15,\n}\n\n/**\n * @hidden\n */\nconst hex = [...'0123456789ABCDEF']\n\n/**\n * @param b - byte\n * @hidden\n */\nconst h1 = (b: number): string => hex[b & 0xf]\n\n/**\n * @param b - byte\n * @hidden\n */\nconst h2 = (b: number): string => hex[(b & 0xf0) >> 4] + hex[b & 0xf]\n\n/**\n * @param b - byte\n * @hidden\n */\nconst eq = (b: number): boolean => (b & 0xf0) >> 4 === (b & 0xf)\n\n/**\n * @param v - the color\n * @hidden\n */\nconst isShort = (v: RGBA): boolean => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a)\n\n/**\n * Parse HEX to color\n * @param str - the string\n */\nexport function hexParse(str: string): RGBA | undefined {\n if (str[0] !== '#') {\n return // undefined\n }\n const len = str.length\n\n if (len === 4 || len === 5) {\n return {\n a: len === 5 ? (map[str[4]] << 4) | map[str[4]] : 255,\n b: (map[str[3]] << 4) | map[str[3]],\n g: (map[str[2]] << 4) | map[str[2]],\n r: (map[str[1]] << 4) | map[str[1]],\n }\n }\n if (len === 7 || len === 9) {\n return {\n a: len === 9 ? (map[str[7]] << 4) | map[str[8]] : 255,\n b: (map[str[5]] << 4) | map[str[6]],\n g: (map[str[3]] << 4) | map[str[4]],\n r: (map[str[1]] << 4) | map[str[2]],\n }\n }\n}\n\nconst alpha = (a: number, f: (b: number) => string): string => (a < 255 ? f(a) : '')\n\n/**\n * Return HEX string from color\n * @param v - the color\n * @return {string|undefined}\n */\nexport function hexString(v: RGBA | undefined): string | undefined {\n const f = v && isShort(v) ? h1 : h2\n return v ? `#${f(v.r)}${f(v.g)}${f(v.b)}${alpha(v.a, f)}` : undefined\n}\n", "/**\n * @packageDocumentation\n * @module utils\n */\n\nimport type { RGBA } from './color.js'\n\nimport { b2n, n2b, n2p, p2b } from './byte.js'\n\n/**\n * @hidden\n */\nconst HUE_RE =\n /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/\n\n/**\n * Converts hsl to rgb normalized\n * @url https://jsfiddle.net/Lamik/reuk63ay/91\n * @param h - hue [0..360]\n * @param s - saturation [0..1]\n * @param l - lightness [0..1]\n * @returns - [r, g, b] each normalized to [0..1]\n * @hidden\n */\nfunction hsl2rgbn(h: number, s: number, l: number): number[] {\n const a = s * Math.min(l, 1 - l)\n /**\n * @param n\n */\n const f = (n: number, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1)\n return [f(0), f(8), f(4)]\n}\n\n/**\n * Convert hsv to rgb normalized\n * @url https://jsfiddle.net/Lamik/Lr61wqub/15/\n * @param h - hue [0..360]\n * @param s - saturation [0..1]\n * @param v - value [0..1]\n * @returns - [r, g, b] each normalized to [0..1]\n * @hidden\n */\nfunction hsv2rgbn(h: number, s: number, v: number): number[] {\n /**\n * @param n\n */\n const f = (n: number, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0)\n return [f(5), f(3), f(1)]\n}\n\n/**\n * Convert hwb to rgb normalized\n * @param h - hue [0..360]\n * @param w - whiteness [0..1]\n * @param b - blackness [0..1]\n * @returns - [r, g, b] each normalized to [0..1]\n * @hidden\n */\nfunction hwb2rgbn(h: number, w: number, b: number): number[] {\n const rgb = hsl2rgbn(h, 1, 0.5)\n let i: number\n if (w + b > 1) {\n i = 1 / (w + b)\n w *= i\n b *= i\n }\n for (i = 0; i < 3; i++) {\n rgb[i] *= 1 - w - b\n rgb[i] += w\n }\n return rgb\n}\n\nfunction hueValue(r: number, g: number, b: number, d: number, max: number): number {\n if (r === max) {\n return (g - b) / d + (g < b ? 6 : 0)\n }\n if (g === max) {\n return (b - r) / d + 2\n }\n return (r - g) / d + 4\n}\n\n/**\n * Convert rgb to hsl\n * @param v - the color\n * @returns - [h, s, l]\n */\nexport function rgb2hsl(v: RGBA): number[] {\n const range = 255\n const r = v.r / range\n const g = v.g / range\n const b = v.b / range\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n const l = (max + min) / 2\n let h: number = 0\n let s: number = 0\n let d: number\n if (max !== min) {\n d = max - min\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min)\n h = hueValue(r, g, b, d, max)\n h = h * 60 + 0.5\n }\n return [h | 0, s || 0, l]\n}\n\n/**\n * @param f\n * @param a\n * @param b\n * @param c\n * @private\n * @hidden\n */\nfunction calln(\n f: (h: number, s: number, l: number) => number[],\n a: number | number[],\n b?: number,\n c?: number\n): number[] {\n return (Array.isArray(a) ? f(a[0], a[1], a[2]) : f(a, b!, c!)).map(n2b)\n}\n\n/**\n * Convert hsl to rgb\n * @param h - hue | [h, s, l]\n * @param s - saturation\n * @param l - lightness\n * @returns\n */\nexport function hsl2rgb(h: number | number[], s?: number, l?: number): number[] {\n return calln(hsl2rgbn, h, s, l)\n}\n\n/**\n * Convert hwb to rgb\n * @param h - hue | [h, s, l]\n * @param w - whiteness\n * @param b - blackness\n * @returns\n */\nexport function hwb2rgb(h: number | number[], w?: number, b?: number): number[] {\n return calln(hwb2rgbn, h, w, b)\n}\n\n/**\n * Convert hsv to rgb\n * @param h - hue | [h, s, l]\n * @param s - saturation\n * @param v - value\n * @returns\n */\nexport function hsv2rgb(h: number | number[], s?: number, v?: number): number[] {\n return calln(hsv2rgbn, h, s, v)\n}\n\n/**\n * @param h - the angle\n * @hidden\n */\nfunction hue(h: number): number {\n return ((h % 360) + 360) % 360\n}\n\n/**\n * Parse hsl/hsv/hwb color string\n * @param str - hsl/hsv/hwb color string\n * @returns - the parsed color components\n */\nexport function hueParse(str: string): RGBA | undefined {\n const m = HUE_RE.exec(str)\n let a = 255\n let v: number[]\n\n if (!m) {\n return undefined\n }\n\n // v is undefined\n if (m[5] !== undefined) {\n a = m[6] ? p2b(+m[5]) : n2b(+m[5])\n }\n\n const h = hue(+m[2])\n const p1 = +m[3] / 100\n const p2 = +m[4] / 100\n\n if (m[1] === 'hwb') {\n v = hwb2rgb(h, p1, p2)\n } else if (m[1] === 'hsv') {\n v = hsv2rgb(h, p1, p2)\n } else {\n v = hsl2rgb(h, p1, p2)\n }\n\n return {\n a: a,\n b: v[2],\n g: v[1],\n r: v[0],\n }\n}\n\n/**\n * Rotate the `v` color by `deg` degrees\n * @param v - the color\n * @param deg - degrees to rotate\n */\nexport function rotate(v: RGBA, deg: number): void {\n const h = rgb2hsl(v)\n h[0] = hue(h[0] + deg)\n const rgb = hsl2rgb(h)\n v.r = rgb[0]\n v.g = rgb[1]\n v.b = rgb[2]\n}\n\n/**\n * Return hsl(a) string from color components\n * @param v - the color\n * @return\n */\nexport function hslString(v: RGBA | undefined): string | undefined {\n if (!v) {\n return undefined\n }\n const a = rgb2hsl(v)\n const h = a[0]\n const s = n2p(a[1])\n const l = n2p(a[2])\n return v.a < 255 ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})` : `hsl(${h}, ${s}%, ${l}%)`\n}\n", "/**\n * @packageDocumentation\n * @module utils\n */\n\nconst map: Record<string, string> = {\n x: 'dark',\n Z: 'light',\n Y: 're',\n X: 'blu',\n W: 'gr',\n V: 'medium',\n U: 'slate',\n A: 'ee',\n T: 'ol',\n S: 'or',\n B: 'ra',\n C: 'lateg',\n D: 'ights',\n R: 'in',\n Q: 'turquois',\n E: 'hi',\n P: 'ro',\n O: 'al',\n N: 'le',\n M: 'de',\n L: 'yello',\n F: 'en',\n K: 'ch',\n G: 'arks',\n H: 'ea',\n I: 'ightg',\n J: 'wh'\n};\nconst names: Record<string, string> = {\n OiceXe: 'f0f8ff',\n antiquewEte: 'faebd7',\n aqua: 'ffff',\n aquamarRe: '7fffd4',\n azuY: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '0',\n blanKedOmond: 'ffebcd',\n Xe: 'ff',\n XeviTet: '8a2be2',\n bPwn: 'a52a2a',\n burlywood: 'deb887',\n caMtXe: '5f9ea0',\n KartYuse: '7fff00',\n KocTate: 'd2691e',\n cSO: 'ff7f50',\n cSnflowerXe: '6495ed',\n cSnsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: 'ffff',\n xXe: '8b',\n xcyan: '8b8b',\n xgTMnPd: 'b8860b',\n xWay: 'a9a9a9',\n xgYF: '6400',\n xgYy: 'a9a9a9',\n xkhaki: 'bdb76b',\n xmagFta: '8b008b',\n xTivegYF: '556b2f',\n xSange: 'ff8c00',\n xScEd: '9932cc',\n xYd: '8b0000',\n xsOmon: 'e9967a',\n xsHgYF: '8fbc8f',\n xUXe: '483d8b',\n xUWay: '2f4f4f',\n xUgYy: '2f4f4f',\n xQe: 'ced1',\n xviTet: '9400d3',\n dAppRk: 'ff1493',\n dApskyXe: 'bfff',\n dimWay: '696969',\n dimgYy: '696969',\n dodgerXe: '1e90ff',\n fiYbrick: 'b22222',\n flSOwEte: 'fffaf0',\n foYstWAn: '228b22',\n fuKsia: 'ff00ff',\n gaRsbSo: 'dcdcdc',\n ghostwEte: 'f8f8ff',\n gTd: 'ffd700',\n gTMnPd: 'daa520',\n Way: '808080',\n gYF: '8000',\n gYFLw: 'adff2f',\n gYy: '808080',\n honeyMw: 'f0fff0',\n hotpRk: 'ff69b4',\n RdianYd: 'cd5c5c',\n Rdigo: '4b0082',\n ivSy: 'fffff0',\n khaki: 'f0e68c',\n lavFMr: 'e6e6fa',\n lavFMrXsh: 'fff0f5',\n lawngYF: '7cfc00',\n NmoncEffon: 'fffacd',\n ZXe: 'add8e6',\n ZcSO: 'f08080',\n Zcyan: 'e0ffff',\n ZgTMnPdLw: 'fafad2',\n ZWay: 'd3d3d3',\n ZgYF: '90ee90',\n ZgYy: 'd3d3d3',\n ZpRk: 'ffb6c1',\n ZsOmon: 'ffa07a',\n ZsHgYF: '20b2aa',\n ZskyXe: '87cefa',\n ZUWay: '778899',\n ZUgYy: '778899',\n ZstAlXe: 'b0c4de',\n ZLw: 'ffffe0',\n lime: 'ff00',\n limegYF: '32cd32',\n lRF: 'faf0e6',\n magFta: 'ff00ff',\n maPon: '800000',\n VaquamarRe: '66cdaa',\n VXe: 'cd',\n VScEd: 'ba55d3',\n VpurpN: '9370db',\n VsHgYF: '3cb371',\n VUXe: '7b68ee',\n VsprRggYF: 'fa9a',\n VQe: '48d1cc',\n VviTetYd: 'c71585',\n midnightXe: '191970',\n mRtcYam: 'f5fffa',\n mistyPse: 'ffe4e1',\n moccasR: 'ffe4b5',\n navajowEte: 'ffdead',\n navy: '80',\n Tdlace: 'fdf5e6',\n Tive: '808000',\n TivedBb: '6b8e23',\n Sange: 'ffa500',\n SangeYd: 'ff4500',\n ScEd: 'da70d6',\n pOegTMnPd: 'eee8aa',\n pOegYF: '98fb98',\n pOeQe: 'afeeee',\n pOeviTetYd: 'db7093',\n papayawEp: 'ffefd5',\n pHKpuff: 'ffdab9',\n peru: 'cd853f',\n pRk: 'ffc0cb',\n plum: 'dda0dd',\n powMrXe: 'b0e0e6',\n purpN: '800080',\n YbeccapurpN: '663399',\n Yd: 'ff0000',\n Psybrown: 'bc8f8f',\n PyOXe: '4169e1',\n saddNbPwn: '8b4513',\n sOmon: 'fa8072',\n sandybPwn: 'f4a460',\n sHgYF: '2e8b57',\n sHshell: 'fff5ee',\n siFna: 'a0522d',\n silver: 'c0c0c0',\n skyXe: '87ceeb',\n UXe: '6a5acd',\n UWay: '708090',\n UgYy: '708090',\n snow: 'fffafa',\n sprRggYF: 'ff7f',\n stAlXe: '4682b4',\n tan: 'd2b48c',\n teO: '8080',\n tEstN: 'd8bfd8',\n tomato: 'ff6347',\n Qe: '40e0d0',\n viTet: 'ee82ee',\n JHt: 'f5deb3',\n wEte: 'ffffff',\n wEtesmoke: 'f5f5f5',\n Lw: 'ffff00',\n LwgYF: '9acd32'\n};\n\n/**\n * Unpack color names\n * @returns Record of color names to RGB arrays\n */\nexport default function unpack(): Record<string, number[]> {\n const unpacked: Record<string, number[]> = {};\n const keys = Object.keys(names);\n const tkeys = Object.keys(map);\n let i: number, j: number, k: string | number, ok: string, nk: string;\n\n for (i = 0; i < keys.length; i++) {\n ok = nk = keys[i];\n for (j = 0; j < tkeys.length; j++) {\n k = tkeys[j];\n nk = nk.replace(k, map[k]);\n }\n k = parseInt(names[ok], 16);\n unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n }\n\n return unpacked;\n}\n", "/**\n * @packageDocumentation\n * @module utils\n */\n\nimport type { RGBA } from './color.js'\n\nimport unpack from './packed.js'\n\nlet names: Record<string, number[]>\n\n/**\n * Parse color name\n * @param str - the color name\n * @return - the color\n */\nexport function nameParse(str: string): RGBA | undefined {\n if (!names) {\n names = unpack()\n names.transparent = [0, 0, 0, 0]\n }\n const a = names[str.toLowerCase()]\n return (\n a && {\n a: a.length === 4 ? a[3] : 255,\n b: a[2],\n g: a[1],\n r: a[0],\n }\n )\n}\n", "/**\n * @packageDocumentation\n * @module utils\n */\n\nimport type { RGBA } from './color.js'\n\nimport { b2n, lim, p2b } from './byte.js'\n\n/**\n * @hidden\n */\nconst RGB_RE =\n /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/\n\n/**\n * Parse rgb(a) string to RGBA\n * @param str - the rgb string\n * @returns - the parsed color\n */\nexport function rgbParse(str: string): RGBA | undefined {\n const m = RGB_RE.exec(str)\n let a = 255\n let r: number, g: number, b: number\n\n if (!m) {\n return undefined\n }\n\n // r is undefined\n if (m[7] !== undefined) {\n const v = +m[7]\n a = m[8] ? p2b(v) : lim(v * 255, 0, 255)\n }\n\n r = +m[1]\n g = +m[3]\n b = +m[5]\n r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255))\n g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255))\n b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255))\n\n return {\n a: a,\n b: b,\n g: g,\n r: r,\n }\n}\n\n/**\n * Return rgb(a) string from color\n * @param v - the color\n */\nexport function rgbString(v: RGBA | undefined): string | undefined {\n return (\n v && (v.a < 255 ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})` : `rgb(${v.r}, ${v.g}, ${v.b})`)\n )\n}\n", "/**\n * @packageDocumentation\n * @module utils\n */\n\nimport type { RGBA } from './color.js'\n\nimport { b2n, n2b } from './byte.js'\n\nconst to = (v: number): number => (v <= 0.0031308 ? v * 12.92 : v ** (1.0 / 2.4) * 1.055 - 0.055)\nconst from = (v: number): number => (v <= 0.04045 ? v / 12.92 : ((v + 0.055) / 1.055) ** 2.4)\n\n/**\n * @param rgb1 from color\n * @param rgb2 to color\n * @param t 0..1\n * @returns interpolaced\n */\nexport function interpolate(rgb1: RGBA, rgb2: RGBA, t: number): RGBA {\n const r = from(b2n(rgb1.r))\n const g = from(b2n(rgb1.g))\n const b = from(b2n(rgb1.b))\n return {\n a: rgb1.a + t * (rgb2.a - rgb1.a),\n b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n }\n}\n", "/**\n * @packageDocumentation\n * @module index\n */\n\nimport { b2n, n2b, round } from './byte.js'\nimport { hexParse, hexString } from './hex.js'\nimport { hsl2rgb, hslString, hueParse, rgb2hsl, rotate } from './hue.js'\nimport { nameParse } from './names.js'\nimport { rgbParse, rgbString } from './rgb.js'\nimport { interpolate } from './srgb.js'\n\nconst COMMENT_REGEXP = /\\/\\*[\\s\\S]*?\\*\\//g\n\n/**\n * RGBA color type\n */\nexport interface RGBA {\n r: number\n g: number\n b: number\n a: number\n}\n\n/**\n * Modify HSL properties\n * @param v - the color\n * @param i - index [0=h, 1=s, 2=l]\n * @param ratio - ratio [0..1]\n * @hidden\n */\nfunction modHSL(v: RGBA | undefined, i: number, ratio: number): void {\n if (v) {\n let tmp = rgb2hsl(v)\n tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1))\n tmp = hsl2rgb(tmp)\n v.r = tmp[0]\n v.g = tmp[1]\n v.b = tmp[2]\n }\n}\n\n/**\n * Clone color\n * @param v - the color\n * @param proto - prototype\n * @hidden\n */\nfunction clone(v: RGBA | undefined, proto?: object): RGBA | undefined {\n return v ? Object.assign(proto || {}, v) : v\n}\n\n/**\n * @param input\n * @hidden\n */\nfunction fromObject(input: RGBA | number[]): RGBA {\n let v: RGBA = { a: 255, b: 0, g: 0, r: 0 }\n if (Array.isArray(input)) {\n if (input.length >= 3) {\n v = { a: 255, b: input[2], g: input[1], r: input[0] }\n if (input.length > 3) {\n v.a = n2b(input[3])\n }\n }\n } else {\n v = clone(input, { a: 1, b: 0, g: 0, r: 0 })!\n v.a = n2b(v.a)\n }\n return v\n}\n\n/**\n * @param str\n * @hidden\n */\nfunction functionParse(str: string): RGBA | undefined {\n const clean = str.replace(COMMENT_REGEXP, '').trim()\n if (clean.charAt(0) === 'r') {\n return rgbParse(clean)\n }\n return hueParse(clean)\n}\n\nexport default class Color {\n /**\n * @type {RGBA}\n * @hidden\n **/\n _rgb: RGBA\n\n /**\n * @type {boolean}\n * @hidden\n **/\n _valid: boolean\n\n /**\n * constructor\n * @param input\n */\n constructor(input: Color | RGBA | string | number[]) {\n if (input instanceof Color) {\n // biome-ignore lint/correctness/noConstructorReturn: returns the existing instance instead of double-wrapping it\n return input\n }\n const type = typeof input\n let v: RGBA | undefined\n if (type === 'object') {\n v = fromObject(input as RGBA | number[])\n } else if (type === 'string') {\n v = hexParse(input as string) || nameParse(input as string) || functionParse(input as string)\n }\n\n this._rgb = v\n this._valid = !!v\n }\n\n /**\n * `true` if this is a valid color\n * @returns {boolean}\n */\n get valid(): boolean {\n return this._valid\n }\n\n /**\n * @returns {RGBA} - the color\n */\n get rgb(): RGBA {\n const v = clone(this._rgb)\n if (v) {\n v.a = b2n(v.a)\n }\n return v as RGBA\n }\n\n /**\n * @param obj - the color\n */\n set rgb(obj: RGBA) {\n this._rgb = fromObject(obj)\n }\n\n /**\n * rgb(a) string\n * @return {string|undefined}\n */\n rgbString(): string | undefined {\n return this._valid ? rgbString(this._rgb) : undefined\n }\n\n /**\n * hex string\n * @return {string|undefined}\n */\n hexString(): string | undefined {\n return this._valid ? hexString(this._rgb) : undefined\n }\n\n /**\n * hsl(a) string\n * @return {string|undefined}\n */\n hslString(): string | undefined {\n return this._valid ? hslString(this._rgb) : undefined\n }\n\n /**\n * Mix another color to this color.\n * @param color - Color to mix in\n * @param weight - 0..1\n * @returns {Color}\n */\n mix(color: Color, weight: number = 0.5): Color {\n if (color) {\n const c1 = this.rgb\n const c2 = color.rgb\n\n const w = 2 * weight - 1\n const a = c1.a - c2.a\n const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0\n const w2 = 1 - w1\n c1.r = 0xff & (w1 * c1.r + w2 * c2.r + 0.5)\n c1.g = 0xff & (w1 * c1.g + w2 * c2.g + 0.5)\n c1.b = 0xff & (w1 * c1.b + w2 * c2.b + 0.5)\n c1.a = weight * c1.a + (1 - weight) * c2.a\n this.rgb = c1\n }\n return this\n }\n\n /**\n * Interpolate a color value between this and `color`\n * @param color\n * @param t - 0..1\n * @returns {Color}\n */\n interpolate(color: Color, t: number): Color {\n if (color) {\n this._rgb = interpolate(this._rgb, color._rgb, t)\n }\n return this\n }\n\n /**\n * Clone\n * @returns {Color}\n */\n clone(): Color {\n return new Color(this.rgb)\n }\n\n /**\n * Set alpha\n * @param a - the alpha [0..1]\n * @returns {Color}\n */\n alpha(a: number): Color {\n this._rgb.a = n2b(a)\n return this\n }\n\n /**\n * Make clearer\n * @param ratio - ratio [0..1]\n * @returns {Color}\n */\n clearer(ratio: number): Color {\n const rgb = this._rgb\n rgb.a *= 1 - ratio\n return this\n }\n\n /**\n * Convert to grayscale\n * @returns {Color}\n */\n greyscale(): Color {\n const rgb = this._rgb\n // http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11)\n rgb.r = rgb.g = rgb.b = val\n return this\n }\n\n /**\n * Opaquer\n * @param ratio - ratio [0..1]\n * @returns {Color}\n */\n opaquer(ratio: number): Color {\n const rgb = this._rgb\n rgb.a *= 1 + ratio\n return this\n }\n\n /**\n * Negates the rgb value\n * @returns {Color}\n */\n negate(): Color {\n const v = this._rgb\n v.r = 255 - v.r\n v.g = 255 - v.g\n v.b = 255 - v.b\n return this\n }\n\n /**\n * Lighten\n * @param ratio - ratio [0..1]\n * @returns {Color}\n */\n lighten(ratio: number): Color {\n modHSL(this._rgb, 2, ratio)\n return this\n }\n\n /**\n * Darken\n * @param ratio - ratio [0..1]\n * @returns {Color}\n */\n darken(ratio: number): Color {\n modHSL(this._rgb, 2, -ratio)\n return this\n }\n\n /**\n * Saturate\n * @param ratio - ratio [0..1]\n * @returns {Color}\n */\n saturate(ratio: number): Color {\n modHSL(this._rgb, 1, ratio)\n return this\n }\n\n /**\n * Desaturate\n * @param ratio - ratio [0..1]\n * @returns {Color}\n */\n desaturate(ratio: number): Color {\n modHSL(this._rgb, 1, -ratio)\n return this\n }\n\n /**\n * Rotate\n * @param deg - degrees to rotate\n * @returns {Color}\n */\n rotate(deg: number): Color {\n rotate(this._rgb, deg)\n return this\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACSO,SAAS,MAAM,GAAmB;AACvC,SAAQ,IAAI,MAAO;AACrB;AAEO,IAAM,MAAM,CAAC,GAAW,GAAW,MAAsB,KAAK,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC;AAMnF,SAAS,IAAI,GAAmB;AACrC,SAAO,IAAI,MAAM,IAAI,IAAI,GAAG,GAAG,GAAG;AACpC;AAMO,SAAS,IAAI,GAAmB;AACrC,SAAO,IAAI,MAAM,IAAI,IAAI,GAAG,GAAG,GAAG;AACpC;AAMO,SAAS,IAAI,GAAmB;AACrC,SAAO,IAAI,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG;AACnC;AAMO,SAAS,IAAI,GAAmB;AACrC,SAAO,IAAI,MAAM,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC;AACxC;AAMO,SAAS,IAAI,GAAmB;AACrC,SAAO,IAAI,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG;AACnC;;;AC3CA,IAAM,MAA8B;AAAA,EAClC,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAKA,IAAM,MAAM,CAAC,GAAG,kBAAkB;AAMlC,IAAM,KAAK,CAAC,MAAsB,IAAI,IAAI,EAAG;AAM7C,IAAM,KAAK,CAAC,MAAsB,KAAK,IAAI,QAAS,CAAC,IAAI,IAAI,IAAI,EAAG;AAMpE,IAAM,KAAK,CAAC,OAAwB,IAAI,QAAS,OAAO,IAAI;AAM5D,IAAM,UAAU,CAAC,MAAqB,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;AAMtE,SAAS,SAAS,KAA+B;AACtD,MAAI,IAAI,CAAC,MAAM,KAAK;AAClB;AAAA,EACF;AACA,QAAM,MAAM,IAAI;AAEhB,MAAI,QAAQ,KAAK,QAAQ,GAAG;AAC1B,WAAO;AAAA,MACL,GAAG,QAAQ,IAAK,IAAI,IAAI,CAAC,CAAC,KAAK,IAAK,IAAI,IAAI,CAAC,CAAC,IAAI;AAAA,MAClD,GAAI,IAAI,IAAI,CAAC,CAAC,KAAK,IAAK,IAAI,IAAI,CAAC,CAAC;AAAA,MAClC,GAAI,IAAI,IAAI,CAAC,CAAC,KAAK,IAAK,IAAI,IAAI,CAAC,CAAC;AAAA,MAClC,GAAI,IAAI,IAAI,CAAC,CAAC,KAAK,IAAK,IAAI,IAAI,CAAC,CAAC;AAAA,IACpC;AAAA,EACF;AACA,MAAI,QAAQ,KAAK,QAAQ,GAAG;AAC1B,WAAO;AAAA,MACL,GAAG,QAAQ,IAAK,IAAI,IAAI,CAAC,CAAC,KAAK,IAAK,IAAI,IAAI,CAAC,CAAC,IAAI;AAAA,MAClD,GAAI,IAAI,IAAI,CAAC,CAAC,KAAK,IAAK,IAAI,IAAI,CAAC,CAAC;AAAA,MAClC,GAAI,IAAI,IAAI,CAAC,CAAC,KAAK,IAAK,IAAI,IAAI,CAAC,CAAC;AAAA,MAClC,GAAI,IAAI,IAAI,CAAC,CAAC,KAAK,IAAK,IAAI,IAAI,CAAC,CAAC;AAAA,IACpC;AAAA,EACF;AACF;AAEA,IAAM,QAAQ,CAAC,GAAW,MAAsC,IAAI,MAAM,EAAE,CAAC,IAAI;AAO1E,SAAS,UAAU,GAAyC;AACjE,QAAM,IAAI,KAAK,QAAQ,CAAC,IAAI,KAAK;AACjC,SAAO,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK;AAC9D;;;AC1FA,IAAM,SACJ;AAWF,SAAS,SAAS,GAAW,GAAW,GAAqB;AAC3D,QAAM,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC;AAI/B,QAAM,IAAI,CAAC,GAAW,KAAK,IAAI,IAAI,MAAM,OAAO,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE;AAC9F,SAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1B;AAWA,SAAS,SAAS,GAAW,GAAW,GAAqB;AAI3D,QAAM,IAAI,CAAC,GAAW,KAAK,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC;AAC5F,SAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1B;AAUA,SAAS,SAAS,GAAW,GAAW,GAAqB;AAC3D,QAAM,MAAM,SAAS,GAAG,GAAG,GAAG;AAC9B,MAAI;AACJ,MAAI,IAAI,IAAI,GAAG;AACb,QAAI,KAAK,IAAI;AACb,SAAK;AACL,SAAK;AAAA,EACP;AACA,OAAK,IAAI,GAAG,IAAI,GAAG,KAAK;AACtB,QAAI,CAAC,KAAK,IAAI,IAAI;AAClB,QAAI,CAAC,KAAK;AAAA,EACZ;AACA,SAAO;AACT;AAEA,SAAS,SAAS,GAAW,GAAW,GAAW,GAAW,KAAqB;AACjF,MAAI,MAAM,KAAK;AACb,YAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI;AAAA,EACpC;AACA,MAAI,MAAM,KAAK;AACb,YAAQ,IAAI,KAAK,IAAI;AAAA,EACvB;AACA,UAAQ,IAAI,KAAK,IAAI;AACvB;AAOO,SAAS,QAAQ,GAAmB;AACzC,QAAM,QAAQ;AACd,QAAM,IAAI,EAAE,IAAI;AAChB,QAAM,IAAI,EAAE,IAAI;AAChB,QAAM,IAAI,EAAE,IAAI;AAChB,QAAM,MAAM,KAAK,IAAI,GAAG,GAAG,CAAC;AAC5B,QAAM,MAAM,KAAK,IAAI,GAAG,GAAG,CAAC;AAC5B,QAAM,KAAK,MAAM,OAAO;AACxB,MAAI,IAAY;AAChB,MAAI,IAAY;AAChB,MAAI;AACJ,MAAI,QAAQ,KAAK;AACf,QAAI,MAAM;AACV,QAAI,IAAI,MAAM,KAAK,IAAI,MAAM,OAAO,KAAK,MAAM;AAC/C,QAAI,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG;AAC5B,QAAI,IAAI,KAAK;AAAA,EACf;AACA,SAAO,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC;AAC1B;AAUA,SAAS,MACP,GACA,GACA,GACA,GACU;AACV,UAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,GAAI,CAAE,GAAG,IAAI,GAAG;AACxE;AASO,SAAS,QAAQ,GAAsB,GAAY,GAAsB;AAC9E,SAAO,MAAM,UAAU,GAAG,GAAG,CAAC;AAChC;AASO,SAAS,QAAQ,GAAsB,GAAY,GAAsB;AAC9E,SAAO,MAAM,UAAU,GAAG,GAAG,CAAC;AAChC;AASO,SAAS,QAAQ,GAAsB,GAAY,GAAsB;AAC9E,SAAO,MAAM,UAAU,GAAG,GAAG,CAAC;AAChC;AAMA,SAAS,IAAI,GAAmB;AAC9B,UAAS,IAAI,MAAO,OAAO;AAC7B;AAOO,SAAS,SAAS,KAA+B;AACtD,QAAM,IAAI,OAAO,KAAK,GAAG;AACzB,MAAI,IAAI;AACR,MAAI;AAEJ,MAAI,CAAC,GAAG;AACN,WAAO;AAAA,EACT;AAGA,MAAI,EAAE,CAAC,MAAM,QAAW;AACtB,QAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;AAAA,EACnC;AAEA,QAAM,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;AACnB,QAAM,KAAK,CAAC,EAAE,CAAC,IAAI;AACnB,QAAM,KAAK,CAAC,EAAE,CAAC,IAAI;AAEnB,MAAI,EAAE,CAAC,MAAM,OAAO;AAClB,QAAI,QAAQ,GAAG,IAAI,EAAE;AAAA,EACvB,WAAW,EAAE,CAAC,MAAM,OAAO;AACzB,QAAI,QAAQ,GAAG,IAAI,EAAE;AAAA,EACvB,OAAO;AACL,QAAI,QAAQ,GAAG,IAAI,EAAE;AAAA,EACvB;AAEA,SAAO;AAAA,IACL;AAAA,IACA,GAAG,EAAE,CAAC;AAAA,IACN,GAAG,EAAE,CAAC;AAAA,IACN,GAAG,EAAE,CAAC;AAAA,EACR;AACF;AAOO,SAAS,OAAO,GAAS,KAAmB;AACjD,QAAM,IAAI,QAAQ,CAAC;AACnB,IAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,GAAG;AACrB,QAAM,MAAM,QAAQ,CAAC;AACrB,IAAE,IAAI,IAAI,CAAC;AACX,IAAE,IAAI,IAAI,CAAC;AACX,IAAE,IAAI,IAAI,CAAC;AACb;AAOO,SAAS,UAAU,GAAyC;AACjE,MAAI,CAAC,GAAG;AACN,WAAO;AAAA,EACT;AACA,QAAM,IAAI,QAAQ,CAAC;AACnB,QAAM,IAAI,EAAE,CAAC;AACb,QAAM,IAAI,IAAI,EAAE,CAAC,CAAC;AAClB,QAAM,IAAI,IAAI,EAAE,CAAC,CAAC;AAClB,SAAO,EAAE,IAAI,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;AACpF;;;ACpOA,IAAMA,OAA8B;AAAA,EAClC,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AACA,IAAM,QAAgC;AAAA,EACpC,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,MAAM;AAAA,EACN,WAAW;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,cAAc;AAAA,EACd,IAAI;AAAA,EACJ,SAAS;AAAA,EACT,MAAM;AAAA,EACN,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,SAAS;AAAA,EACT,KAAK;AAAA,EACL,aAAa;AAAA,EACb,SAAS;AAAA,EACT,SAAS;AAAA,EACT,MAAM;AAAA,EACN,KAAK;AAAA,EACL,OAAO;AAAA,EACP,SAAS;AAAA,EACT,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,WAAW;AAAA,EACX,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,KAAK;AAAA,EACL,OAAO;AAAA,EACP,KAAK;AAAA,EACL,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,KAAK;AAAA,EACL,MAAM;AAAA,EACN,OAAO;AAAA,EACP,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,OAAO;AAAA,EACP,SAAS;AAAA,EACT,KAAK;AAAA,EACL,MAAM;AAAA,EACN,SAAS;AAAA,EACT,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,KAAK;AAAA,EACL,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,WAAW;AAAA,EACX,KAAK;AAAA,EACL,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,UAAU;AAAA,EACV,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,MAAM;AAAA,EACN,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,SAAS;AAAA,EACT,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,SAAS;AAAA,EACT,OAAO;AAAA,EACP,aAAa;AAAA,EACb,IAAI;AAAA,EACJ,UAAU;AAAA,EACV,OAAO;AAAA,EACP,WAAW;AAAA,EACX,OAAO;AAAA,EACP,WAAW;AAAA,EACX,OAAO;AAAA,EACP,SAAS;AAAA,EACT,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,KAAK;AAAA,EACL,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,KAAK;AAAA,EACL,MAAM;AAAA,EACN,WAAW;AAAA,EACX,IAAI;AAAA,EACJ,OAAO;AACT;AAMe,SAAR,SAAoD;AACzD,QAAM,WAAqC,CAAC;AAC5C,QAAM,OAAO,OAAO,KAAK,KAAK;AAC9B,QAAM,QAAQ,OAAO,KAAKA,IAAG;AAC7B,MAAI,GAAW,GAAW,GAAoB,IAAY;AAE1D,OAAK,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AAChC,SAAK,KAAK,KAAK,CAAC;AAChB,SAAK,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACjC,UAAI,MAAM,CAAC;AACX,WAAK,GAAG,QAAQ,GAAGA,KAAI,CAAC,CAAC;AAAA,IAC3B;AACA,QAAI,SAAS,MAAM,EAAE,GAAG,EAAE;AAC1B,aAAS,EAAE,IAAI,CAAC,KAAK,KAAK,KAAM,KAAK,IAAI,KAAM,IAAI,GAAI;AAAA,EACzD;AAEA,SAAO;AACT;;;ACrMA,IAAIC;AAOG,SAAS,UAAU,KAA+B;AACvD,MAAI,CAACA,QAAO;AACV,IAAAA,SAAQ,OAAO;AACf,IAAAA,OAAM,cAAc,CAAC,GAAG,GAAG,GAAG,CAAC;AAAA,EACjC;AACA,QAAM,IAAIA,OAAM,IAAI,YAAY,CAAC;AACjC,SACE,KAAK;AAAA,IACH,GAAG,EAAE,WAAW,IAAI,EAAE,CAAC,IAAI;AAAA,IAC3B,GAAG,EAAE,CAAC;AAAA,IACN,GAAG,EAAE,CAAC;AAAA,IACN,GAAG,EAAE,CAAC;AAAA,EACR;AAEJ;;;AClBA,IAAM,SACJ;AAOK,SAAS,SAAS,KAA+B;AACtD,QAAM,IAAI,OAAO,KAAK,GAAG;AACzB,MAAI,IAAI;AACR,MAAI,GAAW,GAAW;AAE1B,MAAI,CAAC,GAAG;AACN,WAAO;AAAA,EACT;AAGA,MAAI,EAAE,CAAC,MAAM,QAAW;AACtB,UAAM,IAAI,CAAC,EAAE,CAAC;AACd,QAAI,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,GAAG;AAAA,EACzC;AAEA,MAAI,CAAC,EAAE,CAAC;AACR,MAAI,CAAC,EAAE,CAAC;AACR,MAAI,CAAC,EAAE,CAAC;AACR,MAAI,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,GAAG,GAAG;AACxC,MAAI,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,GAAG,GAAG;AACxC,MAAI,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,GAAG,GAAG;AAExC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAMO,SAAS,UAAU,GAAyC;AACjE,SACE,MAAM,EAAE,IAAI,MAAM,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;AAE9F;;;ACjDA,IAAM,KAAK,CAAC,MAAuB,KAAK,WAAY,IAAI,QAAQ,MAAM,IAAM,OAAO,QAAQ;AAC3F,IAAM,OAAO,CAAC,MAAuB,KAAK,UAAU,IAAI,UAAU,IAAI,SAAS,UAAU;AAQlF,SAAS,YAAY,MAAY,MAAY,GAAiB;AACnE,QAAM,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC;AAC1B,QAAM,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC;AAC1B,QAAM,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC;AAC1B,SAAO;AAAA,IACL,GAAG,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK;AAAA,IAC/B,GAAG,IAAI,GAAG,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AAAA,IAC1C,GAAG,IAAI,GAAG,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AAAA,IAC1C,GAAG,IAAI,GAAG,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AAAA,EAC5C;AACF;;;AChBA,IAAM,iBAAiB;AAmBvB,SAAS,OAAO,GAAqB,GAAW,OAAqB;AACnE,MAAI,GAAG;AACL,QAAI,MAAM,QAAQ,CAAC;AACnB,QAAI,CAAC,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,OAAO,MAAM,IAAI,MAAM,CAAC,CAAC;AACzE,UAAM,QAAQ,GAAG;AACjB,MAAE,IAAI,IAAI,CAAC;AACX,MAAE,IAAI,IAAI,CAAC;AACX,MAAE,IAAI,IAAI,CAAC;AAAA,EACb;AACF;AAQA,SAAS,MAAM,GAAqB,OAAkC;AACpE,SAAO,IAAI,OAAO,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI;AAC7C;AAMA,SAAS,WAAW,OAA8B;AAChD,MAAI,IAAU,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE;AACzC,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,QAAI,MAAM,UAAU,GAAG;AACrB,UAAI,EAAE,GAAG,KAAK,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE;AACpD,UAAI,MAAM,SAAS,GAAG;AACpB,UAAE,IAAI,IAAI,MAAM,CAAC,CAAC;AAAA,MACpB;AAAA,IACF;AAAA,EACF,OAAO;AACL,QAAI,MAAM,OAAO,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;AAC3C,MAAE,IAAI,IAAI,EAAE,CAAC;AAAA,EACf;AACA,SAAO;AACT;AAMA,SAAS,cAAc,KAA+B;AACpD,QAAM,QAAQ,IAAI,QAAQ,gBAAgB,EAAE,EAAE,KAAK;AACnD,MAAI,MAAM,OAAO,CAAC,MAAM,KAAK;AAC3B,WAAO,SAAS,KAAK;AAAA,EACvB;AACA,SAAO,SAAS,KAAK;AACvB;AAEA,IAAqB,QAArB,MAAqB,OAAM;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBzB,YAAY,OAAyC;AACnD,QAAI,iBAAiB,QAAO;AAE1B,aAAO;AAAA,IACT;AACA,UAAM,OAAO,OAAO;AACpB,QAAI;AACJ,QAAI,SAAS,UAAU;AACrB,UAAI,WAAW,KAAwB;AAAA,IACzC,WAAW,SAAS,UAAU;AAC5B,UAAI,SAAS,KAAe,KAAK,UAAU,KAAe,KAAK,cAAc,KAAe;AAAA,IAC9F;AAEA,SAAK,OAAO;AACZ,SAAK,SAAS,CAAC,CAAC;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,QAAiB;AACnB,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,MAAY;AACd,UAAM,IAAI,MAAM,KAAK,IAAI;AACzB,QAAI,GAAG;AACL,QAAE,IAAI,IAAI,EAAE,CAAC;AAAA,IACf;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,IAAI,KAAW;AACjB,SAAK,OAAO,WAAW,GAAG;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAgC;AAC9B,WAAO,KAAK,SAAS,UAAU,KAAK,IAAI,IAAI;AAAA,EAC9C;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAgC;AAC9B,WAAO,KAAK,SAAS,UAAU,KAAK,IAAI,IAAI;AAAA,EAC9C;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAgC;AAC9B,WAAO,KAAK,SAAS,UAAU,KAAK,IAAI,IAAI;AAAA,EAC9C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,IAAI,OAAc,SAAiB,KAAY;AAC7C,QAAI,OAAO;AACT,YAAM,KAAK,KAAK;AAChB,YAAM,KAAK,MAAM;AAEjB,YAAM,IAAI,IAAI,SAAS;AACvB,YAAM,IAAI,GAAG,IAAI,GAAG;AACpB,YAAM,OAAO,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,IAAI,IAAI,MAAM,KAAK;AAC9D,YAAM,KAAK,IAAI;AACf,SAAG,IAAI,MAAQ,KAAK,GAAG,IAAI,KAAK,GAAG,IAAI;AACvC,SAAG,IAAI,MAAQ,KAAK,GAAG,IAAI,KAAK,GAAG,IAAI;AACvC,SAAG,IAAI,MAAQ,KAAK,GAAG,IAAI,KAAK,GAAG,IAAI;AACvC,SAAG,IAAI,SAAS,GAAG,KAAK,IAAI,UAAU,GAAG;AACzC,WAAK,MAAM;AAAA,IACb;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,YAAY,OAAc,GAAkB;AAC1C,QAAI,OAAO;AACT,WAAK,OAAO,YAAY,KAAK,MAAM,MAAM,MAAM,CAAC;AAAA,IAClD;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,QAAe;AACb,WAAO,IAAI,OAAM,KAAK,GAAG;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,GAAkB;AACtB,SAAK,KAAK,IAAI,IAAI,CAAC;AACnB,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,QAAQ,OAAsB;AAC5B,UAAM,MAAM,KAAK;AACjB,QAAI,KAAK,IAAI;AACb,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAmB;AACjB,UAAM,MAAM,KAAK;AAEjB,UAAM,MAAM,MAAM,IAAI,IAAI,MAAM,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI;AAC3D,QAAI,IAAI,IAAI,IAAI,IAAI,IAAI;AACxB,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,QAAQ,OAAsB;AAC5B,UAAM,MAAM,KAAK;AACjB,QAAI,KAAK,IAAI;AACb,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAgB;AACd,UAAM,IAAI,KAAK;AACf,MAAE,IAAI,MAAM,EAAE;AACd,MAAE,IAAI,MAAM,EAAE;AACd,MAAE,IAAI,MAAM,EAAE;AACd,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,QAAQ,OAAsB;AAC5B,WAAO,KAAK,MAAM,GAAG,KAAK;AAC1B,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,OAAsB;AAC3B,WAAO,KAAK,MAAM,GAAG,CAAC,KAAK;AAC3B,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAS,OAAsB;AAC7B,WAAO,KAAK,MAAM,GAAG,KAAK;AAC1B,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,WAAW,OAAsB;AAC/B,WAAO,KAAK,MAAM,GAAG,CAAC,KAAK;AAC3B,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,KAAoB;AACzB,WAAO,KAAK,MAAM,GAAG;AACrB,WAAO;AAAA,EACT;AACF;;;AR1Se,SAAR,kBAAkB,OAAgD;AACvE,SAAO,IAAI,MAAM,KAAK;AACxB;;;ADfA,IAAO,gBAAQ,OAAO,OAAa,mBAAS,iBAAK;",
|
|
6
|
+
"names": ["map", "names"]
|
|
7
|
+
}
|
package/dist/color.d.ts
CHANGED
|
@@ -1,142 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @packageDocumentation
|
|
3
|
-
* @module
|
|
3
|
+
* @module index
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
* - red [0..255]
|
|
8
|
-
*/
|
|
9
|
-
r: number;
|
|
10
|
-
/**
|
|
11
|
-
* - green [0..255]
|
|
12
|
-
*/
|
|
13
|
-
g: number;
|
|
14
|
-
/**
|
|
15
|
-
* - blue [0..255]
|
|
16
|
-
*/
|
|
17
|
-
b: number;
|
|
18
|
-
/**
|
|
19
|
-
* - alpha [0..1]
|
|
20
|
-
*/
|
|
21
|
-
a: number;
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Parse HEX to color
|
|
25
|
-
* @param {string} str - the string
|
|
5
|
+
/**
|
|
6
|
+
* RGBA color type
|
|
26
7
|
*/
|
|
27
|
-
export
|
|
8
|
+
export interface RGBA {
|
|
28
9
|
r: number;
|
|
29
10
|
g: number;
|
|
30
11
|
b: number;
|
|
31
12
|
a: number;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
* Return HEX string from color
|
|
35
|
-
* @param {RGBA} v - the color
|
|
36
|
-
*/
|
|
37
|
-
export function hexString(v: RGBA): string | RGBA;
|
|
38
|
-
/**
|
|
39
|
-
* Rounds decimal to nearest integer
|
|
40
|
-
* @param {number} v - the number to round
|
|
41
|
-
*/
|
|
42
|
-
export function round(v: number): number;
|
|
43
|
-
/**
|
|
44
|
-
* convert percent to byte 0..255
|
|
45
|
-
* @param {number} v - 0..100
|
|
46
|
-
*/
|
|
47
|
-
export function p2b(v: number): number;
|
|
48
|
-
/**
|
|
49
|
-
* convert byte to percet 0..100
|
|
50
|
-
* @param {number} v - 0..255
|
|
51
|
-
*/
|
|
52
|
-
export function b2p(v: number): number;
|
|
53
|
-
/**
|
|
54
|
-
* convert normalized to byte 0..255
|
|
55
|
-
* @param {number} v - 0..1
|
|
56
|
-
*/
|
|
57
|
-
export function n2b(v: number): number;
|
|
58
|
-
/**
|
|
59
|
-
* convert byte to normalized 0..1
|
|
60
|
-
* @param {number} v - 0..255
|
|
61
|
-
*/
|
|
62
|
-
export function b2n(v: number): number;
|
|
63
|
-
/**
|
|
64
|
-
* convert normalized to percent 0..100
|
|
65
|
-
* @param {number} v - 0..1
|
|
66
|
-
*/
|
|
67
|
-
export function n2p(v: number): number;
|
|
68
|
-
/**
|
|
69
|
-
* Convert rgb to hsl
|
|
70
|
-
* @param {RGBA} v - the color
|
|
71
|
-
* @returns {number[]} - [h, s, l]
|
|
72
|
-
*/
|
|
73
|
-
export function rgb2hsl(v: RGBA): number[];
|
|
74
|
-
/**
|
|
75
|
-
* Convert hsl to rgb
|
|
76
|
-
* @param {number|number[]} h - hue | [h, s, l]
|
|
77
|
-
* @param {number} [s] - saturation
|
|
78
|
-
* @param {number} [l] - lightness
|
|
79
|
-
* @returns {number[]}
|
|
80
|
-
*/
|
|
81
|
-
export function hsl2rgb(h: number | number[], s?: number, l?: number): number[];
|
|
82
|
-
/**
|
|
83
|
-
* Convert hwb to rgb
|
|
84
|
-
* @param {number|number[]} h - hue | [h, s, l]
|
|
85
|
-
* @param {number} [w] - whiteness
|
|
86
|
-
* @param {number} [b] - blackness
|
|
87
|
-
* @returns {number[]}
|
|
88
|
-
*/
|
|
89
|
-
export function hwb2rgb(h: number | number[], w?: number, b?: number): number[];
|
|
90
|
-
/**
|
|
91
|
-
* Convert hsv to rgb
|
|
92
|
-
* @param {number|number[]} h - hue | [h, s, l]
|
|
93
|
-
* @param {number} [s] - saturation
|
|
94
|
-
* @param {number} [v] - value
|
|
95
|
-
* @returns {number[]}
|
|
96
|
-
*/
|
|
97
|
-
export function hsv2rgb(h: number | number[], s?: number, v?: number): number[];
|
|
98
|
-
/**
|
|
99
|
-
* Parse hsl/hsv/hwb color string
|
|
100
|
-
* @param {string} str - hsl/hsv/hwb color string
|
|
101
|
-
* @returns {RGBA} - the parsed color components
|
|
102
|
-
*/
|
|
103
|
-
export function hueParse(str: string): RGBA;
|
|
104
|
-
/**
|
|
105
|
-
* Rotate the `v` color by `deg` degrees
|
|
106
|
-
* @param {RGBA} v - the color
|
|
107
|
-
* @param {number} deg - degrees to rotate
|
|
108
|
-
*/
|
|
109
|
-
export function rotate(v: RGBA, deg: number): void;
|
|
110
|
-
/**
|
|
111
|
-
* Return hsl(a) string from color components
|
|
112
|
-
* @param {RGBA} v - the color
|
|
113
|
-
* @return {string|undefined}
|
|
114
|
-
*/
|
|
115
|
-
export function hslString(v: RGBA): string;
|
|
116
|
-
/**
|
|
117
|
-
* Parse color name
|
|
118
|
-
* @param {string} str - the color name
|
|
119
|
-
* @return {RGBA} - the color
|
|
120
|
-
*/
|
|
121
|
-
export function nameParse(str: string): RGBA;
|
|
122
|
-
/**
|
|
123
|
-
* Parse rgb(a) string to RGBA
|
|
124
|
-
* @param {string} str - the rgb string
|
|
125
|
-
* @returns {RGBA} - the parsed color
|
|
126
|
-
*/
|
|
127
|
-
export function rgbParse(str: string): RGBA;
|
|
128
|
-
/**
|
|
129
|
-
* Return rgb(a) string from color
|
|
130
|
-
* @param {RGBA} v - the color
|
|
131
|
-
*/
|
|
132
|
-
export function rgbString(v: RGBA): string;
|
|
133
|
-
|
|
134
|
-
export class Color {
|
|
135
|
-
/**
|
|
136
|
-
* constructor
|
|
137
|
-
* @param {Color|RGBA|string|number[]} input
|
|
138
|
-
*/
|
|
139
|
-
constructor(input: string | number[] | Color | RGBA);
|
|
13
|
+
}
|
|
14
|
+
export default class Color {
|
|
140
15
|
/**
|
|
141
16
|
* @type {RGBA}
|
|
142
17
|
* @hidden
|
|
@@ -147,89 +22,114 @@ export class Color {
|
|
|
147
22
|
* @hidden
|
|
148
23
|
**/
|
|
149
24
|
_valid: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* constructor
|
|
27
|
+
* @param input
|
|
28
|
+
*/
|
|
29
|
+
constructor(input: Color | RGBA | string | number[]);
|
|
150
30
|
/**
|
|
151
31
|
* `true` if this is a valid color
|
|
152
32
|
* @returns {boolean}
|
|
153
33
|
*/
|
|
154
34
|
get valid(): boolean;
|
|
155
|
-
/**
|
|
156
|
-
* @param {RGBA} obj - the color
|
|
157
|
-
*/
|
|
158
|
-
set rgb(arg: RGBA);
|
|
159
35
|
/**
|
|
160
36
|
* @returns {RGBA} - the color
|
|
161
37
|
*/
|
|
162
38
|
get rgb(): RGBA;
|
|
39
|
+
/**
|
|
40
|
+
* @param obj - the color
|
|
41
|
+
*/
|
|
42
|
+
set rgb(obj: RGBA);
|
|
163
43
|
/**
|
|
164
44
|
* rgb(a) string
|
|
45
|
+
* @return {string|undefined}
|
|
165
46
|
*/
|
|
166
|
-
rgbString(): string;
|
|
47
|
+
rgbString(): string | undefined;
|
|
167
48
|
/**
|
|
168
49
|
* hex string
|
|
50
|
+
* @return {string|undefined}
|
|
169
51
|
*/
|
|
170
|
-
hexString(): string;
|
|
52
|
+
hexString(): string | undefined;
|
|
171
53
|
/**
|
|
172
54
|
* hsl(a) string
|
|
55
|
+
* @return {string|undefined}
|
|
173
56
|
*/
|
|
174
|
-
hslString(): string;
|
|
57
|
+
hslString(): string | undefined;
|
|
175
58
|
/**
|
|
176
59
|
* Mix another color to this color.
|
|
177
|
-
* @param
|
|
178
|
-
* @param
|
|
60
|
+
* @param color - Color to mix in
|
|
61
|
+
* @param weight - 0..1
|
|
62
|
+
* @returns {Color}
|
|
63
|
+
*/
|
|
64
|
+
mix(color: Color, weight?: number): Color;
|
|
65
|
+
/**
|
|
66
|
+
* Interpolate a color value between this and `color`
|
|
67
|
+
* @param color
|
|
68
|
+
* @param t - 0..1
|
|
69
|
+
* @returns {Color}
|
|
179
70
|
*/
|
|
180
|
-
|
|
71
|
+
interpolate(color: Color, t: number): Color;
|
|
181
72
|
/**
|
|
182
73
|
* Clone
|
|
74
|
+
* @returns {Color}
|
|
183
75
|
*/
|
|
184
76
|
clone(): Color;
|
|
185
77
|
/**
|
|
186
|
-
* Set
|
|
187
|
-
* @param
|
|
78
|
+
* Set alpha
|
|
79
|
+
* @param a - the alpha [0..1]
|
|
80
|
+
* @returns {Color}
|
|
188
81
|
*/
|
|
189
82
|
alpha(a: number): Color;
|
|
190
83
|
/**
|
|
191
84
|
* Make clearer
|
|
192
|
-
* @param
|
|
85
|
+
* @param ratio - ratio [0..1]
|
|
86
|
+
* @returns {Color}
|
|
193
87
|
*/
|
|
194
88
|
clearer(ratio: number): Color;
|
|
195
89
|
/**
|
|
196
90
|
* Convert to grayscale
|
|
91
|
+
* @returns {Color}
|
|
197
92
|
*/
|
|
198
93
|
greyscale(): Color;
|
|
199
94
|
/**
|
|
200
95
|
* Opaquer
|
|
201
|
-
* @param
|
|
96
|
+
* @param ratio - ratio [0..1]
|
|
97
|
+
* @returns {Color}
|
|
202
98
|
*/
|
|
203
99
|
opaquer(ratio: number): Color;
|
|
100
|
+
/**
|
|
101
|
+
* Negates the rgb value
|
|
102
|
+
* @returns {Color}
|
|
103
|
+
*/
|
|
204
104
|
negate(): Color;
|
|
205
105
|
/**
|
|
206
106
|
* Lighten
|
|
207
|
-
* @param
|
|
107
|
+
* @param ratio - ratio [0..1]
|
|
108
|
+
* @returns {Color}
|
|
208
109
|
*/
|
|
209
110
|
lighten(ratio: number): Color;
|
|
210
111
|
/**
|
|
211
112
|
* Darken
|
|
212
|
-
* @param
|
|
113
|
+
* @param ratio - ratio [0..1]
|
|
114
|
+
* @returns {Color}
|
|
213
115
|
*/
|
|
214
116
|
darken(ratio: number): Color;
|
|
215
117
|
/**
|
|
216
118
|
* Saturate
|
|
217
|
-
* @param
|
|
119
|
+
* @param ratio - ratio [0..1]
|
|
120
|
+
* @returns {Color}
|
|
218
121
|
*/
|
|
219
122
|
saturate(ratio: number): Color;
|
|
220
123
|
/**
|
|
221
124
|
* Desaturate
|
|
222
|
-
* @param
|
|
125
|
+
* @param ratio - ratio [0..1]
|
|
126
|
+
* @returns {Color}
|
|
223
127
|
*/
|
|
224
128
|
desaturate(ratio: number): Color;
|
|
225
129
|
/**
|
|
226
130
|
* Rotate
|
|
227
|
-
* @param
|
|
131
|
+
* @param deg - degrees to rotate
|
|
132
|
+
* @returns {Color}
|
|
228
133
|
*/
|
|
229
134
|
rotate(deg: number): Color;
|
|
230
135
|
}
|
|
231
|
-
/**
|
|
232
|
-
* Construct new Color instance
|
|
233
|
-
* @param {Color|RGBA|string|number[]} input
|
|
234
|
-
*/
|
|
235
|
-
export default function _default(input: string | number[] | Color | RGBA): Color;
|