Were I in your position, I would move heaven and earth to avoid going down that road, as it’s basically kicking Angular to the curb.
What I would do in this situation would likely be to create a custom component for each variation (or some subset of them that makes sense). You could then use a structure like skeletons and bones to do your ngFor
.