fix(scss): `!default` directive (#3724)

master
Evilebot Tnawi 2018-01-12 14:12:02 +03:00 committed by Lucas Azzola
parent 2155465c88
commit 934f679705
4 changed files with 48 additions and 0 deletions

View File

@ -161,6 +161,8 @@ function parseMediaQuery(value) {
return addTypePrefix(result, "media-"); return addTypePrefix(result, "media-");
} }
const DEFAULT_SCSS_DIRECTIVE = "!default";
function parseNestedCSS(node) { function parseNestedCSS(node) {
if (node && typeof node === "object") { if (node && typeof node === "object") {
delete node.parent; delete node.parent;
@ -189,6 +191,11 @@ function parseNestedCSS(node) {
} }
if (node.type && typeof node.value === "string") { if (node.type && typeof node.value === "string") {
try { try {
if (node.value.endsWith(DEFAULT_SCSS_DIRECTIVE)) {
node.default = true;
node.value = node.value.slice(0, -DEFAULT_SCSS_DIRECTIVE.length);
}
node.value = parseValue(node.value); node.value = parseValue(node.value);
} catch (e) { } catch (e) {
throw createError( throw createError(

View File

@ -96,6 +96,7 @@ function genericPrint(path, options, print) {
? removeLines(path.call(print, "value")) ? removeLines(path.call(print, "value"))
: path.call(print, "value"), : path.call(print, "value"),
n.important ? " !important" : "", n.important ? " !important" : "",
n.default ? " !default" : "",
n.nodes n.nodes
? concat([ ? concat([
" {", " {",

View File

@ -19,6 +19,20 @@ div {
} }
a { margin: 0 { left: 10px; } } a { margin: 0 { left: 10px; } }
$map: (color: #111111, text-shadow: 1px 1px 0 salmon); $map: (color: #111111, text-shadow: 1px 1px 0 salmon);
$theme-checkbox-colors: (
default: $theme-color-border,
checked: $theme-color-checked,
disabled: $theme-color-disabled,
disabled-font: $theme-color-font-secondary,
) !default;
$default: #111111 !default;
$default: #111111 !default;
$default: #111111
!default;
$default: "very-long-long-long-long-long-long-long-long-long-long-long-value" !default;
$default: "very-long-long-long-long-long-long-long-long-long-long-long-value" !default;
$default: "very-long-long-long-long-long-long-long-long-long-long-long-value"
!default;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@media #{$g-breakpoint-tiny} { @media #{$g-breakpoint-tiny} {
} }
@ -43,5 +57,17 @@ $map: (
color: #111111, color: #111111,
text-shadow: 1px 1px 0 salmon text-shadow: 1px 1px 0 salmon
); );
$theme-checkbox-colors: (
default: $theme-color-border,
checked: $theme-color-checked,
disabled: $theme-color-disabled,
disabled-font: $theme-color-font-secondary
) !default;
$default: #111111 !default;
$default: #111111 !default;
$default: #111111 !default;
$default: "very-long-long-long-long-long-long-long-long-long-long-long-value" !default;
$default: "very-long-long-long-long-long-long-long-long-long-long-long-value" !default;
$default: "very-long-long-long-long-long-long-long-long-long-long-long-value" !default;
`; `;

View File

@ -9,3 +9,17 @@ div {
} }
a { margin: 0 { left: 10px; } } a { margin: 0 { left: 10px; } }
$map: (color: #111111, text-shadow: 1px 1px 0 salmon); $map: (color: #111111, text-shadow: 1px 1px 0 salmon);
$theme-checkbox-colors: (
default: $theme-color-border,
checked: $theme-color-checked,
disabled: $theme-color-disabled,
disabled-font: $theme-color-font-secondary,
) !default;
$default: #111111 !default;
$default: #111111 !default;
$default: #111111
!default;
$default: "very-long-long-long-long-long-long-long-long-long-long-long-value" !default;
$default: "very-long-long-long-long-long-long-long-long-long-long-long-value" !default;
$default: "very-long-long-long-long-long-long-long-long-long-long-long-value"
!default;