diff --git a/CHANGELOG.md b/CHANGELOG.md index 1fcc3002e..85d383847 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ * Fix a bug with `@extend` superselector calculations. +* Allow a single number to be passed to `saturate()` for use in filter contexts. + * Fix a bug where `**/` would fail to close a loud comment. ## 1.0.0-alpha.4 diff --git a/lib/src/functions.dart b/lib/src/functions.dart index cdd1cdd69..80ff476e4 100644 --- a/lib/src/functions.dart +++ b/lib/src/functions.dart @@ -185,13 +185,22 @@ void defineCoreFunctions(Environment environment) { .clamp(0, 100)); }); - environment.defineFunction("saturate", r"$color, $amount", (arguments) { - var color = arguments[0].assertColor("color"); - var amount = arguments[1].assertNumber("amount"); - return color.changeHsl( - saturation: (color.saturation + amount.valueInRange(0, 100, "amount")) - .clamp(0, 100)); - }); + environment.setFunction(new BuiltInCallable.overloaded("saturate", [ + r"$number", + r"$color, $amount", + ], [ + (arguments) { + var number = arguments[0].assertNumber("number"); + return new SassString("saturate(${number.toCssString()})"); + }, + (arguments) { + var color = arguments[0].assertColor("color"); + var amount = arguments[1].assertNumber("amount"); + return color.changeHsl( + saturation: (color.saturation + amount.valueInRange(0, 100, "amount")) + .clamp(0, 100)); + } + ])); environment.defineFunction("desaturate", r"$color, $amount", (arguments) { var color = arguments[0].assertColor("color");