
Security News
Feross on the 10 Minutes or Less Podcast: Nobody Reads the Code
Socket CEO Feross Aboukhadijeh joins 10 Minutes or Less, a podcast by Ali Rohde, to discuss the recent surge in open source supply chain attacks.
dark-theme-switcher
Advanced tools
Package that allows you to easily switch the theme of your application between light and dark themes
This package allows you to easily add a theme switcher in your application. Depending on your needs, this can be done with just one line of code!
There are two ways to install this package:
You decide! ;)
Add the following script before body's closing tag :
<script src="https://cdn.jsdelivr.net/gh/luizfilipezs/dark-theme-switcher@latest/js/dark-theme-switcher.js"></script>
Inside your project, run:
npm i dark-theme-switcher
Import
CommonJS
const { ThemeSwitcher, ThemeSwitcherGenerator } = require('dark-theme-switcher');
ES6
import { ThemeSwitcher, ThemeSwitcherGenerator } from 'dark-theme-switcher';
ThemeSwitcherIf you want to enable any element to be the toggler, use ThemeSwitcher.
Its constructor has three parameters:
toggler: HTMLElement
callbackFunction?: (isDark: boolean) => void
isDark is a boolean that indicates if the current theme is darkoptions?: SwitcherOptions
Simple usage
// Target element
const toggler = document.getElementById('button');
// Switcher
new ThemeSwitcher(toggler).init();
Advanced usage
const toggler = document.getElementById('toggler');
const options = { transition: 200 }; // default is 150
const themeSwitcher = new ThemeSwitcher(toggler, isDark => {
isDark ?
toggler.setAttribute('src', '/path/to/sun-icon.png') :
toggler.setAttribute('src', '/path/to/moon-icon.png');
}, options);
themeSwitcher.init();
ThemeSwitcherGeneratorIt automatically creates a draggable button to switch the theme.
Its constructor has an unique parameter:
options?: GeneratorInitOptions
Basic usage
new ThemeSwitcherGenerator().init();
Advanced usage
new ThemeSwitcherGenerator({
transition: 100,
glow: true,
glowColor: '#fa4d5f',
backgroundColor: '#fafafa',
boxShadow: 'none',
sunIconUrl: 'https://link.to.icon/sun.png',
moonIconUrl: 'https://link.to.icon/moon.png',
size: 40,
contextMenuOptions: {
width: '100px',
height: '30px',
padding: '15px',
textColor: '#121212',
background: '#ccc',
boxShadow: '0px 5px 10px 0px rgba(77,77,77,0.16)',
borderRadius: '15px'
},
//useDefaultContextMenu: true // Disable context menu provided by dark-theme-switcher
}).init();
FAQs
Package that allows you to easily switch the theme of your application between light and dark themes
We found that dark-theme-switcher demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Socket CEO Feross Aboukhadijeh joins 10 Minutes or Less, a podcast by Ali Rohde, to discuss the recent surge in open source supply chain attacks.

Research
/Security News
Campaign of 108 extensions harvests identities, steals sessions, and adds backdoors to browsers, all tied to the same C2 infrastructure.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.