// Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE in the project root for license information. // // Office UI Fabric // -------------------------------------------------- // Fabric Animations // Note that all animation classes should begin with the "ms-u" utility prefix. // The original class names are deprecated and will be removed in a future release. // Variables $ms-ease1: cubic-bezier(0.1,0.9,0.2,1); $ms-ease2: cubic-bezier(0.1,0.25,0.75,0.9); $ms-duration1: 0.167s; $ms-duration2: 0.267s; $ms-duration3: 0.367s; $ms-duration4: 0.467s; // Animation mixin @mixin animationMix($ms-name, $ms-duration, $ms-ease: $ms-ease1, $ms-fillMode: both) { @include animationName($ms-name); @include animationDuration($ms-duration); @include animationTiming($ms-ease); @include animationFillMode($ms-fillMode); } // slideRightIn40 @mixin ms-u-slideRightIn40 { @include animationMix((fadeIn, slideRightIn40), $ms-duration3, $ms-ease1); } // slideLeftIn40 @mixin ms-u-slideLeftIn40 { @include animationMix((fadeIn, slideLeftIn40), $ms-duration3, $ms-ease1); } // slideRightIn400 @mixin ms-u-slideRightIn400 { @include animationMix((fadeIn, slideRightIn400), $ms-duration3, $ms-ease1); } // slideLeftIn400 @mixin ms-u-slideLeftIn400 { @include animationMix((fadeIn, slideLeft400), $ms-duration3, $ms-ease1); } // slideUpIn20 @mixin ms-u-slideUpIn20 { @include animationMix((fadeIn, slideUpIn20), $ms-duration3, $ms-ease1); } // slideUpIn10 @mixin ms-u-slideUpIn10 { @include animationMix((fadeIn, slideUpIn10), $ms-duration1, $ms-ease2); } // slideDownIn20 @mixin ms-u-slideDownIn20 { @include animationMix((fadeIn, slideDownIn20), $ms-duration3, $ms-ease1); } // slideDownIn10 @mixin ms-u-slideDownIn10 { @include animationMix((fadeIn, slideDownIn10), $ms-duration1, $ms-ease2); } // slideRightOut40 @mixin ms-u-slideRightOut40 { @include animationMix((fadeOut, slideRightOut40), $ms-duration1, $ms-ease2); } // slideLeftOut40 @mixin ms-u-slideLeftOut40 { @include animationMix((fadeOut, slideLeftOut40), $ms-duration1, $ms-ease2); } // slideRightOut400 @mixin ms-u-slideRightOut400 { @include animationMix((fadeOut, slideRightOut400), $ms-duration1, $ms-ease2); } // slideLeftOut400 @mixin ms-u-slideLeftOut400 { @include animationMix((fadeOut, slideLeftOut400), $ms-duration1, $ms-ease2); } // slideUpOut20 @mixin ms-u-slideUpOut20 { @include animationMix((fadeOut, slideUpOut20), $ms-duration1, $ms-ease2); } // slideUpOut10 @mixin ms-u-slideUpOut10 { @include animationMix((fadeOut, slideUpOut10), $ms-duration1, $ms-ease2); } // slideDownOut20 @mixin ms-u-slideDownOut20 { @include animationMix((fadeOut, slideDownOut20), $ms-duration1, $ms-ease2); } // slideDownOut10 @mixin ms-u-slideDownOut10 { @include animationMix((fadeOut, slideDownOut10), $ms-duration1, $ms-ease2); } // scaleUpIn100 @mixin ms-u-scaleUpIn100 { @include animationMix((fadeIn, scaleUp100), $ms-duration3, $ms-ease1); } // scaleDownIn100 @mixin ms-u-scaleDownIn100 { @include animationMix((fadeIn, scaleDown100), $ms-duration3, $ms-ease1); } // scaleUpOut103 @mixin ms-u-scaleUpOut103 { @include animationMix((fadeOut, scaleUp103), $ms-duration1, $ms-ease2); } // scaleDownOut98 @mixin ms-u-scaleDownOut98 { @include animationMix((fadeOut, scaleDown98), $ms-duration1, $ms-ease2); } // fadeIn @mixin ms-u-fadeIn400 { -webkit-animation-duration: $ms-duration3; -webkit-animation-name: fadeIn; -webkit-animation-fill-mode: both; animation-duration: $ms-duration3; animation-name: fadeIn; animation-fill-mode: both; } @mixin ms-u-fadeIn100 { @include ms-u-fadeIn400; -webkit-animation-duration: $ms-duration1; animation-duration: $ms-duration1; } @mixin ms-u-fadeIn200 { @include ms-u-fadeIn400; -webkit-animation-duration: $ms-duration2; animation-duration: $ms-duration2; } @mixin ms-u-fadeIn500 { @include ms-u-fadeIn400; -webkit-animation-duration: $ms-duration4; animation-duration: $ms-duration4; } // fadeOut @mixin ms-u-fadeOut400 { -webkit-animation-duration: $ms-duration3; -webkit-animation-name: fadeOut; -webkit-animation-fill-mode: both; animation-duration: $ms-duration3; animation-name: fadeOut; animation-fill-mode: both; } @mixin ms-u-fadeOut100 { @include ms-u-fadeOut400; -webkit-animation-duration: 0.1s; animation-duration: 0.1s; } @mixin ms-u-fadeOut200 { @include ms-u-fadeOut400; -webkit-animation-duration: $ms-duration1; animation-duration: $ms-duration1; } @mixin ms-u-fadeOut500 { @include ms-u-fadeOut400; -webkit-animation-duration: $ms-duration4; animation-duration: $ms-duration4; } // rotate90deg @mixin ms-u-rotate90deg { @include animationMix(rotate90, 0.1s, $ms-ease2); } // rotateN90deg @mixin ms-u-rotateN90deg { @include animationMix(rotateN90, 0.1s, $ms-ease2); } // expandCollapse400 @mixin ms-u-expandCollapse400 { -webkit-transition: height $ms-duration3 $ms-ease2; transition: height $ms-duration3 $ms-ease2; } // expandCollapse200 @mixin ms-u-expandCollapse200 { -webkit-transition: height $ms-duration1 $ms-ease2; transition: height $ms-duration1 $ms-ease2; } // expandCollapse100 @mixin ms-u-expandCollapse100 { -webkit-transition: height 0.1s $ms-ease2; transition: height 0.1s $ms-ease2; } // delay100 @mixin ms-u-delay100 { -webkit-animation-delay: $ms-duration1; animation-delay: $ms-duration1; } // delay200 @mixin ms-u-delay200 { -webkit-animation-delay: 0.267s; animation-delay: 0.267s; }