UNPKG

hongluan-ui

Version:
1 lines 3.21 kB
{"version":3,"file":"color.mjs","sources":["../../../../packages/utils/color.ts"],"sourcesContent":["export function calcColorChannels(c: string) {\n let rawColor = c.trim().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: Number.parseInt(rawColor.slice(0, 2), 16),\n green: Number.parseInt(rawColor.slice(2, 4), 16),\n blue: Number.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":"AAAO,SAAS,iBAAiB,CAAC,CAAC,EAAE;AACrC,EAAE,IAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC3C,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACzC,IAAI,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrF,GAAG;AACH,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACzC,IAAI,OAAO;AACX,MAAM,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;AACpD,MAAM,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;AACtD,MAAM,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;AACrD,KAAK,CAAC;AACN,GAAG;AACH,EAAE,OAAO;AACT,IAAI,GAAG,EAAE,GAAG;AACZ,IAAI,KAAK,EAAE,GAAG;AACd,IAAI,IAAI,EAAE,GAAG;AACb,GAAG,CAAC;AACJ,CAAC;AACM,SAAS,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,EAAE;AAC/C,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACtD,EAAE,IAAI,OAAO,GAAG,CAAC,EAAE;AACnB,IAAI,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;AACvB,IAAI,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC;AACzB,IAAI,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC;AACxB,GAAG,MAAM;AACT,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACpC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC3C,IAAI,KAAK,IAAI,CAAC,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC;AACnC,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,KAAK,CAAC;AACjC,GAAG;AACH,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AACM,SAAS,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,EAAE;AAC9C,EAAE,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AACM,SAAS,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,EAAE;AAC7C,EAAE,OAAO,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAClC;;;;"}