code: function adjust(color, prop, amount){
    utils.assertColor(color, 'color');
    utils.assertString(prop, 'prop');
    utils.assertType(amount, 'unit', 'amount');
    var hsl = color.hsla.clone();
    prop = { hue: 'h', saturation: 's', lightness: 'l' }[prop.string];
    if (!prop) throw new Error('invalid adjustment property');
    var val = amount.val;
    if ('%' == amount.type){
      val = 'l' == prop && val > 0
        ? (100 - hsl[prop]) * val / 100
        : hsl[prop] * (val / 100);
    }
    hsl[prop] += val;
    return hsl.rgba;
  }
docs: Adjust HSL `color` `prop` by `amount`.
  
  @param {RGBA|HSLA} color
  @param {String} prop
  @param {Unit} amount
  @return {RGBA}
  @api private