Vue users are easy to implement such item shuffle animations, see their official docs:

I search a lot but can't find a solution for Angular users. ngFor seems to switch item contents instead of moving items when shuffling them.
Here's my demo: http://embed.plnkr.co/3IcKcC/
When you click shift, you should see items move animation thanks to li {transform: all 1s;}. But when you shuffle them, there's no animation. So I'm here asking for a solution.
