night.js
v1.2.0
Published
Smart dark mode switcher (based on location and time)
Downloads
47
Maintainers
Readme
night.js
How to Install
At the beginning install the library in your project via npm or Yarn:
$ npm install night.js
$ yarn add night.jsGetting Started
Connect using script tag in HTML:
<script src="/directory/to/library/folder/night.js"></script>Or CommonJS/ES6 import:
const Night = require('night.js'); // CommonJS
import Night from 'night.js'; // ES6Next use library with:
• Vanilla JavaScript e.g:
const night = new Night({
// options...
});Functions
• Switch between light and dark mode:
night.toggle();• Switch mode automatically (based on time, location and sun position):
night.auto();• Reset localStorage data:
night.reset();Options
Name | Type | Default | Description | Available options
-|-|-|-|-
lightClass | string | | Class added to body when light mode is active | Name of the class
darkClass | string | dark | Class added to body when dark mode is active | Name of the class
cache | boolean | true | Cache location coordinates in local storage for one day | true (enable), false (disable)
cacheClear | boolean | true | Clear location coordinates in local storage everyday at midnight | true (enable), false (disable)
auto | boolean | true | Enable smart switch on script init | true (enable), false (disable)
onAuto | function | null | Callback on smart switch | () => { // code }
onLight | function | null | Callback when dark mode is disabled | () => { // code }
onDark | function | null | Callback when dark mode is enabled | () => { // code }
onToggle | function | null | Callback on dark/light mode toggle | () => { // code }
onDenied | function | null | Callback on geolocation permission denied | () => { // code }
onCacheClear | function | null | Callback when location coordinates and midnight time in local storage cleared | () => { // code }
onReset | function | null | Callback on localStorage reset | () => { // code }
Events
smartDark event will output sun position times and user geolocation latitude & longitude
smartDarkError event will output message when permission to geolocation is denied
License
This project is licensed under the MIT License © 2018-present Jakub Biesiada
