blob: 659bd3b82fe791612426005b22f2843dafdaf723 [file] [log] [blame]
/***********************************************************************************
VERTICAL COLLAPSE-EXPEND TRANSITION ANIMATION PAIR.
We use the 'transition-vertical-collapse' for the collapse/idle block element,
and the 'transition-vertical-expand' to expend that element.
-important: The element that will be used for the animation should be
a block element, adn have a content or width and height settings for it to work.
*********************************************************************************/
/**
Enable to fold an expended block element
@param $offsetY - The top position from which the drop down should fold
*/
@mixin keyframes-expand-animation($name, $maxHeight, $boxShadow:0 0 12px 0px rgba(0,0,0,.3), $margin:0){
@keyframes #{$name} {
0% {
opacity: 0;
max-height: 0;
overflow: hidden;
box-shadow: 0 0 0px 0px rgba(0,0,0,.3);
margin:0;
}
10% {
opacity: 1;
margin: $margin;
}
50% {
box-shadow: $boxShadow;
}
99%{
max-height:$maxHeight;
overflow: hidden;
}
100%{
opacity: 1;
max-height:$maxHeight;
overflow: auto;
}
}
}
/**
Enable to expend a folded block element
@param $maxHeight - most of the animation is done over the max-height property
so we have to set the maximum height the expended element can expend to.
*/
@mixin keyframes-collapse-animation($name, $maxHeight, $boxShadow:0 0 12px 0px rgba(0,0,0,.3)){
@keyframes #{$name} {
0% {
opacity: 1;
max-height:$maxHeight;
box-shadow: $boxShadow;
overflow: hidden;
}
40%{
opacity: 1;
}
99%{
opacity: 0;
max-height: 0;
overflow: hidden;
box-shadow: 0 0 0px 0px rgba(0,0,0,.3);
}
100%{
opacity: 0;
max-height: 0;
overflow: auto;
}
}
}
/********************************************************************************
SIMPLE FADE-IN KEYFRAMES ANIMATION (Used in tooltip for example)
we use 'mixin-keyframes-fade-in-vertically' to create css @keyframes rule that
we later can use with animation property inside our prefered css rules:
.our_class {
...
animation: keyframes-fade-in-vertically 1s ease-out;
...
}
*********************************************************************************/
@mixin mixin-keyframes-fade-in-vertically($fromRelativeHeight, $keyframesName:keyframes-fade-in-vertically){
@keyframes #{$keyframesName} {
from {
transform: translateY($fromRelativeHeight);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
}
/********************************************************************************
SIMPLE FADE-OUT KEYFRAMES ANIMATION (Opposite of fade-in mixin above)
*********************************************************************************/
@mixin mixin-keyframes-fade-out-vertically($toRelativeHeight, $keyframesName:keyframes-fade-out-vertically){
@keyframes #{$keyframesName} {
from {
transform: translateY(0);
opacity: 1;
}
to {
transform: translateY($toRelativeHeight);
opacity: 0;
}
}
}
/********************************************************************************
RIPPLE ANIMATION (Used for ripple-click directive)
*********************************************************************************/
@keyframes ripple-animation {
from {
transform: scale(0,0);
opacity: 1;
}
to {
transform: scale(2,2);
opacity: 0;
}
}
.sdc-ripple-click__animated {
position:relative;
}
.sdc-ripple-click__animated::before{
display: inline-block;
position:absolute;
top: 0;
left: 0;
content: '';
animation: ripple-animation .3s ease-out;
background-color: $blue;
width: 14px;
height: 14px;
border-radius: 50%;
pointer-events: none;
opacity: 0;
}