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"}