A package to handle light and dark mode and can extend even more...
npm install @designbycode/theme-managerbash
pnpm add @designbycode/theme-manager
`
#### Using npm
`bash
npm install @designbycode/theme-manager
`
#### Using yarn
`bash
yarn add @designbycode/theme-manager
`
Getting Started
To use the Theme Manager plugin, simply create a new instance of the ThemeManager class and pass in an optional array of additional theme values to support:
`typescript
const themeManager = new ThemeManager();
`
Initializing the Plugin
To initialize the plugin and set up event listeners, call the initButtons() method:
`typescript
themeManager.initButtons();
`
This will set up event listeners on all elements with a data-theme-name attribute.
Changing the Theme
To extend the theme list, add an array of names.
`typescript
const themeManager = new ThemeManager(['sepia', 'grayscale']);
`
Using the Plugin
$3
Here is an example of how to use the plugin in your web application:
`html
`
In this example, the plugin will set up event listeners on the three buttons and update the theme class on the document.documentElement element when a button is clicked.
$3
if you require only a single button to toggle the theme, you can use the following snippet.
`html
`
$3
You can access and set the theme by using the getter and setter.
#### Getter
`typescript
const themeManager = new ThemeManager()
themeManager.currentTheme // output 'dark'
`
#### Setter
`typescript
const themeManager = new ThemeManager()
document.getElementById('button')!.addEventListener('click', () => {
themeManager.currentTheme = 'sepia'
})
``