UNPKG

@taiga-ui/cdk

Version:

Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance

27 lines 3.91 kB
const DEFAULT = [0, 0, 0, 1]; export function tuiParseColor(color) { const stripped = color .replace('#', '') .replace('rgba(', '') .replace('rgb(', '') .replace(')', ''); const array = stripped.split(',').map((item) => parseFloat(item)); if (array.length === 4) { return array; } if (array.length === 3) { return array.concat(1); } const matches = stripped.match(new RegExp(`(.{${stripped.length / 3}})`, 'g')); if (!matches) { return DEFAULT; } const parsed = matches.map((char) => parseInt(stripped.length % 2 ? char + char : char, 16)); return [ parsed[0] ?? DEFAULT[0], parsed[1] ?? DEFAULT[1], parsed[2] ?? DEFAULT[2], parsed[3] ?? DEFAULT[3], ]; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtY29sb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvY29sb3IvcGFyc2UtY29sb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLEdBQXFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFL0QsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFhO0lBQ3ZDLE1BQU0sUUFBUSxHQUFHLEtBQUs7U0FDakIsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7U0FDaEIsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7U0FDcEIsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7U0FDbkIsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0QixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFbEUsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNwQixPQUFPLEtBQXlDLENBQUM7S0FDcEQ7SUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3BCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQXFDLENBQUM7S0FDOUQ7SUFFRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRS9FLElBQUksQ0FBQyxPQUFPLEVBQUU7UUFDVixPQUFPLE9BQU8sQ0FBQztLQUNsQjtJQUVELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNoQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FDekQsQ0FBQztJQUVGLE9BQU87UUFDSCxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN2QixNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN2QixNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN2QixNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQztLQUMxQixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IERFRkFVTFQ6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdID0gWzAsIDAsIDAsIDFdO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpUGFyc2VDb2xvcihjb2xvcjogc3RyaW5nKTogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0ge1xuICAgIGNvbnN0IHN0cmlwcGVkID0gY29sb3JcbiAgICAgICAgLnJlcGxhY2UoJyMnLCAnJylcbiAgICAgICAgLnJlcGxhY2UoJ3JnYmEoJywgJycpXG4gICAgICAgIC5yZXBsYWNlKCdyZ2IoJywgJycpXG4gICAgICAgIC5yZXBsYWNlKCcpJywgJycpO1xuICAgIGNvbnN0IGFycmF5ID0gc3RyaXBwZWQuc3BsaXQoJywnKS5tYXAoKGl0ZW0pID0+IHBhcnNlRmxvYXQoaXRlbSkpO1xuXG4gICAgaWYgKGFycmF5Lmxlbmd0aCA9PT0gNCkge1xuICAgICAgICByZXR1cm4gYXJyYXkgYXMgW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG4gICAgfVxuXG4gICAgaWYgKGFycmF5Lmxlbmd0aCA9PT0gMykge1xuICAgICAgICByZXR1cm4gYXJyYXkuY29uY2F0KDEpIGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICAgIH1cblxuICAgIGNvbnN0IG1hdGNoZXMgPSBzdHJpcHBlZC5tYXRjaChuZXcgUmVnRXhwKGAoLnske3N0cmlwcGVkLmxlbmd0aCAvIDN9fSlgLCAnZycpKTtcblxuICAgIGlmICghbWF0Y2hlcykge1xuICAgICAgICByZXR1cm4gREVGQVVMVDtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJzZWQgPSBtYXRjaGVzLm1hcCgoY2hhcikgPT5cbiAgICAgICAgcGFyc2VJbnQoc3RyaXBwZWQubGVuZ3RoICUgMiA/IGNoYXIgKyBjaGFyIDogY2hhciwgMTYpLFxuICAgICk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgICBwYXJzZWRbMF0gPz8gREVGQVVMVFswXSxcbiAgICAgICAgcGFyc2VkWzFdID8/IERFRkFVTFRbMV0sXG4gICAgICAgIHBhcnNlZFsyXSA/PyBERUZBVUxUWzJdLFxuICAgICAgICBwYXJzZWRbM10gPz8gREVGQVVMVFszXSxcbiAgICBdO1xufVxuIl19