@vxrn/color-scheme 1.25.3 → 1.25.5

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.
Files changed (53) hide show
  1. package/package.json +2 -2
  2. package/dist/cjs/index.cjs +0 -121
  3. package/dist/cjs/index.native.js +0 -96
  4. package/dist/cjs/index.native.js.map +0 -1
  5. package/dist/cjs/safeStorage.cjs +0 -40
  6. package/dist/cjs/safeStorage.native.js +0 -43
  7. package/dist/cjs/safeStorage.native.js.map +0 -1
  8. package/dist/cjs/safeStorage.test.cjs +0 -49
  9. package/dist/cjs/safeStorage.test.native.js +0 -66
  10. package/dist/cjs/safeStorage.test.native.js.map +0 -1
  11. package/dist/cjs/systemScheme.cjs +0 -44
  12. package/dist/cjs/systemScheme.native.js +0 -64
  13. package/dist/cjs/systemScheme.native.js.map +0 -1
  14. package/dist/cjs/userScheme.cjs +0 -156
  15. package/dist/cjs/userScheme.native.js +0 -171
  16. package/dist/cjs/userScheme.native.js.map +0 -1
  17. package/dist/cjs/userSchemeAppearance.cjs +0 -35
  18. package/dist/cjs/userSchemeAppearance.native.js +0 -42
  19. package/dist/cjs/userSchemeAppearance.native.js.map +0 -1
  20. package/dist/esm/index.js +0 -88
  21. package/dist/esm/index.js.map +0 -1
  22. package/dist/esm/index.mjs +0 -88
  23. package/dist/esm/index.mjs.map +0 -1
  24. package/dist/esm/index.native.js +0 -58
  25. package/dist/esm/index.native.js.map +0 -1
  26. package/dist/esm/safeStorage.mjs +0 -14
  27. package/dist/esm/safeStorage.mjs.map +0 -1
  28. package/dist/esm/safeStorage.native.js +0 -14
  29. package/dist/esm/safeStorage.native.js.map +0 -1
  30. package/dist/esm/safeStorage.test.mjs +0 -50
  31. package/dist/esm/safeStorage.test.mjs.map +0 -1
  32. package/dist/esm/safeStorage.test.native.js +0 -64
  33. package/dist/esm/safeStorage.test.native.js.map +0 -1
  34. package/dist/esm/systemScheme.mjs +0 -18
  35. package/dist/esm/systemScheme.mjs.map +0 -1
  36. package/dist/esm/systemScheme.native.js +0 -35
  37. package/dist/esm/systemScheme.native.js.map +0 -1
  38. package/dist/esm/userScheme.mjs +0 -125
  39. package/dist/esm/userScheme.mjs.map +0 -1
  40. package/dist/esm/userScheme.native.js +0 -137
  41. package/dist/esm/userScheme.native.js.map +0 -1
  42. package/dist/esm/userSchemeAppearance.mjs +0 -8
  43. package/dist/esm/userSchemeAppearance.mjs.map +0 -1
  44. package/dist/esm/userSchemeAppearance.native.js +0 -12
  45. package/dist/esm/userSchemeAppearance.native.js.map +0 -1
  46. package/types/index.d.ts.map +0 -1
  47. package/types/safeStorage.d.ts.map +0 -1
  48. package/types/safeStorage.test.d.ts.map +0 -1
  49. package/types/systemScheme.d.ts.map +0 -1
  50. package/types/systemScheme.native.d.ts.map +0 -1
  51. package/types/userScheme.d.ts.map +0 -1
  52. package/types/userSchemeAppearance.d.ts.map +0 -1
  53. package/types/userSchemeAppearance.native.d.ts.map +0 -1
@@ -1,156 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: true
9
- });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
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
- };
20
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
- value: true
22
- }), mod);
23
- var userScheme_exports = {};
24
- __export(userScheme_exports, {
25
- getForceScheme: () => getForceScheme,
26
- getUserScheme: () => getUserScheme,
27
- onUserSchemeChange: () => onUserSchemeChange,
28
- setForceScheme: () => setForceScheme,
29
- setUserScheme: () => setUserScheme,
30
- useUserScheme: () => useUserScheme
31
- });
32
- module.exports = __toCommonJS(userScheme_exports);
33
- var import_use_isomorphic_layout_effect = require("@vxrn/use-isomorphic-layout-effect");
34
- var import_react = require("react");
35
- var import_safeStorage = require("./safeStorage.cjs");
36
- var import_systemScheme = require("./systemScheme.cjs");
37
- require("./userSchemeAppearance.cjs");
38
- const listeners = /* @__PURE__ */new Set();
39
- const storageKey = "vxrn-scheme";
40
- let _forceScheme = null;
41
- function notifyListeners() {
42
- listeners.forEach(listener => {
43
- listener(currentSetting, currentValue);
44
- });
45
- }
46
- function restoreUnforcedScheme() {
47
- const stored = (0, import_safeStorage.getStorageItem)(storageKey);
48
- if (stored) {
49
- currentSetting = stored;
50
- currentValue = stored === "system" ? resolveValue("system") : stored;
51
- return;
52
- }
53
- currentSetting = "system";
54
- currentValue = resolveValue("system");
55
- }
56
- function setForceScheme(scheme) {
57
- const wasForced = _forceScheme;
58
- if (wasForced === scheme) return;
59
- _forceScheme = scheme;
60
- if (scheme) {
61
- currentSetting = scheme;
62
- currentValue = scheme;
63
- } else if (wasForced) {
64
- restoreUnforcedScheme();
65
- startWebListener();
66
- }
67
- }
68
- function getForceScheme() {
69
- return _forceScheme;
70
- }
71
- function getInitialSetting() {
72
- return "system";
73
- }
74
- function getInitialValue(setting) {
75
- return "light";
76
- }
77
- const initialSetting = getInitialSetting();
78
- let currentSetting = initialSetting;
79
- let currentValue = getInitialValue(initialSetting);
80
- let isWebListening = false;
81
- function startWebListener() {
82
- if (isWebListening) return;
83
- isWebListening = true;
84
- const matcher = typeof window !== "undefined" ? window.matchMedia?.("(prefers-color-scheme: dark)") : null;
85
- const onSystemChange = () => {
86
- if (currentSetting === "system") updateValueFromSystem();
87
- };
88
- onSystemChange();
89
- matcher?.addEventListener?.("change", onSystemChange);
90
- }
91
- function resolveValue(setting) {
92
- if (setting === "system") return (0, import_systemScheme.getSystemScheme)();
93
- return setting;
94
- }
95
- function updateValueFromSystem() {
96
- if (_forceScheme) return;
97
- const value = resolveValue("system");
98
- if (value !== currentValue) {
99
- currentValue = value;
100
- notifyListeners();
101
- }
102
- }
103
- function updateScheme(setting) {
104
- if (_forceScheme) return;
105
- const value = setting === "system" ? resolveValue("system") : setting;
106
- if (value !== currentValue || currentSetting !== setting) {
107
- currentSetting = setting;
108
- currentValue = value;
109
- notifyListeners();
110
- }
111
- }
112
- function setUserScheme(setting) {
113
- if (_forceScheme) return;
114
- (0, import_safeStorage.setStorageItem)(storageKey, setting);
115
- updateScheme(setting);
116
- }
117
- function getUserScheme() {
118
- if (_forceScheme) return {
119
- setting: _forceScheme,
120
- value: _forceScheme
121
- };
122
- return {
123
- setting: currentSetting,
124
- value: currentValue
125
- };
126
- }
127
- function onUserSchemeChange(listener) {
128
- listeners.add(listener);
129
- listener(currentSetting, currentValue);
130
- return () => {
131
- listeners.delete(listener);
132
- };
133
- }
134
- function useUserScheme() {
135
- const [state, setState] = (0, import_react.useState)(() => getUserScheme());
136
- const snapshot = getUserScheme();
137
- const resolvedState = state.setting === snapshot.setting && state.value === snapshot.value ? state : snapshot;
138
- (0, import_use_isomorphic_layout_effect.useIsomorphicLayoutEffect)(() => {
139
- if (!_forceScheme) {
140
- const stored = (0, import_safeStorage.getStorageItem)(storageKey);
141
- if (stored) updateScheme(stored);
142
- startWebListener();
143
- }
144
- return onUserSchemeChange((setting, value) => {
145
- setState({
146
- setting,
147
- value
148
- });
149
- });
150
- }, []);
151
- return (0, import_react.useMemo)(() => ({
152
- setting: resolvedState.setting,
153
- value: resolvedState.value,
154
- set: setUserScheme
155
- }), [resolvedState.setting, resolvedState.value]);
156
- }
@@ -1,171 +0,0 @@
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", {
23
- value: true
24
- }), mod);
25
- var userScheme_exports = {};
26
- __export(userScheme_exports, {
27
- getForceScheme: () => getForceScheme,
28
- getUserScheme: () => getUserScheme,
29
- onUserSchemeChange: () => onUserSchemeChange,
30
- setForceScheme: () => setForceScheme,
31
- setUserScheme: () => setUserScheme,
32
- useUserScheme: () => useUserScheme
33
- });
34
- module.exports = __toCommonJS(userScheme_exports);
35
- var import_use_isomorphic_layout_effect = require("@vxrn/use-isomorphic-layout-effect");
36
- var import_react = require("react");
37
- var import_safeStorage = require("./safeStorage.native.js");
38
- require("./systemScheme.native.js");
39
- var import_userSchemeAppearance = require("./userSchemeAppearance.native.js");
40
- var listeners = /* @__PURE__ */new Set();
41
- var storageKey = "vxrn-scheme";
42
- var _forceScheme = null;
43
- function notifyListeners() {
44
- listeners.forEach(function (listener) {
45
- listener(currentSetting, currentValue);
46
- });
47
- }
48
- function restoreUnforcedScheme() {
49
- var stored = (0, import_safeStorage.getStorageItem)(storageKey);
50
- if (stored) {
51
- currentSetting = stored;
52
- currentValue = stored === "system" ? resolveValue("system") : stored;
53
- return;
54
- }
55
- currentSetting = "system";
56
- currentValue = resolveValue("system");
57
- }
58
- function setForceScheme(scheme) {
59
- var wasForced = _forceScheme;
60
- if (wasForced === scheme) return;
61
- _forceScheme = scheme;
62
- if (scheme) {
63
- currentSetting = scheme;
64
- currentValue = scheme;
65
- } else if (wasForced) {
66
- restoreUnforcedScheme();
67
- startWebListener();
68
- }
69
- }
70
- function getForceScheme() {
71
- return _forceScheme;
72
- }
73
- function getInitialSetting() {
74
- var stored = (0, import_safeStorage.getStorageItem)(storageKey);
75
- if (stored === "light" || stored === "dark" || stored === "system") return stored;
76
- return "system";
77
- }
78
- function getInitialValue(setting) {
79
- if (setting === "system") return (0, import_userSchemeAppearance.getAppearanceScheme)();
80
- return setting;
81
- }
82
- var initialSetting = getInitialSetting();
83
- var currentSetting = initialSetting;
84
- var currentValue = getInitialValue(initialSetting);
85
- (0, import_userSchemeAppearance.addAppearanceChangeListener)(function () {
86
- if (currentSetting === "system") updateValueFromSystem();
87
- });
88
- var isWebListening = false;
89
- function startWebListener() {
90
- var _window_matchMedia, _window, _matcher_addEventListener;
91
- if (isWebListening) return;
92
- isWebListening = true;
93
- 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;
94
- var onSystemChange = function () {
95
- if (currentSetting === "system") updateValueFromSystem();
96
- };
97
- onSystemChange();
98
- matcher === null || matcher === void 0 || (_matcher_addEventListener = matcher.addEventListener) == null || _matcher_addEventListener.call(matcher, "change", onSystemChange);
99
- }
100
- function resolveValue(setting) {
101
- if (setting === "system") return (0, import_userSchemeAppearance.getAppearanceScheme)();
102
- return setting;
103
- }
104
- function updateValueFromSystem() {
105
- if (_forceScheme) return;
106
- var value = resolveValue("system");
107
- if (value !== currentValue) {
108
- currentValue = value;
109
- notifyListeners();
110
- }
111
- }
112
- function updateScheme(setting) {
113
- if (_forceScheme) return;
114
- var value = setting === "system" ? resolveValue("system") : setting;
115
- if (value !== currentValue || currentSetting !== setting) {
116
- currentSetting = setting;
117
- currentValue = value;
118
- if (setting !== "system") (0, import_userSchemeAppearance.setAppearanceScheme)(value);else (0, import_userSchemeAppearance.setAppearanceScheme)("unspecified");
119
- notifyListeners();
120
- }
121
- }
122
- function setUserScheme(setting) {
123
- if (_forceScheme) return;
124
- (0, import_safeStorage.setStorageItem)(storageKey, setting);
125
- updateScheme(setting);
126
- }
127
- function getUserScheme() {
128
- if (_forceScheme) return {
129
- setting: _forceScheme,
130
- value: _forceScheme
131
- };
132
- return {
133
- setting: currentSetting,
134
- value: currentValue
135
- };
136
- }
137
- function onUserSchemeChange(listener) {
138
- listeners.add(listener);
139
- listener(currentSetting, currentValue);
140
- return function () {
141
- listeners.delete(listener);
142
- };
143
- }
144
- function useUserScheme() {
145
- var [state, setState] = (0, import_react.useState)(function () {
146
- return getUserScheme();
147
- });
148
- var snapshot = getUserScheme();
149
- var resolvedState = state.setting === snapshot.setting && state.value === snapshot.value ? state : snapshot;
150
- (0, import_use_isomorphic_layout_effect.useIsomorphicLayoutEffect)(function () {
151
- if (!_forceScheme) {
152
- var stored = (0, import_safeStorage.getStorageItem)(storageKey);
153
- if (stored) updateScheme(stored);
154
- startWebListener();
155
- }
156
- return onUserSchemeChange(function (setting, value) {
157
- setState({
158
- setting,
159
- value
160
- });
161
- });
162
- }, []);
163
- return (0, import_react.useMemo)(function () {
164
- return {
165
- setting: resolvedState.setting,
166
- value: resolvedState.value,
167
- set: setUserScheme
168
- };
169
- }, [resolvedState.setting, resolvedState.value]);
170
- }
171
- //# sourceMappingURL=userScheme.native.js.map
@@ -1 +0,0 @@
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_safeStorage","import_userSchemeAppearance","listeners","Set","storageKey","_forceScheme","notifyListeners","forEach","listener","currentSetting","currentValue","restoreUnforcedScheme","stored","getStorageItem","resolveValue","scheme","wasForced","startWebListener","getInitialSetting","getInitialValue","setting","getAppearanceScheme","initialSetting","addAppearanceChangeListener","updateValueFromSystem","isWebListening","_window_matchMedia","_window","_matcher_addEventListener","matcher","window","matchMedia","call","onSystemChange","addEventListener","updateScheme","setAppearanceScheme","setStorageItem","add","delete","state","setState","useState","snapshot","resolvedState","useIsomorphicLayoutEffect","useMemo","set"],"sources":["../../src/userScheme.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,35 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: true
9
- });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
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
- };
20
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
- value: true
22
- }), mod);
23
- var userSchemeAppearance_exports = {};
24
- __export(userSchemeAppearance_exports, {
25
- addAppearanceChangeListener: () => addAppearanceChangeListener,
26
- getAppearanceScheme: () => getAppearanceScheme,
27
- setAppearanceScheme: () => setAppearanceScheme
28
- });
29
- module.exports = __toCommonJS(userSchemeAppearance_exports);
30
- var import_systemScheme = require("./systemScheme.cjs");
31
- function getAppearanceScheme() {
32
- return (0, import_systemScheme.getSystemScheme)();
33
- }
34
- function setAppearanceScheme(_scheme) {}
35
- function addAppearanceChangeListener(_listener) {}
@@ -1,42 +0,0 @@
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", {
23
- value: true
24
- }), mod);
25
- var userSchemeAppearance_native_exports = {};
26
- __export(userSchemeAppearance_native_exports, {
27
- addAppearanceChangeListener: () => addAppearanceChangeListener,
28
- getAppearanceScheme: () => getAppearanceScheme,
29
- setAppearanceScheme: () => setAppearanceScheme
30
- });
31
- module.exports = __toCommonJS(userSchemeAppearance_native_exports);
32
- var import_react_native = require("react-native");
33
- function getAppearanceScheme() {
34
- return import_react_native.Appearance.getColorScheme() === "dark" ? "dark" : "light";
35
- }
36
- function setAppearanceScheme(scheme) {
37
- import_react_native.Appearance.setColorScheme(scheme);
38
- }
39
- function addAppearanceChangeListener(listener) {
40
- import_react_native.Appearance.addChangeListener(listener);
41
- }
42
- //# sourceMappingURL=userSchemeAppearance.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["userSchemeAppearance_native_exports","__export","addAppearanceChangeListener","getAppearanceScheme","setAppearanceScheme","module","exports","__toCommonJS","import_react_native","require","Appearance","getColorScheme","scheme","setColorScheme","listener","addChangeListener"],"sources":["../../src/userSchemeAppearance.native.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,mCAAA;AAAAC,QAAA,CAAAD,mCAAA;EAAAE,2BAAA,EAAAA,CAAA,KAAAA,2BAAA;EAAAC,mBAAA,EAAAA,CAAA,KAAAA,mBAAA;EAAAC,mBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAP,mCAAA;AAAA,IAAAQ,mBAAA,GAA2BC,OAAA;AACpB,SAASN,oBAAA,EAAsB;EAClC,OAAOK,mBAAA,CAAAE,UAAA,CAAWC,cAAA,CAAe,MAAM,SAAS,SAAS;AAC7D;AACO,SAASP,oBAAoBQ,MAAA,EAAQ;EACxCJ,mBAAA,CAAAE,UAAA,CAAWG,cAAA,CAAeD,MAAM;AACpC;AACO,SAASV,4BAA4BY,QAAA,EAAU;EAClDN,mBAAA,CAAAE,UAAA,CAAWK,iBAAA,CAAkBD,QAAQ;AACzC","ignoreList":[]}
package/dist/esm/index.js DELETED
@@ -1,88 +0,0 @@
1
- import { useIsomorphicLayoutEffect } from "@vxrn/use-isomorphic-layout-effect";
2
- import { getStorageItem } from "./safeStorage.mjs";
3
- import { getForceScheme, getUserScheme, onUserSchemeChange, setForceScheme, setUserScheme, setUserScheme as setUserScheme2, useUserScheme, useUserScheme as useUserScheme2 } from "./userScheme.mjs";
4
- import { getSystemScheme, useSystemScheme } from "./systemScheme.mjs";
5
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
- const storageKey = "vxrn-scheme";
7
- function SchemeProvider({
8
- children,
9
- getClassName = name => `t_${name}`,
10
- defaultScheme,
11
- forceScheme
12
- }) {
13
- setForceScheme(forceScheme ?? null);
14
- const {
15
- value
16
- } = useUserScheme();
17
- const resolvedValue = forceScheme ?? value;
18
- useIsomorphicLayoutEffect(() => {
19
- if (!forceScheme && defaultScheme) {
20
- if (!getStorageItem(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]);
32
- let scriptContent;
33
- if (forceScheme) scriptContent = `let d = document.documentElement.classList
34
- d.remove('${getClassName("light")}')
35
- d.remove('${getClassName("dark")}')
36
- d.add('${getClassName(forceScheme)}')`;else {
37
- const fallback = defaultScheme ? `'${defaultScheme}' === 'dark'` : `window.matchMedia('(prefers-color-scheme: dark)').matches`;
38
- const seedStorage = defaultScheme ? `;if(!e){localStorage.setItem('${storageKey}','${defaultScheme}')}` : "";
39
- scriptContent = `let d = document.documentElement.classList
40
- d.remove('${getClassName("light")}')
41
- d.remove('${getClassName("dark")}')
42
- let e = null
43
- try { e = localStorage.getItem('${storageKey}')${seedStorage} } catch (_e) {}
44
- let t = 'system' === e || !e
45
- ? ${fallback}
46
- : e === 'dark'
47
- t ? d.add('${getClassName("dark")}') : d.add('${getClassName("light")}')`;
48
- }
49
- return /* @__PURE__ */jsxs(Fragment, {
50
- children: [/* @__PURE__ */jsx("script", {
51
- suppressHydrationWarning: true,
52
- dangerouslySetInnerHTML: {
53
- __html: scriptContent
54
- }
55
- }), children]
56
- });
57
- }
58
- function MetaTheme({
59
- color,
60
- darkColor,
61
- lightColor
62
- }) {
63
- const {
64
- value
65
- } = useUserScheme();
66
- const forced = getForceScheme();
67
- const scriptContent = forced ? `document.getElementById('vxrn-theme-color').setAttribute('content','${forced === "dark" ? darkColor : lightColor}')` : `let dc = document.getElementById('vxrn-theme-color')
68
- let e1 = null
69
- try { e1 = localStorage.getItem('${storageKey}') } catch (_e) {}
70
- let isD = 'system' === e1 || !e1 ? window.matchMedia('(prefers-color-scheme: dark)').matches : e1 === 'dark'
71
- dc.setAttribute('content', isD ? '${darkColor}' : '${lightColor}')`;
72
- return /* @__PURE__ */jsxs(Fragment, {
73
- children: [/* @__PURE__ */jsx("meta", {
74
- suppressHydrationWarning: true,
75
- id: "vxrn-theme-color",
76
- name: "theme-color",
77
- content: color ?? (value === "dark" ? darkColor : lightColor)
78
- }), /* @__PURE__ */jsx("script", {
79
- suppressHydrationWarning: true,
80
- id: "meta-theme-hydrate",
81
- dangerouslySetInnerHTML: {
82
- __html: scriptContent
83
- }
84
- })]
85
- });
86
- }
87
- export { MetaTheme, SchemeProvider, getSystemScheme, getUserScheme, onUserSchemeChange, setUserScheme2 as setUserScheme, useSystemScheme, useUserScheme2 as useUserScheme };
88
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["useIsomorphicLayoutEffect","getStorageItem","getForceScheme","getUserScheme","onUserSchemeChange","setForceScheme","setUserScheme","setUserScheme2","useUserScheme","useUserScheme2","getSystemScheme","useSystemScheme","Fragment","jsx","jsxs","storageKey","SchemeProvider","children","getClassName","name","defaultScheme","forceScheme","value","resolvedValue","toAdd","toRemove","classList","document","documentElement","remove","contains","add","scriptContent","fallback","seedStorage","suppressHydrationWarning","dangerouslySetInnerHTML","__html","MetaTheme","color","darkColor","lightColor","forced","id","content"],"sources":["index.mjs"],"sourcesContent":["import { useIsomorphicLayoutEffect } from \"@vxrn/use-isomorphic-layout-effect\";\nimport { getStorageItem } from \"./safeStorage\";\nimport { getForceScheme, getUserScheme, onUserSchemeChange, setForceScheme, setUserScheme, setUserScheme as setUserScheme2, useUserScheme, useUserScheme as useUserScheme2 } from \"./userScheme\";\nimport { getSystemScheme, useSystemScheme } from \"./systemScheme\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\n\nconst storageKey = \"vxrn-scheme\";\nfunction SchemeProvider({ children, getClassName = (name) => `t_${name}`, defaultScheme, forceScheme }) {\n\tsetForceScheme(forceScheme ?? null);\n\tconst { value } = useUserScheme();\n\tconst resolvedValue = forceScheme ?? value;\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (!forceScheme && defaultScheme) {\n\t\t\tif (!getStorageItem(storageKey)) setUserScheme(defaultScheme);\n\t\t}\n\t}, [defaultScheme, forceScheme]);\n\tuseIsomorphicLayoutEffect(() => {\n\t\tconst toAdd = getClassName(resolvedValue);\n\t\tconst toRemove = getClassName(resolvedValue === \"light\" ? \"dark\" : \"light\");\n\t\tconst { classList } = document.documentElement;\n\t\tclassList.remove(toRemove);\n\t\tif (!classList.contains(toAdd)) classList.add(toAdd);\n\t}, [getClassName, resolvedValue]);\n\tlet scriptContent;\n\tif (forceScheme) scriptContent = `let d = document.documentElement.classList\nd.remove('${getClassName(\"light\")}')\nd.remove('${getClassName(\"dark\")}')\nd.add('${getClassName(forceScheme)}')`;\n\telse {\n\t\tconst fallback = defaultScheme ? `'${defaultScheme}' === 'dark'` : `window.matchMedia('(prefers-color-scheme: dark)').matches`;\n\t\tconst seedStorage = defaultScheme ? `;if(!e){localStorage.setItem('${storageKey}','${defaultScheme}')}` : \"\";\n\t\tscriptContent = `let d = document.documentElement.classList\nd.remove('${getClassName(\"light\")}')\nd.remove('${getClassName(\"dark\")}')\nlet e = null\ntry { e = localStorage.getItem('${storageKey}')${seedStorage} } catch (_e) {}\nlet t = 'system' === e || !e\n ? ${fallback}\n : e === 'dark'\nt ? d.add('${getClassName(\"dark\")}') : d.add('${getClassName(\"light\")}')`;\n\t}\n\treturn /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(\"script\", {\n\t\tsuppressHydrationWarning: true,\n\t\tdangerouslySetInnerHTML: { __html: scriptContent }\n\t}), children] });\n}\nfunction MetaTheme({ color, darkColor, lightColor }) {\n\tconst { value } = useUserScheme();\n\tconst forced = getForceScheme();\n\tconst 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__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(\"meta\", {\n\t\tsuppressHydrationWarning: true,\n\t\tid: \"vxrn-theme-color\",\n\t\tname: \"theme-color\",\n\t\tcontent: color ?? (value === \"dark\" ? darkColor : lightColor)\n\t}), /* @__PURE__ */ jsx(\"script\", {\n\t\tsuppressHydrationWarning: true,\n\t\tid: \"meta-theme-hydrate\",\n\t\tdangerouslySetInnerHTML: { __html: scriptContent }\n\t})] });\n}\n\nexport { MetaTheme, SchemeProvider, getSystemScheme, getUserScheme, onUserSchemeChange, setUserScheme2 as setUserScheme, useSystemScheme, useUserScheme2 as useUserScheme };"],"mappings":"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","ignoreList":[]}
@@ -1,88 +0,0 @@
1
- import { useIsomorphicLayoutEffect } from "@vxrn/use-isomorphic-layout-effect";
2
- import { getStorageItem } from "./safeStorage.mjs";
3
- import { getForceScheme, getUserScheme, onUserSchemeChange, setForceScheme, setUserScheme, setUserScheme as setUserScheme2, useUserScheme, useUserScheme as useUserScheme2 } from "./userScheme.mjs";
4
- import { getSystemScheme, useSystemScheme } from "./systemScheme.mjs";
5
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
- const storageKey = "vxrn-scheme";
7
- function SchemeProvider({
8
- children,
9
- getClassName = name => `t_${name}`,
10
- defaultScheme,
11
- forceScheme
12
- }) {
13
- setForceScheme(forceScheme ?? null);
14
- const {
15
- value
16
- } = useUserScheme();
17
- const resolvedValue = forceScheme ?? value;
18
- useIsomorphicLayoutEffect(() => {
19
- if (!forceScheme && defaultScheme) {
20
- if (!getStorageItem(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]);
32
- let scriptContent;
33
- if (forceScheme) scriptContent = `let d = document.documentElement.classList
34
- d.remove('${getClassName("light")}')
35
- d.remove('${getClassName("dark")}')
36
- d.add('${getClassName(forceScheme)}')`;else {
37
- const fallback = defaultScheme ? `'${defaultScheme}' === 'dark'` : `window.matchMedia('(prefers-color-scheme: dark)').matches`;
38
- const seedStorage = defaultScheme ? `;if(!e){localStorage.setItem('${storageKey}','${defaultScheme}')}` : "";
39
- scriptContent = `let d = document.documentElement.classList
40
- d.remove('${getClassName("light")}')
41
- d.remove('${getClassName("dark")}')
42
- let e = null
43
- try { e = localStorage.getItem('${storageKey}')${seedStorage} } catch (_e) {}
44
- let t = 'system' === e || !e
45
- ? ${fallback}
46
- : e === 'dark'
47
- t ? d.add('${getClassName("dark")}') : d.add('${getClassName("light")}')`;
48
- }
49
- return /* @__PURE__ */jsxs(Fragment, {
50
- children: [/* @__PURE__ */jsx("script", {
51
- suppressHydrationWarning: true,
52
- dangerouslySetInnerHTML: {
53
- __html: scriptContent
54
- }
55
- }), children]
56
- });
57
- }
58
- function MetaTheme({
59
- color,
60
- darkColor,
61
- lightColor
62
- }) {
63
- const {
64
- value
65
- } = useUserScheme();
66
- const forced = getForceScheme();
67
- const scriptContent = forced ? `document.getElementById('vxrn-theme-color').setAttribute('content','${forced === "dark" ? darkColor : lightColor}')` : `let dc = document.getElementById('vxrn-theme-color')
68
- let e1 = null
69
- try { e1 = localStorage.getItem('${storageKey}') } catch (_e) {}
70
- let isD = 'system' === e1 || !e1 ? window.matchMedia('(prefers-color-scheme: dark)').matches : e1 === 'dark'
71
- dc.setAttribute('content', isD ? '${darkColor}' : '${lightColor}')`;
72
- return /* @__PURE__ */jsxs(Fragment, {
73
- children: [/* @__PURE__ */jsx("meta", {
74
- suppressHydrationWarning: true,
75
- id: "vxrn-theme-color",
76
- name: "theme-color",
77
- content: color ?? (value === "dark" ? darkColor : lightColor)
78
- }), /* @__PURE__ */jsx("script", {
79
- suppressHydrationWarning: true,
80
- id: "meta-theme-hydrate",
81
- dangerouslySetInnerHTML: {
82
- __html: scriptContent
83
- }
84
- })]
85
- });
86
- }
87
- export { MetaTheme, SchemeProvider, getSystemScheme, getUserScheme, onUserSchemeChange, setUserScheme2 as setUserScheme, useSystemScheme, useUserScheme2 as useUserScheme };
88
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["useIsomorphicLayoutEffect","getStorageItem","getForceScheme","getUserScheme","onUserSchemeChange","setForceScheme","setUserScheme","setUserScheme2","useUserScheme","useUserScheme2","getSystemScheme","useSystemScheme","Fragment","jsx","jsxs","storageKey","SchemeProvider","children","getClassName","name","defaultScheme","forceScheme","value","resolvedValue","toAdd","toRemove","classList","document","documentElement","remove","contains","add","scriptContent","fallback","seedStorage","suppressHydrationWarning","dangerouslySetInnerHTML","__html","MetaTheme","color","darkColor","lightColor","forced","id","content"],"sources":["index.mjs"],"sourcesContent":["import { useIsomorphicLayoutEffect } from \"@vxrn/use-isomorphic-layout-effect\";\nimport { getStorageItem } from \"./safeStorage\";\nimport { getForceScheme, getUserScheme, onUserSchemeChange, setForceScheme, setUserScheme, setUserScheme as setUserScheme2, useUserScheme, useUserScheme as useUserScheme2 } from \"./userScheme\";\nimport { getSystemScheme, useSystemScheme } from \"./systemScheme\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\n\nconst storageKey = \"vxrn-scheme\";\nfunction SchemeProvider({ children, getClassName = (name) => `t_${name}`, defaultScheme, forceScheme }) {\n\tsetForceScheme(forceScheme ?? null);\n\tconst { value } = useUserScheme();\n\tconst resolvedValue = forceScheme ?? value;\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (!forceScheme && defaultScheme) {\n\t\t\tif (!getStorageItem(storageKey)) setUserScheme(defaultScheme);\n\t\t}\n\t}, [defaultScheme, forceScheme]);\n\tuseIsomorphicLayoutEffect(() => {\n\t\tconst toAdd = getClassName(resolvedValue);\n\t\tconst toRemove = getClassName(resolvedValue === \"light\" ? \"dark\" : \"light\");\n\t\tconst { classList } = document.documentElement;\n\t\tclassList.remove(toRemove);\n\t\tif (!classList.contains(toAdd)) classList.add(toAdd);\n\t}, [getClassName, resolvedValue]);\n\tlet scriptContent;\n\tif (forceScheme) scriptContent = `let d = document.documentElement.classList\nd.remove('${getClassName(\"light\")}')\nd.remove('${getClassName(\"dark\")}')\nd.add('${getClassName(forceScheme)}')`;\n\telse {\n\t\tconst fallback = defaultScheme ? `'${defaultScheme}' === 'dark'` : `window.matchMedia('(prefers-color-scheme: dark)').matches`;\n\t\tconst seedStorage = defaultScheme ? `;if(!e){localStorage.setItem('${storageKey}','${defaultScheme}')}` : \"\";\n\t\tscriptContent = `let d = document.documentElement.classList\nd.remove('${getClassName(\"light\")}')\nd.remove('${getClassName(\"dark\")}')\nlet e = null\ntry { e = localStorage.getItem('${storageKey}')${seedStorage} } catch (_e) {}\nlet t = 'system' === e || !e\n ? ${fallback}\n : e === 'dark'\nt ? d.add('${getClassName(\"dark\")}') : d.add('${getClassName(\"light\")}')`;\n\t}\n\treturn /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(\"script\", {\n\t\tsuppressHydrationWarning: true,\n\t\tdangerouslySetInnerHTML: { __html: scriptContent }\n\t}), children] });\n}\nfunction MetaTheme({ color, darkColor, lightColor }) {\n\tconst { value } = useUserScheme();\n\tconst forced = getForceScheme();\n\tconst 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__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(\"meta\", {\n\t\tsuppressHydrationWarning: true,\n\t\tid: \"vxrn-theme-color\",\n\t\tname: \"theme-color\",\n\t\tcontent: color ?? (value === \"dark\" ? darkColor : lightColor)\n\t}), /* @__PURE__ */ jsx(\"script\", {\n\t\tsuppressHydrationWarning: true,\n\t\tid: \"meta-theme-hydrate\",\n\t\tdangerouslySetInnerHTML: { __html: scriptContent }\n\t})] });\n}\n\nexport { MetaTheme, SchemeProvider, getSystemScheme, getUserScheme, onUserSchemeChange, setUserScheme2 as setUserScheme, useSystemScheme, useUserScheme2 as useUserScheme };"],"mappings":"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","ignoreList":[]}