I absolutely love Harry’s post about creating agnostic UI components for more resilient design systems.

I get this question a lot: how do I create a component that looks/behaves one way in one context, but another way in a second context? And I usually respond by telling them those should be two different components. People don’t like hearing this because it involves making and maintaining more design patterns, but ultimately that’s what you need to do if you want to be able to create robust, resilient design systems.