theme.js 426 B

1234567891011121314151617
  1. var Emitter = require('./Emitter');
  2. var MediaQuery = require('./MediaQuery');
  3. var m = new MediaQuery('(prefers-color-scheme: dark)');
  4. exports = {
  5. get: function() {
  6. return m.isMatch() ? 'dark' : 'light';
  7. }
  8. };
  9. Emitter.mixin(exports);
  10. m.on('match', function() {
  11. return exports.emit('change', 'dark');
  12. });
  13. m.on('unmatch', function() {
  14. return exports.emit('change', 'light');
  15. });
  16. module.exports = exports;