Comments (1)
Firstly, great post at web.dev + good job with the element.
Thanks :-)
When the user toggles the color scheme, either via OS or via Chrome dev tools, the permanent setting is lost. Not sure if I got something wrong or I missed some detail or is this behaviour expected?
System-level color scheme changes are meant to override the toggle setting. The "remember" setting is meant to store the override given the current setting (you have your system permanently in one mode, and want the toggle to always override this mode). If you want to never ever change the toggle's value, you can listen for the colorschemechange
event and set the toggle back to your preferred state.
<dark-mode-toggle appearance="toggle" permanent dark="Dark Theme" light="Light Theme"></dark-mode-toggle>
const mode = localStorage.getItem('dark-mode-toggle');
const toggle = document.querySelector('dark-mode-toggle');
toggle.addEventListener('colorschemechange', () => {
toggle.mode = mode;
});
Also, is it possible to remove the outline in CSS (example would be handy), or even better add a ripple effect? Our website uses mdc-web-components. An example with a material
text button
as toggle would be super handy.
The latest release has added support for CSS ::part(), so you can control the CSS completely yourself. The exposed parts are listed in the README.
from dark-mode-toggle.
Related Issues (20)
- [Feature Request] Set SVG icons HOT 1
- Unable to Load png files when running on Github Pages HOT 2
- Apart from `light` and `dark`, add a `system` option HOT 9
- Add aria-label for lighthouse HOT 5
- Dead GitHub Pages HOT 1
- Any way to toggle light/dark native widgets when using <meta name='color-scheme' content='light dark'> ? HOT 3
- dark-mode-toggle with React HOT 10
- Dark mode website HOT 5
- "Permanent" property seems to have stopped working HOT 5
- Implement saving light/dark mode HOT 8
- Dark mode doesn't work HOT 5
- Keep light mode after changing page for Wordpress Theme HOT 3
- Accessibility error HOT 2
- Consider aria-label="auto" aria-live="polite" HOT 1
- Reloading in the demo in dark mode still causes an initial flash of the light theme. HOT 8
- Problems styling ::parts and pseudo elements such as ::before HOT 15
- [feature request] support SRI (sub resources integrity) HOT 6
- [feature request] support Bootstrap 5.3 color modes HOT 3
- Support for using as a React component HOT 2
- Add support for declarative shadow DOM
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dark-mode-toggle.