Enter & exit, in a grid.
Render a list; add or remove items in your LiveView. Shift animates each card in when it arrives and out when it leaves — no per-element wiring.
Add and remove items in a grid.
<.animated
:for={card <- @cards}
id={card.id}
initial={%{y: 16, scale: 0.95}}
exit={%{y: -16, scale: 0.95}}
>
{card.n}
</.animated>