Internal components.
WHEN IT IS WARRANTED
Several projects sharing an interface A distinctive design system Long-lived applications
WHAT IT REQUIRES
Ongoing ownership Documentation Versioning A release process Accessibility expertise
WHAT MOST ORGANISATIONS UNDERESTIMATE
The ongoing cost.
WHAT TO BUILD FIRST
The components used most: buttons, inputs, selects, dialogs.
WHAT TO BASE INTERACTIVE COMPONENTS ON
Accessible primitives, rather than building behaviour from nothing.
WHY
Correct behaviour is hard, and repeatedly reimplemented badly.
WHAT TO DEFINE FOR EACH COMPONENT
Its props Every state When to use it, and when not Accessibility requirements
WHAT TO PROVIDE
A documentation site with live examples.
WHY
A library nobody can browse is not used.
WHAT TO VERSION CAREFULLY
Anything changing an existing component's behaviour or appearance.
WHAT TO TEST
Accessibility, on every component, automatically and manually.
WHAT TO AVOID
A library nobody asked for.