Development Principles

  • Props over Composition where possible
  • The least self-referential as possible
  • Design controlled using CSS Variables
  • Complete control, but excellent defaults

Props over Composition where possible

Props over Composition simplifies components.

The least self-referential as possible

Some components benefit from the styles and functionality of other (usually lower-level) components. A common use-case is the <Button> component, which is used in a few higher-level components. However, I try to keep this at a minimum so that a change in a component is as much self-contained as possible.

Design controlled using CSS Variables

This library is made with a clear separation of concerns in mind. When you're building you don't have to focus on design, just use the default CSS file. When the designer comes in, open up the CSS file that contains all the CSS Vars and build your custom design.

Complete control, but excellent defaults

Even though you have complete control over the components - the code is yours - you'll rarelly have to change anything. The defaults are excellent and the design is completelly controlled by CSS Variables.