aboutsummaryrefslogtreecommitdiff
path: root/node_modules/stylus/lib/functions/hue.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/stylus/lib/functions/hue.js')
-rw-r--r--node_modules/stylus/lib/functions/hue.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/node_modules/stylus/lib/functions/hue.js b/node_modules/stylus/lib/functions/hue.js
new file mode 100644
index 00000000..3652f9d3
--- /dev/null
+++ b/node_modules/stylus/lib/functions/hue.js
@@ -0,0 +1,34 @@
+var nodes = require('../nodes')
+ , hsla = require('./hsla')
+ , component = require('./component');
+
+/**
+ * Return the hue component of the given `color`,
+ * or set the hue component to the optional second `value` argument.
+ *
+ * Examples:
+ *
+ * hue(#00c)
+ * // => 240deg
+ *
+ * hue(#00c, 90deg)
+ * // => #6c0
+ *
+ * @param {RGBA|HSLA} color
+ * @param {Unit} [value]
+ * @return {Unit|RGBA}
+ * @api public
+ */
+
+module.exports = function hue(color, value){
+ if (value) {
+ var hslaColor = color.hsla;
+ return hsla(
+ value,
+ new nodes.Unit(hslaColor.s),
+ new nodes.Unit(hslaColor.l),
+ new nodes.Unit(hslaColor.a)
+ )
+ }
+ return component(color, new nodes.String('hue'));
+};