UNPKG

723 BJavaScriptView Raw
1/**
2 * Module dependencies.
3 */
4var postcss = require("postcss")
5var helpers = require("postcss-message-helpers")
6var color = require("color")
7var reduceFunctionCall = require("reduce-function-call")
8
9function reduceHwb(body) {
10 return color("hwb(" + body + ")").rgb().string()
11}
12
13/**
14 * PostCSS plugin to transform hwb() to rgb()
15 */
16module.exports = postcss.plugin("postcss-color-hwb", function() {
17 return function(style) {
18 style.walkDecls(function transformDecl(decl) {
19 if (!decl.value || decl.value.indexOf("hwb(") === -1) {
20 return
21 }
22
23 decl.value = helpers.try(function transformHwb() {
24 return reduceFunctionCall(decl.value, "hwb", reduceHwb)
25 }, decl.source)
26 })
27 }
28})