@transkripid/flowbite-react
Version:
Official React components built for Flowbite and Tailwind CSS - Transkrip.id fork
75 lines (74 loc) • 2.58 kB
JavaScript
import { c as k } from "react/compiler-runtime";
import { useState as v, useEffect as b } from "react";
import { isClient as w } from "../helpers/is-client.mjs";
import { useWatchLocalStorageValue as D } from "./use-watch-localstorage-value.mjs";
import { getThemeMode as g } from "../theme-store/index.mjs";
const S = "light", _ = "flowbite-theme-mode", E = "flowbite-theme-mode-sync", F = () => {
const e = k(18);
let n;
e[0] === Symbol.for("react.memo_cache_sentinel") ? (n = T(g()), e[0] = n) : n = e[0];
const [t, s] = v(n);
let l;
e[1] !== t ? (l = () => {
L(t), y(t);
}, e[1] = t, e[2] = l) : l = e[2];
let m;
e[3] === Symbol.for("react.memo_cache_sentinel") ? (m = [], e[3] = m) : m = e[3], b(l, m), D({
key: _,
onChange(o) {
if (o)
return c(o);
}
});
let r;
e[4] === Symbol.for("react.memo_cache_sentinel") ? (r = (o) => s(o), e[4] = r) : r = e[4], I(r);
const c = (o) => {
s(o), L(o), y(o), document.dispatchEvent(new CustomEvent(E, {
detail: o
}));
};
let i;
e[5] !== c || e[6] !== t ? (i = () => {
let o = t;
o === "auto" && (o = p(o)), o = o === "dark" ? "light" : "dark", c(o);
}, e[5] = c, e[6] = t, e[7] = i) : i = e[7];
const u = i;
let a;
e[8] !== c ? (a = () => {
const o = g() ?? S;
c(o);
}, e[8] = c, e[9] = a) : a = e[9];
const M = a;
let d;
e[10] !== t ? (d = p(t), e[10] = t, e[11] = d) : d = e[11];
const h = c;
let f;
return e[12] !== M || e[13] !== t || e[14] !== d || e[15] !== h || e[16] !== u ? (f = {
mode: t,
computedMode: d,
setMode: h,
toggleMode: u,
clearMode: M
}, e[12] = M, e[13] = t, e[14] = d, e[15] = h, e[16] = u, e[17] = f) : f = e[17], f;
}, I = (e) => {
const n = k(3);
let t;
n[0] !== e ? (t = () => {
const l = function(r) {
const c = r.detail;
e(c);
};
return document.addEventListener(E, l), () => document.removeEventListener(E, l);
}, n[0] = e, n[1] = t) : t = n[1];
let s;
n[2] === Symbol.for("react.memo_cache_sentinel") ? (s = [], n[2] = s) : s = n[2], b(t, s);
}, L = (e) => localStorage.setItem(_, e), y = (e) => {
p(e) === "dark" ? document.documentElement.classList.add("dark") : document.documentElement.classList.remove("dark");
}, T = (e) => w() ? localStorage.getItem(_) ?? e ?? S : S, p = (e) => e === "auto" ? O() : e, O = () => {
var e;
return (e = window.matchMedia) != null && e.call(window, "(prefers-color-scheme: dark)").matches ? "dark" : "light";
};
export {
F as useThemeMode
};
//# sourceMappingURL=use-theme-mode.mjs.map