vitepress-theme-tui
Version:
A terminal UI theme for VitePress
42 lines (41 loc) • 918 B
JavaScript
const a = [
{
name: "plain",
label: "Plain"
},
{
name: "default",
label: "Default"
},
{
name: "monokai",
label: "Monokai"
}
], n = a.map((e) => e.name);
function s() {
if (typeof document > "u")
return "default";
const e = document.documentElement;
for (const t of a)
if (e.classList.contains(t.className))
return t.name;
return "default";
}
function o(e) {
if (typeof document > "u")
return !1;
n.includes(e) || console.warn(`Theme "${e}" not found. Available themes: ${n.join(", ")}`);
const t = document.documentElement;
return t.classList.remove(
...Array.from(t.classList).filter((l) => l.startsWith("tui-theme-"))
), t.classList.add(`tui-theme-${e}`), localStorage.setItem("vp-tui-theme", e), !0;
}
function u({ theme: e } = {}) {
o(e || "default");
}
export {
s as getCurrentTheme,
o as setTheme,
a as themes,
u as useTUI
};