Tangentially related. It bothers me a lot that we have to add classes like header--large onto a component. The classname header--large should be able to automatically switch depending on it's parent containers size (and not the window size like media queries work). My component may be presented it 3 different styles depending on the size constraints of it's container and hard-coding --large into the classname just makes it a hack. It's not large on mobile so why am I overriding the styles of my desktop header--large classname.
Ideal situation, parent container media queries so that variations can be kept solely in css and you could just drop a component into anywhere. I'm guessing there are some circular dependency issues stopping this from working maybe?