Announcing the latest addition to the Bourbon suite! Meet Refills’ less fashionable sibling, Empties, a new library of components that are completely – or for the most part – unstyled.
A few years ago we came up with the idea for the Refills Components Library to avoid having to “reinvent the wheel” over and over again with some basic layout components and patterns.
In contrast with some frameworks that make you download a large amount of code – that should be tucked away deep in a special folder and never altered – we wanted Refills to be simple, small, and customizable to avoid blocks and technical debt.
And it worked fine. But it wasn’t perfect. Soon we ran into some issues.
For example, quite often you find yourself in the middle of a project when you need a component, and at that point it’s important that whatever you introduce shouldn’t carry too much of its own style. When using Refills we sometimes found ourselves in situations where we had to do an unnecessary “cleaning up” of variables, colors, spacings, and borders before being able to fully incorporate a component.
Another issue was the interfacing between other Bourbon family members and Refills. At first, we required an installation of Bitters for using Refills, but then we realized that this might not be ideal for every user. Some existing projects have other scaffolding and variable files than Bitters and they would have a lot of unrecognized variables to deal with. We ended up somewhere in between where Bitters was not required, but if you wanted to use it you could do so by tying into the relevant variable names. We decided to use variables that were to be overwritten if Bitters was introduced. That worked in theory, but wasn’t optimal because a lot of overwritten variables would then stay in the SCSS files and add unneeded clutter.
A third problem with Refills is the risk of just “letting them be” and not integrating them in the rest of the styling for a project. This might happen due to lack of time or design experience, but the result is often a scattered and uneven feeling in the layout.
We created Empties, which is a component library with a focus on the function rather than the form. It is basically the same as Refills but without the styling. SCSS is kept to a minimum and we try to focus on the way the components work, rather than the way they look. Add your own styles, or use variables from your own project to these pre-built components. Number of code lines are optimized to make each component as easy as possible to work with. We believe this approach should be the cleanest and fastest way of getting nice and DRY code. Also: If you do use Bitters in your project we have set Empties up so it picks up the styles from there.
Empties is completely free and open source so try it out and let us know what you think!