Martin McKeaveney
Software Engineer @
Open Source Contributor
Aesthetics
Accessibility
Theme variables or config
A way to change them
Not all CSS features are supported (pseudo-selectors)
Have to write your own theming logic
Requires compilation step
Duplicates compiled CSS increasing bundle size
No access to individual variables
Can't create new themes at runtime
A small (7kb minified), blazing fast theming library powered by CSS custom properties (also known as CSS4 Variables) with absolutely zero dependencies.
Class based API
Manages state
Provides methods for manipulating CSS variables
Allows callbacks for all functions
Compiles JS object structure into CSS variable definition
Traverses the tree and flattens out nested nodes the whole way down
Spits out the resulting CSS rules as a string
Used for adding a new theme at runtime or through the CLI
Convert theme config into a CSS file in the CLI
Drop compiled css file into your application
Questions?