UNPKG

@codedoc/core

Version:

Create beautiful modern documentation websites.

62 lines 2.92 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.DarkModeSwitch$ = exports.DarkModeSwitch = void 0; var transport_1 = require("@connectv/sdh/transport"); var core_1 = require("@connectv/core"); var style_1 = require("./style"); var mode_1 = require("./mode"); var system_1 = require("./system"); function DarkModeSwitch(_, renderer) { var classes = this.theme.classes(style_1.DarkModeSwitchStyle); var sysMode = system_1.systemMode(); var runningMode = core_1.state(); var storageLoaded = false; sysMode.to(runningMode); this.track(runningMode.to(core_1.sink(function (mode) { if (mode === mode_1.Mode.Light) document.body.classList.remove('dark'); else document.body.classList.add('dark'); if (storageLoaded) { if (mode !== sysMode.value) localStorage.setItem('dark-mode', (mode === mode_1.Mode.Light) ? 'false' : 'true'); else localStorage.removeItem('dark-mode'); } }))); this.track({ bind: function () { if (localStorage.getItem('dark-mode')) runningMode.value = localStorage.getItem('dark-mode') === 'true' ? mode_1.Mode.Dark : mode_1.Mode.Light; document.body.classList.add('dark-mode-animate'); storageLoaded = true; } }); return renderer.create("div", { class: classes.dmSwitch, onclick: function () { return runningMode.value = mode_1.switchMode(runningMode.value); } }, renderer.create("div", { class: "arc" }), renderer.create("div", { class: "darc" }), renderer.create("div", { class: "ray one" }), renderer.create("div", { class: "ray two" }), renderer.create("div", { class: "ray three" }), renderer.create("div", { class: "ray four" }), renderer.create("div", { class: "ray five" }), renderer.create("div", { class: "ray six" }), renderer.create("div", { class: "ray seven" }), renderer.create("div", { class: "ray eight" })); } exports.DarkModeSwitch = DarkModeSwitch; exports.DarkModeSwitch$ = transport_1.transport(DarkModeSwitch); __exportStar(require("./darklight"), exports); var style_2 = require("./style"); Object.defineProperty(exports, "DarkModeSwitchStyle", { enumerable: true, get: function () { return style_2.DarkModeSwitchStyle; } }); //# sourceMappingURL=index.js.map