@vxrn/color-scheme 1.14.4 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,26 +12,38 @@ function SchemeProvider({
12
12
  }) {
13
13
  setForceScheme(forceScheme ?? null);
14
14
  const {
15
- value
16
- } = useUserScheme(),
17
- resolvedValue = forceScheme ?? value;
18
- useIsomorphicLayoutEffect(() => {
19
- !forceScheme && defaultScheme && typeof localStorage < "u" && (localStorage.getItem(storageKey) || setUserScheme(defaultScheme));
20
- }, [defaultScheme, forceScheme]), useIsomorphicLayoutEffect(() => {
21
- const toAdd = getClassName(resolvedValue),
22
- toRemove = getClassName(resolvedValue === "light" ? "dark" : "light"),
23
- {
15
+ value
16
+ } = useUserScheme();
17
+ const resolvedValue = forceScheme ?? value;
18
+ if (true) {
19
+ useIsomorphicLayoutEffect(() => {
20
+ if (!forceScheme && defaultScheme && typeof localStorage !== "undefined") {
21
+ if (!localStorage.getItem(storageKey)) {
22
+ setUserScheme(defaultScheme);
23
+ }
24
+ }
25
+ }, [defaultScheme, forceScheme]);
26
+ useIsomorphicLayoutEffect(() => {
27
+ const toAdd = getClassName(resolvedValue);
28
+ const toRemove = getClassName(resolvedValue === "light" ? "dark" : "light");
29
+ const {
24
30
  classList
25
31
  } = document.documentElement;
26
- classList.remove(toRemove), classList.contains(toAdd) || classList.add(toAdd);
27
- }, [getClassName, resolvedValue]);
32
+ classList.remove(toRemove);
33
+ if (!classList.contains(toAdd)) {
34
+ classList.add(toAdd);
35
+ }
36
+ }, [getClassName, resolvedValue]);
37
+ }
28
38
  let scriptContent;
29
- if (forceScheme) scriptContent = `let d = document.documentElement.classList
39
+ if (forceScheme) {
40
+ scriptContent = `let d = document.documentElement.classList
30
41
  d.remove('${getClassName("light")}')
31
42
  d.remove('${getClassName("dark")}')
32
- d.add('${getClassName(forceScheme)}')`;else {
33
- const fallback = defaultScheme ? `'${defaultScheme}' === 'dark'` : "window.matchMedia('(prefers-color-scheme: dark)').matches",
34
- seedStorage = defaultScheme ? `if(!e){localStorage.setItem('${storageKey}','${defaultScheme}')}` : "";
43
+ d.add('${getClassName(forceScheme)}')`;
44
+ } else {
45
+ const fallback = defaultScheme ? `'${defaultScheme}' === 'dark'` : `window.matchMedia('(prefers-color-scheme: dark)').matches`;
46
+ const seedStorage = defaultScheme ? `if(!e){localStorage.setItem('${storageKey}','${defaultScheme}')}` : "";
35
47
  scriptContent = `let d = document.documentElement.classList
36
48
  d.remove('${getClassName("light")}')
37
49
  d.remove('${getClassName("dark")}')
@@ -43,8 +55,8 @@ let t = 'system' === e || !e
43
55
  t ? d.add('${getClassName("dark")}') : d.add('${getClassName("light")}')`;
44
56
  }
45
57
  return /* @__PURE__ */jsxs(Fragment, {
46
- children: [/* @__PURE__ */jsx("script", {
47
- suppressHydrationWarning: !0,
58
+ children: [false ? null : /* @__PURE__ */jsx("script", {
59
+ suppressHydrationWarning: true,
48
60
  dangerouslySetInnerHTML: {
49
61
  __html: scriptContent
50
62
  }
@@ -57,21 +69,21 @@ function MetaTheme({
57
69
  lightColor
58
70
  }) {
59
71
  const {
60
- value
61
- } = useUserScheme(),
62
- forced = getForceScheme(),
63
- scriptContent = forced ? `document.getElementById('vxrn-theme-color').setAttribute('content','${forced === "dark" ? darkColor : lightColor}')` : `let dc = document.getElementById('vxrn-theme-color')
72
+ value
73
+ } = useUserScheme();
74
+ const forced = getForceScheme();
75
+ const scriptContent = forced ? `document.getElementById('vxrn-theme-color').setAttribute('content','${forced === "dark" ? darkColor : lightColor}')` : `let dc = document.getElementById('vxrn-theme-color')
64
76
  let e1 = localStorage.getItem('${storageKey}')
65
77
  let isD = 'system' === e1 || !e1 ? window.matchMedia('(prefers-color-scheme: dark)').matches : e1 === 'dark'
66
78
  dc.setAttribute('content', isD ? '${darkColor}' : '${lightColor}')`;
67
79
  return /* @__PURE__ */jsxs(Fragment, {
68
80
  children: [/* @__PURE__ */jsx("meta", {
69
- suppressHydrationWarning: !0,
81
+ suppressHydrationWarning: true,
70
82
  id: "vxrn-theme-color",
71
83
  name: "theme-color",
72
84
  content: color ?? (value === "dark" ? darkColor : lightColor)
73
85
  }), /* @__PURE__ */jsx("script", {
74
- suppressHydrationWarning: !0,
86
+ suppressHydrationWarning: true,
75
87
  id: "meta-theme-hydrate",
76
88
  dangerouslySetInnerHTML: {
77
89
  __html: scriptContent
@@ -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":"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","ignoreList":[]}
1
+ {"version":3,"names":["useIsomorphicLayoutEffect","getForceScheme","setForceScheme","setUserScheme","useUserScheme","getSystemScheme","useSystemScheme","getUserScheme","onUserSchemeChange","setUserScheme2","useUserScheme2","Fragment","jsx","jsxs","storageKey","SchemeProvider","children","getClassName","name","defaultScheme","forceScheme","value","resolvedValue","localStorage","getItem","toAdd","toRemove","classList","document","documentElement","remove","contains","add","scriptContent","fallback","seedStorage","suppressHydrationWarning","dangerouslySetInnerHTML","__html","MetaTheme","color","darkColor","lightColor","forced","id","content"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { getForceScheme, setForceScheme, useUserScheme } from "./userScheme.native.js";
2
+ import { useIsomorphicLayoutEffect } from "@vxrn/use-isomorphic-layout-effect";
3
+ import { getForceScheme, setForceScheme, setUserScheme, useUserScheme } from "./userScheme.native.js";
3
4
  import { getSystemScheme, useSystemScheme } from "./systemScheme.native.js";
4
5
  import { getUserScheme, onUserSchemeChange, setUserScheme as setUserScheme2, useUserScheme as useUserScheme2 } from "./userScheme.native.js";
5
6
  var storageKey = "vxrn-scheme";
@@ -12,18 +13,40 @@ function SchemeProvider(param) {
12
13
  defaultScheme,
13
14
  forceScheme
14
15
  } = param;
15
- setForceScheme(forceScheme ?? null);
16
+ setForceScheme(forceScheme !== null && forceScheme !== void 0 ? forceScheme : null);
16
17
  var {
17
- value
18
- } = useUserScheme(),
19
- resolvedValue = forceScheme ?? value,
20
- scriptContent;
21
- if (forceScheme) scriptContent = `let d = document.documentElement.classList
18
+ value
19
+ } = useUserScheme();
20
+ var resolvedValue = forceScheme !== null && forceScheme !== void 0 ? forceScheme : value;
21
+ if (false) {
22
+ useIsomorphicLayoutEffect(function () {
23
+ if (!forceScheme && defaultScheme && typeof localStorage !== "undefined") {
24
+ if (!localStorage.getItem(storageKey)) {
25
+ setUserScheme(defaultScheme);
26
+ }
27
+ }
28
+ }, [defaultScheme, forceScheme]);
29
+ useIsomorphicLayoutEffect(function () {
30
+ var toAdd = getClassName(resolvedValue);
31
+ var toRemove = getClassName(resolvedValue === "light" ? "dark" : "light");
32
+ var {
33
+ classList
34
+ } = document.documentElement;
35
+ classList.remove(toRemove);
36
+ if (!classList.contains(toAdd)) {
37
+ classList.add(toAdd);
38
+ }
39
+ }, [getClassName, resolvedValue]);
40
+ }
41
+ var scriptContent;
42
+ if (forceScheme) {
43
+ scriptContent = `let d = document.documentElement.classList
22
44
  d.remove('${getClassName("light")}')
23
45
  d.remove('${getClassName("dark")}')
24
- d.add('${getClassName(forceScheme)}')`;else {
25
- var fallback = defaultScheme ? `'${defaultScheme}' === 'dark'` : "window.matchMedia('(prefers-color-scheme: dark)').matches",
26
- seedStorage = defaultScheme ? `if(!e){localStorage.setItem('${storageKey}','${defaultScheme}')}` : "";
46
+ d.add('${getClassName(forceScheme)}')`;
47
+ } else {
48
+ var fallback = defaultScheme ? `'${defaultScheme}' === 'dark'` : `window.matchMedia('(prefers-color-scheme: dark)').matches`;
49
+ var seedStorage = defaultScheme ? `if(!e){localStorage.setItem('${storageKey}','${defaultScheme}')}` : "";
27
50
  scriptContent = `let d = document.documentElement.classList
28
51
  d.remove('${getClassName("light")}')
29
52
  d.remove('${getClassName("dark")}')
@@ -35,31 +58,36 @@ let t = 'system' === e || !e
35
58
  t ? d.add('${getClassName("dark")}') : d.add('${getClassName("light")}')`;
36
59
  }
37
60
  return /* @__PURE__ */_jsxs(_Fragment, {
38
- children: [null, children]
61
+ children: [true ? null : /* @__PURE__ */_jsx("script", {
62
+ suppressHydrationWarning: true,
63
+ dangerouslySetInnerHTML: {
64
+ __html: scriptContent
65
+ }
66
+ }), children]
39
67
  });
40
68
  }
41
69
  function MetaTheme(param) {
42
70
  var {
43
- color,
44
- darkColor,
45
- lightColor
46
- } = param,
47
- {
48
- value
49
- } = useUserScheme(),
50
- forced = getForceScheme(),
51
- scriptContent = forced ? `document.getElementById('vxrn-theme-color').setAttribute('content','${forced === "dark" ? darkColor : lightColor}')` : `let dc = document.getElementById('vxrn-theme-color')
71
+ color,
72
+ darkColor,
73
+ lightColor
74
+ } = param;
75
+ var {
76
+ value
77
+ } = useUserScheme();
78
+ var forced = getForceScheme();
79
+ var scriptContent = forced ? `document.getElementById('vxrn-theme-color').setAttribute('content','${forced === "dark" ? darkColor : lightColor}')` : `let dc = document.getElementById('vxrn-theme-color')
52
80
  let e1 = localStorage.getItem('${storageKey}')
53
81
  let isD = 'system' === e1 || !e1 ? window.matchMedia('(prefers-color-scheme: dark)').matches : e1 === 'dark'
54
82
  dc.setAttribute('content', isD ? '${darkColor}' : '${lightColor}')`;
55
83
  return /* @__PURE__ */_jsxs(_Fragment, {
56
84
  children: [/* @__PURE__ */_jsx("meta", {
57
- suppressHydrationWarning: !0,
85
+ suppressHydrationWarning: true,
58
86
  id: "vxrn-theme-color",
59
87
  name: "theme-color",
60
- content: color ?? (value === "dark" ? darkColor : lightColor)
88
+ content: color !== null && color !== void 0 ? color : value === "dark" ? darkColor : lightColor
61
89
  }), /* @__PURE__ */_jsx("script", {
62
- suppressHydrationWarning: !0,
90
+ suppressHydrationWarning: true,
63
91
  id: "meta-theme-hydrate",
64
92
  dangerouslySetInnerHTML: {
65
93
  __html: scriptContent
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","getForceScheme","setForceScheme","useUserScheme","getSystemScheme","useSystemScheme","getUserScheme","onUserSchemeChange","setUserScheme","setUserScheme2","useUserScheme2","storageKey","SchemeProvider","param","children","getClassName","name","defaultScheme","forceScheme","value","resolvedValue","scriptContent","fallback","seedStorage","MetaTheme","color","darkColor","lightColor","forced","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,SACEC,cAAA,EAAAC,cAAA,EAAAC,aAAA;AAAA,SACAC,eAAA,EAAAC,eAAA;AAAA,SACAC,aAAA,EAAAC,kBAAA,EAAAC,aAAA,IAAAC,cAAA,EAAAN,aAAA,IAAAO,cAAA;AAAA,IACAC,UAAA;AAAA,SACKC,eAAAC,KAAA;EAOP;IAAAC,QAAS;IAAAC,YAAiB,YAAAA,CAAAC,IAAA;MAC1B,YAAAA,IAAA;IACE;IAAAC,aAAA;IAAAC;EAAA,IAAAL,KAAA;EACAX,cAAA,CAAAgB,WAAA;EACA;MAAAC;IAAA,IAAAhB,aAAA;IAAAiB,aAAA,GAAAF,WAAA,IAAAC,KAAA;IAAAE,aAAA;EACA,IAAAH,WAAA,EAAAG,aACK;AAyEH,YAAAN,YAAA;AAvEJ,YAAMA,YAAa;AAEZ,SAASA,YAAA,CAAAG,WAAe,WAC7B;IACA,IAAAI,QAAA,GAAgBL,aAAc,OAAIA,aAAA;MAAAM,WAAA,GAAAN,aAAA,mCAAAN,UAAA,MAAAM,aAAA;IAClCI,aAAA;AAAA,YACAN,YAAA;AACF,YAOGA,YAAA;AAED,gCAA8BJ,UAAI;AAElC,EAAAY,WAAQ;AAKN;AACE,MAAKD,QAAA;AAE0B;AAM/B,aAAMP,YAAQ,OAAa,gBACrBA,YAAW,aAAa;EAE9B;EAIF,OAAI,eAAcjB,KAAA,CAAAE,SAAc;IAGlCc,QAAI,GAEA,MAEFA,QAAA;EAC6B;AACD;AACE,SACzBU,UAAAX,KAAA;EACL;MAAAY,KAAM;MAAAC,SAAW;MAAAC;IACb,IAAId,KAAA;IAAA;MAAAM;IAAa,IAAAhB,aACjB;IAAAyB,MAAA,GAAA3B,cAAA;IAAAoB,aAAA,GAAAO,MAAA,0EAGgCA,MAAU,KAAM,SAAAF,SAAa,GAC7DC,UAAA;AAEJ,iCAAgBhB,UAAA;AAAA;AACa,oCACDe,SAAA,QAAAC,UAAA;EAAA,sBAAA7B,KAAA,CAAAE,SACA,EAAU;IACxCc,QAAA,EAAW,gBAAAlB,IAAA;MAEPiC,wBAAQ;MAAAC,EAAA;MAAAd,IAAA,EAED,aAAa;MACxBe,OAAA,EAAAN,KAAA,KAAAN,KAAA,cAAAO,SAAA,GAAAC,UAAA;IAEA,IAGM,eAAA/B,IAAA;MAACiC,wBAAA;MAAAC,EAAA;MACCE,uBAAA;QACAC,MAAA,EAAAZ;MAAiD;IACnD;EAED;AAGP;AAEO,SACLG,SAAA,EACAZ,cAAA,EACAR,eAAA,EACFE,aAIG,EACDC,kBAAkB,EAKdE,cAAA,IAAAD,aAC2B,EAAUH,eAAA,EAAAK,cAAA,IAAAP,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useIsomorphicLayoutEffect","getForceScheme","setForceScheme","setUserScheme","useUserScheme","getSystemScheme","useSystemScheme","getUserScheme","onUserSchemeChange","setUserScheme2","useUserScheme2","storageKey","SchemeProvider","param","children","getClassName","name","defaultScheme","forceScheme","value","resolvedValue","localStorage","getItem","toAdd","toRemove","classList","document","documentElement","remove","contains","add","scriptContent","fallback","seedStorage","suppressHydrationWarning","dangerouslySetInnerHTML","__html","MetaTheme","color","darkColor","lightColor","forced","id","content"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,16 +1,18 @@
1
1
  import { useIsomorphicLayoutEffect } from "@vxrn/use-isomorphic-layout-effect";
2
2
  import { useState } from "react";
3
- const media = typeof window < "u" && window.matchMedia ? window.matchMedia("(prefers-color-scheme: dark)") : null;
3
+ const media = typeof window !== "undefined" && window.matchMedia ? window.matchMedia("(prefers-color-scheme: dark)") : null;
4
4
  function getSystemScheme() {
5
5
  return media?.matches ? "dark" : "light";
6
6
  }
7
7
  function useSystemScheme() {
8
8
  const [scheme, setScheme] = useState("light");
9
- return useIsomorphicLayoutEffect(() => {
9
+ useIsomorphicLayoutEffect(() => {
10
10
  setScheme(getSystemScheme());
11
11
  const onChange = () => setScheme(getSystemScheme());
12
- return media?.addEventListener("change", onChange), () => media?.removeEventListener("change", onChange);
13
- }, []), scheme;
12
+ media?.addEventListener("change", onChange);
13
+ return () => media?.removeEventListener("change", onChange);
14
+ }, []);
15
+ return scheme;
14
16
  }
15
17
  export { getSystemScheme, useSystemScheme };
16
18
  //# sourceMappingURL=systemScheme.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["useIsomorphicLayoutEffect","useState","media","window","matchMedia","getSystemScheme","matches","useSystemScheme","scheme","setScheme","onChange","addEventListener","removeEventListener"],"sources":["../../src/systemScheme.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,yBAAA,QAAiC;AAC1C,SAASC,QAAA,QAAgB;AAIzB,MAAMC,KAAA,GACJ,OAAOC,MAAA,GAAW,OAAeA,MAAA,CAAOC,UAAA,GACpCD,MAAA,CAAOC,UAAA,CAAW,8BAA8B,IAChD;AAEC,SAASC,gBAAA,EAA0B;EACxC,OAAOH,KAAA,EAAOI,OAAA,GAAU,SAAS;AACnC;AAEO,SAASC,gBAAA,EAA0B;EACxC,MAAM,CAACC,MAAA,EAAQC,SAAS,IAAIR,QAAA,CAAiB,OAAO;EAEpD,OAAAD,yBAAA,CAA0B,MAAM;IAC9BS,SAAA,CAAUJ,eAAA,CAAgB,CAAC;IAC3B,MAAMK,QAAA,GAAWA,CAAA,KAAMD,SAAA,CAAUJ,eAAA,CAAgB,CAAC;IAClD,OAAAH,KAAA,EAAOS,gBAAA,CAAiB,UAAUD,QAAQ,GACnC,MAAMR,KAAA,EAAOU,mBAAA,CAAoB,UAAUF,QAAQ;EAC5D,GAAG,EAAE,GAEEF,MAAA;AACT","ignoreList":[]}
1
+ {"version":3,"names":["useIsomorphicLayoutEffect","useState","media","window","matchMedia","getSystemScheme","matches","useSystemScheme","scheme","setScheme","onChange","addEventListener","removeEventListener"],"sources":["../../src/systemScheme.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,yBAAA,QAAiC;AAC1C,SAASC,QAAA,QAAgB;AAIzB,MAAMC,KAAA,GACJ,OAAOC,MAAA,KAAW,eAAeA,MAAA,CAAOC,UAAA,GACpCD,MAAA,CAAOC,UAAA,CAAW,8BAA8B,IAChD;AAEC,SAASC,gBAAA,EAA0B;EACxC,OAAOH,KAAA,EAAOI,OAAA,GAAU,SAAS;AACnC;AAEO,SAASC,gBAAA,EAA0B;EACxC,MAAM,CAACC,MAAA,EAAQC,SAAS,IAAIR,QAAA,CAAiB,OAAO;EAEpDD,yBAAA,CAA0B,MAAM;IAC9BS,SAAA,CAAUJ,eAAA,CAAgB,CAAC;IAC3B,MAAMK,QAAA,GAAWA,CAAA,KAAMD,SAAA,CAAUJ,eAAA,CAAgB,CAAC;IAClDH,KAAA,EAAOS,gBAAA,CAAiB,UAAUD,QAAQ;IAC1C,OAAO,MAAMR,KAAA,EAAOU,mBAAA,CAAoB,UAAUF,QAAQ;EAC5D,GAAG,EAAE;EAEL,OAAOF,MAAA;AACT","ignoreList":[]}
@@ -8,26 +8,28 @@ function getSystemScheme() {
8
8
  }
9
9
  function useSystemScheme() {
10
10
  var [scheme, setScheme] = useState(getSystemScheme);
11
- return useEffect(function () {
11
+ useEffect(function () {
12
12
  var appearanceSubscription = Appearance.addChangeListener(function (param) {
13
- var {
14
- colorScheme
15
- } = param;
16
- setScheme(toScheme(colorScheme));
17
- }),
18
- handleAppStateChange = function (nextAppState) {
19
- if (nextAppState === "active") {
20
- var currentScheme = getSystemScheme();
21
- setScheme(function (prev) {
22
- return prev !== currentScheme ? currentScheme : prev;
23
- });
24
- }
25
- },
26
- appStateSubscription = AppState.addEventListener("change", handleAppStateChange);
13
+ var {
14
+ colorScheme
15
+ } = param;
16
+ setScheme(toScheme(colorScheme));
17
+ });
18
+ var handleAppStateChange = function (nextAppState) {
19
+ if (nextAppState === "active") {
20
+ var currentScheme = getSystemScheme();
21
+ setScheme(function (prev) {
22
+ return prev !== currentScheme ? currentScheme : prev;
23
+ });
24
+ }
25
+ };
26
+ var appStateSubscription = AppState.addEventListener("change", handleAppStateChange);
27
27
  return function () {
28
- appearanceSubscription.remove(), appStateSubscription.remove();
28
+ appearanceSubscription.remove();
29
+ appStateSubscription.remove();
29
30
  };
30
- }, []), scheme;
31
+ }, []);
32
+ return scheme;
31
33
  }
32
34
  export { getSystemScheme, useSystemScheme };
33
35
  //# sourceMappingURL=systemScheme.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useEffect","Appearance","AppState","toScheme","colorScheme","getSystemScheme","getColorScheme","useSystemScheme","scheme","setScheme","appearanceSubscription","addChangeListener","param","handleAppStateChange","nextAppState","currentScheme","prev","appStateSubscription","addEventListener","remove"],"sources":["../../src/systemScheme.native.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,SAAA,QAAiB;AACpC,SAASC,UAAA,EAAYC,QAAA,QAAgB;AACrC,SAASC,SAASC,WAAA,EAAa;EAC3B,OAAOA,WAAA,KAAgB,SAAS,SAAS;AAC7C;AACO,SAASC,gBAAA,EAAkB;EAC9B,OAAOF,QAAA,CAASF,UAAA,CAAWK,cAAA,CAAe,CAAC;AAC/C;AACO,SAASC,gBAAA,EAAkB;EAC9B,IAAI,CAACC,MAAA,EAAQC,SAAS,IAAIV,QAAA,CAASM,eAAe;EAClD,OAAAL,SAAA,CAAU,YAAW;IAEjB,IAAIU,sBAAA,GAAyBT,UAAA,CAAWU,iBAAA,CAAkB,UAASC,KAAA,EAAO;QACtE,IAAI;UAAER;QAAY,IAAIQ,KAAA;QACtBH,SAAA,CAAUN,QAAA,CAASC,WAAW,CAAC;MACnC,CAAC;MAGGS,oBAAA,GAAuB,SAAAA,CAASC,YAAA,EAAc;QAC9C,IAAIA,YAAA,KAAiB,UAAU;UAC3B,IAAIC,aAAA,GAAgBV,eAAA,CAAgB;UACpCI,SAAA,CAAU,UAASO,IAAA,EAAM;YACrB,OAAOA,IAAA,KAASD,aAAA,GAAgBA,aAAA,GAAgBC,IAAA;UACpD,CAAC;QACL;MACJ;MACIC,oBAAA,GAAuBf,QAAA,CAASgB,gBAAA,CAAiB,UAAUL,oBAAoB;IACnF,OAAO,YAAW;MACdH,sBAAA,CAAuBS,MAAA,CAAO,GAC9BF,oBAAA,CAAqBE,MAAA,CAAO;IAChC;EACJ,GAAG,EAAE,GACEX,MAAA;AACX","ignoreList":[]}
1
+ {"version":3,"names":["useState","useEffect","Appearance","AppState","toScheme","colorScheme","getSystemScheme","getColorScheme","useSystemScheme","scheme","setScheme","appearanceSubscription","addChangeListener","param","handleAppStateChange","nextAppState","currentScheme","prev","appStateSubscription","addEventListener","remove"],"sources":["../../src/systemScheme.native.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,SAAA,QAAiB;AACpC,SAASC,UAAA,EAAYC,QAAA,QAAgB;AACrC,SAASC,SAASC,WAAA,EAAa;EAC3B,OAAOA,WAAA,KAAgB,SAAS,SAAS;AAC7C;AACO,SAASC,gBAAA,EAAkB;EAC9B,OAAOF,QAAA,CAASF,UAAA,CAAWK,cAAA,CAAe,CAAC;AAC/C;AACO,SAASC,gBAAA,EAAkB;EAC9B,IAAI,CAACC,MAAA,EAAQC,SAAS,IAAIV,QAAA,CAASM,eAAe;EAClDL,SAAA,CAAU,YAAW;IAEjB,IAAIU,sBAAA,GAAyBT,UAAA,CAAWU,iBAAA,CAAkB,UAASC,KAAA,EAAO;MACtE,IAAI;QAAER;MAAY,IAAIQ,KAAA;MACtBH,SAAA,CAAUN,QAAA,CAASC,WAAW,CAAC;IACnC,CAAC;IAGD,IAAIS,oBAAA,GAAuB,SAAAA,CAASC,YAAA,EAAc;MAC9C,IAAIA,YAAA,KAAiB,UAAU;QAC3B,IAAIC,aAAA,GAAgBV,eAAA,CAAgB;QACpCI,SAAA,CAAU,UAASO,IAAA,EAAM;UACrB,OAAOA,IAAA,KAASD,aAAA,GAAgBA,aAAA,GAAgBC,IAAA;QACpD,CAAC;MACL;IACJ;IACA,IAAIC,oBAAA,GAAuBf,QAAA,CAASgB,gBAAA,CAAiB,UAAUL,oBAAoB;IACnF,OAAO,YAAW;MACdH,sBAAA,CAAuBS,MAAA,CAAO;MAC9BF,oBAAA,CAAqBE,MAAA,CAAO;IAChC;EACJ,GAAG,EAAE;EACL,OAAOX,MAAA;AACX","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  import { useIsomorphicLayoutEffect } from "@vxrn/use-isomorphic-layout-effect";
2
2
  import { useState, useMemo } from "react";
3
3
  import { getSystemScheme } from "./systemScheme.mjs";
4
- const listeners = /* @__PURE__ */new Set(),
5
- storageKey = "vxrn-scheme";
4
+ const listeners = /* @__PURE__ */new Set();
5
+ const storageKey = "vxrn-scheme";
6
6
  let _forceScheme = null;
7
7
  function notifyListeners() {
8
8
  listeners.forEach(listener => {
@@ -10,90 +10,155 @@ function notifyListeners() {
10
10
  });
11
11
  }
12
12
  function restoreUnforcedScheme() {
13
- if (typeof localStorage < "u") {
13
+ if (typeof localStorage !== "undefined") {
14
14
  const stored = localStorage.getItem(storageKey);
15
15
  if (stored) {
16
- currentSetting = stored, currentValue = stored === "system" ? resolveValue("system") : stored;
16
+ currentSetting = stored;
17
+ currentValue = stored === "system" ? resolveValue("system") : stored;
17
18
  return;
18
19
  }
19
20
  }
20
- currentSetting = "system", currentValue = resolveValue("system");
21
+ currentSetting = "system";
22
+ currentValue = resolveValue("system");
21
23
  }
22
24
  function setForceScheme(scheme) {
23
25
  const wasForced = _forceScheme;
24
- wasForced !== scheme && (_forceScheme = scheme, scheme ? (currentSetting = scheme, currentValue = scheme) : wasForced && (restoreUnforcedScheme(), startWebListener()));
26
+ if (wasForced === scheme) return;
27
+ _forceScheme = scheme;
28
+ if (scheme) {
29
+ currentSetting = scheme;
30
+ currentValue = scheme;
31
+ } else if (wasForced) {
32
+ restoreUnforcedScheme();
33
+ startWebListener();
34
+ }
25
35
  }
26
36
  function getForceScheme() {
27
37
  return _forceScheme;
28
38
  }
29
39
  function getInitialSetting() {
40
+ if (false) {
41
+ if (typeof localStorage !== "undefined") {
42
+ const stored = localStorage.getItem(storageKey);
43
+ if (stored === "light" || stored === "dark" || stored === "system") {
44
+ return stored;
45
+ }
46
+ }
47
+ }
30
48
  return "system";
31
49
  }
32
50
  function getInitialValue(setting) {
51
+ if (false) {
52
+ if (setting === "system") {
53
+ return Appearance.getColorScheme() === "dark" ? "dark" : "light";
54
+ }
55
+ return setting;
56
+ }
33
57
  return "light";
34
58
  }
35
59
  const initialSetting = getInitialSetting();
36
- let currentSetting = initialSetting,
37
- currentValue = getInitialValue(initialSetting),
38
- isWebListening = !1;
60
+ let currentSetting = initialSetting;
61
+ let currentValue = getInitialValue(initialSetting);
62
+ if (false) {
63
+ Appearance.addChangeListener(next => {
64
+ if (currentSetting === "system" && next.colorScheme) {
65
+ updateValueFromSystem();
66
+ }
67
+ });
68
+ }
69
+ let isWebListening = false;
39
70
  function startWebListener() {
40
71
  if (isWebListening) return;
41
- isWebListening = !0;
42
- const matcher = typeof window < "u" ? window.matchMedia?.("(prefers-color-scheme: dark)") : null,
43
- onSystemChange = () => {
44
- currentSetting === "system" && updateValueFromSystem();
45
- };
46
- onSystemChange(), matcher?.addEventListener?.("change", onSystemChange);
72
+ isWebListening = true;
73
+ const matcher = typeof window !== "undefined" ? window.matchMedia?.("(prefers-color-scheme: dark)") : null;
74
+ const onSystemChange = () => {
75
+ if (currentSetting === "system") {
76
+ updateValueFromSystem();
77
+ }
78
+ };
79
+ onSystemChange();
80
+ matcher?.addEventListener?.("change", onSystemChange);
47
81
  }
48
82
  function resolveValue(setting) {
49
- return setting === "system" ? getSystemScheme() : setting;
83
+ if (setting === "system") {
84
+ if (false) {
85
+ return Appearance.getColorScheme() === "dark" ? "dark" : "light";
86
+ }
87
+ return getSystemScheme();
88
+ }
89
+ return setting;
50
90
  }
51
91
  function updateValueFromSystem() {
52
92
  if (_forceScheme) return;
53
93
  const value = resolveValue("system");
54
- value !== currentValue && (currentValue = value, notifyListeners());
94
+ if (value !== currentValue) {
95
+ currentValue = value;
96
+ notifyListeners();
97
+ }
55
98
  }
56
99
  function updateScheme(setting) {
57
100
  if (_forceScheme) return;
58
101
  const value = setting === "system" ? resolveValue("system") : setting;
59
- (value !== currentValue || currentSetting !== setting) && (currentSetting = setting, currentValue = value, notifyListeners());
102
+ if (value !== currentValue || currentSetting !== setting) {
103
+ currentSetting = setting;
104
+ currentValue = value;
105
+ if (false) {
106
+ if (setting !== "system") {
107
+ Appearance.setColorScheme(value);
108
+ } else {
109
+ Appearance.setColorScheme("unspecified");
110
+ }
111
+ }
112
+ notifyListeners();
113
+ }
60
114
  }
61
115
  function setUserScheme(setting) {
62
- _forceScheme || (typeof localStorage < "u" && localStorage.setItem(storageKey, setting), updateScheme(setting));
116
+ if (_forceScheme) return;
117
+ if (typeof localStorage !== "undefined") {
118
+ localStorage.setItem(storageKey, setting);
119
+ }
120
+ updateScheme(setting);
63
121
  }
64
122
  function getUserScheme() {
65
- return _forceScheme ? {
123
+ if (_forceScheme) return {
66
124
  setting: _forceScheme,
67
125
  value: _forceScheme
68
- } : {
126
+ };
127
+ return {
69
128
  setting: currentSetting,
70
129
  value: currentValue
71
130
  };
72
131
  }
73
132
  function onUserSchemeChange(listener) {
74
- return listeners.add(listener), listener(currentSetting, currentValue), () => {
133
+ listeners.add(listener);
134
+ listener(currentSetting, currentValue);
135
+ return () => {
75
136
  listeners.delete(listener);
76
137
  };
77
138
  }
78
139
  function useUserScheme() {
79
- const [state, setState] = useState(() => getUserScheme()),
80
- snapshot = getUserScheme(),
81
- resolvedState = state.setting === snapshot.setting && state.value === snapshot.value ? state : snapshot;
82
- return useIsomorphicLayoutEffect(() => {
140
+ const [state, setState] = useState(() => getUserScheme());
141
+ const snapshot = getUserScheme();
142
+ const resolvedState = state.setting === snapshot.setting && state.value === snapshot.value ? state : snapshot;
143
+ useIsomorphicLayoutEffect(() => {
83
144
  if (!_forceScheme) {
84
- if (typeof localStorage < "u") {
145
+ if (typeof localStorage !== "undefined") {
85
146
  const stored = localStorage.getItem(storageKey);
86
- stored && updateScheme(stored);
147
+ if (stored) {
148
+ updateScheme(stored);
149
+ }
87
150
  }
88
151
  startWebListener();
89
152
  }
90
- return onUserSchemeChange((setting, value) => {
153
+ const dispose = onUserSchemeChange((setting, value) => {
91
154
  setState({
92
155
  setting,
93
156
  value
94
157
  });
95
158
  });
96
- }, []), useMemo(() => ({
159
+ return dispose;
160
+ }, []);
161
+ return useMemo(() => ({
97
162
  setting: resolvedState.setting,
98
163
  value: resolvedState.value,
99
164
  set: setUserScheme
@@ -1 +1 @@
1
- {"version":3,"names":["useIsomorphicLayoutEffect","useState","useMemo","getSystemScheme","listeners","Set","storageKey","_forceScheme","notifyListeners","forEach","listener","currentSetting","currentValue","restoreUnforcedScheme","localStorage","stored","getItem","resolveValue","setForceScheme","scheme","wasForced","startWebListener","getForceScheme","getInitialSetting","getInitialValue","setting","initialSetting","isWebListening","matcher","window","matchMedia","onSystemChange","updateValueFromSystem","addEventListener","value","updateScheme","setUserScheme","setItem","getUserScheme","onUserSchemeChange","add","delete","useUserScheme","state","setState","snapshot","resolvedState","set"],"sources":["../../src/userScheme.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,yBAAA,QAAiC;AAC1C,SAASC,QAAA,EAAUC,OAAA,QAAe;AAElC,SAASC,eAAA,QAAoC;AAe7C,MAAMC,SAAA,GAAY,mBAAIC,GAAA,CAAoB;EACpCC,UAAA,GAAa;AAGnB,IAAIC,YAAA,GAA8B;AAElC,SAASC,gBAAA,EAAkB;EACzBJ,SAAA,CAAUK,OAAA,CAASC,QAAA,IAAa;IAC9BA,QAAA,CAASC,cAAA,EAAgBC,YAAY;EACvC,CAAC;AACH;AAEA,SAASC,sBAAA,EAAwB;EAC/B,IAAI,OAAOC,YAAA,GAAiB,KAAa;IACvC,MAAMC,MAAA,GAASD,YAAA,CAAaE,OAAA,CAAQV,UAAU;IAC9C,IAAIS,MAAA,EAAQ;MACVJ,cAAA,GAAiBI,MAAA,EACjBH,YAAA,GAAeG,MAAA,KAAW,WAAWE,YAAA,CAAa,QAAQ,IAAIF,MAAA;MAC9D;IACF;EACF;EAEAJ,cAAA,GAAiB,UACjBC,YAAA,GAAeK,YAAA,CAAa,QAAQ;AACtC;AAOO,SAASC,eAAeC,MAAA,EAAuB;EACpD,MAAMC,SAAA,GAAYb,YAAA;EAEda,SAAA,KAAcD,MAAA,KAElBZ,YAAA,GAAeY,MAAA,EAEXA,MAAA,IACFR,cAAA,GAAiBQ,MAAA,EACjBP,YAAA,GAAeO,MAAA,IACNC,SAAA,KACTP,qBAAA,CAAsB,GACtBQ,gBAAA,CAAiB;AAErB;AAEO,SAASC,eAAA,EAAgC;EAC9C,OAAOf,YAAA;AACT;AAGA,SAASgB,kBAAA,EAAmC;EAU1C,OAAO;AACT;AAEA,SAASC,gBAAgBC,OAAA,EAAgC;EAQvD,OAAO;AACT;AACA,MAAMC,cAAA,GAAiBH,iBAAA,CAAkB;AACzC,IAAIZ,cAAA,GAAgCe,cAAA;EAChCd,YAAA,GAAuBY,eAAA,CAAgBE,cAAc;EAYrDC,cAAA,GAAiB;AACrB,SAASN,iBAAA,EAAmB;EAC1B,IAAIM,cAAA,EAAgB;EACpBA,cAAA,GAAiB;EAEjB,MAAMC,OAAA,GACJ,OAAOC,MAAA,GAAW,MACdA,MAAA,CAAOC,UAAA,GAAa,8BAA8B,IAClD;IAEAC,cAAA,GAAiBA,CAAA,KAAM;MACvBpB,cAAA,KAAmB,YACrBqB,qBAAA,CAAsB;IAE1B;EAEAD,cAAA,CAAe,GACfH,OAAA,EAASK,gBAAA,GAAmB,UAAUF,cAAc;AACtD;AAEA,SAASd,aAAaQ,OAAA,EAAgC;EACpD,OAAIA,OAAA,KAAY,WAIPtB,eAAA,CAAgB,IAElBsB,OAAA;AACT;AAGA,SAASO,sBAAA,EAAwB;EAC/B,IAAIzB,YAAA,EAAc;EAClB,MAAM2B,KAAA,GAAQjB,YAAA,CAAa,QAAQ;EAC/BiB,KAAA,KAAUtB,YAAA,KACZA,YAAA,GAAesB,KAAA,EAEf1B,eAAA,CAAgB;AAEpB;AAEA,SAAS2B,aAAaV,OAAA,EAAwB;EAC5C,IAAIlB,YAAA,EAAc;EAClB,MAAM2B,KAAA,GAAQT,OAAA,KAAY,WAAWR,YAAA,CAAa,QAAQ,IAAIQ,OAAA;EAE9D,CAAIS,KAAA,KAAUtB,YAAA,IAAgBD,cAAA,KAAmBc,OAAA,MAC/Cd,cAAA,GAAiBc,OAAA,EACjBb,YAAA,GAAesB,KAAA,EAaf1B,eAAA,CAAgB;AAEpB;AAQO,SAAS4B,cAAcX,OAAA,EAAwB;EAChDlB,YAAA,KACA,OAAOO,YAAA,GAAiB,OAC1BA,YAAA,CAAauB,OAAA,CAAQ/B,UAAA,EAAYmB,OAAO,GAE1CU,YAAA,CAAaV,OAAO;AACtB;AAOO,SAASa,cAAA,EAA2D;EACzE,OAAI/B,YAAA,GAAqB;IAAEkB,OAAA,EAASlB,YAAA;IAAc2B,KAAA,EAAO3B;EAAa,IAC/D;IAAEkB,OAAA,EAASd,cAAA;IAAgBuB,KAAA,EAAOtB;EAAa;AACxD;AAQO,SAAS2B,mBAAmB7B,QAAA,EAA0B;EAC3D,OAAAN,SAAA,CAAUoC,GAAA,CAAI9B,QAAQ,GACtBA,QAAA,CAASC,cAAA,EAAgBC,YAAY,GAC9B,MAAM;IACXR,SAAA,CAAUqC,MAAA,CAAO/B,QAAQ;EAC3B;AACF;AAeO,SAASgC,cAAA,EAA4B;EAC1C,MAAM,CAACC,KAAA,EAAOC,QAAQ,IAAI3C,QAAA,CAAS,MAAMqC,aAAA,CAAc,CAAC;IAClDO,QAAA,GAAWP,aAAA,CAAc;IACzBQ,aAAA,GACJH,KAAA,CAAMlB,OAAA,KAAYoB,QAAA,CAASpB,OAAA,IAAWkB,KAAA,CAAMT,KAAA,KAAUW,QAAA,CAASX,KAAA,GAC3DS,KAAA,GACAE,QAAA;EAEN,OAAA7C,yBAAA,CAA0B,MAAM;IAC9B,IAAI,CAACO,YAAA,EAAc;MAEjB,IAAI,OAAOO,YAAA,GAAiB,KAAa;QACvC,MAAMC,MAAA,GAASD,YAAA,CAAaE,OAAA,CAAQV,UAAU;QAC1CS,MAAA,IACFoB,YAAA,CAAapB,MAAM;MAEvB;MACAM,gBAAA,CAAiB;IACnB;IAOA,OAJgBkB,kBAAA,CAAmB,CAACd,OAAA,EAASS,KAAA,KAAU;MACrDU,QAAA,CAAS;QAAEnB,OAAA;QAASS;MAAM,CAAC;IAC7B,CAAC;EAGH,GAAG,EAAE,GAEEhC,OAAA,CACL,OAAO;IACLuB,OAAA,EAASqB,aAAA,CAAcrB,OAAA;IACvBS,KAAA,EAAOY,aAAA,CAAcZ,KAAA;IACrBa,GAAA,EAAKX;EACP,IACA,CAACU,aAAA,CAAcrB,OAAA,EAASqB,aAAA,CAAcZ,KAAK,CAC7C;AACF","ignoreList":[]}
1
+ {"version":3,"names":["useIsomorphicLayoutEffect","useState","useMemo","getSystemScheme","listeners","Set","storageKey","_forceScheme","notifyListeners","forEach","listener","currentSetting","currentValue","restoreUnforcedScheme","localStorage","stored","getItem","resolveValue","setForceScheme","scheme","wasForced","startWebListener","getForceScheme","getInitialSetting","getInitialValue","setting","Appearance","getColorScheme","initialSetting","addChangeListener","next","colorScheme","updateValueFromSystem","isWebListening","matcher","window","matchMedia","onSystemChange","addEventListener","value","updateScheme","setColorScheme","setUserScheme","setItem","getUserScheme","onUserSchemeChange","add","delete","useUserScheme","state","setState","snapshot","resolvedState","dispose","set"],"sources":["../../src/userScheme.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}