The animation module for Angular 1 was a game changer, and has since been copied by other libraries like Vue and React.   For Angular 2, they decided to take a different approach, and create their animation engine. At one point in time, they were looking at using GSAP, but went with using a declarative syntax with the Web Animations API instead. The end result has been pretty craptastic. Nobody uses it, not even the Angular Material team.   So how do you animate state changes