Andrew's Digital Garden

API flexibility in components

Flexibility is not always a good thing.

Flexibility allows for more footguns that need to be handled Flexibility can go against consistency, which in a design system is important e.g. don't want to allow any size text in a heading, it needs to be restricted Different levels of restriction for different components

Flexibility in how things used is good too Makes your components usable everywhere Your component fits all of the use cases well However flexibility of how you use the component is not necessarily the same as flexibility in what the component looks like/renders

Spotify refers to the two ends of the scale as 'customisation' (very flexible) and 'configuration' (less flexible). https://engineering.atspotify.com/2021/04/customization-vs-configuration-in-evolving-design-systems/

[[componentapi]] [[components]] [[designsystem]] [[designsystemapi]]

API flexibility in components