@kurkle/color 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/color.cjs +1 -1
- package/dist/color.esm.js +1 -1
- package/dist/color.min.js +1 -1
- package/dist/color.min.js.map +1 -0
- package/package.json +3 -2
package/dist/color.cjs
CHANGED
package/dist/color.esm.js
CHANGED
package/dist/color.min.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color.min.js","sources":["../src/byte.js","../src/hex.js","../src/hue.js","../packed.js","../src/names.js","../src/rgb.js","../src/srgb.js","../src/color.js","../src/index.js"],"sourcesContent":["/**\n * @packageDocumentation\n * @module utils\n */\n\n/**\n * Rounds decimal to nearest integer\n * @param {number} v - the number to round\n */\nexport function round(v) {\n return v + 0.5 | 0;\n}\n\nexport const lim = (v, l, h) => Math.max(Math.min(v, h), l);\n\n/**\n * convert percent to byte 0..255\n * @param {number} v - 0..100\n */\nexport function p2b(v) {\n return lim(round(v * 2.55), 0, 255);\n}\n\n/**\n * convert byte to percet 0..100\n * @param {number} v - 0..255\n */\nexport function b2p(v) {\n return lim(round(v / 2.55), 0, 100);\n}\n\n/**\n * convert normalized to byte 0..255\n * @param {number} v - 0..1\n */\nexport function n2b(v) {\n return lim(round(v * 255), 0, 255);\n}\n\n/**\n * convert byte to normalized 0..1\n * @param {number} v - 0..255\n */\nexport function b2n(v) {\n return lim(round(v / 2.55) / 100, 0, 1);\n}\n\n/**\n * convert normalized to percent 0..100\n * @param {number} v - 0..1\n */\nexport function n2p(v) {\n return lim(round(v * 100), 0, 100);\n}\n","/**\n * @packageDocumentation\n * @module utils\n */\n\n/**\n * @typedef {import('./index.js').RGBA} RGBA\n */\n\n/**\n * @hidden\n */\nconst map = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\n\n/**\n * @hidden\n */\nconst hex = [...'0123456789ABCDEF'];\n\n/**\n * @param {number} b - byte\n * @hidden\n */\nconst h1 = b => hex[b & 0xF];\n\n/**\n * @param {number} b - byte\n * @hidden\n */\nconst h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\n\n/**\n * @param {number} b - byte\n * @hidden\n */\nconst eq = b => ((b & 0xF0) >> 4) === (b & 0xF);\n\n/**\n * @param {RGBA} v - the color\n * @hidden\n */\nconst isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\n\n/**\n * Parse HEX to color\n * @param {string} str - the string\n */\nexport function hexParse(str) {\n var len = str.length;\n var ret;\n if (str[0] === '#') {\n if (len === 4 || len === 5) {\n ret = {\n r: 255 & map[str[1]] * 17,\n g: 255 & map[str[2]] * 17,\n b: 255 & map[str[3]] * 17,\n a: len === 5 ? map[str[4]] * 17 : 255\n };\n } else if (len === 7 || len === 9) {\n ret = {\n r: map[str[1]] << 4 | map[str[2]],\n g: map[str[3]] << 4 | map[str[4]],\n b: map[str[5]] << 4 | map[str[6]],\n a: len === 9 ? (map[str[7]] << 4 | map[str[8]]) : 255\n };\n }\n }\n return ret;\n}\n\nconst alpha = (a, f) => a < 255 ? f(a) : '';\n\n/**\n * Return HEX string from color\n * @param {RGBA} v - the color\n * @return {string|undefined}\n */\nexport function hexString(v) {\n var f = isShort(v) ? h1 : h2;\n return v\n ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f)\n : undefined;\n}\n","/**\n * @packageDocumentation\n * @module utils\n */\n\nimport {b2n, n2p, n2b, p2b} from './byte.js';\n\n/**\n * @typedef {import('./index.js').RGBA} RGBA\n */\n\n/**\n * @hidden\n */\nconst HUE_RE = /^(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 {number} h - hue [0..360]\n * @param {number} s - saturation [0..1]\n * @param {number} l - lightness [0..1]\n * @returns {number[]} - [r, g, b] each normalized to [0..1]\n * @hidden\n */\nfunction hsl2rgbn(h, s, l) {\n const a = s * Math.min(l, 1 - l);\n /**\n * @param {number} n\n */\n const f = (n, 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 {number} h - hue [0..360]\n * @param {number} s - saturation [0..1]\n * @param {number} v - value [0..1]\n * @returns {number[]} - [r, g, b] each normalized to [0..1]\n * @hidden\n */\nfunction hsv2rgbn(h, s, v) {\n /**\n * @param {number} n\n */\n const f = (n, 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 {number} h - hue [0..360]\n * @param {number} w - whiteness [0..1]\n * @param {number} b - blackness [0..1]\n * @returns {number[]} - [r, g, b] each normalized to [0..1]\n * @hidden\n */\nfunction hwb2rgbn(h, w, b) {\n const rgb = hsl2rgbn(h, 1, 0.5);\n let i;\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, g, b, d, max) {\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 {RGBA} v - the color\n * @returns {number[]} - [h, s, l]\n */\nexport function rgb2hsl(v) {\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, s, d;\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 {function} f\n * @param {number|number[]} a\n * @param {number} b\n * @param {number} c\n * @private\n * @hidden\n */\nfunction calln(f, a, b, c) {\n return (\n Array.isArray(a)\n ? f(a[0], a[1], a[2])\n : f(a, b, c)\n ).map(n2b);\n}\n\n/**\n * Convert hsl to rgb\n * @param {number|number[]} h - hue | [h, s, l]\n * @param {number} [s] - saturation\n * @param {number} [l] - lightness\n * @returns {number[]}\n */\nexport function hsl2rgb(h, s, l) {\n return calln(hsl2rgbn, h, s, l);\n}\n\n/**\n * Convert hwb to rgb\n * @param {number|number[]} h - hue | [h, s, l]\n * @param {number} [w] - whiteness\n * @param {number} [b] - blackness\n * @returns {number[]}\n */\nexport function hwb2rgb(h, w, b) {\n return calln(hwb2rgbn, h, w, b);\n}\n\n/**\n * Convert hsv to rgb\n * @param {number|number[]} h - hue | [h, s, l]\n * @param {number} [s] - saturation\n * @param {number} [v] - value\n * @returns {number[]}\n */\nexport function hsv2rgb(h, s, v) {\n return calln(hsv2rgbn, h, s, v);\n}\n\n/**\n * @param {number} h - the angle\n * @hidden\n */\nfunction hue(h) {\n return (h % 360 + 360) % 360;\n}\n\n/**\n * Parse hsl/hsv/hwb color string\n * @param {string} str - hsl/hsv/hwb color string\n * @returns {RGBA} - the parsed color components\n */\nexport function hueParse(str) {\n const m = HUE_RE.exec(str);\n let a = 255;\n let v;\n if (!m) {\n return;\n }\n // v is undefined\n if (m[5] !== v) {\n a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n }\n const h = hue(+m[2]);\n const p1 = +m[3] / 100;\n const p2 = +m[4] / 100;\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 return {\n r: v[0],\n g: v[1],\n b: v[2],\n a: a\n };\n}\n\n/**\n * Rotate the `v` color by `deg` degrees\n * @param {RGBA} v - the color\n * @param {number} deg - degrees to rotate\n */\nexport function rotate(v, deg) {\n var h = rgb2hsl(v);\n h[0] = hue(h[0] + deg);\n h = hsl2rgb(h);\n v.r = h[0];\n v.g = h[1];\n v.b = h[2];\n}\n\n/**\n * Return hsl(a) string from color components\n * @param {RGBA} v - the color\n * @return {string|undefined}\n */\nexport function hslString(v) {\n if (!v) {\n return;\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\n ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n : `hsl(${h}, ${s}%, ${l}%)`;\n}\n","\nconst map = {\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 = {\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};\nexport default function unpack() {\n const unpacked = {};\n const keys = Object.keys(names);\n const tkeys = Object.keys(map);\n let i, j, k, ok, nk;\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 return unpacked;\n}\n","/**\n * @packageDocumentation\n * @module utils\n */\n\nimport unpack from '../packed.js';\nlet names;\n\n/**\n * @typedef {import('./index.js').RGBA} RGBA\n */\n\n/**\n * Parse color name\n * @param {string} str - the color name\n * @return {RGBA} - the color\n */\nexport function nameParse(str) {\n if (!names) {\n names = unpack();\n names.transparent = [0, 0, 0, 0];\n }\n const a = names[str.toLowerCase()];\n return a && {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length === 4 ? a[3] : 255\n };\n}\n","/**\n * @packageDocumentation\n * @module utils\n */\n\nimport {b2n, lim, p2b} from './byte.js';\n\n/**\n * @typedef {import('./index.js').RGBA} RGBA\n */\n\n/**\n * @hidden\n */\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\n\n/**\n * Parse rgb(a) string to RGBA\n * @param {string} str - the rgb string\n * @returns {RGBA} - the parsed color\n */\nexport function rgbParse(str) {\n const m = RGB_RE.exec(str);\n let a = 255;\n let r, g, b;\n\n if (!m) {\n return;\n }\n\n // r is undefined\n if (m[7] !== r) {\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 r: r,\n g: g,\n b: b,\n a: a\n };\n}\n\n/**\n * Return rgb(a) string from color\n * @param {RGBA} v - the color\n */\nexport function rgbString(v) {\n return v && (\n v.a < 255\n ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n : `rgb(${v.r}, ${v.g}, ${v.b})`\n );\n}\n","import {b2n, n2b} from './byte.js';\n\n/**\n * @typedef {import('./index.js').RGBA} RGBA\n */\n\nconst to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\nconst from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\n\n/**\n * @param {RGBA} rgb1 from color\n * @param {RGBA} rgb2 to color\n * @param {number} t 0..1\n * @returns {RGBA} interpolaced\n */\nexport function interpolate(rgb1, rgb2, t) {\n const r = from(b2n(rgb1.r));\n const g = from(b2n(rgb1.g));\n const b = from(b2n(rgb1.b));\n return {\n r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n a: rgb1.a + t * (rgb2.a - rgb1.a)\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\n/**\n * @typedef {import('./index.js').RGBA} RGBA\n */\n\n/**\n * Modify HSL properties\n * @param {RGBA} v - the color\n * @param {number} i - index [0=h, 1=s, 2=l]\n * @param {number} ratio - ratio [0..1]\n * @hidden\n */\nfunction modHSL(v, i, ratio) {\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 {RGBA} v - the color\n * @param {object} [proto] - prototype\n * @hidden\n */\nfunction clone(v, proto) {\n return v ? Object.assign(proto || {}, v) : v;\n}\n\n/**\n * @param {RGBA|number[]} input\n * @hidden\n */\nfunction fromObject(input) {\n var v = {r: 0, g: 0, b: 0, a: 255};\n if (Array.isArray(input)) {\n if (input.length >= 3) {\n v = {r: input[0], g: input[1], b: input[2], a: 255};\n if (input.length > 3) {\n v.a = n2b(input[3]);\n }\n }\n } else {\n v = clone(input, {r: 0, g: 0, b: 0, a: 1});\n v.a = n2b(v.a);\n }\n return v;\n}\n\n/**\n * @param {string} str\n * @hidden\n */\nfunction functionParse(str) {\n if (str.charAt(0) === 'r') {\n return rgbParse(str);\n }\n return hueParse(str);\n}\n\nexport default class Color {\n /**\n * constructor\n * @param {Color|RGBA|string|number[]} input\n */\n constructor(input) {\n if (input instanceof Color) {\n return input;\n }\n const type = typeof input;\n let v;\n if (type === 'object') {\n // @ts-ignore\n v = fromObject(input);\n } else if (type === 'string') {\n // @ts-ignore\n v = hexParse(input) || nameParse(input) || functionParse(input);\n }\n\n /** @type {RGBA} */\n this._rgb = v;\n /** @type {boolean} */\n this._valid = !!v;\n }\n\n /**\n * `true` if this is a valid color\n * @returns {boolean}\n */\n get valid() {\n return this._valid;\n }\n\n /**\n * @returns {RGBA} - the color\n */\n get rgb() {\n var v = clone(this._rgb);\n if (v) {\n v.a = b2n(v.a);\n }\n return v;\n }\n\n /**\n * @param {RGBA} obj - the color\n */\n set rgb(obj) {\n this._rgb = fromObject(obj);\n }\n\n /**\n * rgb(a) string\n * @return {string|undefined}\n */\n rgbString() {\n return this._valid ? rgbString(this._rgb) : undefined;\n }\n\n /**\n * hex string\n * @return {string|undefined}\n */\n hexString() {\n return this._valid ? hexString(this._rgb) : undefined;\n }\n\n /**\n * hsl(a) string\n * @return {string|undefined}\n */\n hslString() {\n return this._valid ? hslString(this._rgb) : undefined;\n }\n\n /**\n * Mix another color to this color.\n * @param {Color} color - Color to mix in\n * @param {number} weight - 0..1\n * @returns {Color}\n */\n mix(color, weight) {\n if (color) {\n const c1 = this.rgb;\n const c2 = color.rgb;\n let w2; // using instead of undefined in the next line\n const p = weight === w2 ? 0.5 : weight;\n const w = 2 * p - 1;\n const a = c1.a - c2.a;\n const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n 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 = p * c1.a + (1 - p) * 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} color\n * @param {number} t - 0..1\n * @returns {Color}\n */\n interpolate(color, t) {\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() {\n return new Color(this.rgb);\n }\n\n /**\n * Set aplha\n * @param {number} a - the alpha [0..1]\n * @returns {Color}\n */\n alpha(a) {\n this._rgb.a = n2b(a);\n return this;\n }\n\n /**\n * Make clearer\n * @param {number} ratio - ratio [0..1]\n * @returns {Color}\n */\n clearer(ratio) {\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() {\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 {number} ratio - ratio [0..1]\n * @returns {Color}\n */\n opaquer(ratio) {\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() {\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 {number} ratio - ratio [0..1]\n * @returns {Color}\n */\n lighten(ratio) {\n modHSL(this._rgb, 2, ratio);\n return this;\n }\n\n /**\n * Darken\n * @param {number} ratio - ratio [0..1]\n * @returns {Color}\n */\n darken(ratio) {\n modHSL(this._rgb, 2, -ratio);\n return this;\n }\n\n /**\n * Saturate\n * @param {number} ratio - ratio [0..1]\n * @returns {Color}\n */\n saturate(ratio) {\n modHSL(this._rgb, 1, ratio);\n return this;\n }\n\n /**\n * Desaturate\n * @param {number} ratio - ratio [0..1]\n * @returns {Color}\n */\n desaturate(ratio) {\n modHSL(this._rgb, 1, -ratio);\n return this;\n }\n\n /**\n * Rotate\n * @param {number} deg - degrees to rotate\n * @returns {Color}\n */\n rotate(deg) {\n rotate(this._rgb, deg);\n return this;\n }\n}\n","/**\n * @packageDocumentation\n * @module index\n */\n\nimport Color from './color.js';\n\n/**\n * @typedef {Object} RGBA\n * @property {number} r - red [0..255]\n * @property {number} g - green [0..255]\n * @property {number} b - blue [0..255]\n * @property {number} a - alpha [0..1]\n * @internal\n */\n\n/**\n * Construct new Color instance\n * @param {Color|RGBA|string|number[]} input\n * @internal\n */\nexport default function(input) {\n return new Color(input);\n}\n"],"names":["round","v","lim","l","h","Math","max","min","p2b","n2b","b2n","n2p","map","A","B","C","D","E","F","a","b","c","d","e","f","hex","h1","h2","eq","hexString","r","g","isShort","alpha","undefined","HUE_RE","hsl2rgbn","s","n","k","hsv2rgbn","hwb2rgbn","w","rgb","i","rgb2hsl","hueValue","calln","Array","isArray","hsl2rgb","hue","hueParse","str","m","exec","p1","p2","hwb2rgb","hsv2rgb","x","Z","Y","X","W","V","U","T","S","R","Q","P","O","N","M","L","K","G","H","I","J","names","OiceXe","antiquewEte","aqua","aquamarRe","azuY","beige","bisque","black","blanKedOmond","Xe","XeviTet","bPwn","burlywood","caMtXe","KartYuse","KocTate","cSO","cSnflowerXe","cSnsilk","crimson","cyan","xXe","xcyan","xgTMnPd","xWay","xgYF","xgYy","xkhaki","xmagFta","xTivegYF","xSange","xScEd","xYd","xsOmon","xsHgYF","xUXe","xUWay","xUgYy","xQe","xviTet","dAppRk","dApskyXe","dimWay","dimgYy","dodgerXe","fiYbrick","flSOwEte","foYstWAn","fuKsia","gaRsbSo","ghostwEte","gTd","gTMnPd","Way","gYF","gYFLw","gYy","honeyMw","hotpRk","RdianYd","Rdigo","ivSy","khaki","lavFMr","lavFMrXsh","lawngYF","NmoncEffon","ZXe","ZcSO","Zcyan","ZgTMnPdLw","ZWay","ZgYF","ZgYy","ZpRk","ZsOmon","ZsHgYF","ZskyXe","ZUWay","ZUgYy","ZstAlXe","ZLw","lime","limegYF","lRF","magFta","maPon","VaquamarRe","VXe","VScEd","VpurpN","VsHgYF","VUXe","VsprRggYF","VQe","VviTetYd","midnightXe","mRtcYam","mistyPse","moccasR","navajowEte","navy","Tdlace","Tive","TivedBb","Sange","SangeYd","ScEd","pOegTMnPd","pOegYF","pOeQe","pOeviTetYd","papayawEp","pHKpuff","peru","pRk","plum","powMrXe","purpN","YbeccapurpN","Yd","Psybrown","PyOXe","saddNbPwn","sOmon","sandybPwn","sHgYF","sHshell","siFna","silver","skyXe","UXe","UWay","UgYy","snow","sprRggYF","stAlXe","tan","teO","tEstN","tomato","Qe","viTet","JHt","wEte","wEtesmoke","Lw","LwgYF","nameParse","unpacked","keys","Object","tkeys","j","ok","nk","length","replace","parseInt","unpack","transparent","toLowerCase","RGB_RE","to","pow","from","modHSL","ratio","tmp","clone","proto","assign","fromObject","input","functionParse","charAt","rgbParse","Color","constructor","type","ret","len","this","_rgb","_valid","valid","obj","rgbString","hslString","mix","color","weight","c1","c2","w2","p","w1","interpolate","t","rgb1","rgb2","clearer","greyscale","val","opaquer","negate","lighten","darken","saturate","desaturate","rotate","deg"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kurkle/color",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.1",
|
|
5
5
|
"description": "css color parsing, manupulation and conversion",
|
|
6
|
+
"sideEffects": false,
|
|
6
7
|
"main": "dist/color.cjs",
|
|
7
8
|
"module": "dist/color.esm.js",
|
|
8
9
|
"types": "dist/color.d.ts",
|
|
@@ -21,7 +22,7 @@
|
|
|
21
22
|
"url": "git+https://github.com/kurkle/color.git"
|
|
22
23
|
},
|
|
23
24
|
"files": [
|
|
24
|
-
"dist
|
|
25
|
+
"dist/*",
|
|
25
26
|
"dist/color.d.ts"
|
|
26
27
|
],
|
|
27
28
|
"keywords": [
|