import { animate, animateChild, group, query, style, transition, trigger } from '@angular/animations'; // Note: The transition states must match the data property(key) // value defined in the route configuration. // From: https://angular.io/guide/route-animations#router-outlet export const slideInAnimation = trigger('routeAnimations', [ transition('HomePage <=> ProductsPage', [ style({ position: 'relative' }), query(':enter, :leave', [ style({ position: 'absolute', top: 0, left: 0, width: '100%' }) ]), query(':enter', [ style({ left: '-100%' }) ]), query(':leave', animateChild()), group([ query(':leave', [ animate('300ms ease-out', style({ left: '100%' })) ]), query(':enter', [ animate('300ms ease-out', style({ left: '0%' })) ]) ]), query(':enter', animateChild()), ]), transition('* <=> BlogPage', [ style({ position: 'relative' }), query(':enter, :leave', [ style({ position: 'absolute', top: 0, left: 0, width: '100%' }) ]), query(':enter', [ style({ left: '-100%' }) ]), query(':leave', animateChild()), group([ query(':leave', [ animate('200ms ease-out', style({ left: '100%' })) ]), query(':enter', [ animate('300ms ease-out', style({ left: '0%' })) ]) ]), query(':enter', animateChild()), ]), transition('* <=> ContactPage', [ style({ position: 'relative' }), query(':enter, :leave', [ style({ position: 'absolute', top: 0, left: 0, width: '100%' }) ]), query(':enter', [ style({ left: '-100%' }) ]), query(':leave', animateChild()), group([ query(':leave', [ animate('200ms ease-out', style({ left: '100%' })) ]), query(':enter', [ animate('300ms ease-out', style({ left: '0%' })) ]) ]), query(':enter', animateChild()), ]) ]);