8249ed7b3895c80d713a8af48189fb6e.json
21.2 KB
{"ast":null,"code":"import { bound01, pad2 } from './util'; // `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n\n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * <http://www.w3.org/TR/css3-color/>\n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\n\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\n\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n\n case g:\n h = (b - r) / d + 2;\n break;\n\n case b:\n h = (r - g) / d + 4;\n break;\n\n default:\n break;\n }\n\n h /= 6;\n }\n\n return {\n h: h,\n s: s,\n l: l\n };\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n\n if (t > 1) {\n t -= 1;\n }\n\n if (t < 1 / 6) {\n return p + (q - p) * (6 * t);\n }\n\n if (t < 1 / 2) {\n return q;\n }\n\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n\n return p;\n}\n/**\n * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\n\n\nexport function hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\n\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var v = max;\n var d = max - min;\n var s = max === 0 ? 0 : d / max;\n\n if (max === min) {\n h = 0; // achromatic\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n\n case g:\n h = (b - r) / d + 2;\n break;\n\n case b:\n h = (r - g) / d + 4;\n break;\n\n default:\n break;\n }\n\n h /= 6;\n }\n\n return {\n h: h,\n s: s,\n v: v\n };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\n\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\n}\n/**\n * Converts an RGB color to hex\n *\n * Assumes r, g, and b are contained in the set [0, 255]\n * Returns a 3 or 6 character hex\n */\n\nexport function rgbToHex(r, g, b, allow3Char) {\n var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))]; // Return a 3 character hex if possible\n\n if (allow3Char && hex[0].startsWith(hex[0].charAt(1)) && hex[1].startsWith(hex[1].charAt(1)) && hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * Assumes r, g, b are contained in the set [0, 255] and\n * a in [0, 1]. Returns a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\n\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16)), pad2(convertDecimalToHex(a))]; // Return a 4 character hex if possible\n\n if (allow4Char && hex[0].startsWith(hex[0].charAt(1)) && hex[1].startsWith(hex[1].charAt(1)) && hex[2].startsWith(hex[2].charAt(1)) && hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n */\n\nexport function rgbaToArgbHex(r, g, b, a) {\n var hex = [pad2(convertDecimalToHex(a)), pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))];\n return hex.join('');\n}\n/** Converts a decimal to a hex value */\n\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\n\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\n\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff\n };\n}","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/@ctrl/tinycolor/dist/module/conversion.js"],"names":["bound01","pad2","rgbToRgb","r","g","b","rgbToHsl","max","Math","min","h","s","l","d","hue2rgb","p","q","t","hslToRgb","rgbToHsv","v","hsvToRgb","i","floor","f","mod","rgbToHex","allow3Char","hex","round","toString","startsWith","charAt","join","rgbaToHex","a","allow4Char","convertDecimalToHex","rgbaToArgbHex","parseFloat","convertHexToDecimal","parseIntFromHex","val","parseInt","numberInputToObject","color"],"mappings":"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","sourcesContent":["import { bound01, pad2 } from './util';\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * <http://www.w3.org/TR/css3-color/>\n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255,\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, l: l };\n}\nfunction hue2rgb(p, q, t) {\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 * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var v = max;\n var d = max - min;\n var s = max === 0 ? 0 : d / max;\n if (max === min) {\n h = 0; // achromatic\n }\n else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color to hex\n *\n * Assumes r, g, and b are contained in the set [0, 255]\n * Returns a 3 or 6 character hex\n */\nexport function rgbToHex(r, g, b, allow3Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n // Return a 3 character hex if possible\n if (allow3Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * Assumes r, g, b are contained in the set [0, 255] and\n * a in [0, 1]. Returns a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n pad2(convertDecimalToHex(a)),\n ];\n // Return a 4 character hex if possible\n if (allow4Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1)) &&\n hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n */\nexport function rgbaToArgbHex(r, g, b, a) {\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n return hex.join('');\n}\n/** Converts a decimal to a hex value */\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff,\n };\n}\n"]},"metadata":{},"sourceType":"module"}