To install Sass 1.27.0, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
-
Adds an overload to
map.merge()
that supports merging a nested map.map.merge($map1, $keys..., $map2)
: The$keys
form a path to the nested map in$map1
, into which$map2
gets merged.See the Sass documentation for more details.
-
Adds an overloaded
map.set()
function.map.set($map, $key, $value)
: Adds to or updates$map
with the specified$key
and$value
.map.set($map, $keys..., $value)
: Adds to or updates a map that is nested within$map
. The$keys
form a path to the nested map in$map
, into which$value
is inserted.See the Sass documentation for more details.
-
Add support for nested maps to
map.get()
. For example,map.get((a: (b: (c: d))), a, b, c)
would returnd
. See the documentation for more details. -
Add support for nested maps in
map.has-key
. For example,map.has-key((a: (b: (c: d))), a, b, c)
would return true. See the documentation for more details. -
Add a
map.deep-merge()
function. This works likemap.merge()
, except that nested map values are also recursively merged. For example:map.deep-merge( (color: (primary: red, secondary: blue), (color: (secondary: teal) ) // => (color: (primary: red, secondary: teal))
See the Sass documentation for more details.
-
Add a
map.deep-remove()
function. This allows you to remove keys from nested maps by passing multiple keys. For example:map.deep-remove( (color: (primary: red, secondary: blue)), color, primary ) // => (color: (secondary: blue))
See the Sass documentation for more details.
-
Fix a bug where custom property values in plain CSS were being parsed as normal property values.
Dart API
- Add a
Value.tryMap()
function which returns theValue
as aSassMap
if it's a valid map, ornull
otherwise. This allows function authors to safely retrieve maps even if they're internally stored as empty lists, without having to catch exceptions fromValue.assertMap()
.
See the full changelog for changes in earlier releases.