This page also acts as a hub for various large-scale component API decisions
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]]