From 8024185d3930613a917fcf58bb8517c436c9b223 Mon Sep 17 00:00:00 2001 From: ysds Date: Thu, 13 Feb 2020 01:20:20 +0900 Subject: [PATCH 1/3] Avoid border-radius functions return negative values --- scss/mixins/_border-radius.scss | 39 ++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/scss/mixins/_border-radius.scss b/scss/mixins/_border-radius.scss index 88aeb37d818c..1d2df35dd979 100644 --- a/scss/mixins/_border-radius.scss +++ b/scss/mixins/_border-radius.scss @@ -1,9 +1,22 @@ // stylelint-disable property-blacklist // Single side border-radius +// Helper function to replace negative value to 0 +@function valid-radius($radius) { + $return: (); + @each $value in $radius { + @if type-of($value) == number { + $return: append($return, max($value, 0)); + } @else { + $return: append($return, $value); + } + } + @return $return; +} + @mixin border-radius($radius: $border-radius, $fallback-border-radius: false) { @if $enable-rounded { - border-radius: $radius; + border-radius: valid-radius($radius); } @else if $fallback-border-radius != false { border-radius: $fallback-border-radius; @@ -12,52 +25,52 @@ @mixin border-top-radius($radius) { @if $enable-rounded { - border-top-left-radius: $radius; - border-top-right-radius: $radius; + border-top-left-radius: valid-radius($radius); + border-top-right-radius: valid-radius($radius); } } @mixin border-right-radius($radius) { @if $enable-rounded { - border-top-right-radius: $radius; - border-bottom-right-radius: $radius; + border-top-right-radius: valid-radius($radius); + border-bottom-right-radius: valid-radius($radius); } } @mixin border-bottom-radius($radius) { @if $enable-rounded { - border-bottom-right-radius: $radius; - border-bottom-left-radius: $radius; + border-bottom-right-radius: valid-radius($radius); + border-bottom-left-radius: valid-radius($radius); } } @mixin border-left-radius($radius) { @if $enable-rounded { - border-top-left-radius: $radius; - border-bottom-left-radius: $radius; + border-top-left-radius: valid-radius($radius); + border-bottom-left-radius: valid-radius($radius); } } @mixin border-top-left-radius($radius) { @if $enable-rounded { - border-top-left-radius: $radius; + border-top-left-radius: valid-radius($radius); } } @mixin border-top-right-radius($radius) { @if $enable-rounded { - border-top-right-radius: $radius; + border-top-right-radius: valid-radius($radius); } } @mixin border-bottom-right-radius($radius) { @if $enable-rounded { - border-bottom-right-radius: $radius; + border-bottom-right-radius: valid-radius($radius); } } @mixin border-bottom-left-radius($radius) { @if $enable-rounded { - border-bottom-left-radius: $radius; + border-bottom-left-radius: valid-radius($radius); } } From ac8916fe9337abf0ef250a741e73abaf275a6427 Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Wed, 12 Feb 2020 19:43:57 +0200 Subject: [PATCH 2/3] Update _border-radius.scss --- scss/mixins/_border-radius.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scss/mixins/_border-radius.scss b/scss/mixins/_border-radius.scss index 1d2df35dd979..f3c36d5a6203 100644 --- a/scss/mixins/_border-radius.scss +++ b/scss/mixins/_border-radius.scss @@ -1,7 +1,7 @@ // stylelint-disable property-blacklist // Single side border-radius -// Helper function to replace negative value to 0 +// Helper function to replace negative value with 0 @function valid-radius($radius) { $return: (); @each $value in $radius { From dbf311dbf177bd4f03a0c5cd3be968afd8bfb3d4 Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Wed, 12 Feb 2020 19:44:37 +0200 Subject: [PATCH 3/3] Update _border-radius.scss --- scss/mixins/_border-radius.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scss/mixins/_border-radius.scss b/scss/mixins/_border-radius.scss index f3c36d5a6203..aee9bf3d3e1a 100644 --- a/scss/mixins/_border-radius.scss +++ b/scss/mixins/_border-radius.scss @@ -1,7 +1,7 @@ // stylelint-disable property-blacklist // Single side border-radius -// Helper function to replace negative value with 0 +// Helper function to replace negative values with 0 @function valid-radius($radius) { $return: (); @each $value in $radius {