Please refer to this article (it contains some demo, I have tested it in angular 7 and on IE, Edge and Chrome browsers, they all works well), I suggest you could try to use the following code to use the animation:
import {trigger, stagger, animate, style, group, query as q, transition, keyframes} from '@angular/animations';
const query = (s,a,o={optional:true})=>q(s,a,o);
export const branchTransition = trigger('branchTransition', [
transition(':enter', [
query('.block', style({ opacity: 0 })),
query('.block', stagger(300, [
style({ transform: 'translateY(100px)' }),
animate('1s cubic-bezier(.75,-0.48,.26,1.52)', style({transform: 'translateY(0px)', opacity: 1})),
])),
]),
transition(':leave', [
query('.block', stagger(300, [
style({ transform: 'translateY(0px)', opacity: 1 }),
animate('1s cubic-bezier(.75,-0.48,.26,1.52)', style({transform: 'translateY(100px)', opacity: 0})),
])),
])
]);
@Component({
selector: 'app-branch',
templateUrl: './branch.component.html',
styleUrls: ['./branch.component.css'],
animations: [branchTransition],
host: { '[@branchTransition]': '' }
})
Besides, you could also check the official document to use Route transition animations.