@kakadu/components 4.0.3 → 4.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("../jsx-runtime-BB_1_6y_.js"),m=require("react"),o=["system","light","dark"];function u(e){const[t,r]=m.useState("light");return m.useEffect(()=>{const n=e&&"current"in e?e.current:e,s=(n==null?void 0:n.closest("[data-theme]"))??document.documentElement,
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("../jsx-runtime-BB_1_6y_.js"),m=require("react"),o=["system","light","dark"];function u(e){const[t,r]=m.useState("light");return m.useEffect(()=>{const n=e&&"current"in e?e.current:e,s=(n==null?void 0:n.closest("[data-theme]"))??document.documentElement,d=()=>{s.dataset.theme&&r(s.dataset.theme)};if(typeof window<"u"&&"MutationObserver"in window){const c=new MutationObserver(i=>{for(const h of i)h.type==="attributes"&&d()});return d(),c.observe(s,{attributes:!0}),c.observe(document.documentElement,{attributes:!0}),()=>{c.disconnect()}}},[e]),t}function l(e){return u(e)==="light"}function g(e){return u(e)==="dark"}const w=`
|
|
2
2
|
try {
|
|
3
3
|
var themePreference = window.localStorage.getItem("theme-preference") || "system";
|
|
4
4
|
|
|
@@ -17,4 +17,4 @@
|
|
|
17
17
|
} catch (error) {
|
|
18
18
|
console.error(error);
|
|
19
19
|
}
|
|
20
|
-
`.trim().replaceAll(/\s+/g," ");function
|
|
20
|
+
`.trim().replaceAll(/\s+/g," ");function a(){const e=window.localStorage.getItem("theme-preference")??"system";return o.includes(e)?e:"system"}function y(e){const t=o.includes(e)?e:"system";if(window.localStorage.setItem("theme-preference",t),document.documentElement.dataset.themePreference=t,t==="system"){const r=window.matchMedia("(prefers-color-scheme: dark)");document.documentElement.dataset.theme=r.matches?"dark":"light"}else document.documentElement.dataset.theme=t}function P(){return m.useEffect(()=>{const e=a();e&&(document.documentElement.dataset.themePreference=e);const t=window.matchMedia("(prefers-color-scheme: dark)");e==="system"?document.documentElement.dataset.theme=t.matches?"dark":"light":document.documentElement.dataset.theme=e;const r=n=>{document.documentElement.dataset.themePreference==="system"&&(document.documentElement.dataset.theme=n.matches?"dark":"light")};return t.addEventListener("change",r),()=>{t.removeEventListener("change",r)}},[]),f.jsxRuntimeExports.jsx("script",{dangerouslySetInnerHTML:{__html:w},id:"theme-setter"})}exports.default=P;exports.getThemePreference=a;exports.setThemePreference=y;exports.themePreferences=o;exports.useIsDarkMode=g;exports.useIsLightMode=l;exports.useTheme=u;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { j as
|
|
1
|
+
import { j as h } from "../jsx-runtime-B4hRZ52C.mjs";
|
|
2
2
|
import { useEffect as o, useState as f } from "react";
|
|
3
3
|
const a = ["system", "light", "dark"];
|
|
4
4
|
function d(e) {
|
|
@@ -6,19 +6,22 @@ function d(e) {
|
|
|
6
6
|
return o(() => {
|
|
7
7
|
const n = e && "current" in e ? e.current : e, s = (n == null ? void 0 : n.closest("[data-theme]")) ?? document.documentElement, c = () => {
|
|
8
8
|
s.dataset.theme && r(s.dataset.theme);
|
|
9
|
-
}, m = new MutationObserver((u) => {
|
|
10
|
-
for (const h of u)
|
|
11
|
-
h.type === "attributes" && c();
|
|
12
|
-
});
|
|
13
|
-
return c(), m.observe(s, { attributes: !0 }), m.observe(document.documentElement, { attributes: !0 }), () => {
|
|
14
|
-
m.disconnect();
|
|
15
9
|
};
|
|
10
|
+
if (typeof window < "u" && "MutationObserver" in window) {
|
|
11
|
+
const m = new MutationObserver((u) => {
|
|
12
|
+
for (const i of u)
|
|
13
|
+
i.type === "attributes" && c();
|
|
14
|
+
});
|
|
15
|
+
return c(), m.observe(s, { attributes: !0 }), m.observe(document.documentElement, { attributes: !0 }), () => {
|
|
16
|
+
m.disconnect();
|
|
17
|
+
};
|
|
18
|
+
}
|
|
16
19
|
}, [e]), t;
|
|
17
20
|
}
|
|
18
|
-
function
|
|
21
|
+
function y(e) {
|
|
19
22
|
return d(e) === "light";
|
|
20
23
|
}
|
|
21
|
-
function
|
|
24
|
+
function E(e) {
|
|
22
25
|
return d(e) === "dark";
|
|
23
26
|
}
|
|
24
27
|
const l = `
|
|
@@ -66,14 +69,14 @@ function b() {
|
|
|
66
69
|
t.removeEventListener("change", r);
|
|
67
70
|
};
|
|
68
71
|
}, []), /* eslint-disable-next-line react/no-danger */
|
|
69
|
-
/* @__PURE__ */
|
|
72
|
+
/* @__PURE__ */ h.jsx("script", { dangerouslySetInnerHTML: { __html: l }, id: "theme-setter" });
|
|
70
73
|
}
|
|
71
74
|
export {
|
|
72
75
|
b as default,
|
|
73
76
|
g as getThemePreference,
|
|
74
77
|
P as setThemePreference,
|
|
75
78
|
a as themePreferences,
|
|
76
|
-
|
|
77
|
-
|
|
79
|
+
E as useIsDarkMode,
|
|
80
|
+
y as useIsLightMode,
|
|
78
81
|
d as useTheme
|
|
79
82
|
};
|