{"version":3,"file":"@ctrl-91de2ec7.js","sources":["../../../node_modules/@ctrl/tinycolor/dist/module/util.js","../../../node_modules/@ctrl/tinycolor/dist/module/conversion.js","../../../node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","../../../node_modules/@ctrl/tinycolor/dist/module/format-input.js","../../../node_modules/@ctrl/tinycolor/dist/module/index.js"],"sourcesContent":["/**\n * Take input from [0, n] and return it as [0, 1]\n * @hidden\n */\nexport function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = '100%';\n }\n var isPercent = isPercentage(n);\n n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));\n // Automatically convert percentage into number\n if (isPercent) {\n n = parseInt(String(n * max), 10) / 100;\n }\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n // Convert into [0, 1] range if it isn't already\n if (max === 360) {\n // If n is a hue given in degrees,\n // wrap around out-of-range values into [0, 360] range\n // then convert into [0, 1].\n n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max));\n }\n else {\n // If n not a hue given in degrees\n // Convert into [0, 1] range if it isn't already.\n n = (n % max) / parseFloat(String(max));\n }\n return n;\n}\n/**\n * Force a number between 0 and 1\n * @hidden\n */\nexport function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n/**\n * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n * \n * @hidden\n */\nexport function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n}\n/**\n * Check to see if string passed in is a percentage\n * @hidden\n */\nexport function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n}\n/**\n * Return a valid alpha value [0,1] with all invalid values being set to 1\n * @hidden\n */\nexport function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n/**\n * Replace a decimal with it's percentage value\n * @hidden\n */\nexport function convertToPercentage(n) {\n if (n <= 1) {\n return \"\".concat(Number(n) * 100, \"%\");\n }\n return n;\n}\n/**\n * Force a hex value to have 2 characters\n * @hidden\n */\nexport function pad2(c) {\n return c.length === 1 ? '0' + c : String(c);\n}\n","import { bound01, pad2 } from './util';\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * \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","// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json\n/**\n * @hidden\n */\nexport var names = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n};\n","/* eslint-disable @typescript-eslint/no-redundant-type-constituents */\nimport { convertHexToDecimal, hslToRgb, hsvToRgb, parseIntFromHex, rgbToRgb } from './conversion';\nimport { names } from './css-color-names';\nimport { boundAlpha, convertToPercentage } from './util';\n/**\n * Given a string or object, convert that input to RGB\n *\n * Possible string inputs:\n * ```\n * \"red\"\n * \"#f00\" or \"f00\"\n * \"#ff0000\" or \"ff0000\"\n * \"#ff000000\" or \"ff000000\"\n * \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n * \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n * \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n * \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n * \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n * \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n * \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n * ```\n */\nexport function inputToRGB(color) {\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color === 'string') {\n color = stringInputToObject(color);\n }\n if (typeof color === 'object') {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = 'hsv';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = 'hsl';\n }\n if (Object.prototype.hasOwnProperty.call(color, 'a')) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a,\n };\n}\n// \nvar CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\n// \nvar CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?';\n// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\nvar CSS_UNIT = \"(?:\".concat(CSS_NUMBER, \")|(?:\").concat(CSS_INTEGER, \")\");\n// Actual matching.\n// Parentheses and commas are optional, but not required.\n// Whitespace can take the place of commas or opening paren\nvar PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar matchers = {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n};\n/**\n * Permissive string parsing. Take in a number of formats, and output an object\n * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n */\nexport function stringInputToObject(color) {\n color = color.trim().toLowerCase();\n if (color.length === 0) {\n return false;\n }\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color === 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: 'name' };\n }\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match = matchers.rgb.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n match = matchers.rgba.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n match = matchers.hsl.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n match = matchers.hsla.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n match = matchers.hsv.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n match = matchers.hsva.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n match = matchers.hex8.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex6.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n match = matchers.hex4.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n a: convertHexToDecimal(match[4] + match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex3.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n return false;\n}\n/**\n * Check to see if it looks like a CSS unit\n * (see `matchers` above for definition).\n */\nexport function isValidCSSUnit(color) {\n return Boolean(matchers.CSS_UNIT.exec(String(color)));\n}\n","import { numberInputToObject, rgbaToHex, rgbToHex, rgbToHsl, rgbToHsv } from './conversion';\nimport { names } from './css-color-names';\nimport { inputToRGB } from './format-input';\nimport { bound01, boundAlpha, clamp01 } from './util';\nvar TinyColor = /** @class */ (function () {\n function TinyColor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n var _a;\n // If input is already a tinycolor, return itself\n if (color instanceof TinyColor) {\n // eslint-disable-next-line no-constructor-return\n return color;\n }\n if (typeof color === 'number') {\n color = numberInputToObject(color);\n }\n this.originalInput = color;\n var rgb = inputToRGB(color);\n this.originalInput = color;\n this.r = rgb.r;\n this.g = rgb.g;\n this.b = rgb.b;\n this.a = rgb.a;\n this.roundA = Math.round(100 * this.a) / 100;\n this.format = (_a = opts.format) !== null && _a !== void 0 ? _a : rgb.format;\n this.gradientType = opts.gradientType;\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this.r < 1) {\n this.r = Math.round(this.r);\n }\n if (this.g < 1) {\n this.g = Math.round(this.g);\n }\n if (this.b < 1) {\n this.b = Math.round(this.b);\n }\n this.isValid = rgb.ok;\n }\n TinyColor.prototype.isDark = function () {\n return this.getBrightness() < 128;\n };\n TinyColor.prototype.isLight = function () {\n return !this.isDark();\n };\n /**\n * Returns the perceived brightness of the color, from 0-255.\n */\n TinyColor.prototype.getBrightness = function () {\n // http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n };\n /**\n * Returns the perceived luminance of a color, from 0-1.\n */\n TinyColor.prototype.getLuminance = function () {\n // http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var R;\n var G;\n var B;\n var RsRGB = rgb.r / 255;\n var GsRGB = rgb.g / 255;\n var BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) {\n R = RsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n }\n if (GsRGB <= 0.03928) {\n G = GsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n }\n if (BsRGB <= 0.03928) {\n B = BsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n }\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n };\n /**\n * Returns the alpha value of a color, from 0-1.\n */\n TinyColor.prototype.getAlpha = function () {\n return this.a;\n };\n /**\n * Sets the alpha value on the current color.\n *\n * @param alpha - The new alpha value. The accepted range is 0-1.\n */\n TinyColor.prototype.setAlpha = function (alpha) {\n this.a = boundAlpha(alpha);\n this.roundA = Math.round(100 * this.a) / 100;\n return this;\n };\n /**\n * Returns whether the color is monochrome.\n */\n TinyColor.prototype.isMonochrome = function () {\n var s = this.toHsl().s;\n return s === 0;\n };\n /**\n * Returns the object as a HSVA object.\n */\n TinyColor.prototype.toHsv = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this.a };\n };\n /**\n * Returns the hsva values interpolated into a string with the following format:\n * \"hsva(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHsvString = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n var h = Math.round(hsv.h * 360);\n var s = Math.round(hsv.s * 100);\n var v = Math.round(hsv.v * 100);\n return this.a === 1 ? \"hsv(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%)\") : \"hsva(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a HSLA object.\n */\n TinyColor.prototype.toHsl = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this.a };\n };\n /**\n * Returns the hsla values interpolated into a string with the following format:\n * \"hsla(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHslString = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n var h = Math.round(hsl.h * 360);\n var s = Math.round(hsl.s * 100);\n var l = Math.round(hsl.l * 100);\n return this.a === 1 ? \"hsl(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%)\") : \"hsla(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the hex value of the color.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHex = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return rgbToHex(this.r, this.g, this.b, allow3Char);\n };\n /**\n * Returns the hex value of the color -with a # prefixed.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHexString = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return '#' + this.toHex(allow3Char);\n };\n /**\n * Returns the hex 8 value of the color.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8 = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);\n };\n /**\n * Returns the hex 8 value of the color -with a # prefixed.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8String = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return '#' + this.toHex8(allow4Char);\n };\n /**\n * Returns the shorter hex value of the color depends on its alpha -with a # prefixed.\n * @param allowShortChar will shorten hex value to 3 or 4 char if possible\n */\n TinyColor.prototype.toHexShortString = function (allowShortChar) {\n if (allowShortChar === void 0) { allowShortChar = false; }\n return this.a === 1 ? this.toHexString(allowShortChar) : this.toHex8String(allowShortChar);\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toRgb = function () {\n return {\n r: Math.round(this.r),\n g: Math.round(this.g),\n b: Math.round(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA values interpolated into a string with the following format:\n * \"RGBA(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toRgbString = function () {\n var r = Math.round(this.r);\n var g = Math.round(this.g);\n var b = Math.round(this.b);\n return this.a === 1 ? \"rgb(\".concat(r, \", \").concat(g, \", \").concat(b, \")\") : \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toPercentageRgb = function () {\n var fmt = function (x) { return \"\".concat(Math.round(bound01(x, 255) * 100), \"%\"); };\n return {\n r: fmt(this.r),\n g: fmt(this.g),\n b: fmt(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA relative values interpolated into a string\n */\n TinyColor.prototype.toPercentageRgbString = function () {\n var rnd = function (x) { return Math.round(bound01(x, 255) * 100); };\n return this.a === 1\n ? \"rgb(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%)\")\n : \"rgba(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%, \").concat(this.roundA, \")\");\n };\n /**\n * The 'real' name of the color -if there is one.\n */\n TinyColor.prototype.toName = function () {\n if (this.a === 0) {\n return 'transparent';\n }\n if (this.a < 1) {\n return false;\n }\n var hex = '#' + rgbToHex(this.r, this.g, this.b, false);\n for (var _i = 0, _a = Object.entries(names); _i < _a.length; _i++) {\n var _b = _a[_i], key = _b[0], value = _b[1];\n if (hex === value) {\n return key;\n }\n }\n return false;\n };\n TinyColor.prototype.toString = function (format) {\n var formatSet = Boolean(format);\n format = format !== null && format !== void 0 ? format : this.format;\n var formattedString = false;\n var hasAlpha = this.a < 1 && this.a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith('hex') || format === 'name');\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === 'name' && this.a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === 'rgb') {\n formattedString = this.toRgbString();\n }\n if (format === 'prgb') {\n formattedString = this.toPercentageRgbString();\n }\n if (format === 'hex' || format === 'hex6') {\n formattedString = this.toHexString();\n }\n if (format === 'hex3') {\n formattedString = this.toHexString(true);\n }\n if (format === 'hex4') {\n formattedString = this.toHex8String(true);\n }\n if (format === 'hex8') {\n formattedString = this.toHex8String();\n }\n if (format === 'name') {\n formattedString = this.toName();\n }\n if (format === 'hsl') {\n formattedString = this.toHslString();\n }\n if (format === 'hsv') {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n };\n TinyColor.prototype.toNumber = function () {\n return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);\n };\n TinyColor.prototype.clone = function () {\n return new TinyColor(this.toString());\n };\n /**\n * Lighten the color a given amount. Providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.lighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Brighten the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.brighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var rgb = this.toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return new TinyColor(rgb);\n };\n /**\n * Darken the color a given amount, from 0 to 100.\n * Providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.darken = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Mix the color with pure white, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.tint = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('white', amount);\n };\n /**\n * Mix the color with pure black, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.shade = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('black', amount);\n };\n /**\n * Desaturate the color a given amount, from 0 to 100.\n * Providing 100 will is the same as calling greyscale\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.desaturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Saturate the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.saturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Completely desaturates a color into greyscale.\n * Same as calling `desaturate(100)`\n */\n TinyColor.prototype.greyscale = function () {\n return this.desaturate(100);\n };\n /**\n * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n * Values outside of this range will be wrapped into this range.\n */\n TinyColor.prototype.spin = function (amount) {\n var hsl = this.toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return new TinyColor(hsl);\n };\n /**\n * Mix the current color a given amount with another color, from 0 to 100.\n * 0 means no mixing (return current color).\n */\n TinyColor.prototype.mix = function (color, amount) {\n if (amount === void 0) { amount = 50; }\n var rgb1 = this.toRgb();\n var rgb2 = new TinyColor(color).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a,\n };\n return new TinyColor(rgba);\n };\n TinyColor.prototype.analogous = function (results, slices) {\n if (results === void 0) { results = 6; }\n if (slices === void 0) { slices = 30; }\n var hsl = this.toHsl();\n var part = 360 / slices;\n var ret = [this];\n for (hsl.h = (hsl.h - ((part * results) >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(new TinyColor(hsl));\n }\n return ret;\n };\n /**\n * taken from https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js\n */\n TinyColor.prototype.complement = function () {\n var hsl = this.toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return new TinyColor(hsl);\n };\n TinyColor.prototype.monochromatic = function (results) {\n if (results === void 0) { results = 6; }\n var hsv = this.toHsv();\n var h = hsv.h;\n var s = hsv.s;\n var v = hsv.v;\n var res = [];\n var modification = 1 / results;\n while (results--) {\n res.push(new TinyColor({ h: h, s: s, v: v }));\n v = (v + modification) % 1;\n }\n return res;\n };\n TinyColor.prototype.splitcomplement = function () {\n var hsl = this.toHsl();\n var h = hsl.h;\n return [\n this,\n new TinyColor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }),\n new TinyColor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l }),\n ];\n };\n /**\n * Compute how the color would appear on a background\n */\n TinyColor.prototype.onBackground = function (background) {\n var fg = this.toRgb();\n var bg = new TinyColor(background).toRgb();\n var alpha = fg.a + bg.a * (1 - fg.a);\n return new TinyColor({\n r: (fg.r * fg.a + bg.r * bg.a * (1 - fg.a)) / alpha,\n g: (fg.g * fg.a + bg.g * bg.a * (1 - fg.a)) / alpha,\n b: (fg.b * fg.a + bg.b * bg.a * (1 - fg.a)) / alpha,\n a: alpha,\n });\n };\n /**\n * Alias for `polyad(3)`\n */\n TinyColor.prototype.triad = function () {\n return this.polyad(3);\n };\n /**\n * Alias for `polyad(4)`\n */\n TinyColor.prototype.tetrad = function () {\n return this.polyad(4);\n };\n /**\n * Get polyad colors, like (for 1, 2, 3, 4, 5, 6, 7, 8, etc...)\n * monad, dyad, triad, tetrad, pentad, hexad, heptad, octad, etc...\n */\n TinyColor.prototype.polyad = function (n) {\n var hsl = this.toHsl();\n var h = hsl.h;\n var result = [this];\n var increment = 360 / n;\n for (var i = 1; i < n; i++) {\n result.push(new TinyColor({ h: (h + i * increment) % 360, s: hsl.s, l: hsl.l }));\n }\n return result;\n };\n /**\n * compare color vs current color\n */\n TinyColor.prototype.equals = function (color) {\n return this.toRgbString() === new TinyColor(color).toRgbString();\n };\n return TinyColor;\n}());\nexport { TinyColor };\n// kept for backwards compatability with v1\nexport function tinycolor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n return new TinyColor(color, opts);\n}\n"],"names":["bound01","n","max","indexOf","parseFloat","isOnePointZero","isPercent","isPercentage","Math","min","parseInt","String","abs","clamp01","val","boundAlpha","a","isNaN","convertToPercentage","concat","Number","pad2","c","length","rgbToHsl","r","g","b","h","s","l","d","hue2rgb","p","q","t","rgbToHsv","v","rgbToHex","allow3Char","hex","round","toString","startsWith","charAt","join","convertHexToDecimal","parseIntFromHex","names","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","goldenrod","gold","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavenderblush","lavender","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","inputToRGB","color","rgb","ok","format","trim","toLowerCase","named","match","matchers","exec","rgba","hsl","hsla","hsv","hsva","hex8","hex6","hex4","hex3","stringInputToObject","isValidCSSUnit","substr","i","floor","f","mod","hsvToRgb","hslToRgb","Object","prototype","hasOwnProperty","call","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","RegExp","Boolean","TinyColor","opts","_a","numberInputToObject","this","originalInput","roundA","gradientType","isValid","isDark","getBrightness","isLight","toRgb","getLuminance","RsRGB","GsRGB","BsRGB","pow","getAlpha","setAlpha","alpha","isMonochrome","toHsl","toHsv","toHsvString","toHslString","toHex","toHexString","toHex8","allow4Char","rgbaToHex","toHex8String","toHexShortString","allowShortChar","toRgbString","toPercentageRgb","fmt","x","toPercentageRgbString","rnd","toName","_i","entries","_b","key","formatSet","formattedString","hasAlpha","toNumber","clone","lighten","amount","brighten","darken","tint","mix","shade","desaturate","saturate","greyscale","spin","hue","rgb1","rgb2","analogous","results","slices","part","ret","push","complement","monochromatic","res","modification","splitcomplement","onBackground","background","fg","bg","triad","polyad","tetrad","result","increment","equals"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}