import { Prefix } from '../constants'; import { colorModify, getVarValue } from '../helpers'; import { GumColor, GumModify } from '../models'; /** * Adds a HSL or HSLA color value with variable and (optionally) opacity, respectfully. * @param c main color key * @param v variation 1-9 * @param a opacity (optional) */ export const color: GumColor = (c, v, a) => { if (!c || (a && (a < 0 || a > 1))) return ''; if (a) { return `hsla(${getVarValue(Prefix.color, `${c}-${v}`)}, ${a})`; } return `hsl(${getVarValue(Prefix.color, `${c}-${v}`)})`; }; /** * Generates a lighter color variation of the main color. Increase luminosity by value. * @param key main color key * @param light Value to increase luminosity by * @param a opacity (optional) */ export const colorLighter: GumModify = (key, light, a) => colorModify(key, light, a); /** * Generates a darker color variation of the main color. Reduce luminosity by value. * @param key main color key * @param light Value to descrease luminosity by * @param a opacity (optional) */ export const colorDarken: GumModify = (key, light, a) => colorModify(key, light * -1, a);