CSS Theme Manager
Zero dependency lib to manage CSS themes easily for your app
How to use
Install the package
npm install css-theme-manager --save
// or with yarn
yarn add css-theme-manager
Import it and init the CSS Theme Manager with a default theme.
A theme
is an object with the name of your variables as keys and the value of the variables as the value.
import CSSThemeManager from './manager'
const themeManager = new CSSThemeManager({
'bg-color': '#fff',
'text-color': '#darkblue',
'featured-font': 'Verdana, sans-serif'
})
This will create and insert the given variables in the :root
selector.
All the variables created with this CSS Theme Manager will have a csstm-
prefix.
The code above will result in:
:root {
--csstm-bg-color: '#fff';
--csstm-text-color: '#darkblue';
--csstm-featured-font: 'Verdana, sans-serif';
}
Check the API Reference below to check all that you can do with this package.
API Reference
createTheme(name: String, config: Object)
Creates and registers a new theme with the given name and config.
themeManager.createTheme('dark', {
'bg-color': '#222',
'text-color': '#ddd'
})
applyTheme(selector: String, theme: String)
Applies the given theme to all elements matching the given selector. You can pass any selector you would pass to the document.querySelectorAll function.
themeManager.createTheme('dark', {
'bg-color': '#222',
'text-color': '#ddd'
})
themeManager.applyTheme('html', 'dark')
removeTheme(theme: String)
Removes and unregisters the given theme.
themeManager.createTheme('dark', {
'bg-color': '#222',
'text-color': '#ddd'
})
themeManager.applyTheme('html', 'dark')
themeManager.removeTheme('dark')
Contributors
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!