import {LitElement, html, css} from 'https://cdn.jsdelivr.net/gh/lit/dist@3/core/lit-core.min.js';
const prefersDark = window.matchMedia("@media (prefers-color-scheme: dark)").matches;
let currentTheme = localStorage.getItem('theme') ?? (prefersDark ? 'dark' : 'light');
export class ThemeToggle extends LitElement {
static properties = {
_theme: {state: true, type: String},
};
constructor() {
super();
this._theme = currentTheme;
}
static styles = css`
:host {
cursor: pointer;
box-sizing: border-box;
transform: translateY(3px);
}
`;
changeTheme() {
this._theme = this._theme === 'light' ? 'dark' : 'light';
localStorage.setItem('theme', this._theme);
window.document.documentElement.setAttribute("data-theme", this._theme);
}
render() {
const icon = this._theme === 'light' ? 'basil:moon-solid' : 'basil:sun-solid';
return html`
`;
}
}
customElements.define('fsdocs-theme-toggle', ThemeToggle);