1 line
46 KiB
JSON
1 line
46 KiB
JSON
{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nconst round = Math.round;\n\n/**\n * Support format, alpha unit will check the % mark:\n * - rgba(102, 204, 255, .5) -> [102, 204, 255, 0.5]\n * - rgb(102 204 255 / .5) -> [102, 204, 255, 0.5]\n * - rgb(100%, 50%, 0% / 50%) -> [255, 128, 0, 0.5]\n * - hsl(270, 60, 40, .5) -> [270, 60, 40, 0.5]\n * - hsl(270deg 60% 40% / 50%) -> [270, 60, 40, 0.5]\n *\n * When `base` is provided, the percentage value will be divided by `base`.\n */\nfunction splitColorStr(str, parseNum) {\n const match = str\n // Remove str before `(`\n .replace(/^[^(]*\\((.*)/, '$1')\n // Remove str after `)`\n .replace(/\\).*/, '').match(/\\d*\\.?\\d+%?/g) || [];\n const numList = match.map(item => parseFloat(item));\n for (let i = 0; i < 3; i += 1) {\n numList[i] = parseNum(numList[i] || 0, match[i] || '', i);\n }\n\n // For alpha. 50% should be 0.5\n if (match[3]) {\n numList[3] = match[3].includes('%') ? numList[3] / 100 : numList[3];\n } else {\n // By default, alpha is 1\n numList[3] = 1;\n }\n return numList;\n}\nconst parseHSVorHSL = (num, _, index) => index === 0 ? num : num / 100;\n\n/** round and limit number to integer between 0-255 */\nfunction limitRange(value, max) {\n const mergedMax = max || 255;\n if (value > mergedMax) {\n return mergedMax;\n }\n if (value < 0) {\n return 0;\n }\n return value;\n}\nexport class FastColor {\n constructor(input) {\n /**\n * All FastColor objects are valid. So isValid is always true. This property is kept to be compatible with TinyColor.\n */\n _defineProperty(this, \"isValid\", true);\n /**\n * Red, R in RGB\n */\n _defineProperty(this, \"r\", 0);\n /**\n * Green, G in RGB\n */\n _defineProperty(this, \"g\", 0);\n /**\n * Blue, B in RGB\n */\n _defineProperty(this, \"b\", 0);\n /**\n * Alpha/Opacity, A in RGBA/HSLA\n */\n _defineProperty(this, \"a\", 1);\n // HSV privates\n _defineProperty(this, \"_h\", void 0);\n _defineProperty(this, \"_s\", void 0);\n _defineProperty(this, \"_l\", void 0);\n _defineProperty(this, \"_v\", void 0);\n // intermediate variables to calculate HSL/HSV\n _defineProperty(this, \"_max\", void 0);\n _defineProperty(this, \"_min\", void 0);\n _defineProperty(this, \"_brightness\", void 0);\n /**\n * Always check 3 char in the object to determine the format.\n * We not use function in check to save bundle size.\n * e.g. 'rgb' -> { r: 0, g: 0, b: 0 }.\n */\n function matchFormat(str) {\n return str[0] in input && str[1] in input && str[2] in input;\n }\n if (!input) {\n // Do nothing since already initialized\n } else if (typeof input === 'string') {\n const trimStr = input.trim();\n function matchPrefix(prefix) {\n return trimStr.startsWith(prefix);\n }\n if (/^#?[A-F\\d]{3,8}$/i.test(trimStr)) {\n this.fromHexString(trimStr);\n } else if (matchPrefix('rgb')) {\n this.fromRgbString(trimStr);\n } else if (matchPrefix('hsl')) {\n this.fromHslString(trimStr);\n } else if (matchPrefix('hsv') || matchPrefix('hsb')) {\n this.fromHsvString(trimStr);\n }\n } else if (input instanceof FastColor) {\n this.r = input.r;\n this.g = input.g;\n this.b = input.b;\n this.a = input.a;\n this._h = input._h;\n this._s = input._s;\n this._l = input._l;\n this._v = input._v;\n } else if (matchFormat('rgb')) {\n this.r = limitRange(input.r);\n this.g = limitRange(input.g);\n this.b = limitRange(input.b);\n this.a = typeof input.a === 'number' ? limitRange(input.a, 1) : 1;\n } else if (matchFormat('hsl')) {\n this.fromHsl(input);\n } else if (matchFormat('hsv')) {\n this.fromHsv(input);\n } else {\n throw new Error('@ant-design/fast-color: unsupported input ' + JSON.stringify(input));\n }\n }\n\n // ======================= Setter =======================\n\n setR(value) {\n return this._sc('r', value);\n }\n setG(value) {\n return this._sc('g', value);\n }\n setB(value) {\n return this._sc('b', value);\n }\n setA(value) {\n return this._sc('a', value, 1);\n }\n setHue(value) {\n const hsv = this.toHsv();\n hsv.h = value;\n return this._c(hsv);\n }\n\n // ======================= Getter =======================\n /**\n * Returns the perceived luminance of a color, from 0-1.\n * @see http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n */\n getLuminance() {\n function adjustGamma(raw) {\n const val = raw / 255;\n return val <= 0.03928 ? val / 12.92 : Math.pow((val + 0.055) / 1.055, 2.4);\n }\n const R = adjustGamma(this.r);\n const G = adjustGamma(this.g);\n const B = adjustGamma(this.b);\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n }\n getHue() {\n if (typeof this._h === 'undefined') {\n const delta = this.getMax() - this.getMin();\n if (delta === 0) {\n this._h = 0;\n } else {\n this._h = round(60 * (this.r === this.getMax() ? (this.g - this.b) / delta + (this.g < this.b ? 6 : 0) : this.g === this.getMax() ? (this.b - this.r) / delta + 2 : (this.r - this.g) / delta + 4));\n }\n }\n return this._h;\n }\n getSaturation() {\n if (typeof this._s === 'undefined') {\n const delta = this.getMax() - this.getMin();\n if (delta === 0) {\n this._s = 0;\n } else {\n this._s = delta / this.getMax();\n }\n }\n return this._s;\n }\n getLightness() {\n if (typeof this._l === 'undefined') {\n this._l = (this.getMax() + this.getMin()) / 510;\n }\n return this._l;\n }\n getValue() {\n if (typeof this._v === 'undefined') {\n this._v = this.getMax() / 255;\n }\n return this._v;\n }\n\n /**\n * Returns the perceived brightness of the color, from 0-255.\n * Note: this is not the b of HSB\n * @see http://www.w3.org/TR/AERT#color-contrast\n */\n getBrightness() {\n if (typeof this._brightness === 'undefined') {\n this._brightness = (this.r * 299 + this.g * 587 + this.b * 114) / 1000;\n }\n return this._brightness;\n }\n\n // ======================== Func ========================\n\n darken(amount = 10) {\n const h = this.getHue();\n const s = this.getSaturation();\n let l = this.getLightness() - amount / 100;\n if (l < 0) {\n l = 0;\n }\n return this._c({\n h,\n s,\n l,\n a: this.a\n });\n }\n lighten(amount = 10) {\n const h = this.getHue();\n const s = this.getSaturation();\n let l = this.getLightness() + amount / 100;\n if (l > 1) {\n l = 1;\n }\n return this._c({\n h,\n s,\n l,\n a: this.a\n });\n }\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 mix(input, amount = 50) {\n const color = this._c(input);\n const p = amount / 100;\n const calc = key => (color[key] - this[key]) * p + this[key];\n const rgba = {\n r: round(calc('r')),\n g: round(calc('g')),\n b: round(calc('b')),\n a: round(calc('a') * 100) / 100\n };\n return this._c(rgba);\n }\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 */\n tint(amount = 10) {\n return this.mix({\n r: 255,\n g: 255,\n b: 255,\n a: 1\n }, amount);\n }\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 */\n shade(amount = 10) {\n return this.mix({\n r: 0,\n g: 0,\n b: 0,\n a: 1\n }, amount);\n }\n onBackground(background) {\n const bg = this._c(background);\n const alpha = this.a + bg.a * (1 - this.a);\n const calc = key => {\n return round((this[key] * this.a + bg[key] * bg.a * (1 - this.a)) / alpha);\n };\n return this._c({\n r: calc('r'),\n g: calc('g'),\n b: calc('b'),\n a: alpha\n });\n }\n\n // ======================= Status =======================\n isDark() {\n return this.getBrightness() < 128;\n }\n isLight() {\n return this.getBrightness() >= 128;\n }\n\n // ======================== MISC ========================\n equals(other) {\n return this.r === other.r && this.g === other.g && this.b === other.b && this.a === other.a;\n }\n clone() {\n return this._c(this);\n }\n\n // ======================= Format =======================\n toHexString() {\n let hex = '#';\n const rHex = (this.r || 0).toString(16);\n hex += rHex.length === 2 ? rHex : '0' + rHex;\n const gHex = (this.g || 0).toString(16);\n hex += gHex.length === 2 ? gHex : '0' + gHex;\n const bHex = (this.b || 0).toString(16);\n hex += bHex.length === 2 ? bHex : '0' + bHex;\n if (typeof this.a === 'number' && this.a >= 0 && this.a < 1) {\n const aHex = round(this.a * 255).toString(16);\n hex += aHex.length === 2 ? aHex : '0' + aHex;\n }\n return hex;\n }\n\n /** CSS support color pattern */\n toHsl() {\n return {\n h: this.getHue(),\n s: this.getSaturation(),\n l: this.getLightness(),\n a: this.a\n };\n }\n\n /** CSS support color pattern */\n toHslString() {\n const h = this.getHue();\n const s = round(this.getSaturation() * 100);\n const l = round(this.getLightness() * 100);\n return this.a !== 1 ? `hsla(${h},${s}%,${l}%,${this.a})` : `hsl(${h},${s}%,${l}%)`;\n }\n\n /** Same as toHsb */\n toHsv() {\n return {\n h: this.getHue(),\n s: this.getSaturation(),\n v: this.getValue(),\n a: this.a\n };\n }\n toRgb() {\n return {\n r: this.r,\n g: this.g,\n b: this.b,\n a: this.a\n };\n }\n toRgbString() {\n return this.a !== 1 ? `rgba(${this.r},${this.g},${this.b},${this.a})` : `rgb(${this.r},${this.g},${this.b})`;\n }\n toString() {\n return this.toRgbString();\n }\n\n // ====================== Privates ======================\n /** Return a new FastColor object with one channel changed */\n _sc(rgb, value, max) {\n const clone = this.clone();\n clone[rgb] = limitRange(value, max);\n return clone;\n }\n _c(input) {\n return new this.constructor(input);\n }\n getMax() {\n if (typeof this._max === 'undefined') {\n this._max = Math.max(this.r, this.g, this.b);\n }\n return this._max;\n }\n getMin() {\n if (typeof this._min === 'undefined') {\n this._min = Math.min(this.r, this.g, this.b);\n }\n return this._min;\n }\n fromHexString(trimStr) {\n const withoutPrefix = trimStr.replace('#', '');\n function connectNum(index1, index2) {\n return parseInt(withoutPrefix[index1] + withoutPrefix[index2 || index1], 16);\n }\n if (withoutPrefix.length < 6) {\n // #rgb or #rgba\n this.r = connectNum(0);\n this.g = connectNum(1);\n this.b = connectNum(2);\n this.a = withoutPrefix[3] ? connectNum(3) / 255 : 1;\n } else {\n // #rrggbb or #rrggbbaa\n this.r = connectNum(0, 1);\n this.g = connectNum(2, 3);\n this.b = connectNum(4, 5);\n this.a = withoutPrefix[6] ? connectNum(6, 7) / 255 : 1;\n }\n }\n fromHsl({\n h,\n s,\n l,\n a\n }) {\n this._h = h % 360;\n this._s = s;\n this._l = l;\n this.a = typeof a === 'number' ? a : 1;\n if (s <= 0) {\n const rgb = round(l * 255);\n this.r = rgb;\n this.g = rgb;\n this.b = rgb;\n }\n let r = 0,\n g = 0,\n b = 0;\n const huePrime = h / 60;\n const chroma = (1 - Math.abs(2 * l - 1)) * s;\n const secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n if (huePrime >= 0 && huePrime < 1) {\n r = chroma;\n g = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n r = secondComponent;\n g = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n g = chroma;\n b = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n g = secondComponent;\n b = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n r = secondComponent;\n b = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n r = chroma;\n b = secondComponent;\n }\n const lightnessModification = l - chroma / 2;\n this.r = round((r + lightnessModification) * 255);\n this.g = round((g + lightnessModification) * 255);\n this.b = round((b + lightnessModification) * 255);\n }\n fromHsv({\n h,\n s,\n v,\n a\n }) {\n this._h = h % 360;\n this._s = s;\n this._v = v;\n this.a = typeof a === 'number' ? a : 1;\n const vv = round(v * 255);\n this.r = vv;\n this.g = vv;\n this.b = vv;\n if (s <= 0) {\n return;\n }\n const hh = h / 60;\n const i = Math.floor(hh);\n const ff = hh - i;\n const p = round(v * (1.0 - s) * 255);\n const q = round(v * (1.0 - s * ff) * 255);\n const t = round(v * (1.0 - s * (1.0 - ff)) * 255);\n switch (i) {\n case 0:\n this.g = t;\n this.b = p;\n break;\n case 1:\n this.r = q;\n this.b = p;\n break;\n case 2:\n this.r = p;\n this.b = t;\n break;\n case 3:\n this.r = p;\n this.g = q;\n break;\n case 4:\n this.r = t;\n this.g = p;\n break;\n case 5:\n default:\n this.g = p;\n this.b = q;\n break;\n }\n }\n fromHsvString(trimStr) {\n const cells = splitColorStr(trimStr, parseHSVorHSL);\n this.fromHsv({\n h: cells[0],\n s: cells[1],\n v: cells[2],\n a: cells[3]\n });\n }\n fromHslString(trimStr) {\n const cells = splitColorStr(trimStr, parseHSVorHSL);\n this.fromHsl({\n h: cells[0],\n s: cells[1],\n l: cells[2],\n a: cells[3]\n });\n }\n fromRgbString(trimStr) {\n const cells = splitColorStr(trimStr, (num, txt) =>\n // Convert percentage to number. e.g. 50% -> 128\n txt.includes('%') ? round(num / 100 * 255) : num);\n this.r = cells[0];\n this.g = cells[1];\n this.b = cells[2];\n this.a = cells[3];\n }\n}","map":{"version":3,"names":["_defineProperty","round","Math","splitColorStr","str","parseNum","match","replace","numList","map","item","parseFloat","i","includes","parseHSVorHSL","num","_","index","limitRange","value","max","mergedMax","FastColor","constructor","input","matchFormat","trimStr","trim","matchPrefix","prefix","startsWith","test","fromHexString","fromRgbString","fromHslString","fromHsvString","r","g","b","a","_h","_s","_l","_v","fromHsl","fromHsv","Error","JSON","stringify","setR","_sc","setG","setB","setA","setHue","hsv","toHsv","h","_c","getLuminance","adjustGamma","raw","val","pow","R","G","B","getHue","delta","getMax","getMin","getSaturation","getLightness","getValue","getBrightness","_brightness","darken","amount","s","l","lighten","mix","color","p","calc","key","rgba","tint","shade","onBackground","background","bg","alpha","isDark","isLight","equals","other","clone","toHexString","hex","rHex","toString","length","gHex","bHex","aHex","toHsl","toHslString","v","toRgb","toRgbString","rgb","_max","_min","min","withoutPrefix","connectNum","index1","index2","parseInt","huePrime","chroma","abs","secondComponent","lightnessModification","vv","hh","floor","ff","q","t","cells","txt"],"sources":["C:/Users/Аришина)/Desktop/promo/node_modules/@ant-design/fast-color/es/FastColor.js"],"sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nconst round = Math.round;\n\n/**\n * Support format, alpha unit will check the % mark:\n * - rgba(102, 204, 255, .5) -> [102, 204, 255, 0.5]\n * - rgb(102 204 255 / .5) -> [102, 204, 255, 0.5]\n * - rgb(100%, 50%, 0% / 50%) -> [255, 128, 0, 0.5]\n * - hsl(270, 60, 40, .5) -> [270, 60, 40, 0.5]\n * - hsl(270deg 60% 40% / 50%) -> [270, 60, 40, 0.5]\n *\n * When `base` is provided, the percentage value will be divided by `base`.\n */\nfunction splitColorStr(str, parseNum) {\n const match = str\n // Remove str before `(`\n .replace(/^[^(]*\\((.*)/, '$1')\n // Remove str after `)`\n .replace(/\\).*/, '').match(/\\d*\\.?\\d+%?/g) || [];\n const numList = match.map(item => parseFloat(item));\n for (let i = 0; i < 3; i += 1) {\n numList[i] = parseNum(numList[i] || 0, match[i] || '', i);\n }\n\n // For alpha. 50% should be 0.5\n if (match[3]) {\n numList[3] = match[3].includes('%') ? numList[3] / 100 : numList[3];\n } else {\n // By default, alpha is 1\n numList[3] = 1;\n }\n return numList;\n}\nconst parseHSVorHSL = (num, _, index) => index === 0 ? num : num / 100;\n\n/** round and limit number to integer between 0-255 */\nfunction limitRange(value, max) {\n const mergedMax = max || 255;\n if (value > mergedMax) {\n return mergedMax;\n }\n if (value < 0) {\n return 0;\n }\n return value;\n}\nexport class FastColor {\n constructor(input) {\n /**\n * All FastColor objects are valid. So isValid is always true. This property is kept to be compatible with TinyColor.\n */\n _defineProperty(this, \"isValid\", true);\n /**\n * Red, R in RGB\n */\n _defineProperty(this, \"r\", 0);\n /**\n * Green, G in RGB\n */\n _defineProperty(this, \"g\", 0);\n /**\n * Blue, B in RGB\n */\n _defineProperty(this, \"b\", 0);\n /**\n * Alpha/Opacity, A in RGBA/HSLA\n */\n _defineProperty(this, \"a\", 1);\n // HSV privates\n _defineProperty(this, \"_h\", void 0);\n _defineProperty(this, \"_s\", void 0);\n _defineProperty(this, \"_l\", void 0);\n _defineProperty(this, \"_v\", void 0);\n // intermediate variables to calculate HSL/HSV\n _defineProperty(this, \"_max\", void 0);\n _defineProperty(this, \"_min\", void 0);\n _defineProperty(this, \"_brightness\", void 0);\n /**\n * Always check 3 char in the object to determine the format.\n * We not use function in check to save bundle size.\n * e.g. 'rgb' -> { r: 0, g: 0, b: 0 }.\n */\n function matchFormat(str) {\n return str[0] in input && str[1] in input && str[2] in input;\n }\n if (!input) {\n // Do nothing since already initialized\n } else if (typeof input === 'string') {\n const trimStr = input.trim();\n function matchPrefix(prefix) {\n return trimStr.startsWith(prefix);\n }\n if (/^#?[A-F\\d]{3,8}$/i.test(trimStr)) {\n this.fromHexString(trimStr);\n } else if (matchPrefix('rgb')) {\n this.fromRgbString(trimStr);\n } else if (matchPrefix('hsl')) {\n this.fromHslString(trimStr);\n } else if (matchPrefix('hsv') || matchPrefix('hsb')) {\n this.fromHsvString(trimStr);\n }\n } else if (input instanceof FastColor) {\n this.r = input.r;\n this.g = input.g;\n this.b = input.b;\n this.a = input.a;\n this._h = input._h;\n this._s = input._s;\n this._l = input._l;\n this._v = input._v;\n } else if (matchFormat('rgb')) {\n this.r = limitRange(input.r);\n this.g = limitRange(input.g);\n this.b = limitRange(input.b);\n this.a = typeof input.a === 'number' ? limitRange(input.a, 1) : 1;\n } else if (matchFormat('hsl')) {\n this.fromHsl(input);\n } else if (matchFormat('hsv')) {\n this.fromHsv(input);\n } else {\n throw new Error('@ant-design/fast-color: unsupported input ' + JSON.stringify(input));\n }\n }\n\n // ======================= Setter =======================\n\n setR(value) {\n return this._sc('r', value);\n }\n setG(value) {\n return this._sc('g', value);\n }\n setB(value) {\n return this._sc('b', value);\n }\n setA(value) {\n return this._sc('a', value, 1);\n }\n setHue(value) {\n const hsv = this.toHsv();\n hsv.h = value;\n return this._c(hsv);\n }\n\n // ======================= Getter =======================\n /**\n * Returns the perceived luminance of a color, from 0-1.\n * @see http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n */\n getLuminance() {\n function adjustGamma(raw) {\n const val = raw / 255;\n return val <= 0.03928 ? val / 12.92 : Math.pow((val + 0.055) / 1.055, 2.4);\n }\n const R = adjustGamma(this.r);\n const G = adjustGamma(this.g);\n const B = adjustGamma(this.b);\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n }\n getHue() {\n if (typeof this._h === 'undefined') {\n const delta = this.getMax() - this.getMin();\n if (delta === 0) {\n this._h = 0;\n } else {\n this._h = round(60 * (this.r === this.getMax() ? (this.g - this.b) / delta + (this.g < this.b ? 6 : 0) : this.g === this.getMax() ? (this.b - this.r) / delta + 2 : (this.r - this.g) / delta + 4));\n }\n }\n return this._h;\n }\n getSaturation() {\n if (typeof this._s === 'undefined') {\n const delta = this.getMax() - this.getMin();\n if (delta === 0) {\n this._s = 0;\n } else {\n this._s = delta / this.getMax();\n }\n }\n return this._s;\n }\n getLightness() {\n if (typeof this._l === 'undefined') {\n this._l = (this.getMax() + this.getMin()) / 510;\n }\n return this._l;\n }\n getValue() {\n if (typeof this._v === 'undefined') {\n this._v = this.getMax() / 255;\n }\n return this._v;\n }\n\n /**\n * Returns the perceived brightness of the color, from 0-255.\n * Note: this is not the b of HSB\n * @see http://www.w3.org/TR/AERT#color-contrast\n */\n getBrightness() {\n if (typeof this._brightness === 'undefined') {\n this._brightness = (this.r * 299 + this.g * 587 + this.b * 114) / 1000;\n }\n return this._brightness;\n }\n\n // ======================== Func ========================\n\n darken(amount = 10) {\n const h = this.getHue();\n const s = this.getSaturation();\n let l = this.getLightness() - amount / 100;\n if (l < 0) {\n l = 0;\n }\n return this._c({\n h,\n s,\n l,\n a: this.a\n });\n }\n lighten(amount = 10) {\n const h = this.getHue();\n const s = this.getSaturation();\n let l = this.getLightness() + amount / 100;\n if (l > 1) {\n l = 1;\n }\n return this._c({\n h,\n s,\n l,\n a: this.a\n });\n }\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 mix(input, amount = 50) {\n const color = this._c(input);\n const p = amount / 100;\n const calc = key => (color[key] - this[key]) * p + this[key];\n const rgba = {\n r: round(calc('r')),\n g: round(calc('g')),\n b: round(calc('b')),\n a: round(calc('a') * 100) / 100\n };\n return this._c(rgba);\n }\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 */\n tint(amount = 10) {\n return this.mix({\n r: 255,\n g: 255,\n b: 255,\n a: 1\n }, amount);\n }\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 */\n shade(amount = 10) {\n return this.mix({\n r: 0,\n g: 0,\n b: 0,\n a: 1\n }, amount);\n }\n onBackground(background) {\n const bg = this._c(background);\n const alpha = this.a + bg.a * (1 - this.a);\n const calc = key => {\n return round((this[key] * this.a + bg[key] * bg.a * (1 - this.a)) / alpha);\n };\n return this._c({\n r: calc('r'),\n g: calc('g'),\n b: calc('b'),\n a: alpha\n });\n }\n\n // ======================= Status =======================\n isDark() {\n return this.getBrightness() < 128;\n }\n isLight() {\n return this.getBrightness() >= 128;\n }\n\n // ======================== MISC ========================\n equals(other) {\n return this.r === other.r && this.g === other.g && this.b === other.b && this.a === other.a;\n }\n clone() {\n return this._c(this);\n }\n\n // ======================= Format =======================\n toHexString() {\n let hex = '#';\n const rHex = (this.r || 0).toString(16);\n hex += rHex.length === 2 ? rHex : '0' + rHex;\n const gHex = (this.g || 0).toString(16);\n hex += gHex.length === 2 ? gHex : '0' + gHex;\n const bHex = (this.b || 0).toString(16);\n hex += bHex.length === 2 ? bHex : '0' + bHex;\n if (typeof this.a === 'number' && this.a >= 0 && this.a < 1) {\n const aHex = round(this.a * 255).toString(16);\n hex += aHex.length === 2 ? aHex : '0' + aHex;\n }\n return hex;\n }\n\n /** CSS support color pattern */\n toHsl() {\n return {\n h: this.getHue(),\n s: this.getSaturation(),\n l: this.getLightness(),\n a: this.a\n };\n }\n\n /** CSS support color pattern */\n toHslString() {\n const h = this.getHue();\n const s = round(this.getSaturation() * 100);\n const l = round(this.getLightness() * 100);\n return this.a !== 1 ? `hsla(${h},${s}%,${l}%,${this.a})` : `hsl(${h},${s}%,${l}%)`;\n }\n\n /** Same as toHsb */\n toHsv() {\n return {\n h: this.getHue(),\n s: this.getSaturation(),\n v: this.getValue(),\n a: this.a\n };\n }\n toRgb() {\n return {\n r: this.r,\n g: this.g,\n b: this.b,\n a: this.a\n };\n }\n toRgbString() {\n return this.a !== 1 ? `rgba(${this.r},${this.g},${this.b},${this.a})` : `rgb(${this.r},${this.g},${this.b})`;\n }\n toString() {\n return this.toRgbString();\n }\n\n // ====================== Privates ======================\n /** Return a new FastColor object with one channel changed */\n _sc(rgb, value, max) {\n const clone = this.clone();\n clone[rgb] = limitRange(value, max);\n return clone;\n }\n _c(input) {\n return new this.constructor(input);\n }\n getMax() {\n if (typeof this._max === 'undefined') {\n this._max = Math.max(this.r, this.g, this.b);\n }\n return this._max;\n }\n getMin() {\n if (typeof this._min === 'undefined') {\n this._min = Math.min(this.r, this.g, this.b);\n }\n return this._min;\n }\n fromHexString(trimStr) {\n const withoutPrefix = trimStr.replace('#', '');\n function connectNum(index1, index2) {\n return parseInt(withoutPrefix[index1] + withoutPrefix[index2 || index1], 16);\n }\n if (withoutPrefix.length < 6) {\n // #rgb or #rgba\n this.r = connectNum(0);\n this.g = connectNum(1);\n this.b = connectNum(2);\n this.a = withoutPrefix[3] ? connectNum(3) / 255 : 1;\n } else {\n // #rrggbb or #rrggbbaa\n this.r = connectNum(0, 1);\n this.g = connectNum(2, 3);\n this.b = connectNum(4, 5);\n this.a = withoutPrefix[6] ? connectNum(6, 7) / 255 : 1;\n }\n }\n fromHsl({\n h,\n s,\n l,\n a\n }) {\n this._h = h % 360;\n this._s = s;\n this._l = l;\n this.a = typeof a === 'number' ? a : 1;\n if (s <= 0) {\n const rgb = round(l * 255);\n this.r = rgb;\n this.g = rgb;\n this.b = rgb;\n }\n let r = 0,\n g = 0,\n b = 0;\n const huePrime = h / 60;\n const chroma = (1 - Math.abs(2 * l - 1)) * s;\n const secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n if (huePrime >= 0 && huePrime < 1) {\n r = chroma;\n g = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n r = secondComponent;\n g = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n g = chroma;\n b = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n g = secondComponent;\n b = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n r = secondComponent;\n b = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n r = chroma;\n b = secondComponent;\n }\n const lightnessModification = l - chroma / 2;\n this.r = round((r + lightnessModification) * 255);\n this.g = round((g + lightnessModification) * 255);\n this.b = round((b + lightnessModification) * 255);\n }\n fromHsv({\n h,\n s,\n v,\n a\n }) {\n this._h = h % 360;\n this._s = s;\n this._v = v;\n this.a = typeof a === 'number' ? a : 1;\n const vv = round(v * 255);\n this.r = vv;\n this.g = vv;\n this.b = vv;\n if (s <= 0) {\n return;\n }\n const hh = h / 60;\n const i = Math.floor(hh);\n const ff = hh - i;\n const p = round(v * (1.0 - s) * 255);\n const q = round(v * (1.0 - s * ff) * 255);\n const t = round(v * (1.0 - s * (1.0 - ff)) * 255);\n switch (i) {\n case 0:\n this.g = t;\n this.b = p;\n break;\n case 1:\n this.r = q;\n this.b = p;\n break;\n case 2:\n this.r = p;\n this.b = t;\n break;\n case 3:\n this.r = p;\n this.g = q;\n break;\n case 4:\n this.r = t;\n this.g = p;\n break;\n case 5:\n default:\n this.g = p;\n this.b = q;\n break;\n }\n }\n fromHsvString(trimStr) {\n const cells = splitColorStr(trimStr, parseHSVorHSL);\n this.fromHsv({\n h: cells[0],\n s: cells[1],\n v: cells[2],\n a: cells[3]\n });\n }\n fromHslString(trimStr) {\n const cells = splitColorStr(trimStr, parseHSVorHSL);\n this.fromHsl({\n h: cells[0],\n s: cells[1],\n l: cells[2],\n a: cells[3]\n });\n }\n fromRgbString(trimStr) {\n const cells = splitColorStr(trimStr, (num, txt) =>\n // Convert percentage to number. e.g. 50% -> 128\n txt.includes('%') ? round(num / 100 * 255) : num);\n this.r = cells[0];\n this.g = cells[1];\n this.b = cells[2];\n this.a = cells[3];\n }\n}"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |