@vxrn/color-scheme 1.14.4 → 1.15.0
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.
- package/dist/cjs/index.cjs +52 -38
- package/dist/cjs/index.native.js +67 -38
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/systemScheme.cjs +20 -16
- package/dist/cjs/systemScheme.native.js +33 -29
- package/dist/cjs/systemScheme.native.js.map +1 -1
- package/dist/cjs/userScheme.cjs +111 -44
- package/dist/cjs/userScheme.native.js +115 -59
- package/dist/cjs/userScheme.native.js.map +1 -1
- package/dist/esm/index.js +35 -23
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +35 -23
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +51 -23
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/systemScheme.mjs +6 -4
- package/dist/esm/systemScheme.mjs.map +1 -1
- package/dist/esm/systemScheme.native.js +19 -17
- package/dist/esm/systemScheme.native.js.map +1 -1
- package/dist/esm/userScheme.mjs +95 -30
- package/dist/esm/userScheme.mjs.map +1 -1
- package/dist/esm/userScheme.native.js +99 -45
- package/dist/esm/userScheme.native.js.map +1 -1
- package/package.json +3 -3
package/dist/esm/index.mjs
CHANGED
|
@@ -12,26 +12,38 @@ function SchemeProvider({
|
|
|
12
12
|
}) {
|
|
13
13
|
setForceScheme(forceScheme ?? null);
|
|
14
14
|
const {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
value
|
|
16
|
+
} = useUserScheme();
|
|
17
|
+
const resolvedValue = forceScheme ?? value;
|
|
18
|
+
if (true) {
|
|
19
|
+
useIsomorphicLayoutEffect(() => {
|
|
20
|
+
if (!forceScheme && defaultScheme && typeof localStorage !== "undefined") {
|
|
21
|
+
if (!localStorage.getItem(storageKey)) {
|
|
22
|
+
setUserScheme(defaultScheme);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}, [defaultScheme, forceScheme]);
|
|
26
|
+
useIsomorphicLayoutEffect(() => {
|
|
27
|
+
const toAdd = getClassName(resolvedValue);
|
|
28
|
+
const toRemove = getClassName(resolvedValue === "light" ? "dark" : "light");
|
|
29
|
+
const {
|
|
24
30
|
classList
|
|
25
31
|
} = document.documentElement;
|
|
26
|
-
|
|
27
|
-
|
|
32
|
+
classList.remove(toRemove);
|
|
33
|
+
if (!classList.contains(toAdd)) {
|
|
34
|
+
classList.add(toAdd);
|
|
35
|
+
}
|
|
36
|
+
}, [getClassName, resolvedValue]);
|
|
37
|
+
}
|
|
28
38
|
let scriptContent;
|
|
29
|
-
if (forceScheme)
|
|
39
|
+
if (forceScheme) {
|
|
40
|
+
scriptContent = `let d = document.documentElement.classList
|
|
30
41
|
d.remove('${getClassName("light")}')
|
|
31
42
|
d.remove('${getClassName("dark")}')
|
|
32
|
-
d.add('${getClassName(forceScheme)}')`;
|
|
33
|
-
|
|
34
|
-
|
|
43
|
+
d.add('${getClassName(forceScheme)}')`;
|
|
44
|
+
} else {
|
|
45
|
+
const fallback = defaultScheme ? `'${defaultScheme}' === 'dark'` : `window.matchMedia('(prefers-color-scheme: dark)').matches`;
|
|
46
|
+
const seedStorage = defaultScheme ? `if(!e){localStorage.setItem('${storageKey}','${defaultScheme}')}` : "";
|
|
35
47
|
scriptContent = `let d = document.documentElement.classList
|
|
36
48
|
d.remove('${getClassName("light")}')
|
|
37
49
|
d.remove('${getClassName("dark")}')
|
|
@@ -43,8 +55,8 @@ let t = 'system' === e || !e
|
|
|
43
55
|
t ? d.add('${getClassName("dark")}') : d.add('${getClassName("light")}')`;
|
|
44
56
|
}
|
|
45
57
|
return /* @__PURE__ */jsxs(Fragment, {
|
|
46
|
-
children: [/* @__PURE__ */jsx("script", {
|
|
47
|
-
suppressHydrationWarning:
|
|
58
|
+
children: [false ? null : /* @__PURE__ */jsx("script", {
|
|
59
|
+
suppressHydrationWarning: true,
|
|
48
60
|
dangerouslySetInnerHTML: {
|
|
49
61
|
__html: scriptContent
|
|
50
62
|
}
|
|
@@ -57,21 +69,21 @@ function MetaTheme({
|
|
|
57
69
|
lightColor
|
|
58
70
|
}) {
|
|
59
71
|
const {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
72
|
+
value
|
|
73
|
+
} = useUserScheme();
|
|
74
|
+
const forced = getForceScheme();
|
|
75
|
+
const scriptContent = forced ? `document.getElementById('vxrn-theme-color').setAttribute('content','${forced === "dark" ? darkColor : lightColor}')` : `let dc = document.getElementById('vxrn-theme-color')
|
|
64
76
|
let e1 = localStorage.getItem('${storageKey}')
|
|
65
77
|
let isD = 'system' === e1 || !e1 ? window.matchMedia('(prefers-color-scheme: dark)').matches : e1 === 'dark'
|
|
66
78
|
dc.setAttribute('content', isD ? '${darkColor}' : '${lightColor}')`;
|
|
67
79
|
return /* @__PURE__ */jsxs(Fragment, {
|
|
68
80
|
children: [/* @__PURE__ */jsx("meta", {
|
|
69
|
-
suppressHydrationWarning:
|
|
81
|
+
suppressHydrationWarning: true,
|
|
70
82
|
id: "vxrn-theme-color",
|
|
71
83
|
name: "theme-color",
|
|
72
84
|
content: color ?? (value === "dark" ? darkColor : lightColor)
|
|
73
85
|
}), /* @__PURE__ */jsx("script", {
|
|
74
|
-
suppressHydrationWarning:
|
|
86
|
+
suppressHydrationWarning: true,
|
|
75
87
|
id: "meta-theme-hydrate",
|
|
76
88
|
dangerouslySetInnerHTML: {
|
|
77
89
|
__html: scriptContent
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useIsomorphicLayoutEffect","getForceScheme","setForceScheme","setUserScheme","useUserScheme","getSystemScheme","useSystemScheme","getUserScheme","onUserSchemeChange","setUserScheme2","useUserScheme2","Fragment","jsx","jsxs","storageKey","SchemeProvider","children","getClassName","name","defaultScheme","forceScheme","value","resolvedValue","localStorage","getItem","toAdd","toRemove","classList","document","documentElement","remove","contains","add","scriptContent","fallback","seedStorage","suppressHydrationWarning","dangerouslySetInnerHTML","__html","MetaTheme","color","darkColor","lightColor","forced","id","content"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,yBAAA,QAAiC;AAE1C,SACEC,cAAA,EACAC,cAAA,EACAC,aAAA,EACAC,aAAA,QACK;AAOP,SAASC,eAAA,EAAiBC,eAAA,QAAuB;AACjD,SACEC,aAAA,EACAC,kBAAA,EACAL,aAAA,IAAAM,cAAA,EACAL,aAAA,IAAAM,cAAA,QACK;AAyEH,SAAAC,QAAA,EAEIC,GAAA,EAFJC,IAAA;AAvEJ,MAAMC,UAAA,GAAa;AAEZ,SAASC,eAAe;EAC7BC,QAAA;EACAC,YAAA,GAAgBC,IAAA,IAAS,KAAKA,IAAI;EAClCC,aAAA;EACAC;AACF,GAOG;EAEDlB,cAAA,CAAekB,WAAA,IAAe,IAAI;EAElC,MAAM;
|
|
1
|
+
{"version":3,"names":["useIsomorphicLayoutEffect","getForceScheme","setForceScheme","setUserScheme","useUserScheme","getSystemScheme","useSystemScheme","getUserScheme","onUserSchemeChange","setUserScheme2","useUserScheme2","Fragment","jsx","jsxs","storageKey","SchemeProvider","children","getClassName","name","defaultScheme","forceScheme","value","resolvedValue","localStorage","getItem","toAdd","toRemove","classList","document","documentElement","remove","contains","add","scriptContent","fallback","seedStorage","suppressHydrationWarning","dangerouslySetInnerHTML","__html","MetaTheme","color","darkColor","lightColor","forced","id","content"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/index.native.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { useIsomorphicLayoutEffect } from "@vxrn/use-isomorphic-layout-effect";
|
|
3
|
+
import { getForceScheme, setForceScheme, setUserScheme, useUserScheme } from "./userScheme.native.js";
|
|
3
4
|
import { getSystemScheme, useSystemScheme } from "./systemScheme.native.js";
|
|
4
5
|
import { getUserScheme, onUserSchemeChange, setUserScheme as setUserScheme2, useUserScheme as useUserScheme2 } from "./userScheme.native.js";
|
|
5
6
|
var storageKey = "vxrn-scheme";
|
|
@@ -12,18 +13,40 @@ function SchemeProvider(param) {
|
|
|
12
13
|
defaultScheme,
|
|
13
14
|
forceScheme
|
|
14
15
|
} = param;
|
|
15
|
-
setForceScheme(forceScheme
|
|
16
|
+
setForceScheme(forceScheme !== null && forceScheme !== void 0 ? forceScheme : null);
|
|
16
17
|
var {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
value
|
|
19
|
+
} = useUserScheme();
|
|
20
|
+
var resolvedValue = forceScheme !== null && forceScheme !== void 0 ? forceScheme : value;
|
|
21
|
+
if (false) {
|
|
22
|
+
useIsomorphicLayoutEffect(function () {
|
|
23
|
+
if (!forceScheme && defaultScheme && typeof localStorage !== "undefined") {
|
|
24
|
+
if (!localStorage.getItem(storageKey)) {
|
|
25
|
+
setUserScheme(defaultScheme);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}, [defaultScheme, forceScheme]);
|
|
29
|
+
useIsomorphicLayoutEffect(function () {
|
|
30
|
+
var toAdd = getClassName(resolvedValue);
|
|
31
|
+
var toRemove = getClassName(resolvedValue === "light" ? "dark" : "light");
|
|
32
|
+
var {
|
|
33
|
+
classList
|
|
34
|
+
} = document.documentElement;
|
|
35
|
+
classList.remove(toRemove);
|
|
36
|
+
if (!classList.contains(toAdd)) {
|
|
37
|
+
classList.add(toAdd);
|
|
38
|
+
}
|
|
39
|
+
}, [getClassName, resolvedValue]);
|
|
40
|
+
}
|
|
41
|
+
var scriptContent;
|
|
42
|
+
if (forceScheme) {
|
|
43
|
+
scriptContent = `let d = document.documentElement.classList
|
|
22
44
|
d.remove('${getClassName("light")}')
|
|
23
45
|
d.remove('${getClassName("dark")}')
|
|
24
|
-
d.add('${getClassName(forceScheme)}')`;
|
|
25
|
-
|
|
26
|
-
|
|
46
|
+
d.add('${getClassName(forceScheme)}')`;
|
|
47
|
+
} else {
|
|
48
|
+
var fallback = defaultScheme ? `'${defaultScheme}' === 'dark'` : `window.matchMedia('(prefers-color-scheme: dark)').matches`;
|
|
49
|
+
var seedStorage = defaultScheme ? `if(!e){localStorage.setItem('${storageKey}','${defaultScheme}')}` : "";
|
|
27
50
|
scriptContent = `let d = document.documentElement.classList
|
|
28
51
|
d.remove('${getClassName("light")}')
|
|
29
52
|
d.remove('${getClassName("dark")}')
|
|
@@ -35,31 +58,36 @@ let t = 'system' === e || !e
|
|
|
35
58
|
t ? d.add('${getClassName("dark")}') : d.add('${getClassName("light")}')`;
|
|
36
59
|
}
|
|
37
60
|
return /* @__PURE__ */_jsxs(_Fragment, {
|
|
38
|
-
children: [null,
|
|
61
|
+
children: [true ? null : /* @__PURE__ */_jsx("script", {
|
|
62
|
+
suppressHydrationWarning: true,
|
|
63
|
+
dangerouslySetInnerHTML: {
|
|
64
|
+
__html: scriptContent
|
|
65
|
+
}
|
|
66
|
+
}), children]
|
|
39
67
|
});
|
|
40
68
|
}
|
|
41
69
|
function MetaTheme(param) {
|
|
42
70
|
var {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
71
|
+
color,
|
|
72
|
+
darkColor,
|
|
73
|
+
lightColor
|
|
74
|
+
} = param;
|
|
75
|
+
var {
|
|
76
|
+
value
|
|
77
|
+
} = useUserScheme();
|
|
78
|
+
var forced = getForceScheme();
|
|
79
|
+
var scriptContent = forced ? `document.getElementById('vxrn-theme-color').setAttribute('content','${forced === "dark" ? darkColor : lightColor}')` : `let dc = document.getElementById('vxrn-theme-color')
|
|
52
80
|
let e1 = localStorage.getItem('${storageKey}')
|
|
53
81
|
let isD = 'system' === e1 || !e1 ? window.matchMedia('(prefers-color-scheme: dark)').matches : e1 === 'dark'
|
|
54
82
|
dc.setAttribute('content', isD ? '${darkColor}' : '${lightColor}')`;
|
|
55
83
|
return /* @__PURE__ */_jsxs(_Fragment, {
|
|
56
84
|
children: [/* @__PURE__ */_jsx("meta", {
|
|
57
|
-
suppressHydrationWarning:
|
|
85
|
+
suppressHydrationWarning: true,
|
|
58
86
|
id: "vxrn-theme-color",
|
|
59
87
|
name: "theme-color",
|
|
60
|
-
content: color
|
|
88
|
+
content: color !== null && color !== void 0 ? color : value === "dark" ? darkColor : lightColor
|
|
61
89
|
}), /* @__PURE__ */_jsx("script", {
|
|
62
|
-
suppressHydrationWarning:
|
|
90
|
+
suppressHydrationWarning: true,
|
|
63
91
|
id: "meta-theme-hydrate",
|
|
64
92
|
dangerouslySetInnerHTML: {
|
|
65
93
|
__html: scriptContent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","getForceScheme","setForceScheme","useUserScheme","getSystemScheme","useSystemScheme","getUserScheme","onUserSchemeChange","
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useIsomorphicLayoutEffect","getForceScheme","setForceScheme","setUserScheme","useUserScheme","getSystemScheme","useSystemScheme","getUserScheme","onUserSchemeChange","setUserScheme2","useUserScheme2","storageKey","SchemeProvider","param","children","getClassName","name","defaultScheme","forceScheme","value","resolvedValue","localStorage","getItem","toAdd","toRemove","classList","document","documentElement","remove","contains","add","scriptContent","fallback","seedStorage","suppressHydrationWarning","dangerouslySetInnerHTML","__html","MetaTheme","color","darkColor","lightColor","forced","id","content"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { useIsomorphicLayoutEffect } from "@vxrn/use-isomorphic-layout-effect";
|
|
2
2
|
import { useState } from "react";
|
|
3
|
-
const media = typeof window
|
|
3
|
+
const media = typeof window !== "undefined" && window.matchMedia ? window.matchMedia("(prefers-color-scheme: dark)") : null;
|
|
4
4
|
function getSystemScheme() {
|
|
5
5
|
return media?.matches ? "dark" : "light";
|
|
6
6
|
}
|
|
7
7
|
function useSystemScheme() {
|
|
8
8
|
const [scheme, setScheme] = useState("light");
|
|
9
|
-
|
|
9
|
+
useIsomorphicLayoutEffect(() => {
|
|
10
10
|
setScheme(getSystemScheme());
|
|
11
11
|
const onChange = () => setScheme(getSystemScheme());
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
media?.addEventListener("change", onChange);
|
|
13
|
+
return () => media?.removeEventListener("change", onChange);
|
|
14
|
+
}, []);
|
|
15
|
+
return scheme;
|
|
14
16
|
}
|
|
15
17
|
export { getSystemScheme, useSystemScheme };
|
|
16
18
|
//# sourceMappingURL=systemScheme.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useIsomorphicLayoutEffect","useState","media","window","matchMedia","getSystemScheme","matches","useSystemScheme","scheme","setScheme","onChange","addEventListener","removeEventListener"],"sources":["../../src/systemScheme.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,yBAAA,QAAiC;AAC1C,SAASC,QAAA,QAAgB;AAIzB,MAAMC,KAAA,GACJ,OAAOC,MAAA,
|
|
1
|
+
{"version":3,"names":["useIsomorphicLayoutEffect","useState","media","window","matchMedia","getSystemScheme","matches","useSystemScheme","scheme","setScheme","onChange","addEventListener","removeEventListener"],"sources":["../../src/systemScheme.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,yBAAA,QAAiC;AAC1C,SAASC,QAAA,QAAgB;AAIzB,MAAMC,KAAA,GACJ,OAAOC,MAAA,KAAW,eAAeA,MAAA,CAAOC,UAAA,GACpCD,MAAA,CAAOC,UAAA,CAAW,8BAA8B,IAChD;AAEC,SAASC,gBAAA,EAA0B;EACxC,OAAOH,KAAA,EAAOI,OAAA,GAAU,SAAS;AACnC;AAEO,SAASC,gBAAA,EAA0B;EACxC,MAAM,CAACC,MAAA,EAAQC,SAAS,IAAIR,QAAA,CAAiB,OAAO;EAEpDD,yBAAA,CAA0B,MAAM;IAC9BS,SAAA,CAAUJ,eAAA,CAAgB,CAAC;IAC3B,MAAMK,QAAA,GAAWA,CAAA,KAAMD,SAAA,CAAUJ,eAAA,CAAgB,CAAC;IAClDH,KAAA,EAAOS,gBAAA,CAAiB,UAAUD,QAAQ;IAC1C,OAAO,MAAMR,KAAA,EAAOU,mBAAA,CAAoB,UAAUF,QAAQ;EAC5D,GAAG,EAAE;EAEL,OAAOF,MAAA;AACT","ignoreList":[]}
|
|
@@ -8,26 +8,28 @@ function getSystemScheme() {
|
|
|
8
8
|
}
|
|
9
9
|
function useSystemScheme() {
|
|
10
10
|
var [scheme, setScheme] = useState(getSystemScheme);
|
|
11
|
-
|
|
11
|
+
useEffect(function () {
|
|
12
12
|
var appearanceSubscription = Appearance.addChangeListener(function (param) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
13
|
+
var {
|
|
14
|
+
colorScheme
|
|
15
|
+
} = param;
|
|
16
|
+
setScheme(toScheme(colorScheme));
|
|
17
|
+
});
|
|
18
|
+
var handleAppStateChange = function (nextAppState) {
|
|
19
|
+
if (nextAppState === "active") {
|
|
20
|
+
var currentScheme = getSystemScheme();
|
|
21
|
+
setScheme(function (prev) {
|
|
22
|
+
return prev !== currentScheme ? currentScheme : prev;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
var appStateSubscription = AppState.addEventListener("change", handleAppStateChange);
|
|
27
27
|
return function () {
|
|
28
|
-
appearanceSubscription.remove()
|
|
28
|
+
appearanceSubscription.remove();
|
|
29
|
+
appStateSubscription.remove();
|
|
29
30
|
};
|
|
30
|
-
}, [])
|
|
31
|
+
}, []);
|
|
32
|
+
return scheme;
|
|
31
33
|
}
|
|
32
34
|
export { getSystemScheme, useSystemScheme };
|
|
33
35
|
//# sourceMappingURL=systemScheme.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useEffect","Appearance","AppState","toScheme","colorScheme","getSystemScheme","getColorScheme","useSystemScheme","scheme","setScheme","appearanceSubscription","addChangeListener","param","handleAppStateChange","nextAppState","currentScheme","prev","appStateSubscription","addEventListener","remove"],"sources":["../../src/systemScheme.native.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,SAAA,QAAiB;AACpC,SAASC,UAAA,EAAYC,QAAA,QAAgB;AACrC,SAASC,SAASC,WAAA,EAAa;EAC3B,OAAOA,WAAA,KAAgB,SAAS,SAAS;AAC7C;AACO,SAASC,gBAAA,EAAkB;EAC9B,OAAOF,QAAA,CAASF,UAAA,CAAWK,cAAA,CAAe,CAAC;AAC/C;AACO,SAASC,gBAAA,EAAkB;EAC9B,IAAI,CAACC,MAAA,EAAQC,SAAS,IAAIV,QAAA,CAASM,eAAe;
|
|
1
|
+
{"version":3,"names":["useState","useEffect","Appearance","AppState","toScheme","colorScheme","getSystemScheme","getColorScheme","useSystemScheme","scheme","setScheme","appearanceSubscription","addChangeListener","param","handleAppStateChange","nextAppState","currentScheme","prev","appStateSubscription","addEventListener","remove"],"sources":["../../src/systemScheme.native.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,SAAA,QAAiB;AACpC,SAASC,UAAA,EAAYC,QAAA,QAAgB;AACrC,SAASC,SAASC,WAAA,EAAa;EAC3B,OAAOA,WAAA,KAAgB,SAAS,SAAS;AAC7C;AACO,SAASC,gBAAA,EAAkB;EAC9B,OAAOF,QAAA,CAASF,UAAA,CAAWK,cAAA,CAAe,CAAC;AAC/C;AACO,SAASC,gBAAA,EAAkB;EAC9B,IAAI,CAACC,MAAA,EAAQC,SAAS,IAAIV,QAAA,CAASM,eAAe;EAClDL,SAAA,CAAU,YAAW;IAEjB,IAAIU,sBAAA,GAAyBT,UAAA,CAAWU,iBAAA,CAAkB,UAASC,KAAA,EAAO;MACtE,IAAI;QAAER;MAAY,IAAIQ,KAAA;MACtBH,SAAA,CAAUN,QAAA,CAASC,WAAW,CAAC;IACnC,CAAC;IAGD,IAAIS,oBAAA,GAAuB,SAAAA,CAASC,YAAA,EAAc;MAC9C,IAAIA,YAAA,KAAiB,UAAU;QAC3B,IAAIC,aAAA,GAAgBV,eAAA,CAAgB;QACpCI,SAAA,CAAU,UAASO,IAAA,EAAM;UACrB,OAAOA,IAAA,KAASD,aAAA,GAAgBA,aAAA,GAAgBC,IAAA;QACpD,CAAC;MACL;IACJ;IACA,IAAIC,oBAAA,GAAuBf,QAAA,CAASgB,gBAAA,CAAiB,UAAUL,oBAAoB;IACnF,OAAO,YAAW;MACdH,sBAAA,CAAuBS,MAAA,CAAO;MAC9BF,oBAAA,CAAqBE,MAAA,CAAO;IAChC;EACJ,GAAG,EAAE;EACL,OAAOX,MAAA;AACX","ignoreList":[]}
|
package/dist/esm/userScheme.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useIsomorphicLayoutEffect } from "@vxrn/use-isomorphic-layout-effect";
|
|
2
2
|
import { useState, useMemo } from "react";
|
|
3
3
|
import { getSystemScheme } from "./systemScheme.mjs";
|
|
4
|
-
const listeners = /* @__PURE__ */new Set()
|
|
5
|
-
|
|
4
|
+
const listeners = /* @__PURE__ */new Set();
|
|
5
|
+
const storageKey = "vxrn-scheme";
|
|
6
6
|
let _forceScheme = null;
|
|
7
7
|
function notifyListeners() {
|
|
8
8
|
listeners.forEach(listener => {
|
|
@@ -10,90 +10,155 @@ function notifyListeners() {
|
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
function restoreUnforcedScheme() {
|
|
13
|
-
if (typeof localStorage
|
|
13
|
+
if (typeof localStorage !== "undefined") {
|
|
14
14
|
const stored = localStorage.getItem(storageKey);
|
|
15
15
|
if (stored) {
|
|
16
|
-
currentSetting = stored
|
|
16
|
+
currentSetting = stored;
|
|
17
|
+
currentValue = stored === "system" ? resolveValue("system") : stored;
|
|
17
18
|
return;
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
|
-
currentSetting = "system"
|
|
21
|
+
currentSetting = "system";
|
|
22
|
+
currentValue = resolveValue("system");
|
|
21
23
|
}
|
|
22
24
|
function setForceScheme(scheme) {
|
|
23
25
|
const wasForced = _forceScheme;
|
|
24
|
-
|
|
26
|
+
if (wasForced === scheme) return;
|
|
27
|
+
_forceScheme = scheme;
|
|
28
|
+
if (scheme) {
|
|
29
|
+
currentSetting = scheme;
|
|
30
|
+
currentValue = scheme;
|
|
31
|
+
} else if (wasForced) {
|
|
32
|
+
restoreUnforcedScheme();
|
|
33
|
+
startWebListener();
|
|
34
|
+
}
|
|
25
35
|
}
|
|
26
36
|
function getForceScheme() {
|
|
27
37
|
return _forceScheme;
|
|
28
38
|
}
|
|
29
39
|
function getInitialSetting() {
|
|
40
|
+
if (false) {
|
|
41
|
+
if (typeof localStorage !== "undefined") {
|
|
42
|
+
const stored = localStorage.getItem(storageKey);
|
|
43
|
+
if (stored === "light" || stored === "dark" || stored === "system") {
|
|
44
|
+
return stored;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
30
48
|
return "system";
|
|
31
49
|
}
|
|
32
50
|
function getInitialValue(setting) {
|
|
51
|
+
if (false) {
|
|
52
|
+
if (setting === "system") {
|
|
53
|
+
return Appearance.getColorScheme() === "dark" ? "dark" : "light";
|
|
54
|
+
}
|
|
55
|
+
return setting;
|
|
56
|
+
}
|
|
33
57
|
return "light";
|
|
34
58
|
}
|
|
35
59
|
const initialSetting = getInitialSetting();
|
|
36
|
-
let currentSetting = initialSetting
|
|
37
|
-
|
|
38
|
-
|
|
60
|
+
let currentSetting = initialSetting;
|
|
61
|
+
let currentValue = getInitialValue(initialSetting);
|
|
62
|
+
if (false) {
|
|
63
|
+
Appearance.addChangeListener(next => {
|
|
64
|
+
if (currentSetting === "system" && next.colorScheme) {
|
|
65
|
+
updateValueFromSystem();
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
let isWebListening = false;
|
|
39
70
|
function startWebListener() {
|
|
40
71
|
if (isWebListening) return;
|
|
41
|
-
isWebListening =
|
|
42
|
-
const matcher = typeof window
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
72
|
+
isWebListening = true;
|
|
73
|
+
const matcher = typeof window !== "undefined" ? window.matchMedia?.("(prefers-color-scheme: dark)") : null;
|
|
74
|
+
const onSystemChange = () => {
|
|
75
|
+
if (currentSetting === "system") {
|
|
76
|
+
updateValueFromSystem();
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
onSystemChange();
|
|
80
|
+
matcher?.addEventListener?.("change", onSystemChange);
|
|
47
81
|
}
|
|
48
82
|
function resolveValue(setting) {
|
|
49
|
-
|
|
83
|
+
if (setting === "system") {
|
|
84
|
+
if (false) {
|
|
85
|
+
return Appearance.getColorScheme() === "dark" ? "dark" : "light";
|
|
86
|
+
}
|
|
87
|
+
return getSystemScheme();
|
|
88
|
+
}
|
|
89
|
+
return setting;
|
|
50
90
|
}
|
|
51
91
|
function updateValueFromSystem() {
|
|
52
92
|
if (_forceScheme) return;
|
|
53
93
|
const value = resolveValue("system");
|
|
54
|
-
value !== currentValue
|
|
94
|
+
if (value !== currentValue) {
|
|
95
|
+
currentValue = value;
|
|
96
|
+
notifyListeners();
|
|
97
|
+
}
|
|
55
98
|
}
|
|
56
99
|
function updateScheme(setting) {
|
|
57
100
|
if (_forceScheme) return;
|
|
58
101
|
const value = setting === "system" ? resolveValue("system") : setting;
|
|
59
|
-
(value !== currentValue || currentSetting !== setting)
|
|
102
|
+
if (value !== currentValue || currentSetting !== setting) {
|
|
103
|
+
currentSetting = setting;
|
|
104
|
+
currentValue = value;
|
|
105
|
+
if (false) {
|
|
106
|
+
if (setting !== "system") {
|
|
107
|
+
Appearance.setColorScheme(value);
|
|
108
|
+
} else {
|
|
109
|
+
Appearance.setColorScheme("unspecified");
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
notifyListeners();
|
|
113
|
+
}
|
|
60
114
|
}
|
|
61
115
|
function setUserScheme(setting) {
|
|
62
|
-
|
|
116
|
+
if (_forceScheme) return;
|
|
117
|
+
if (typeof localStorage !== "undefined") {
|
|
118
|
+
localStorage.setItem(storageKey, setting);
|
|
119
|
+
}
|
|
120
|
+
updateScheme(setting);
|
|
63
121
|
}
|
|
64
122
|
function getUserScheme() {
|
|
65
|
-
|
|
123
|
+
if (_forceScheme) return {
|
|
66
124
|
setting: _forceScheme,
|
|
67
125
|
value: _forceScheme
|
|
68
|
-
}
|
|
126
|
+
};
|
|
127
|
+
return {
|
|
69
128
|
setting: currentSetting,
|
|
70
129
|
value: currentValue
|
|
71
130
|
};
|
|
72
131
|
}
|
|
73
132
|
function onUserSchemeChange(listener) {
|
|
74
|
-
|
|
133
|
+
listeners.add(listener);
|
|
134
|
+
listener(currentSetting, currentValue);
|
|
135
|
+
return () => {
|
|
75
136
|
listeners.delete(listener);
|
|
76
137
|
};
|
|
77
138
|
}
|
|
78
139
|
function useUserScheme() {
|
|
79
|
-
const [state, setState] = useState(() => getUserScheme())
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
140
|
+
const [state, setState] = useState(() => getUserScheme());
|
|
141
|
+
const snapshot = getUserScheme();
|
|
142
|
+
const resolvedState = state.setting === snapshot.setting && state.value === snapshot.value ? state : snapshot;
|
|
143
|
+
useIsomorphicLayoutEffect(() => {
|
|
83
144
|
if (!_forceScheme) {
|
|
84
|
-
if (typeof localStorage
|
|
145
|
+
if (typeof localStorage !== "undefined") {
|
|
85
146
|
const stored = localStorage.getItem(storageKey);
|
|
86
|
-
|
|
147
|
+
if (stored) {
|
|
148
|
+
updateScheme(stored);
|
|
149
|
+
}
|
|
87
150
|
}
|
|
88
151
|
startWebListener();
|
|
89
152
|
}
|
|
90
|
-
|
|
153
|
+
const dispose = onUserSchemeChange((setting, value) => {
|
|
91
154
|
setState({
|
|
92
155
|
setting,
|
|
93
156
|
value
|
|
94
157
|
});
|
|
95
158
|
});
|
|
96
|
-
|
|
159
|
+
return dispose;
|
|
160
|
+
}, []);
|
|
161
|
+
return useMemo(() => ({
|
|
97
162
|
setting: resolvedState.setting,
|
|
98
163
|
value: resolvedState.value,
|
|
99
164
|
set: setUserScheme
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useIsomorphicLayoutEffect","useState","useMemo","getSystemScheme","listeners","Set","storageKey","_forceScheme","notifyListeners","forEach","listener","currentSetting","currentValue","restoreUnforcedScheme","localStorage","stored","getItem","resolveValue","setForceScheme","scheme","wasForced","startWebListener","getForceScheme","getInitialSetting","getInitialValue","setting","initialSetting","isWebListening","matcher","window","matchMedia","onSystemChange","
|
|
1
|
+
{"version":3,"names":["useIsomorphicLayoutEffect","useState","useMemo","getSystemScheme","listeners","Set","storageKey","_forceScheme","notifyListeners","forEach","listener","currentSetting","currentValue","restoreUnforcedScheme","localStorage","stored","getItem","resolveValue","setForceScheme","scheme","wasForced","startWebListener","getForceScheme","getInitialSetting","getInitialValue","setting","Appearance","getColorScheme","initialSetting","addChangeListener","next","colorScheme","updateValueFromSystem","isWebListening","matcher","window","matchMedia","onSystemChange","addEventListener","value","updateScheme","setColorScheme","setUserScheme","setItem","getUserScheme","onUserSchemeChange","add","delete","useUserScheme","state","setState","snapshot","resolvedState","dispose","set"],"sources":["../../src/userScheme.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|