365 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			SCSS
		
	
	
	
	
	
			
		
		
	
	
			365 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			SCSS
		
	
	
	
	
	
@use '../settings';
 | 
						|
 | 
						|
@mixin transition-default() {
 | 
						|
  &-enter-active {
 | 
						|
    transition-duration: 0.3s !important;
 | 
						|
    transition-timing-function: settings.$standard-easing !important;
 | 
						|
  }
 | 
						|
 | 
						|
  &-leave-active {
 | 
						|
    transition-duration: 0.3s !important;
 | 
						|
    transition-timing-function: settings.$standard-easing !important;
 | 
						|
  }
 | 
						|
 | 
						|
  &-move {
 | 
						|
    transition-duration: 0.5s !important;
 | 
						|
    transition-property: transform !important;
 | 
						|
    transition-timing-function: settings.$standard-easing !important;
 | 
						|
  }
 | 
						|
}
 | 
						|
@mixin fade-out() {
 | 
						|
  &-leave-to {
 | 
						|
    opacity: 0;
 | 
						|
  }
 | 
						|
  &-leave-active {
 | 
						|
    transition-duration: 100ms !important;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
// Component specific transitions
 | 
						|
.dialog-transition,
 | 
						|
.dialog-bottom-transition,
 | 
						|
.dialog-top-transition {
 | 
						|
  &-enter-active {
 | 
						|
    transition-duration: 225ms !important;
 | 
						|
    transition-timing-function: settings.$decelerated-easing !important;
 | 
						|
  }
 | 
						|
 | 
						|
  &-leave-active {
 | 
						|
    transition-duration: 125ms !important;
 | 
						|
    transition-timing-function: settings.$accelerated-easing !important;
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-active,
 | 
						|
  &-leave-active {
 | 
						|
    transition-property: transform, opacity !important;
 | 
						|
    pointer-events: none;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.dialog-transition {
 | 
						|
  &-enter-from, &-leave-to {
 | 
						|
    transform: scale(0.9);
 | 
						|
    opacity: 0;
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-to, &-leave-from {
 | 
						|
    opacity: 1;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.dialog-bottom-transition {
 | 
						|
  &-enter-from, &-leave-to {
 | 
						|
    transform: translateY(calc(50vh + 50%));
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.dialog-top-transition {
 | 
						|
  &-enter-from, &-leave-to {
 | 
						|
    transform: translateY(calc(-50vh - 50%));
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.picker-transition,
 | 
						|
.picker-reverse-transition {
 | 
						|
  @include transition-default();
 | 
						|
 | 
						|
  &-enter-from,
 | 
						|
  &-leave-to {
 | 
						|
    opacity: 0;
 | 
						|
  }
 | 
						|
 | 
						|
  &-leave-from,
 | 
						|
  &-leave-active,
 | 
						|
  &-leave-to {
 | 
						|
    position: absolute !important;
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-active,
 | 
						|
  &-leave-active {
 | 
						|
    transition-property: transform, opacity !important;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.picker-transition {
 | 
						|
  @include transition-default();
 | 
						|
 | 
						|
  &-enter-from {
 | 
						|
    transform: translate(0, 100%);
 | 
						|
  }
 | 
						|
 | 
						|
  &-leave-to {
 | 
						|
    transform: translate(0, -100%);
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.picker-reverse-transition {
 | 
						|
  @include transition-default();
 | 
						|
 | 
						|
  &-enter-from {
 | 
						|
    transform: translate(0, -100%);
 | 
						|
  }
 | 
						|
 | 
						|
  &-leave-to {
 | 
						|
    transform: translate(0, 100%);
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
// Generic transitions
 | 
						|
.expand-transition {
 | 
						|
  @include transition-default();
 | 
						|
 | 
						|
  &-enter-active,
 | 
						|
  &-leave-active {
 | 
						|
    transition-property: height !important;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.expand-x-transition {
 | 
						|
  @include transition-default();
 | 
						|
 | 
						|
  &-enter-active,
 | 
						|
  &-leave-active {
 | 
						|
    transition-property: width !important;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.scale-transition {
 | 
						|
  @include transition-default();
 | 
						|
  @include fade-out();
 | 
						|
 | 
						|
  &-enter-from {
 | 
						|
    opacity: 0;
 | 
						|
    transform: scale(0);
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-active,
 | 
						|
  &-leave-active {
 | 
						|
    transition-property: transform, opacity !important;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.scale-rotate-transition {
 | 
						|
  @include transition-default();
 | 
						|
  @include fade-out();
 | 
						|
 | 
						|
  &-enter-from {
 | 
						|
    opacity: 0;
 | 
						|
    transform: scale(0) rotate(-45deg);
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-active,
 | 
						|
  &-leave-active {
 | 
						|
    transition-property: transform, opacity !important;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.scale-rotate-reverse-transition {
 | 
						|
  @include transition-default();
 | 
						|
  @include fade-out();
 | 
						|
 | 
						|
  &-enter-from {
 | 
						|
    opacity: 0;
 | 
						|
    transform: scale(0) rotate(45deg);
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-active,
 | 
						|
  &-leave-active {
 | 
						|
    transition-property: transform, opacity !important;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.message-transition {
 | 
						|
  @include transition-default();
 | 
						|
 | 
						|
  &-enter-from, &-leave-to {
 | 
						|
    opacity: 0;
 | 
						|
    transform: translateY(-15px);
 | 
						|
  }
 | 
						|
 | 
						|
  &-leave-from, &-leave-active {
 | 
						|
    position: absolute;
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-active,
 | 
						|
  &-leave-active {
 | 
						|
    transition-property: transform, opacity !important;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.slide-y-transition {
 | 
						|
  @include transition-default();
 | 
						|
 | 
						|
  &-enter-from, &-leave-to {
 | 
						|
    opacity: 0;
 | 
						|
    transform: translateY(-15px);
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-active,
 | 
						|
  &-leave-active {
 | 
						|
    transition-property: transform, opacity !important;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.slide-y-reverse-transition {
 | 
						|
  @include transition-default();
 | 
						|
 | 
						|
  &-enter-from, &-leave-to {
 | 
						|
    opacity: 0;
 | 
						|
    transform: translateY(15px);
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-active,
 | 
						|
  &-leave-active {
 | 
						|
    transition-property: transform, opacity !important;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.scroll-y-transition {
 | 
						|
  @include transition-default();
 | 
						|
 | 
						|
  &-enter-from, &-leave-to {
 | 
						|
    opacity: 0;
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-from {
 | 
						|
    transform: translateY(-15px);
 | 
						|
  }
 | 
						|
 | 
						|
  &-leave-to {
 | 
						|
    transform: translateY(15px);
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-active,
 | 
						|
  &-leave-active {
 | 
						|
    transition-property: transform, opacity !important;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.scroll-y-reverse-transition {
 | 
						|
  @include transition-default();
 | 
						|
 | 
						|
  &-enter-from, &-leave-to {
 | 
						|
    opacity: 0;
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-from {
 | 
						|
    transform: translateY(15px);
 | 
						|
  }
 | 
						|
 | 
						|
  &-leave-to {
 | 
						|
    transform: translateY(-15px);
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-active,
 | 
						|
  &-leave-active {
 | 
						|
    transition-property: transform, opacity !important;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.scroll-x-transition {
 | 
						|
  @include transition-default();
 | 
						|
 | 
						|
  &-enter-from, &-leave-to {
 | 
						|
    opacity: 0;
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-from {
 | 
						|
    transform: translateX(-15px);
 | 
						|
  }
 | 
						|
 | 
						|
  &-leave-to {
 | 
						|
    transform: translateX(15px);
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-active,
 | 
						|
  &-leave-active {
 | 
						|
    transition-property: transform, opacity !important;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.scroll-x-reverse-transition {
 | 
						|
  @include transition-default();
 | 
						|
 | 
						|
  &-enter-from, &-leave-to {
 | 
						|
    opacity: 0;
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-from {
 | 
						|
    transform: translateX(15px);
 | 
						|
  }
 | 
						|
 | 
						|
  &-leave-to {
 | 
						|
    transform: translateX(-15px);
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-active,
 | 
						|
  &-leave-active {
 | 
						|
    transition-property: transform, opacity !important;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.slide-x-transition {
 | 
						|
  @include transition-default();
 | 
						|
 | 
						|
  &-enter-from, &-leave-to {
 | 
						|
    opacity: 0;
 | 
						|
    transform: translateX(-15px);
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-active,
 | 
						|
  &-leave-active {
 | 
						|
    transition-property: transform, opacity !important;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.slide-x-reverse-transition {
 | 
						|
  @include transition-default();
 | 
						|
 | 
						|
  &-enter-from, &-leave-to {
 | 
						|
    opacity: 0;
 | 
						|
    transform: translateX(15px);
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-active,
 | 
						|
  &-leave-active {
 | 
						|
    transition-property: transform, opacity !important;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.fade-transition {
 | 
						|
  @include transition-default();
 | 
						|
 | 
						|
  &-enter-from, &-leave-to {
 | 
						|
    opacity: 0 !important;
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-active,
 | 
						|
  &-leave-active {
 | 
						|
    transition-property: opacity !important;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.fab-transition {
 | 
						|
  @include transition-default();
 | 
						|
 | 
						|
  &-enter-from, &-leave-to {
 | 
						|
    transform: scale(0) rotate(-45deg);
 | 
						|
  }
 | 
						|
 | 
						|
  &-enter-active,
 | 
						|
  &-leave-active {
 | 
						|
    transition-property: transform !important;
 | 
						|
  }
 | 
						|
}
 |