@vxrn/color-scheme 2.0.0-beta.33.1 → 2.0.0-beta.362.1
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 +63 -87
- package/dist/cjs/index.native.cjs +75 -0
- package/dist/cjs/index.native.js +47 -66
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/safeStorage.cjs +23 -25
- package/dist/cjs/safeStorage.native.cjs +40 -0
- package/dist/cjs/safeStorage.native.js +23 -24
- package/dist/cjs/safeStorage.native.js.map +1 -1
- package/dist/cjs/systemScheme.cjs +24 -26
- package/dist/cjs/systemScheme.native.cjs +59 -0
- package/dist/cjs/systemScheme.native.js +38 -41
- package/dist/cjs/systemScheme.native.js.map +1 -1
- package/dist/cjs/userScheme.cjs +104 -106
- package/dist/cjs/userScheme.native.cjs +169 -0
- package/dist/cjs/userScheme.native.js +116 -116
- package/dist/cjs/userScheme.native.js.map +1 -1
- package/dist/cjs/userSchemeAppearance.cjs +17 -19
- package/dist/cjs/userSchemeAppearance.native.cjs +39 -0
- package/dist/cjs/userSchemeAppearance.native.js +19 -20
- package/dist/cjs/userSchemeAppearance.native.js.map +1 -1
- package/dist/esm/index.js +44 -64
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +44 -64
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +28 -44
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/safeStorage.mjs +9 -8
- package/dist/esm/safeStorage.mjs.map +1 -1
- package/dist/esm/safeStorage.native.js +9 -8
- package/dist/esm/safeStorage.native.js.map +1 -1
- package/dist/esm/systemScheme.mjs +11 -9
- package/dist/esm/systemScheme.mjs.map +1 -1
- package/dist/esm/systemScheme.native.js +27 -27
- package/dist/esm/systemScheme.native.js.map +1 -1
- package/dist/esm/userScheme.mjs +87 -85
- package/dist/esm/userScheme.mjs.map +1 -1
- package/dist/esm/userScheme.native.js +99 -96
- package/dist/esm/userScheme.native.js.map +1 -1
- package/dist/esm/userSchemeAppearance.mjs +3 -1
- package/dist/esm/userSchemeAppearance.mjs.map +1 -1
- package/dist/esm/userSchemeAppearance.native.js +5 -3
- package/dist/esm/userSchemeAppearance.native.js.map +1 -1
- package/package.json +6 -5
- package/dist/cjs/safeStorage.test.cjs +0 -49
- package/dist/cjs/safeStorage.test.native.js +0 -66
- package/dist/cjs/safeStorage.test.native.js.map +0 -1
- package/dist/esm/safeStorage.test.mjs +0 -50
- package/dist/esm/safeStorage.test.mjs.map +0 -1
- package/dist/esm/safeStorage.test.native.js +0 -64
- package/dist/esm/safeStorage.test.native.js.map +0 -1
- package/types/safeStorage.test.d.ts +0 -2
- package/types/safeStorage.test.d.ts.map +0 -1
package/dist/cjs/index.cjs
CHANGED
|
@@ -3,33 +3,31 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
3
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
5
|
var __export = (target, all) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
10
|
};
|
|
11
11
|
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
19
|
};
|
|
20
|
-
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
-
value: true
|
|
22
|
-
}), mod);
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
21
|
var index_exports = {};
|
|
24
22
|
__export(index_exports, {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
23
|
+
MetaTheme: () => MetaTheme,
|
|
24
|
+
SchemeProvider: () => SchemeProvider,
|
|
25
|
+
getSystemScheme: () => import_systemScheme.getSystemScheme,
|
|
26
|
+
getUserScheme: () => import_userScheme2.getUserScheme,
|
|
27
|
+
onUserSchemeChange: () => import_userScheme2.onUserSchemeChange,
|
|
28
|
+
setUserScheme: () => import_userScheme2.setUserScheme,
|
|
29
|
+
useSystemScheme: () => import_systemScheme.useSystemScheme,
|
|
30
|
+
useUserScheme: () => import_userScheme2.useUserScheme
|
|
33
31
|
});
|
|
34
32
|
module.exports = __toCommonJS(index_exports);
|
|
35
33
|
var import_use_isomorphic_layout_effect = require("@vxrn/use-isomorphic-layout-effect");
|
|
@@ -39,39 +37,31 @@ var import_systemScheme = require("./systemScheme.cjs");
|
|
|
39
37
|
var import_userScheme2 = require("./userScheme.cjs");
|
|
40
38
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
41
39
|
const storageKey = "vxrn-scheme";
|
|
42
|
-
function SchemeProvider({
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const toRemove = getClassName(resolvedValue === "light" ? "dark" : "light");
|
|
61
|
-
const {
|
|
62
|
-
classList
|
|
63
|
-
} = document.documentElement;
|
|
64
|
-
classList.remove(toRemove);
|
|
65
|
-
if (!classList.contains(toAdd)) classList.add(toAdd);
|
|
66
|
-
}, [getClassName, resolvedValue]);
|
|
67
|
-
let scriptContent;
|
|
68
|
-
if (forceScheme) scriptContent = `let d = document.documentElement.classList
|
|
40
|
+
function SchemeProvider({ children, getClassName = (name) => `t_${name}`, defaultScheme, forceScheme }) {
|
|
41
|
+
(0, import_userScheme.setForceScheme)(forceScheme ?? null);
|
|
42
|
+
const { value } = (0, import_userScheme.useUserScheme)();
|
|
43
|
+
const resolvedValue = forceScheme ?? value;
|
|
44
|
+
(0, import_use_isomorphic_layout_effect.useIsomorphicLayoutEffect)(() => {
|
|
45
|
+
if (!forceScheme && defaultScheme) {
|
|
46
|
+
if (!(0, import_safeStorage.getStorageItem)(storageKey)) (0, import_userScheme.setUserScheme)(defaultScheme);
|
|
47
|
+
}
|
|
48
|
+
}, [defaultScheme, forceScheme]);
|
|
49
|
+
(0, import_use_isomorphic_layout_effect.useIsomorphicLayoutEffect)(() => {
|
|
50
|
+
const toAdd = getClassName(resolvedValue);
|
|
51
|
+
const toRemove = getClassName(resolvedValue === "light" ? "dark" : "light");
|
|
52
|
+
const { classList } = document.documentElement;
|
|
53
|
+
classList.remove(toRemove);
|
|
54
|
+
if (!classList.contains(toAdd)) classList.add(toAdd);
|
|
55
|
+
}, [getClassName, resolvedValue]);
|
|
56
|
+
let scriptContent;
|
|
57
|
+
if (forceScheme) scriptContent = `let d = document.documentElement.classList
|
|
69
58
|
d.remove('${getClassName("light")}')
|
|
70
59
|
d.remove('${getClassName("dark")}')
|
|
71
|
-
d.add('${getClassName(forceScheme)}')`;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
60
|
+
d.add('${getClassName(forceScheme)}')`;
|
|
61
|
+
else {
|
|
62
|
+
const fallback = defaultScheme ? `'${defaultScheme}' === 'dark'` : `window.matchMedia('(prefers-color-scheme: dark)').matches`;
|
|
63
|
+
const seedStorage = defaultScheme ? `;if(!e){localStorage.setItem('${storageKey}','${defaultScheme}')}` : "";
|
|
64
|
+
scriptContent = `let d = document.documentElement.classList
|
|
75
65
|
d.remove('${getClassName("light")}')
|
|
76
66
|
d.remove('${getClassName("dark")}')
|
|
77
67
|
let e = null
|
|
@@ -80,42 +70,28 @@ let t = 'system' === e || !e
|
|
|
80
70
|
? ${fallback}
|
|
81
71
|
: e === 'dark'
|
|
82
72
|
t ? d.add('${getClassName("dark")}') : d.add('${getClassName("light")}')`;
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
__html: scriptContent
|
|
89
|
-
}
|
|
90
|
-
}), children]
|
|
91
|
-
});
|
|
73
|
+
}
|
|
74
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("script", {
|
|
75
|
+
suppressHydrationWarning: true,
|
|
76
|
+
dangerouslySetInnerHTML: { __html: scriptContent }
|
|
77
|
+
}), children] });
|
|
92
78
|
}
|
|
93
|
-
function MetaTheme({
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}) {
|
|
98
|
-
const {
|
|
99
|
-
value
|
|
100
|
-
} = (0, import_userScheme.useUserScheme)();
|
|
101
|
-
const forced = (0, import_userScheme.getForceScheme)();
|
|
102
|
-
const scriptContent = forced ? `document.getElementById('vxrn-theme-color').setAttribute('content','${forced === "dark" ? darkColor : lightColor}')` : `let dc = document.getElementById('vxrn-theme-color')
|
|
79
|
+
function MetaTheme({ color, darkColor, lightColor }) {
|
|
80
|
+
const { value } = (0, import_userScheme.useUserScheme)();
|
|
81
|
+
const forced = (0, import_userScheme.getForceScheme)();
|
|
82
|
+
const scriptContent = forced ? `document.getElementById('vxrn-theme-color').setAttribute('content','${forced === "dark" ? darkColor : lightColor}')` : `let dc = document.getElementById('vxrn-theme-color')
|
|
103
83
|
let e1 = null
|
|
104
84
|
try { e1 = localStorage.getItem('${storageKey}') } catch (_e) {}
|
|
105
85
|
let isD = 'system' === e1 || !e1 ? window.matchMedia('(prefers-color-scheme: dark)').matches : e1 === 'dark'
|
|
106
86
|
dc.setAttribute('content', isD ? '${darkColor}' : '${lightColor}')`;
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
}
|
|
119
|
-
})]
|
|
120
|
-
});
|
|
121
|
-
}
|
|
87
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("meta", {
|
|
88
|
+
suppressHydrationWarning: true,
|
|
89
|
+
id: "vxrn-theme-color",
|
|
90
|
+
name: "theme-color",
|
|
91
|
+
content: color ?? (value === "dark" ? darkColor : lightColor)
|
|
92
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("script", {
|
|
93
|
+
suppressHydrationWarning: true,
|
|
94
|
+
id: "meta-theme-hydrate",
|
|
95
|
+
dangerouslySetInnerHTML: { __html: scriptContent }
|
|
96
|
+
})] });
|
|
97
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
|
+
var index_exports = {};
|
|
24
|
+
__export(index_exports, {
|
|
25
|
+
MetaTheme: () => MetaTheme,
|
|
26
|
+
SchemeProvider: () => SchemeProvider,
|
|
27
|
+
getSystemScheme: () => import_systemScheme.getSystemScheme,
|
|
28
|
+
getUserScheme: () => import_userScheme2.getUserScheme,
|
|
29
|
+
onUserSchemeChange: () => import_userScheme2.onUserSchemeChange,
|
|
30
|
+
setUserScheme: () => import_userScheme2.setUserScheme,
|
|
31
|
+
useSystemScheme: () => import_systemScheme.useSystemScheme,
|
|
32
|
+
useUserScheme: () => import_userScheme2.useUserScheme
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(index_exports);
|
|
35
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
|
+
require("@vxrn/use-isomorphic-layout-effect");
|
|
37
|
+
require("./safeStorage.native.js");
|
|
38
|
+
var import_userScheme = require("./userScheme.native.js");
|
|
39
|
+
var import_systemScheme = require("./systemScheme.native.js");
|
|
40
|
+
var import_userScheme2 = require("./userScheme.native.js");
|
|
41
|
+
var storageKey = "vxrn-scheme";
|
|
42
|
+
function SchemeProvider(param) {
|
|
43
|
+
var { children, getClassName = function(name) {
|
|
44
|
+
return `t_${name}`;
|
|
45
|
+
}, defaultScheme, forceScheme } = param;
|
|
46
|
+
(0, import_userScheme.setForceScheme)(forceScheme !== null && forceScheme !== void 0 ? forceScheme : null);
|
|
47
|
+
var { value } = (0, import_userScheme.useUserScheme)();
|
|
48
|
+
if (forceScheme) `${getClassName("light")}${getClassName("dark")}${getClassName(forceScheme)}`;
|
|
49
|
+
else {
|
|
50
|
+
var fallback = defaultScheme ? `'${defaultScheme}' === 'dark'` : `window.matchMedia('(prefers-color-scheme: dark)').matches`;
|
|
51
|
+
var seedStorage = defaultScheme ? `;if(!e){localStorage.setItem('${storageKey}','${defaultScheme}')}` : "";
|
|
52
|
+
`${getClassName("light")}${getClassName("dark")}${storageKey}${seedStorage}${fallback}${getClassName("dark")}${getClassName("light")}`;
|
|
53
|
+
}
|
|
54
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [null, children] });
|
|
55
|
+
}
|
|
56
|
+
function MetaTheme(param) {
|
|
57
|
+
var { color, darkColor, lightColor } = param;
|
|
58
|
+
var { value } = (0, import_userScheme.useUserScheme)();
|
|
59
|
+
var forced = (0, import_userScheme.getForceScheme)();
|
|
60
|
+
var scriptContent = forced ? `document.getElementById('vxrn-theme-color').setAttribute('content','${forced === "dark" ? darkColor : lightColor}')` : `let dc = document.getElementById('vxrn-theme-color')
|
|
61
|
+
let e1 = null
|
|
62
|
+
try { e1 = localStorage.getItem('${storageKey}') } catch (_e) {}
|
|
63
|
+
let isD = 'system' === e1 || !e1 ? window.matchMedia('(prefers-color-scheme: dark)').matches : e1 === 'dark'
|
|
64
|
+
dc.setAttribute('content', isD ? '${darkColor}' : '${lightColor}')`;
|
|
65
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("meta", {
|
|
66
|
+
suppressHydrationWarning: true,
|
|
67
|
+
id: "vxrn-theme-color",
|
|
68
|
+
name: "theme-color",
|
|
69
|
+
content: color !== null && color !== void 0 ? color : value === "dark" ? darkColor : lightColor
|
|
70
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("script", {
|
|
71
|
+
suppressHydrationWarning: true,
|
|
72
|
+
id: "meta-theme-hydrate",
|
|
73
|
+
dangerouslySetInnerHTML: { __html: scriptContent }
|
|
74
|
+
})] });
|
|
75
|
+
}
|
package/dist/cjs/index.native.js
CHANGED
|
@@ -5,33 +5,31 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
7
|
var __export = (target, all) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
12
|
};
|
|
13
13
|
var __copyProps = (to, from, except, desc) => {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
21
|
};
|
|
22
|
-
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
-
value: true
|
|
24
|
-
}), mod);
|
|
22
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
23
|
var index_exports = {};
|
|
26
24
|
__export(index_exports, {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
25
|
+
MetaTheme: () => MetaTheme,
|
|
26
|
+
SchemeProvider: () => SchemeProvider,
|
|
27
|
+
getSystemScheme: () => import_systemScheme.getSystemScheme,
|
|
28
|
+
getUserScheme: () => import_userScheme2.getUserScheme,
|
|
29
|
+
onUserSchemeChange: () => import_userScheme2.onUserSchemeChange,
|
|
30
|
+
setUserScheme: () => import_userScheme2.setUserScheme,
|
|
31
|
+
useSystemScheme: () => import_systemScheme.useSystemScheme,
|
|
32
|
+
useUserScheme: () => import_userScheme2.useUserScheme
|
|
35
33
|
});
|
|
36
34
|
module.exports = __toCommonJS(index_exports);
|
|
37
35
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -42,55 +40,38 @@ var import_systemScheme = require("./systemScheme.native.js");
|
|
|
42
40
|
var import_userScheme2 = require("./userScheme.native.js");
|
|
43
41
|
var storageKey = "vxrn-scheme";
|
|
44
42
|
function SchemeProvider(param) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
if (forceScheme) `${getClassName("light")}${getClassName("dark")}${getClassName(forceScheme)}`;else {
|
|
58
|
-
var fallback = defaultScheme ? `'${defaultScheme}' === 'dark'` : `window.matchMedia('(prefers-color-scheme: dark)').matches`;
|
|
59
|
-
var seedStorage = defaultScheme ? `;if(!e){localStorage.setItem('${storageKey}','${defaultScheme}')}` : "";
|
|
60
|
-
`${getClassName("light")}${getClassName("dark")}${storageKey}${seedStorage}${fallback}${getClassName("dark")}${getClassName("light")}`;
|
|
61
|
-
}
|
|
62
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
|
|
63
|
-
children: [null, children]
|
|
64
|
-
});
|
|
43
|
+
var { children, getClassName = function(name) {
|
|
44
|
+
return `t_${name}`;
|
|
45
|
+
}, defaultScheme, forceScheme } = param;
|
|
46
|
+
(0, import_userScheme.setForceScheme)(forceScheme !== null && forceScheme !== void 0 ? forceScheme : null);
|
|
47
|
+
var { value } = (0, import_userScheme.useUserScheme)();
|
|
48
|
+
if (forceScheme) `${getClassName("light")}${getClassName("dark")}${getClassName(forceScheme)}`;
|
|
49
|
+
else {
|
|
50
|
+
var fallback = defaultScheme ? `'${defaultScheme}' === 'dark'` : `window.matchMedia('(prefers-color-scheme: dark)').matches`;
|
|
51
|
+
var seedStorage = defaultScheme ? `;if(!e){localStorage.setItem('${storageKey}','${defaultScheme}')}` : "";
|
|
52
|
+
`${getClassName("light")}${getClassName("dark")}${storageKey}${seedStorage}${fallback}${getClassName("dark")}${getClassName("light")}`;
|
|
53
|
+
}
|
|
54
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [null, children] });
|
|
65
55
|
}
|
|
66
56
|
function MetaTheme(param) {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
} = param;
|
|
72
|
-
var {
|
|
73
|
-
value
|
|
74
|
-
} = (0, import_userScheme.useUserScheme)();
|
|
75
|
-
var forced = (0, import_userScheme.getForceScheme)();
|
|
76
|
-
var scriptContent = forced ? `document.getElementById('vxrn-theme-color').setAttribute('content','${forced === "dark" ? darkColor : lightColor}')` : `let dc = document.getElementById('vxrn-theme-color')
|
|
57
|
+
var { color, darkColor, lightColor } = param;
|
|
58
|
+
var { value } = (0, import_userScheme.useUserScheme)();
|
|
59
|
+
var forced = (0, import_userScheme.getForceScheme)();
|
|
60
|
+
var scriptContent = forced ? `document.getElementById('vxrn-theme-color').setAttribute('content','${forced === "dark" ? darkColor : lightColor}')` : `let dc = document.getElementById('vxrn-theme-color')
|
|
77
61
|
let e1 = null
|
|
78
62
|
try { e1 = localStorage.getItem('${storageKey}') } catch (_e) {}
|
|
79
63
|
let isD = 'system' === e1 || !e1 ? window.matchMedia('(prefers-color-scheme: dark)').matches : e1 === 'dark'
|
|
80
64
|
dc.setAttribute('content', isD ? '${darkColor}' : '${lightColor}')`;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
__html: scriptContent
|
|
92
|
-
}
|
|
93
|
-
})]
|
|
94
|
-
});
|
|
65
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("meta", {
|
|
66
|
+
suppressHydrationWarning: true,
|
|
67
|
+
id: "vxrn-theme-color",
|
|
68
|
+
name: "theme-color",
|
|
69
|
+
content: color !== null && color !== void 0 ? color : value === "dark" ? darkColor : lightColor
|
|
70
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("script", {
|
|
71
|
+
suppressHydrationWarning: true,
|
|
72
|
+
id: "meta-theme-hydrate",
|
|
73
|
+
dangerouslySetInnerHTML: { __html: scriptContent }
|
|
74
|
+
})] });
|
|
95
75
|
}
|
|
76
|
+
|
|
96
77
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.native.js","names":[],"sources":["cjs/index.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n\tfor (var name in all) __defProp(target, name, {\n\t\tget: all[name],\n\t\tenumerable: true\n\t});\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: () => from[key],\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar index_exports = {};\n__export(index_exports, {\n\tMetaTheme: () => MetaTheme,\n\tSchemeProvider: () => SchemeProvider,\n\tgetSystemScheme: () => import_systemScheme.getSystemScheme,\n\tgetUserScheme: () => import_userScheme2.getUserScheme,\n\tonUserSchemeChange: () => import_userScheme2.onUserSchemeChange,\n\tsetUserScheme: () => import_userScheme2.setUserScheme,\n\tuseSystemScheme: () => import_systemScheme.useSystemScheme,\n\tuseUserScheme: () => import_userScheme2.useUserScheme\n});\nmodule.exports = __toCommonJS(index_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nrequire(\"@vxrn/use-isomorphic-layout-effect\");\nrequire(\"./safeStorage\");\nvar import_userScheme = require(\"./userScheme\");\nvar import_systemScheme = require(\"./systemScheme\");\nvar import_userScheme2 = require(\"./userScheme\");\nvar storageKey = \"vxrn-scheme\";\nfunction SchemeProvider(param) {\n\tvar { children, getClassName = function(name) {\n\t\treturn `t_${name}`;\n\t}, defaultScheme, forceScheme } = param;\n\t(0, import_userScheme.setForceScheme)(forceScheme !== null && forceScheme !== void 0 ? forceScheme : null);\n\tvar { value } = (0, import_userScheme.useUserScheme)();\n\tif (forceScheme) `${getClassName(\"light\")}${getClassName(\"dark\")}${getClassName(forceScheme)}`;\n\telse {\n\t\tvar fallback = defaultScheme ? `'${defaultScheme}' === 'dark'` : `window.matchMedia('(prefers-color-scheme: dark)').matches`;\n\t\tvar seedStorage = defaultScheme ? `;if(!e){localStorage.setItem('${storageKey}','${defaultScheme}')}` : \"\";\n\t\t`${getClassName(\"light\")}${getClassName(\"dark\")}${storageKey}${seedStorage}${fallback}${getClassName(\"dark\")}${getClassName(\"light\")}`;\n\t}\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [null, children] });\n}\nfunction MetaTheme(param) {\n\tvar { color, darkColor, lightColor } = param;\n\tvar { value } = (0, import_userScheme.useUserScheme)();\n\tvar forced = (0, import_userScheme.getForceScheme)();\n\tvar scriptContent = forced ? `document.getElementById('vxrn-theme-color').setAttribute('content','${forced === \"dark\" ? darkColor : lightColor}')` : `let dc = document.getElementById('vxrn-theme-color')\nlet e1 = null\ntry { e1 = localStorage.getItem('${storageKey}') } catch (_e) {}\nlet isD = 'system' === e1 || !e1 ? window.matchMedia('(prefers-color-scheme: dark)').matches : e1 === 'dark'\ndc.setAttribute('content', isD ? '${darkColor}' : '${lightColor}')`;\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"meta\", {\n\t\tsuppressHydrationWarning: true,\n\t\tid: \"vxrn-theme-color\",\n\t\tname: \"theme-color\",\n\t\tcontent: color !== null && color !== void 0 ? color : value === \"dark\" ? darkColor : lightColor\n\t}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"script\", {\n\t\tsuppressHydrationWarning: true,\n\t\tid: \"meta-theme-hydrate\",\n\t\tdangerouslySetInnerHTML: { __html: scriptContent }\n\t})] });\n}\n//# sourceMappingURL=index.js.map\n"],"mappings":"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"}
|
package/dist/cjs/safeStorage.cjs
CHANGED
|
@@ -3,38 +3,36 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
3
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
5
|
var __export = (target, all) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
10
|
};
|
|
11
11
|
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
19
|
};
|
|
20
|
-
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
-
value: true
|
|
22
|
-
}), mod);
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
21
|
var safeStorage_exports = {};
|
|
24
22
|
__export(safeStorage_exports, {
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
getStorageItem: () => getStorageItem,
|
|
24
|
+
setStorageItem: () => setStorageItem
|
|
27
25
|
});
|
|
28
26
|
module.exports = __toCommonJS(safeStorage_exports);
|
|
29
27
|
function getStorageItem(key) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
28
|
+
try {
|
|
29
|
+
return localStorage.getItem(key);
|
|
30
|
+
} catch {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
35
33
|
}
|
|
36
34
|
function setStorageItem(key, value) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
35
|
+
try {
|
|
36
|
+
localStorage.setItem(key, value);
|
|
37
|
+
} catch {}
|
|
38
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
|
+
var safeStorage_exports = {};
|
|
24
|
+
__export(safeStorage_exports, {
|
|
25
|
+
getStorageItem: () => getStorageItem,
|
|
26
|
+
setStorageItem: () => setStorageItem
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(safeStorage_exports);
|
|
29
|
+
function getStorageItem(key) {
|
|
30
|
+
try {
|
|
31
|
+
return localStorage.getItem(key);
|
|
32
|
+
} catch (unused) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function setStorageItem(key, value) {
|
|
37
|
+
try {
|
|
38
|
+
localStorage.setItem(key, value);
|
|
39
|
+
} catch (unused) {}
|
|
40
|
+
}
|
|
@@ -5,39 +5,38 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
7
|
var __export = (target, all) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
12
|
};
|
|
13
13
|
var __copyProps = (to, from, except, desc) => {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
21
|
};
|
|
22
|
-
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
-
value: true
|
|
24
|
-
}), mod);
|
|
22
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
23
|
var safeStorage_exports = {};
|
|
26
24
|
__export(safeStorage_exports, {
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
getStorageItem: () => getStorageItem,
|
|
26
|
+
setStorageItem: () => setStorageItem
|
|
29
27
|
});
|
|
30
28
|
module.exports = __toCommonJS(safeStorage_exports);
|
|
31
29
|
function getStorageItem(key) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
30
|
+
try {
|
|
31
|
+
return localStorage.getItem(key);
|
|
32
|
+
} catch (unused) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
37
35
|
}
|
|
38
36
|
function setStorageItem(key, value) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
try {
|
|
38
|
+
localStorage.setItem(key, value);
|
|
39
|
+
} catch (unused) {}
|
|
42
40
|
}
|
|
41
|
+
|
|
43
42
|
//# sourceMappingURL=safeStorage.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"safeStorage.native.js","names":[],"sources":["cjs/safeStorage.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar safeStorage_exports = {};\n__export(safeStorage_exports, {\n getStorageItem: () => getStorageItem,\n setStorageItem: () => setStorageItem\n});\nmodule.exports = __toCommonJS(safeStorage_exports);\nfunction getStorageItem(key) {\n try {\n return localStorage.getItem(key);\n } catch (unused) {\n return null;\n }\n}\nfunction setStorageItem(key, value) {\n try {\n localStorage.setItem(key, value);\n } catch (unused) {\n }\n}\n//# sourceMappingURL=safeStorage.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,sBAAsB,CAAC;AAC3B,SAAS,qBAAqB;CAC5B,sBAAsB;CACtB,sBAAsB;AACxB,CAAC;AACD,OAAO,UAAU,aAAa,mBAAmB;AACjD,SAAS,eAAe,KAAK;CAC3B,IAAI;EACF,OAAO,aAAa,QAAQ,GAAG;CACjC,SAAS,QAAQ;EACf,OAAO;CACT;AACF;AACA,SAAS,eAAe,KAAK,OAAO;CAClC,IAAI;EACF,aAAa,QAAQ,KAAK,KAAK;CACjC,SAAS,QAAQ,CACjB;AACF"}
|