From 8df0d3a54d0bc554b6ec669c1c34bcde9c432769 Mon Sep 17 00:00:00 2001 From: Martijn Cuppens Date: Mon, 6 Apr 2020 15:22:35 +0200 Subject: [PATCH] Backport #30391 transition() mixin prevent redundant 'transition: none' and pass `null` --- scss/mixins/_transition.scss | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/scss/mixins/_transition.scss b/scss/mixins/_transition.scss index 54983d736c59..54553deb9c67 100644 --- a/scss/mixins/_transition.scss +++ b/scss/mixins/_transition.scss @@ -1,13 +1,23 @@ // stylelint-disable property-blacklist @mixin transition($transition...) { + @if length($transition) == 0 { + $transition: $transition-base; + } + + @if length($transition) > 1 { + @each $value in $transition { + @if $value == null or $value == none { + @warn "The keyword 'none' or 'null' must be used as a single argument."; + } + } + } + @if $enable-transitions { - @if length($transition) == 0 { - transition: $transition-base; - } @else { + @if nth($transition, 1) != null { transition: $transition; } - @if $enable-prefers-reduced-motion-media-query { + @if $enable-prefers-reduced-motion-media-query and nth($transition, 1) != null and nth($transition, 1) != none { @media (prefers-reduced-motion: reduce) { transition: none; }