@vxrn/color-scheme 1.15.8 → 1.15.10
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 +17 -25
- package/dist/cjs/index.native.js +4 -44
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/userScheme.cjs +6 -46
- package/dist/cjs/userScheme.native.js +16 -47
- package/dist/cjs/userScheme.native.js.map +1 -1
- package/dist/esm/index.js +17 -25
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +17 -25
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +3 -43
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/userScheme.mjs +6 -45
- package/dist/esm/userScheme.mjs.map +1 -1
- package/dist/esm/userScheme.native.js +15 -46
- package/dist/esm/userScheme.native.js.map +1 -1
- package/package.json +3 -3
package/dist/cjs/index.cjs
CHANGED
|
@@ -49,33 +49,25 @@ function SchemeProvider({
|
|
|
49
49
|
value
|
|
50
50
|
} = (0, import_userScheme.useUserScheme)();
|
|
51
51
|
const resolvedValue = forceScheme ?? value;
|
|
52
|
-
|
|
53
|
-
(
|
|
54
|
-
if (!
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
classList.remove(toRemove);
|
|
67
|
-
if (!classList.contains(toAdd)) {
|
|
68
|
-
classList.add(toAdd);
|
|
69
|
-
}
|
|
70
|
-
}, [getClassName, resolvedValue]);
|
|
71
|
-
}
|
|
52
|
+
(0, import_use_isomorphic_layout_effect.useIsomorphicLayoutEffect)(() => {
|
|
53
|
+
if (!forceScheme && defaultScheme && typeof localStorage !== "undefined") {
|
|
54
|
+
if (!localStorage.getItem(storageKey)) (0, import_userScheme.setUserScheme)(defaultScheme);
|
|
55
|
+
}
|
|
56
|
+
}, [defaultScheme, forceScheme]);
|
|
57
|
+
(0, import_use_isomorphic_layout_effect.useIsomorphicLayoutEffect)(() => {
|
|
58
|
+
const toAdd = getClassName(resolvedValue);
|
|
59
|
+
const toRemove = getClassName(resolvedValue === "light" ? "dark" : "light");
|
|
60
|
+
const {
|
|
61
|
+
classList
|
|
62
|
+
} = document.documentElement;
|
|
63
|
+
classList.remove(toRemove);
|
|
64
|
+
if (!classList.contains(toAdd)) classList.add(toAdd);
|
|
65
|
+
}, [getClassName, resolvedValue]);
|
|
72
66
|
let scriptContent;
|
|
73
|
-
if (forceScheme)
|
|
74
|
-
scriptContent = `let d = document.documentElement.classList
|
|
67
|
+
if (forceScheme) scriptContent = `let d = document.documentElement.classList
|
|
75
68
|
d.remove('${getClassName("light")}')
|
|
76
69
|
d.remove('${getClassName("dark")}')
|
|
77
|
-
d.add('${getClassName(forceScheme)}')`;
|
|
78
|
-
} else {
|
|
70
|
+
d.add('${getClassName(forceScheme)}')`;else {
|
|
79
71
|
const fallback = defaultScheme ? `'${defaultScheme}' === 'dark'` : `window.matchMedia('(prefers-color-scheme: dark)').matches`;
|
|
80
72
|
const seedStorage = defaultScheme ? `if(!e){localStorage.setItem('${storageKey}','${defaultScheme}')}` : "";
|
|
81
73
|
scriptContent = `let d = document.documentElement.classList
|
|
@@ -89,7 +81,7 @@ let t = 'system' === e || !e
|
|
|
89
81
|
t ? d.add('${getClassName("dark")}') : d.add('${getClassName("light")}')`;
|
|
90
82
|
}
|
|
91
83
|
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
|
|
92
|
-
children: [
|
|
84
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)("script", {
|
|
93
85
|
suppressHydrationWarning: true,
|
|
94
86
|
dangerouslySetInnerHTML: {
|
|
95
87
|
__html: scriptContent
|
package/dist/cjs/index.native.js
CHANGED
|
@@ -35,7 +35,7 @@ __export(index_exports, {
|
|
|
35
35
|
});
|
|
36
36
|
module.exports = __toCommonJS(index_exports);
|
|
37
37
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
38
|
-
|
|
38
|
+
require("@vxrn/use-isomorphic-layout-effect");
|
|
39
39
|
var import_userScheme = require("./userScheme.native.js");
|
|
40
40
|
var import_systemScheme = require("./systemScheme.native.js");
|
|
41
41
|
var import_userScheme2 = require("./userScheme.native.js");
|
|
@@ -53,53 +53,13 @@ function SchemeProvider(param) {
|
|
|
53
53
|
var {
|
|
54
54
|
value
|
|
55
55
|
} = (0, import_userScheme.useUserScheme)();
|
|
56
|
-
|
|
57
|
-
if (false) {
|
|
58
|
-
(0, import_use_isomorphic_layout_effect.useIsomorphicLayoutEffect)(function () {
|
|
59
|
-
if (!forceScheme && defaultScheme && typeof localStorage !== "undefined") {
|
|
60
|
-
if (!localStorage.getItem(storageKey)) {
|
|
61
|
-
(0, import_userScheme.setUserScheme)(defaultScheme);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}, [defaultScheme, forceScheme]);
|
|
65
|
-
(0, import_use_isomorphic_layout_effect.useIsomorphicLayoutEffect)(function () {
|
|
66
|
-
var toAdd = getClassName(resolvedValue);
|
|
67
|
-
var toRemove = getClassName(resolvedValue === "light" ? "dark" : "light");
|
|
68
|
-
var {
|
|
69
|
-
classList
|
|
70
|
-
} = document.documentElement;
|
|
71
|
-
classList.remove(toRemove);
|
|
72
|
-
if (!classList.contains(toAdd)) {
|
|
73
|
-
classList.add(toAdd);
|
|
74
|
-
}
|
|
75
|
-
}, [getClassName, resolvedValue]);
|
|
76
|
-
}
|
|
77
|
-
var scriptContent;
|
|
78
|
-
if (forceScheme) {
|
|
79
|
-
scriptContent = `let d = document.documentElement.classList
|
|
80
|
-
d.remove('${getClassName("light")}')
|
|
81
|
-
d.remove('${getClassName("dark")}')
|
|
82
|
-
d.add('${getClassName(forceScheme)}')`;
|
|
83
|
-
} else {
|
|
56
|
+
if (forceScheme) `${getClassName("light")}${getClassName("dark")}${getClassName(forceScheme)}`;else {
|
|
84
57
|
var fallback = defaultScheme ? `'${defaultScheme}' === 'dark'` : `window.matchMedia('(prefers-color-scheme: dark)').matches`;
|
|
85
58
|
var seedStorage = defaultScheme ? `if(!e){localStorage.setItem('${storageKey}','${defaultScheme}')}` : "";
|
|
86
|
-
|
|
87
|
-
d.remove('${getClassName("light")}')
|
|
88
|
-
d.remove('${getClassName("dark")}')
|
|
89
|
-
let e = localStorage.getItem('${storageKey}')
|
|
90
|
-
${seedStorage}
|
|
91
|
-
let t = 'system' === e || !e
|
|
92
|
-
? ${fallback}
|
|
93
|
-
: e === 'dark'
|
|
94
|
-
t ? d.add('${getClassName("dark")}') : d.add('${getClassName("light")}')`;
|
|
59
|
+
`${getClassName("light")}${getClassName("dark")}${storageKey}${seedStorage}${fallback}${getClassName("dark")}${getClassName("light")}`;
|
|
95
60
|
}
|
|
96
61
|
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
|
|
97
|
-
children: [
|
|
98
|
-
suppressHydrationWarning: true,
|
|
99
|
-
dangerouslySetInnerHTML: {
|
|
100
|
-
__html: scriptContent
|
|
101
|
-
}
|
|
102
|
-
}), children]
|
|
62
|
+
children: [null, children]
|
|
103
63
|
});
|
|
104
64
|
}
|
|
105
65
|
function MetaTheme(param) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","MetaTheme","SchemeProvider","getSystemScheme","import_systemScheme","getUserScheme","import_userScheme2","onUserSchemeChange","setUserScheme","useSystemScheme","useUserScheme","module","exports","import_jsx_runtime","require","
|
|
1
|
+
{"version":3,"names":["to","__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","MetaTheme","SchemeProvider","getSystemScheme","import_systemScheme","getUserScheme","import_userScheme2","onUserSchemeChange","setUserScheme","useSystemScheme","useUserScheme","module","exports","import_jsx_runtime","require","import_userScheme","storageKey","param","children","getClassName","name","defaultScheme","forceScheme","setForceScheme","fallback","seedStorage","jsxs","Fragment","color","darkColor","lightColor","forced","getForceScheme","scriptContent","jsx","suppressHydrationWarning","id","content","dangerouslySetInnerHTML","__html"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;EAAA;EAAA,OAAAA,EAAA;AAAA;AAAA,IAAAC,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,SAAA,EAAAA,CAAA,KAAAA,SAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAC,mBAAA,CAAAD,eAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAC,kBAAA,CAAAD,aAAA;EAAAE,kBAAA,EAAAA,CAAA,KAAAD,kBAAA,CAAAC,kBAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAF,kBAAA,CAAAE,aAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAL,mBAA0C,CAAAK,eAAA;EAE1CC,aAAA,EAAAA,CAAA,KAAAJ,kBAKO,CAAAI;AAOP;AACAC,MAAA,CAAAC,OAAA,GAAAlB,YAKO,CAAAK,aAAA;AAyEH,IAAAc,kBAAA,GAAAC,OAAA;AAvEJA,OAAM,qCAAa;AAEZ,IAAAC,iBAAS,GAAeD,OAAA;AAAA,IAC7BV,mBAAA,GAAAU,OAAA;AAAA,IACAR,kBAAgB,GAAAQ,OAAc,yBAAI;AAAA,IAClCE,UAAA;AAAA,SACAd,eAAAe,KAAA;EACF,IAOG;IAAAC,QAAA;IAAAC,YAAA,YAAAA,CAAAC,IAAA;MAED,YAAAA,IAAA;IAEA;IAAAC,aAAc;IAAAC;EAAI,IAAAL,KAAA;EAClB,IAAAF,iBAAM,CAAAQ,cAAgB,EAAeD,WAAA,aAAAA,WAAA,cAAAA,WAAA;EAErC;IAAIxB;EAAA,CAAQ,IAAI,GAAAiB,iBAAmB,CAAAL,aAAU;EAE3C,IAAAY,WAAA,KAAAH,YAAA,YAAAA,YAAA,WAAAA,YAAgC,CAAAG,WAAA,SAC9B;IACE,IAAAE,QAAK,GAAAH,aAAa,OAAQA,aAAa;IACrC,IAAAI,WAAA,GAAAJ,aAAA,mCAA2BL,UAAA,MAAAK,aAAA;IAAA,GAAAF,YAC7B,YAAAA,YAAA,WAAAH,UAAA,GAAAS,WAAA,GAAAD,QAAA,GAAAL,YAAA,WAAAA,YAAA;EAAA;EACF,OACE,eAAe,IAAAN,kBAAY,CAAAa,IAAA,EAAAb,kBAAA,CAAAc,QAAA;IAAAT,QAAA,SAAAA,QAAA;EAAA;AAE/B;AACE,SAAAjB,SAAMA,CAAAgB,KAAQ;EACd;IAAAW,KAAM;IAAAC,SAAW;IAAAC;EAAa,IAAAb,KAAA;EAC9B;IAAAnB;EAAM,CAAE,OAAAiB,iBAAuB,CAAAL,aAAA;EAC/B,IAAAqB,MAAA,KAAU,EAAAhB,iBAAe,CAAAiB,cAAA;EACzB,IAAAC,aAAK,GAAUF,MAAA,GAAS,uEAAQA,MAAA,cAAAF,SAAA,GAAAC,UAAA;AAC9B,iCAAmBd,UAAA;AAAA;AACrB,oCAC8Ba,SAAA,QAAAC,UAAA;EAAA,OAClC,mBAAAjB,kBAAA,CAAAa,IAAA,EAAAb,kBAAA,CAAAc,QAAA;IAAAT,QAAA,sBAAAL,kBAAA,CAAAqB,GAAA;MAEAC,wBAAI;MAEJC,EAAA,EAAI,kBAAa;MAEfhB,IAAA,eAAgB;MAAAiB,OAAA,EAAAT,KACR,SAAa,IAAAA,KAAQ,cAAAA,KAAA,GAAA9B,KAAA,cAAA+B,SAAA,GAAAC;IAAA,mBACrB,IAAajB,kBAAO,CAAAqB,GAAA;MAAAC,wBACV;MACpBC,EAAA,sBAAO;MACLE,uBAAiB;QAAAC,MAAA,EACbN;MAAI;IAGR;EAAA;AAIA","ignoreList":[]}
|
package/dist/cjs/userScheme.cjs
CHANGED
|
@@ -32,7 +32,7 @@ __export(userScheme_exports, {
|
|
|
32
32
|
module.exports = __toCommonJS(userScheme_exports);
|
|
33
33
|
var import_use_isomorphic_layout_effect = require("@vxrn/use-isomorphic-layout-effect");
|
|
34
34
|
var import_react = require("react");
|
|
35
|
-
|
|
35
|
+
require("react-native-web");
|
|
36
36
|
var import_systemScheme = require("./systemScheme.cjs");
|
|
37
37
|
const listeners = /* @__PURE__ */new Set();
|
|
38
38
|
const storageKey = "vxrn-scheme";
|
|
@@ -70,55 +70,27 @@ function getForceScheme() {
|
|
|
70
70
|
return _forceScheme;
|
|
71
71
|
}
|
|
72
72
|
function getInitialSetting() {
|
|
73
|
-
if (false) {
|
|
74
|
-
if (typeof localStorage !== "undefined") {
|
|
75
|
-
const stored = localStorage.getItem(storageKey);
|
|
76
|
-
if (stored === "light" || stored === "dark" || stored === "system") {
|
|
77
|
-
return stored;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
73
|
return "system";
|
|
82
74
|
}
|
|
83
75
|
function getInitialValue(setting) {
|
|
84
|
-
if (false) {
|
|
85
|
-
if (setting === "system") {
|
|
86
|
-
return Appearance.getColorScheme() === "dark" ? "dark" : "light";
|
|
87
|
-
}
|
|
88
|
-
return setting;
|
|
89
|
-
}
|
|
90
76
|
return "light";
|
|
91
77
|
}
|
|
92
78
|
const initialSetting = getInitialSetting();
|
|
93
79
|
let currentSetting = initialSetting;
|
|
94
80
|
let currentValue = getInitialValue(initialSetting);
|
|
95
|
-
if (false) {
|
|
96
|
-
Appearance.addChangeListener(next => {
|
|
97
|
-
if (currentSetting === "system" && next.colorScheme) {
|
|
98
|
-
updateValueFromSystem();
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
81
|
let isWebListening = false;
|
|
103
82
|
function startWebListener() {
|
|
104
83
|
if (isWebListening) return;
|
|
105
84
|
isWebListening = true;
|
|
106
85
|
const matcher = typeof window !== "undefined" ? window.matchMedia?.("(prefers-color-scheme: dark)") : null;
|
|
107
86
|
const onSystemChange = () => {
|
|
108
|
-
if (currentSetting === "system")
|
|
109
|
-
updateValueFromSystem();
|
|
110
|
-
}
|
|
87
|
+
if (currentSetting === "system") updateValueFromSystem();
|
|
111
88
|
};
|
|
112
89
|
onSystemChange();
|
|
113
90
|
matcher?.addEventListener?.("change", onSystemChange);
|
|
114
91
|
}
|
|
115
92
|
function resolveValue(setting) {
|
|
116
|
-
if (setting === "system")
|
|
117
|
-
if (false) {
|
|
118
|
-
return Appearance.getColorScheme() === "dark" ? "dark" : "light";
|
|
119
|
-
}
|
|
120
|
-
return (0, import_systemScheme.getSystemScheme)();
|
|
121
|
-
}
|
|
93
|
+
if (setting === "system") return (0, import_systemScheme.getSystemScheme)();
|
|
122
94
|
return setting;
|
|
123
95
|
}
|
|
124
96
|
function updateValueFromSystem() {
|
|
@@ -135,21 +107,12 @@ function updateScheme(setting) {
|
|
|
135
107
|
if (value !== currentValue || currentSetting !== setting) {
|
|
136
108
|
currentSetting = setting;
|
|
137
109
|
currentValue = value;
|
|
138
|
-
if (false) {
|
|
139
|
-
if (setting !== "system") {
|
|
140
|
-
Appearance.setColorScheme(value);
|
|
141
|
-
} else {
|
|
142
|
-
Appearance.setColorScheme("unspecified");
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
110
|
notifyListeners();
|
|
146
111
|
}
|
|
147
112
|
}
|
|
148
113
|
function setUserScheme(setting) {
|
|
149
114
|
if (_forceScheme) return;
|
|
150
|
-
if (typeof localStorage !== "undefined")
|
|
151
|
-
localStorage.setItem(storageKey, setting);
|
|
152
|
-
}
|
|
115
|
+
if (typeof localStorage !== "undefined") localStorage.setItem(storageKey, setting);
|
|
153
116
|
updateScheme(setting);
|
|
154
117
|
}
|
|
155
118
|
function getUserScheme() {
|
|
@@ -177,19 +140,16 @@ function useUserScheme() {
|
|
|
177
140
|
if (!_forceScheme) {
|
|
178
141
|
if (typeof localStorage !== "undefined") {
|
|
179
142
|
const stored = localStorage.getItem(storageKey);
|
|
180
|
-
if (stored)
|
|
181
|
-
updateScheme(stored);
|
|
182
|
-
}
|
|
143
|
+
if (stored) updateScheme(stored);
|
|
183
144
|
}
|
|
184
145
|
startWebListener();
|
|
185
146
|
}
|
|
186
|
-
|
|
147
|
+
return onUserSchemeChange((setting, value) => {
|
|
187
148
|
setState({
|
|
188
149
|
setting,
|
|
189
150
|
value
|
|
190
151
|
});
|
|
191
152
|
});
|
|
192
|
-
return dispose;
|
|
193
153
|
}, []);
|
|
194
154
|
return (0, import_react.useMemo)(() => ({
|
|
195
155
|
setting: resolvedState.setting,
|
|
@@ -35,7 +35,7 @@ module.exports = __toCommonJS(userScheme_exports);
|
|
|
35
35
|
var import_use_isomorphic_layout_effect = require("@vxrn/use-isomorphic-layout-effect");
|
|
36
36
|
var import_react = require("react");
|
|
37
37
|
var import_react_native = require("react-native");
|
|
38
|
-
|
|
38
|
+
require("./systemScheme.native.js");
|
|
39
39
|
var listeners = /* @__PURE__ */new Set();
|
|
40
40
|
var storageKey = "vxrn-scheme";
|
|
41
41
|
var _forceScheme = null;
|
|
@@ -72,35 +72,22 @@ function getForceScheme() {
|
|
|
72
72
|
return _forceScheme;
|
|
73
73
|
}
|
|
74
74
|
function getInitialSetting() {
|
|
75
|
-
if (
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
if (stored === "light" || stored === "dark" || stored === "system") {
|
|
79
|
-
return stored;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
75
|
+
if (typeof localStorage !== "undefined") {
|
|
76
|
+
var stored = localStorage.getItem(storageKey);
|
|
77
|
+
if (stored === "light" || stored === "dark" || stored === "system") return stored;
|
|
82
78
|
}
|
|
83
79
|
return "system";
|
|
84
80
|
}
|
|
85
81
|
function getInitialValue(setting) {
|
|
86
|
-
if (
|
|
87
|
-
|
|
88
|
-
return import_react_native.Appearance.getColorScheme() === "dark" ? "dark" : "light";
|
|
89
|
-
}
|
|
90
|
-
return setting;
|
|
91
|
-
}
|
|
92
|
-
return "light";
|
|
82
|
+
if (setting === "system") return import_react_native.Appearance.getColorScheme() === "dark" ? "dark" : "light";
|
|
83
|
+
return setting;
|
|
93
84
|
}
|
|
94
85
|
var initialSetting = getInitialSetting();
|
|
95
86
|
var currentSetting = initialSetting;
|
|
96
87
|
var currentValue = getInitialValue(initialSetting);
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
updateValueFromSystem();
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
}
|
|
88
|
+
import_react_native.Appearance.addChangeListener(function (next) {
|
|
89
|
+
if (currentSetting === "system" && next.colorScheme) updateValueFromSystem();
|
|
90
|
+
});
|
|
104
91
|
var isWebListening = false;
|
|
105
92
|
function startWebListener() {
|
|
106
93
|
var _window_matchMedia, _window, _matcher_addEventListener;
|
|
@@ -108,20 +95,13 @@ function startWebListener() {
|
|
|
108
95
|
isWebListening = true;
|
|
109
96
|
var matcher = typeof window !== "undefined" ? (_window_matchMedia = (_window = window).matchMedia) === null || _window_matchMedia === void 0 ? void 0 : _window_matchMedia.call(_window, "(prefers-color-scheme: dark)") : null;
|
|
110
97
|
var onSystemChange = function () {
|
|
111
|
-
if (currentSetting === "system")
|
|
112
|
-
updateValueFromSystem();
|
|
113
|
-
}
|
|
98
|
+
if (currentSetting === "system") updateValueFromSystem();
|
|
114
99
|
};
|
|
115
100
|
onSystemChange();
|
|
116
|
-
matcher === null || matcher === void 0
|
|
101
|
+
matcher === null || matcher === void 0 || (_matcher_addEventListener = matcher.addEventListener) == null || _matcher_addEventListener.call(matcher, "change", onSystemChange);
|
|
117
102
|
}
|
|
118
103
|
function resolveValue(setting) {
|
|
119
|
-
if (setting === "system")
|
|
120
|
-
if (true) {
|
|
121
|
-
return import_react_native.Appearance.getColorScheme() === "dark" ? "dark" : "light";
|
|
122
|
-
}
|
|
123
|
-
return (0, import_systemScheme.getSystemScheme)();
|
|
124
|
-
}
|
|
104
|
+
if (setting === "system") return import_react_native.Appearance.getColorScheme() === "dark" ? "dark" : "light";
|
|
125
105
|
return setting;
|
|
126
106
|
}
|
|
127
107
|
function updateValueFromSystem() {
|
|
@@ -138,21 +118,13 @@ function updateScheme(setting) {
|
|
|
138
118
|
if (value !== currentValue || currentSetting !== setting) {
|
|
139
119
|
currentSetting = setting;
|
|
140
120
|
currentValue = value;
|
|
141
|
-
if (
|
|
142
|
-
if (setting !== "system") {
|
|
143
|
-
import_react_native.Appearance.setColorScheme(value);
|
|
144
|
-
} else {
|
|
145
|
-
import_react_native.Appearance.setColorScheme("unspecified");
|
|
146
|
-
}
|
|
147
|
-
}
|
|
121
|
+
if (setting !== "system") import_react_native.Appearance.setColorScheme(value);else import_react_native.Appearance.setColorScheme("unspecified");
|
|
148
122
|
notifyListeners();
|
|
149
123
|
}
|
|
150
124
|
}
|
|
151
125
|
function setUserScheme(setting) {
|
|
152
126
|
if (_forceScheme) return;
|
|
153
|
-
if (typeof localStorage !== "undefined")
|
|
154
|
-
localStorage.setItem(storageKey, setting);
|
|
155
|
-
}
|
|
127
|
+
if (typeof localStorage !== "undefined") localStorage.setItem(storageKey, setting);
|
|
156
128
|
updateScheme(setting);
|
|
157
129
|
}
|
|
158
130
|
function getUserScheme() {
|
|
@@ -182,19 +154,16 @@ function useUserScheme() {
|
|
|
182
154
|
if (!_forceScheme) {
|
|
183
155
|
if (typeof localStorage !== "undefined") {
|
|
184
156
|
var stored = localStorage.getItem(storageKey);
|
|
185
|
-
if (stored)
|
|
186
|
-
updateScheme(stored);
|
|
187
|
-
}
|
|
157
|
+
if (stored) updateScheme(stored);
|
|
188
158
|
}
|
|
189
159
|
startWebListener();
|
|
190
160
|
}
|
|
191
|
-
|
|
161
|
+
return onUserSchemeChange(function (setting, value) {
|
|
192
162
|
setState({
|
|
193
163
|
setting,
|
|
194
164
|
value
|
|
195
165
|
});
|
|
196
166
|
});
|
|
197
|
-
return dispose;
|
|
198
167
|
}, []);
|
|
199
168
|
return (0, import_react.useMemo)(function () {
|
|
200
169
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","userScheme_exports","__export","getForceScheme","getUserScheme","onUserSchemeChange","setForceScheme","setUserScheme","useUserScheme","module","exports","import_use_isomorphic_layout_effect","require","import_react","import_react_native","
|
|
1
|
+
{"version":3,"names":["to","__toCommonJS","mod","__copyProps","__defProp","value","userScheme_exports","__export","getForceScheme","getUserScheme","onUserSchemeChange","setForceScheme","setUserScheme","useUserScheme","module","exports","import_use_isomorphic_layout_effect","require","import_react","import_react_native","listeners","Set","storageKey","_forceScheme","notifyListeners","forEach","listener","currentSetting","currentValue","restoreUnforcedScheme","localStorage","stored","getItem","resolveValue","scheme","wasForced","startWebListener","getInitialSetting","getInitialValue","setting","Appearance","getColorScheme","initialSetting","addChangeListener","next","colorScheme","updateValueFromSystem","isWebListening","_window_matchMedia","_window","_matcher_addEventListener","matcher","window","matchMedia","call","onSystemChange","addEventListener","updateScheme","setColorScheme","setItem","add","delete","state","setState","useState","snapshot","resolvedState","useIsomorphicLayoutEffect","useMemo","set"],"sources":["../../src/userScheme.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/index.js
CHANGED
|
@@ -15,33 +15,25 @@ function SchemeProvider({
|
|
|
15
15
|
value
|
|
16
16
|
} = useUserScheme();
|
|
17
17
|
const resolvedValue = forceScheme ?? value;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (!
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
classList.remove(toRemove);
|
|
33
|
-
if (!classList.contains(toAdd)) {
|
|
34
|
-
classList.add(toAdd);
|
|
35
|
-
}
|
|
36
|
-
}, [getClassName, resolvedValue]);
|
|
37
|
-
}
|
|
18
|
+
useIsomorphicLayoutEffect(() => {
|
|
19
|
+
if (!forceScheme && defaultScheme && typeof localStorage !== "undefined") {
|
|
20
|
+
if (!localStorage.getItem(storageKey)) setUserScheme(defaultScheme);
|
|
21
|
+
}
|
|
22
|
+
}, [defaultScheme, forceScheme]);
|
|
23
|
+
useIsomorphicLayoutEffect(() => {
|
|
24
|
+
const toAdd = getClassName(resolvedValue);
|
|
25
|
+
const toRemove = getClassName(resolvedValue === "light" ? "dark" : "light");
|
|
26
|
+
const {
|
|
27
|
+
classList
|
|
28
|
+
} = document.documentElement;
|
|
29
|
+
classList.remove(toRemove);
|
|
30
|
+
if (!classList.contains(toAdd)) classList.add(toAdd);
|
|
31
|
+
}, [getClassName, resolvedValue]);
|
|
38
32
|
let scriptContent;
|
|
39
|
-
if (forceScheme)
|
|
40
|
-
scriptContent = `let d = document.documentElement.classList
|
|
33
|
+
if (forceScheme) scriptContent = `let d = document.documentElement.classList
|
|
41
34
|
d.remove('${getClassName("light")}')
|
|
42
35
|
d.remove('${getClassName("dark")}')
|
|
43
|
-
d.add('${getClassName(forceScheme)}')`;
|
|
44
|
-
} else {
|
|
36
|
+
d.add('${getClassName(forceScheme)}')`;else {
|
|
45
37
|
const fallback = defaultScheme ? `'${defaultScheme}' === 'dark'` : `window.matchMedia('(prefers-color-scheme: dark)').matches`;
|
|
46
38
|
const seedStorage = defaultScheme ? `if(!e){localStorage.setItem('${storageKey}','${defaultScheme}')}` : "";
|
|
47
39
|
scriptContent = `let d = document.documentElement.classList
|
|
@@ -55,7 +47,7 @@ let t = 'system' === e || !e
|
|
|
55
47
|
t ? d.add('${getClassName("dark")}') : d.add('${getClassName("light")}')`;
|
|
56
48
|
}
|
|
57
49
|
return /* @__PURE__ */jsxs(Fragment, {
|
|
58
|
-
children: [
|
|
50
|
+
children: [/* @__PURE__ */jsx("script", {
|
|
59
51
|
suppressHydrationWarning: true,
|
|
60
52
|
dangerouslySetInnerHTML: {
|
|
61
53
|
__html: scriptContent
|
package/dist/esm/index.js.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,
|
|
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,SAAAC,cAAA,EAAAC,cAAA,EAAAC,aAAA,EAAAC,aAAA;AAAA,SACEC,eAAA,EAAAC,eAAA;AAAA,SACAC,aAAA,EAAAC,kBAAA,EAAAL,aAAA,IAAAM,cAAA,EAAAL,aAAA,IAAAM,cAAA;AAAA,SACAC,QAAA,EAAAC,GAAA,EAAAC,IAAA;AAAA,MACAC,UAAA;AAAA,SACKC,eAAA;EAAAC,QAAA;EAAAC,YAAA,GAAAC,IAAA,SAAAA,IAAA;EAAAC,aAAA;EAAAC;AAAA;EAOPlB,cAAS,CAAAkB,WAAiB;EAC1B;IAAAC;EAAA,IAAAjB,aAAA;EAAA,MACEkB,aAAA,GAAAF,WAAA,IAAAC,KAAA;EAAArB,yBACA;IACA,KAAAoB,WAAA,IAAAD,aAAA,WAAAI,YAAA;MACA,KAAAA,YAAA,CAAAC,OAAA,CAAAV,UAAA,GAAAX,aAAA,CAAAgB,aAAA;IAAA;EA0EE,IAAAA,aAAA,EAEIC,WAFJ;EAvEJpB,yBAAmB;IAEZ,MAAAyB,KAAS,GAAAR,YAAe,CAAAK,aAAA;IAC7B,MAAAI,QAAA,GAAAT,YAAA,CAAAK,aAAA;IACA;MAAAK;IAAgB,IAAAC,QAAc,CAAAC,eAAI;IAClCF,SAAA,CAAAG,MAAA,CAAAJ,QAAA;IACA,KAAAC,SAAA,CAAAI,QAAA,CAAAN,KAAA,GAAAE,SAAA,CAAAK,GAAA,CAAAP,KAAA;EACF,GAOG,CAAAR,YAAA,EAAAK,aAAA;EAED,IAAAW,aAAe;EAEf,IAAAb,WAAc,EAAAa,aAAI,GAAc;AAChC,YAAMhB,YAAgB;AAEtB,YAAIA,YAAY;AAEd,SAAAA,YAAA,CAAAG,WAA0B,KAAM,MAC9B;IACE,MAAAc,QAAK,GAAAf,aAAa,GAAQ,IAAAA,aAAa;IACrC,MAAAgB,WAAA,GAAAhB,aAAc,GAAa,gCAAAL,UAAA,MAAAK,aAAA;IAAAc,aAC7B;AAAA,YACFhB,YAAA;AAAA,YACEA,YAAe;AAEnB,gCAA0BH,UAAM;AAC9B,EAAAqB,WAAM;AACN;AACA,MAAAD,QAAQ;AACR;AACA,aAAKjB,YAAU,OAAS,gBAAQA,YAAA;EAC9B;EAAmB,OACrB,eAAAJ,IAAA,CAAAF,QAAA;IAAAK,QAAA,kBAAAJ,GAAA;MAAAwB,wBACgB;MACpBC,uBAAA;QAAAC,MAAA,EAAAL;MAAA;IAEA,IAAAjB,QAAI;EAAA;AAEJ;AAEE,SAAAuB,UAAA;EAAgBC,KAAA;EAAAC,SAAA;EAAAC;AAAA;EAAA;IAAArB;EACR,IAAAjB,aAAoB,CAAC;EAAA,MAAAuC,MACrB,GAAA1C,cAAa,CAAM,CAAC;EAAA,MAAAgC,aACvB,GAAaU,MAAA,0EAAYA,MAAA,cAAAF,SAAA,GAAAC,UAAA;AAAA,iCACzB5B,UAAA;AACL;AAIA,oCAAoB2B,SAChB,QAAAC,UAAA;EAGJ,sBAAgB7B,IAAA,CAAAF,QAAA;IAAAK,QAAA,kBAAAJ,GAAA;MAAAwB,wBACK,MAAO;MAACQ,EAAA,oBACrB;MAAoB1B,IAAA;MAE9B2B,OAAA,EAAAL,KAAW,KAAAnB,KAAA,cAAAoB,SAAA,GAAAC,UAAA;IAAA,mBAAA9B,GAAA;MAAAwB,wBAEC;MAAAQ,EAAA;MAAAP,uBAED,EAAa;QAAAC,MAAO,EAAAL;MAAe;IAAqB,CACnE;EAAA;AAEA;AAEK,SAAAM,SAAY,EAAAxB,cAAA,EAAmBV,eAAW,EACzCE,aAAA,EAAAC,kBAAA,EAAAC,cAAA,IAAAN,aAAA,EAAAG,eAAA,EAAAI,cAAA,IAAAN,aAAA","ignoreList":[]}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -15,33 +15,25 @@ function SchemeProvider({
|
|
|
15
15
|
value
|
|
16
16
|
} = useUserScheme();
|
|
17
17
|
const resolvedValue = forceScheme ?? value;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (!
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
classList.remove(toRemove);
|
|
33
|
-
if (!classList.contains(toAdd)) {
|
|
34
|
-
classList.add(toAdd);
|
|
35
|
-
}
|
|
36
|
-
}, [getClassName, resolvedValue]);
|
|
37
|
-
}
|
|
18
|
+
useIsomorphicLayoutEffect(() => {
|
|
19
|
+
if (!forceScheme && defaultScheme && typeof localStorage !== "undefined") {
|
|
20
|
+
if (!localStorage.getItem(storageKey)) setUserScheme(defaultScheme);
|
|
21
|
+
}
|
|
22
|
+
}, [defaultScheme, forceScheme]);
|
|
23
|
+
useIsomorphicLayoutEffect(() => {
|
|
24
|
+
const toAdd = getClassName(resolvedValue);
|
|
25
|
+
const toRemove = getClassName(resolvedValue === "light" ? "dark" : "light");
|
|
26
|
+
const {
|
|
27
|
+
classList
|
|
28
|
+
} = document.documentElement;
|
|
29
|
+
classList.remove(toRemove);
|
|
30
|
+
if (!classList.contains(toAdd)) classList.add(toAdd);
|
|
31
|
+
}, [getClassName, resolvedValue]);
|
|
38
32
|
let scriptContent;
|
|
39
|
-
if (forceScheme)
|
|
40
|
-
scriptContent = `let d = document.documentElement.classList
|
|
33
|
+
if (forceScheme) scriptContent = `let d = document.documentElement.classList
|
|
41
34
|
d.remove('${getClassName("light")}')
|
|
42
35
|
d.remove('${getClassName("dark")}')
|
|
43
|
-
d.add('${getClassName(forceScheme)}')`;
|
|
44
|
-
} else {
|
|
36
|
+
d.add('${getClassName(forceScheme)}')`;else {
|
|
45
37
|
const fallback = defaultScheme ? `'${defaultScheme}' === 'dark'` : `window.matchMedia('(prefers-color-scheme: dark)').matches`;
|
|
46
38
|
const seedStorage = defaultScheme ? `if(!e){localStorage.setItem('${storageKey}','${defaultScheme}')}` : "";
|
|
47
39
|
scriptContent = `let d = document.documentElement.classList
|
|
@@ -55,7 +47,7 @@ let t = 'system' === e || !e
|
|
|
55
47
|
t ? d.add('${getClassName("dark")}') : d.add('${getClassName("light")}')`;
|
|
56
48
|
}
|
|
57
49
|
return /* @__PURE__ */jsxs(Fragment, {
|
|
58
|
-
children: [
|
|
50
|
+
children: [/* @__PURE__ */jsx("script", {
|
|
59
51
|
suppressHydrationWarning: true,
|
|
60
52
|
dangerouslySetInnerHTML: {
|
|
61
53
|
__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,
|
|
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,SAAAC,cAAA,EAAAC,cAAA,EAAAC,aAAA,EAAAC,aAAA;AAAA,SACEC,eAAA,EAAAC,eAAA;AAAA,SACAC,aAAA,EAAAC,kBAAA,EAAAL,aAAA,IAAAM,cAAA,EAAAL,aAAA,IAAAM,cAAA;AAAA,SACAC,QAAA,EAAAC,GAAA,EAAAC,IAAA;AAAA,MACAC,UAAA;AAAA,SACKC,eAAA;EAAAC,QAAA;EAAAC,YAAA,GAAAC,IAAA,SAAAA,IAAA;EAAAC,aAAA;EAAAC;AAAA;EAOPlB,cAAS,CAAAkB,WAAiB;EAC1B;IAAAC;EAAA,IAAAjB,aAAA;EAAA,MACEkB,aAAA,GAAAF,WAAA,IAAAC,KAAA;EAAArB,yBACA;IACA,KAAAoB,WAAA,IAAAD,aAAA,WAAAI,YAAA;MACA,KAAAA,YAAA,CAAAC,OAAA,CAAAV,UAAA,GAAAX,aAAA,CAAAgB,aAAA;IAAA;EA0EE,IAAAA,aAAA,EAEIC,WAFJ;EAvEJpB,yBAAmB;IAEZ,MAAAyB,KAAS,GAAAR,YAAe,CAAAK,aAAA;IAC7B,MAAAI,QAAA,GAAAT,YAAA,CAAAK,aAAA;IACA;MAAAK;IAAgB,IAAAC,QAAc,CAAAC,eAAI;IAClCF,SAAA,CAAAG,MAAA,CAAAJ,QAAA;IACA,KAAAC,SAAA,CAAAI,QAAA,CAAAN,KAAA,GAAAE,SAAA,CAAAK,GAAA,CAAAP,KAAA;EACF,GAOG,CAAAR,YAAA,EAAAK,aAAA;EAED,IAAAW,aAAe;EAEf,IAAAb,WAAc,EAAAa,aAAI,GAAc;AAChC,YAAMhB,YAAgB;AAEtB,YAAIA,YAAY;AAEd,SAAAA,YAAA,CAAAG,WAA0B,KAAM,MAC9B;IACE,MAAAc,QAAK,GAAAf,aAAa,GAAQ,IAAAA,aAAa;IACrC,MAAAgB,WAAA,GAAAhB,aAAc,GAAa,gCAAAL,UAAA,MAAAK,aAAA;IAAAc,aAC7B;AAAA,YACFhB,YAAA;AAAA,YACEA,YAAe;AAEnB,gCAA0BH,UAAM;AAC9B,EAAAqB,WAAM;AACN;AACA,MAAAD,QAAQ;AACR;AACA,aAAKjB,YAAU,OAAS,gBAAQA,YAAA;EAC9B;EAAmB,OACrB,eAAAJ,IAAA,CAAAF,QAAA;IAAAK,QAAA,kBAAAJ,GAAA;MAAAwB,wBACgB;MACpBC,uBAAA;QAAAC,MAAA,EAAAL;MAAA;IAEA,IAAAjB,QAAI;EAAA;AAEJ;AAEE,SAAAuB,UAAA;EAAgBC,KAAA;EAAAC,SAAA;EAAAC;AAAA;EAAA;IAAArB;EACR,IAAAjB,aAAoB,CAAC;EAAA,MAAAuC,MACrB,GAAA1C,cAAa,CAAM,CAAC;EAAA,MAAAgC,aACvB,GAAaU,MAAA,0EAAYA,MAAA,cAAAF,SAAA,GAAAC,UAAA;AAAA,iCACzB5B,UAAA;AACL;AAIA,oCAAoB2B,SAChB,QAAAC,UAAA;EAGJ,sBAAgB7B,IAAA,CAAAF,QAAA;IAAAK,QAAA,kBAAAJ,GAAA;MAAAwB,wBACK,MAAO;MAACQ,EAAA,oBACrB;MAAoB1B,IAAA;MAE9B2B,OAAA,EAAAL,KAAW,KAAAnB,KAAA,cAAAoB,SAAA,GAAAC,UAAA;IAAA,mBAAA9B,GAAA;MAAAwB,wBAEC;MAAAQ,EAAA;MAAAP,uBAED,EAAa;QAAAC,MAAO,EAAAL;MAAe;IAAqB,CACnE;EAAA;AAEA;AAEK,SAAAM,SAAY,EAAAxB,cAAA,EAAmBV,eAAW,EACzCE,aAAA,EAAAC,kBAAA,EAAAC,cAAA,IAAAN,aAAA,EAAAG,eAAA,EAAAI,cAAA,IAAAN,aAAA","ignoreList":[]}
|
package/dist/esm/index.native.js
CHANGED
|
@@ -17,53 +17,13 @@ function SchemeProvider(param) {
|
|
|
17
17
|
var {
|
|
18
18
|
value
|
|
19
19
|
} = useUserScheme();
|
|
20
|
-
|
|
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
|
|
44
|
-
d.remove('${getClassName("light")}')
|
|
45
|
-
d.remove('${getClassName("dark")}')
|
|
46
|
-
d.add('${getClassName(forceScheme)}')`;
|
|
47
|
-
} else {
|
|
20
|
+
if (forceScheme) `${getClassName("light")}${getClassName("dark")}${getClassName(forceScheme)}`;else {
|
|
48
21
|
var fallback = defaultScheme ? `'${defaultScheme}' === 'dark'` : `window.matchMedia('(prefers-color-scheme: dark)').matches`;
|
|
49
22
|
var seedStorage = defaultScheme ? `if(!e){localStorage.setItem('${storageKey}','${defaultScheme}')}` : "";
|
|
50
|
-
|
|
51
|
-
d.remove('${getClassName("light")}')
|
|
52
|
-
d.remove('${getClassName("dark")}')
|
|
53
|
-
let e = localStorage.getItem('${storageKey}')
|
|
54
|
-
${seedStorage}
|
|
55
|
-
let t = 'system' === e || !e
|
|
56
|
-
? ${fallback}
|
|
57
|
-
: e === 'dark'
|
|
58
|
-
t ? d.add('${getClassName("dark")}') : d.add('${getClassName("light")}')`;
|
|
23
|
+
`${getClassName("light")}${getClassName("dark")}${storageKey}${seedStorage}${fallback}${getClassName("dark")}${getClassName("light")}`;
|
|
59
24
|
}
|
|
60
25
|
return /* @__PURE__ */_jsxs(_Fragment, {
|
|
61
|
-
children: [
|
|
62
|
-
suppressHydrationWarning: true,
|
|
63
|
-
dangerouslySetInnerHTML: {
|
|
64
|
-
__html: scriptContent
|
|
65
|
-
}
|
|
66
|
-
}), children]
|
|
26
|
+
children: [null, children]
|
|
67
27
|
});
|
|
68
28
|
}
|
|
69
29
|
function MetaTheme(param) {
|
|
@@ -1 +1 @@
|
|
|
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","
|
|
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","fallback","seedStorage","MetaTheme","color","darkColor","lightColor","forced","scriptContent","suppressHydrationWarning","id","content","dangerouslySetInnerHTML","__html"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAiC,IAAAC,SAAA;AAE1C,SAAAC,yBAAA;AAAA,SACEC,cAAA,EAAAC,cAAA,EAAAC,aAAA,EAAAC,aAAA;AAAA,SACAC,eAAA,EAAAC,eAAA;AAAA,SACAC,aAAA,EAAAC,kBAAA,EAAAL,aAAA,IAAAM,cAAA,EAAAL,aAAA,IAAAM,cAAA;AAAA,IACAC,UAAA;AAAA,SACKC,eAAAC,KAAA;EAOP;IAAAC,QAAS;IAAAC,YAAiB,YAAAA,CAAAC,IAAA;MAC1B,YAAAA,IAAA;IAAA,CACE;IAAAC,aAAA;IAAAC;EAAA,IAAAL,KAAA;EAAAX,cACA,CAAAgB,WAAA,aAAAA,WAAA,cAAAA,WAAA;EAAA,IACA;IAAAC;EAAA,IAAAf,aAAA;EAAA,IACAc,WAAA,KAAAH,YAAA,YAAAA,YAAA,WAAAA,YAAA,CAAAG,WAAA;IA0EE,IAAAE,QAAA,GAAAH,aAAA,OAAAA,aAAA;IAvEJ,IAAMI,WAAA,GAAaJ,aAAA,mCAAAN,UAAA,MAAAM,aAAA;IAEZ,GAAAF,YAAS,QAAe,IAAAA,YAAA,WAAAJ,UAAA,GAAAU,WAAA,GAAAD,QAAA,GAAAL,YAAA,WAAAA,YAAA;EAAA;EAC7B,OACA,eAAgBlB,KAAS,CAAAE,SAAS;IAAAe,QAAA,SAAAA,QAAA;EAAA;AAAA;AAClC,SACAQ,UAAAT,KAAA;EACF,IAOG;IAAAU,KAAA;IAAAC,SAAA;IAAAC;EAAA,IAAAZ,KAAA;EAED;IAAAM;EAAA,IAAef,aAAA,EAAe;EAE9B,IAAAsB,MAAQ,GAAAzB,cAAU;EAClB,IAAA0B,aAAM,GAAAD,MAAgB,0EAAeA,MAAA,cAAAF,SAAA,GAAAC,UAAA;AAErC,iCAAgBd,UAAmB;AAEjC;AACE,oCAAoBa,SAAiB,QAAOC,UAAA,IAAiB;EAC3D,sBAAK5B,KAAa,CAAAE,SAAQ;IAAAe,QAAa,kBAAAnB,IAAA;MACrCiC,wBAAc;MAAaC,EAAA,oBAC7B;MAAAb,IACF;MAAAc,OACE,EAAAP,KAAA,SAAe,IAAAA,KAAW,KAAC,SAAAA,KAAA,GAAAJ,KAAA,cAAAK,SAAA,GAAAC;IAE/B,mBAAA9B,IAAA,SAA0B,EAAM;MAC9BiC,wBAAc;MACdC,EAAA,sBAAiB;MACjBE,uBAAkB;QAAIC,MAAA,EAASL;MAAA;IAC/B;EAAA;AACA;AACE,SAAAL,SAAU,EAAAV,cAAS,EAAAP,eAAA,EAAAE,aAAA,EAAAC,kBAAA,EAAAC,cAAA,IAAAN,aAAA,EAAAG,eAAA,EAAAI,cAAA,IAAAN,aAAA","ignoreList":[]}
|
package/dist/esm/userScheme.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { useIsomorphicLayoutEffect } from "@vxrn/use-isomorphic-layout-effect";
|
|
2
2
|
import { useState, useMemo } from "react";
|
|
3
|
+
import { Appearance } from "react-native-web";
|
|
3
4
|
import { getSystemScheme } from "./systemScheme.mjs";
|
|
4
5
|
const listeners = /* @__PURE__ */new Set();
|
|
5
6
|
const storageKey = "vxrn-scheme";
|
|
@@ -37,55 +38,27 @@ function getForceScheme() {
|
|
|
37
38
|
return _forceScheme;
|
|
38
39
|
}
|
|
39
40
|
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
|
-
}
|
|
48
41
|
return "system";
|
|
49
42
|
}
|
|
50
43
|
function getInitialValue(setting) {
|
|
51
|
-
if (false) {
|
|
52
|
-
if (setting === "system") {
|
|
53
|
-
return Appearance.getColorScheme() === "dark" ? "dark" : "light";
|
|
54
|
-
}
|
|
55
|
-
return setting;
|
|
56
|
-
}
|
|
57
44
|
return "light";
|
|
58
45
|
}
|
|
59
46
|
const initialSetting = getInitialSetting();
|
|
60
47
|
let currentSetting = initialSetting;
|
|
61
48
|
let currentValue = getInitialValue(initialSetting);
|
|
62
|
-
if (false) {
|
|
63
|
-
Appearance.addChangeListener(next => {
|
|
64
|
-
if (currentSetting === "system" && next.colorScheme) {
|
|
65
|
-
updateValueFromSystem();
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
49
|
let isWebListening = false;
|
|
70
50
|
function startWebListener() {
|
|
71
51
|
if (isWebListening) return;
|
|
72
52
|
isWebListening = true;
|
|
73
53
|
const matcher = typeof window !== "undefined" ? window.matchMedia?.("(prefers-color-scheme: dark)") : null;
|
|
74
54
|
const onSystemChange = () => {
|
|
75
|
-
if (currentSetting === "system")
|
|
76
|
-
updateValueFromSystem();
|
|
77
|
-
}
|
|
55
|
+
if (currentSetting === "system") updateValueFromSystem();
|
|
78
56
|
};
|
|
79
57
|
onSystemChange();
|
|
80
58
|
matcher?.addEventListener?.("change", onSystemChange);
|
|
81
59
|
}
|
|
82
60
|
function resolveValue(setting) {
|
|
83
|
-
if (setting === "system")
|
|
84
|
-
if (false) {
|
|
85
|
-
return Appearance.getColorScheme() === "dark" ? "dark" : "light";
|
|
86
|
-
}
|
|
87
|
-
return getSystemScheme();
|
|
88
|
-
}
|
|
61
|
+
if (setting === "system") return getSystemScheme();
|
|
89
62
|
return setting;
|
|
90
63
|
}
|
|
91
64
|
function updateValueFromSystem() {
|
|
@@ -102,21 +75,12 @@ function updateScheme(setting) {
|
|
|
102
75
|
if (value !== currentValue || currentSetting !== setting) {
|
|
103
76
|
currentSetting = setting;
|
|
104
77
|
currentValue = value;
|
|
105
|
-
if (false) {
|
|
106
|
-
if (setting !== "system") {
|
|
107
|
-
Appearance.setColorScheme(value);
|
|
108
|
-
} else {
|
|
109
|
-
Appearance.setColorScheme("unspecified");
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
78
|
notifyListeners();
|
|
113
79
|
}
|
|
114
80
|
}
|
|
115
81
|
function setUserScheme(setting) {
|
|
116
82
|
if (_forceScheme) return;
|
|
117
|
-
if (typeof localStorage !== "undefined")
|
|
118
|
-
localStorage.setItem(storageKey, setting);
|
|
119
|
-
}
|
|
83
|
+
if (typeof localStorage !== "undefined") localStorage.setItem(storageKey, setting);
|
|
120
84
|
updateScheme(setting);
|
|
121
85
|
}
|
|
122
86
|
function getUserScheme() {
|
|
@@ -144,19 +108,16 @@ function useUserScheme() {
|
|
|
144
108
|
if (!_forceScheme) {
|
|
145
109
|
if (typeof localStorage !== "undefined") {
|
|
146
110
|
const stored = localStorage.getItem(storageKey);
|
|
147
|
-
if (stored)
|
|
148
|
-
updateScheme(stored);
|
|
149
|
-
}
|
|
111
|
+
if (stored) updateScheme(stored);
|
|
150
112
|
}
|
|
151
113
|
startWebListener();
|
|
152
114
|
}
|
|
153
|
-
|
|
115
|
+
return onUserSchemeChange((setting, value) => {
|
|
154
116
|
setState({
|
|
155
117
|
setting,
|
|
156
118
|
value
|
|
157
119
|
});
|
|
158
120
|
});
|
|
159
|
-
return dispose;
|
|
160
121
|
}, []);
|
|
161
122
|
return useMemo(() => ({
|
|
162
123
|
setting: resolvedState.setting,
|
|
@@ -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","
|
|
1
|
+
{"version":3,"names":["useIsomorphicLayoutEffect","useState","useMemo","Appearance","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","updateValueFromSystem","addEventListener","value","updateScheme","setUserScheme","setItem","getUserScheme","onUserSchemeChange","add","delete","useUserScheme","state","setState","snapshot","resolvedState","set"],"sources":["../../src/userScheme.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -38,35 +38,22 @@ function getForceScheme() {
|
|
|
38
38
|
return _forceScheme;
|
|
39
39
|
}
|
|
40
40
|
function getInitialSetting() {
|
|
41
|
-
if (
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (stored === "light" || stored === "dark" || stored === "system") {
|
|
45
|
-
return stored;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
41
|
+
if (typeof localStorage !== "undefined") {
|
|
42
|
+
var stored = localStorage.getItem(storageKey);
|
|
43
|
+
if (stored === "light" || stored === "dark" || stored === "system") return stored;
|
|
48
44
|
}
|
|
49
45
|
return "system";
|
|
50
46
|
}
|
|
51
47
|
function getInitialValue(setting) {
|
|
52
|
-
if (
|
|
53
|
-
|
|
54
|
-
return Appearance.getColorScheme() === "dark" ? "dark" : "light";
|
|
55
|
-
}
|
|
56
|
-
return setting;
|
|
57
|
-
}
|
|
58
|
-
return "light";
|
|
48
|
+
if (setting === "system") return Appearance.getColorScheme() === "dark" ? "dark" : "light";
|
|
49
|
+
return setting;
|
|
59
50
|
}
|
|
60
51
|
var initialSetting = getInitialSetting();
|
|
61
52
|
var currentSetting = initialSetting;
|
|
62
53
|
var currentValue = getInitialValue(initialSetting);
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
updateValueFromSystem();
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
}
|
|
54
|
+
Appearance.addChangeListener(function (next) {
|
|
55
|
+
if (currentSetting === "system" && next.colorScheme) updateValueFromSystem();
|
|
56
|
+
});
|
|
70
57
|
var isWebListening = false;
|
|
71
58
|
function startWebListener() {
|
|
72
59
|
var _window_matchMedia, _window, _matcher_addEventListener;
|
|
@@ -74,20 +61,13 @@ function startWebListener() {
|
|
|
74
61
|
isWebListening = true;
|
|
75
62
|
var matcher = typeof window !== "undefined" ? (_window_matchMedia = (_window = window).matchMedia) === null || _window_matchMedia === void 0 ? void 0 : _window_matchMedia.call(_window, "(prefers-color-scheme: dark)") : null;
|
|
76
63
|
var onSystemChange = function () {
|
|
77
|
-
if (currentSetting === "system")
|
|
78
|
-
updateValueFromSystem();
|
|
79
|
-
}
|
|
64
|
+
if (currentSetting === "system") updateValueFromSystem();
|
|
80
65
|
};
|
|
81
66
|
onSystemChange();
|
|
82
|
-
matcher === null || matcher === void 0
|
|
67
|
+
matcher === null || matcher === void 0 || (_matcher_addEventListener = matcher.addEventListener) == null || _matcher_addEventListener.call(matcher, "change", onSystemChange);
|
|
83
68
|
}
|
|
84
69
|
function resolveValue(setting) {
|
|
85
|
-
if (setting === "system")
|
|
86
|
-
if (true) {
|
|
87
|
-
return Appearance.getColorScheme() === "dark" ? "dark" : "light";
|
|
88
|
-
}
|
|
89
|
-
return getSystemScheme();
|
|
90
|
-
}
|
|
70
|
+
if (setting === "system") return Appearance.getColorScheme() === "dark" ? "dark" : "light";
|
|
91
71
|
return setting;
|
|
92
72
|
}
|
|
93
73
|
function updateValueFromSystem() {
|
|
@@ -104,21 +84,13 @@ function updateScheme(setting) {
|
|
|
104
84
|
if (value !== currentValue || currentSetting !== setting) {
|
|
105
85
|
currentSetting = setting;
|
|
106
86
|
currentValue = value;
|
|
107
|
-
if (
|
|
108
|
-
if (setting !== "system") {
|
|
109
|
-
Appearance.setColorScheme(value);
|
|
110
|
-
} else {
|
|
111
|
-
Appearance.setColorScheme("unspecified");
|
|
112
|
-
}
|
|
113
|
-
}
|
|
87
|
+
if (setting !== "system") Appearance.setColorScheme(value);else Appearance.setColorScheme("unspecified");
|
|
114
88
|
notifyListeners();
|
|
115
89
|
}
|
|
116
90
|
}
|
|
117
91
|
function setUserScheme(setting) {
|
|
118
92
|
if (_forceScheme) return;
|
|
119
|
-
if (typeof localStorage !== "undefined")
|
|
120
|
-
localStorage.setItem(storageKey, setting);
|
|
121
|
-
}
|
|
93
|
+
if (typeof localStorage !== "undefined") localStorage.setItem(storageKey, setting);
|
|
122
94
|
updateScheme(setting);
|
|
123
95
|
}
|
|
124
96
|
function getUserScheme() {
|
|
@@ -148,19 +120,16 @@ function useUserScheme() {
|
|
|
148
120
|
if (!_forceScheme) {
|
|
149
121
|
if (typeof localStorage !== "undefined") {
|
|
150
122
|
var stored = localStorage.getItem(storageKey);
|
|
151
|
-
if (stored)
|
|
152
|
-
updateScheme(stored);
|
|
153
|
-
}
|
|
123
|
+
if (stored) updateScheme(stored);
|
|
154
124
|
}
|
|
155
125
|
startWebListener();
|
|
156
126
|
}
|
|
157
|
-
|
|
127
|
+
return onUserSchemeChange(function (setting, value) {
|
|
158
128
|
setState({
|
|
159
129
|
setting,
|
|
160
130
|
value
|
|
161
131
|
});
|
|
162
132
|
});
|
|
163
|
-
return dispose;
|
|
164
133
|
}, []);
|
|
165
134
|
return useMemo(function () {
|
|
166
135
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useIsomorphicLayoutEffect","useState","useMemo","Appearance","getSystemScheme","listeners","Set","storageKey","_forceScheme","notifyListeners","forEach","listener","currentSetting","currentValue","restoreUnforcedScheme","localStorage","stored","getItem","resolveValue","setForceScheme","scheme","wasForced","startWebListener","getForceScheme","getInitialSetting","getInitialValue","setting","getColorScheme","initialSetting","addChangeListener","next","colorScheme","updateValueFromSystem","isWebListening","_window_matchMedia","_window","_matcher_addEventListener","matcher","window","matchMedia","call","onSystemChange","addEventListener","value","updateScheme","setColorScheme","setUserScheme","setItem","getUserScheme","onUserSchemeChange","add","delete","useUserScheme","state","setState","snapshot","resolvedState","
|
|
1
|
+
{"version":3,"names":["useIsomorphicLayoutEffect","useState","useMemo","Appearance","getSystemScheme","listeners","Set","storageKey","_forceScheme","notifyListeners","forEach","listener","currentSetting","currentValue","restoreUnforcedScheme","localStorage","stored","getItem","resolveValue","setForceScheme","scheme","wasForced","startWebListener","getForceScheme","getInitialSetting","getInitialValue","setting","getColorScheme","initialSetting","addChangeListener","next","colorScheme","updateValueFromSystem","isWebListening","_window_matchMedia","_window","_matcher_addEventListener","matcher","window","matchMedia","call","onSystemChange","addEventListener","value","updateScheme","setColorScheme","setUserScheme","setItem","getUserScheme","onUserSchemeChange","add","delete","useUserScheme","state","setState","snapshot","resolvedState","set"],"sources":["../../src/userScheme.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vxrn/color-scheme",
|
|
3
|
-
"version": "1.15.
|
|
3
|
+
"version": "1.15.10",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"exports": {
|
|
6
6
|
"./package.json": "./package.json",
|
|
@@ -30,10 +30,10 @@
|
|
|
30
30
|
"watch": "tamagui-build --watch"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@vxrn/use-isomorphic-layout-effect": "1.15.
|
|
33
|
+
"@vxrn/use-isomorphic-layout-effect": "1.15.10"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@tamagui/build": "2.0.0-rc.
|
|
36
|
+
"@tamagui/build": "2.0.0-rc.40",
|
|
37
37
|
"react": "19.2.0",
|
|
38
38
|
"react-native": "0.83.2"
|
|
39
39
|
},
|