hsl.js 715 B

12345678910111213141516171819202122232425262728293031323334353637
  1. var utils = require('../utils')
  2. , nodes = require('../nodes')
  3. , hsla = require('./hsla');
  4. /**
  5. * Convert the given `color` to an `HSLA` node,
  6. * or h,s,l component values.
  7. *
  8. * Examples:
  9. *
  10. * hsl(10, 50, 30)
  11. * // => HSLA
  12. *
  13. * hsl(#ffcc00)
  14. * // => HSLA
  15. *
  16. * @param {Unit|HSLA|RGBA} hue
  17. * @param {Unit} saturation
  18. * @param {Unit} lightness
  19. * @return {HSLA}
  20. * @api public
  21. */
  22. function hsl(hue, saturation, lightness){
  23. if (1 == arguments.length) {
  24. utils.assertColor(hue, 'color');
  25. return hue.hsla;
  26. } else {
  27. return hsla(
  28. hue
  29. , saturation
  30. , lightness
  31. , new nodes.Unit(1));
  32. }
  33. };
  34. hsl.params = ['hue', 'saturation', 'lightness'];
  35. module.exports = hsl;