UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 2.13 kB
{"version":3,"file":"color.mjs","sources":["../../../../packages/utils/color.ts"],"sourcesContent":["export function calcColorChannels(c: string) {\n let rawColor = c.replace('#', '')\n if (/^[0-9a-fA-F]{3}$/.test(rawColor)) {\n rawColor =\n rawColor[0].repeat(2) + rawColor[1].repeat(2) + rawColor[2].repeat(2)\n }\n if (/^[0-9a-fA-F]{6}$/.test(rawColor)) {\n return {\n red: parseInt(rawColor.slice(0, 2), 16),\n green: parseInt(rawColor.slice(2, 4), 16),\n blue: parseInt(rawColor.slice(4, 6), 16),\n }\n }\n return {\n red: 255,\n green: 255,\n blue: 255,\n }\n}\n\nexport function mixColor(color: string, percent = 0.2) {\n let { red, green, blue } = calcColorChannels(color)\n if (percent > 0) {\n // shade given color\n red *= 1 - percent\n green *= 1 - percent\n blue *= 1 - percent\n } else {\n // tint given color\n const value = Math.abs(percent)\n red += (255 - red) * Math.abs(percent)\n green += (255 - green) * value\n blue += (255 - blue) * value\n }\n return `rgb(${Math.round(red)}, ${Math.round(green)}, ${Math.round(blue)})`\n}\n\nexport function lighten(color: string, percent = 0.2) {\n return mixColor(color, -percent)\n}\n\nexport function darken(color: string, percent = 0.2) {\n return mixColor(color, percent)\n}\n"],"names":[],"mappings":"2BAAkC,GAAW;AAC3C,MAAI,WAAW,EAAE,QAAQ,KAAK;AAC9B,MAAI,mBAAmB,KAAK,WAAW;AACrC,eACE,SAAS,GAAG,OAAO,KAAK,SAAS,GAAG,OAAO,KAAK,SAAS,GAAG,OAAO;AAAA;AAEvE,MAAI,mBAAmB,KAAK,WAAW;AACrC,WAAO;AAAA,MACL,KAAK,SAAS,SAAS,MAAM,GAAG,IAAI;AAAA,MACpC,OAAO,SAAS,SAAS,MAAM,GAAG,IAAI;AAAA,MACtC,MAAM,SAAS,SAAS,MAAM,GAAG,IAAI;AAAA;AAAA;AAGzC,SAAO;AAAA,IACL,KAAK;AAAA,IACL,OAAO;AAAA,IACP,MAAM;AAAA;AAAA;kBAIe,OAAe,UAAU,KAAK;AACrD,MAAI,EAAE,KAAK,OAAO,SAAS,kBAAkB;AAC7C,MAAI,UAAU,GAAG;AAEf,WAAO,IAAI;AACX,aAAS,IAAI;AACb,YAAQ,IAAI;AAAA,SACP;AAEL,UAAM,QAAQ,KAAK,IAAI;AACvB,WAAQ,OAAM,OAAO,KAAK,IAAI;AAC9B,aAAU,OAAM,SAAS;AACzB,YAAS,OAAM,QAAQ;AAAA;AAEzB,SAAO,OAAO,KAAK,MAAM,SAAS,KAAK,MAAM,WAAW,KAAK,MAAM;AAAA;iBAG7C,OAAe,UAAU,KAAK;AACpD,SAAO,SAAS,OAAO,CAAC;AAAA;gBAGH,OAAe,UAAU,KAAK;AACnD,SAAO,SAAS,OAAO;AAAA;;;;"}