import { animate, state, style, transition, trigger } from '@angular/animations'; export const fadeInState = state('fadeIn', style({opacity: 1})); export const fadeInEnter = transition('* => fadeIn', [ style({ opacity: 0 }), animate(300, style({ opacity: 1 })) ]); const fadeEnter = transition(':enter', [ style({ opacity: 0 }), animate(300, style({ opacity: 1 })) ]); export const fadeOutState = state('fadeOut', style({opacity: 0})); export const fadeOutLeave = transition('fadeIn => fadeOut', [ style({ opacity: 1 }), animate(400, style({ opacity: 0 })) ]); const fadeLeave = transition(':leave', [ style({ opacity: 0 }), animate(300, style({ opacity: 1 })) ]); export const fadeIn = trigger('fadeIn', [ fadeEnter ]); export const fadeOut = trigger('fadeOut', [ fadeLeave ]); export const fadeInOut = trigger('fadeInOut', [ fadeEnter, fadeLeave ]);