@tamagui/next-theme 2.0.0-rc.4 → 2.0.0-rc.40

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 (70) hide show
  1. package/dist/cjs/NextTheme.cjs +7 -5
  2. package/dist/cjs/NextThemeProvider.cjs +197 -146
  3. package/dist/cjs/ThemeSettingContext.cjs +12 -10
  4. package/dist/cjs/UseThemeProps.cjs +7 -5
  5. package/dist/cjs/constants.cjs +15 -13
  6. package/dist/cjs/helpers.cjs +29 -20
  7. package/dist/cjs/index.cjs +7 -5
  8. package/dist/cjs/types.cjs +7 -5
  9. package/dist/cjs/useRootTheme.cjs +14 -12
  10. package/dist/cjs/useTheme.cjs +16 -14
  11. package/dist/esm/NextThemeProvider.mjs +164 -115
  12. package/dist/esm/NextThemeProvider.mjs.map +1 -1
  13. package/dist/esm/constants.mjs +3 -3
  14. package/dist/esm/constants.mjs.map +1 -1
  15. package/dist/esm/helpers.mjs +17 -10
  16. package/dist/esm/helpers.mjs.map +1 -1
  17. package/dist/esm/index.js +2 -2
  18. package/dist/esm/index.js.map +1 -6
  19. package/dist/esm/useTheme.mjs +2 -2
  20. package/dist/esm/useTheme.mjs.map +1 -1
  21. package/package.json +5 -4
  22. package/src/NextThemeProvider.tsx +3 -3
  23. package/types/NextTheme.d.ts.map +2 -2
  24. package/types/NextThemeProvider.d.ts.map +5 -7
  25. package/types/ThemeSettingContext.d.ts.map +4 -6
  26. package/types/UseThemeProps.d.ts.map +2 -2
  27. package/types/constants.d.ts.map +2 -2
  28. package/types/helpers.d.ts.map +2 -2
  29. package/types/index.d.ts.map +2 -2
  30. package/types/types.d.ts.map +2 -2
  31. package/types/useRootTheme.d.ts.map +2 -2
  32. package/types/useTheme.d.ts.map +2 -2
  33. package/dist/cjs/NextTheme.js +0 -22
  34. package/dist/cjs/NextTheme.js.map +0 -6
  35. package/dist/cjs/NextThemeProvider.js +0 -178
  36. package/dist/cjs/NextThemeProvider.js.map +0 -6
  37. package/dist/cjs/ThemeSettingContext.js +0 -28
  38. package/dist/cjs/ThemeSettingContext.js.map +0 -6
  39. package/dist/cjs/UseThemeProps.js +0 -14
  40. package/dist/cjs/UseThemeProps.js.map +0 -6
  41. package/dist/cjs/constants.js +0 -23
  42. package/dist/cjs/constants.js.map +0 -6
  43. package/dist/cjs/helpers.js +0 -32
  44. package/dist/cjs/helpers.js.map +0 -6
  45. package/dist/cjs/index.js +0 -16
  46. package/dist/cjs/index.js.map +0 -6
  47. package/dist/cjs/types.js +0 -14
  48. package/dist/cjs/types.js.map +0 -6
  49. package/dist/cjs/useRootTheme.js +0 -29
  50. package/dist/cjs/useRootTheme.js.map +0 -6
  51. package/dist/cjs/useTheme.js +0 -23
  52. package/dist/cjs/useTheme.js.map +0 -6
  53. package/dist/esm/NextTheme.js +0 -9
  54. package/dist/esm/NextTheme.js.map +0 -6
  55. package/dist/esm/NextThemeProvider.js +0 -162
  56. package/dist/esm/NextThemeProvider.js.map +0 -6
  57. package/dist/esm/ThemeSettingContext.js +0 -12
  58. package/dist/esm/ThemeSettingContext.js.map +0 -6
  59. package/dist/esm/UseThemeProps.js +0 -1
  60. package/dist/esm/UseThemeProps.js.map +0 -6
  61. package/dist/esm/constants.js +0 -7
  62. package/dist/esm/constants.js.map +0 -6
  63. package/dist/esm/helpers.js +0 -16
  64. package/dist/esm/helpers.js.map +0 -6
  65. package/dist/esm/types.js +0 -1
  66. package/dist/esm/types.js.map +0 -6
  67. package/dist/esm/useRootTheme.js +0 -14
  68. package/dist/esm/useRootTheme.js.map +0 -6
  69. package/dist/esm/useTheme.js +0 -8
  70. package/dist/esm/useTheme.js.map +0 -6
@@ -3,28 +3,30 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
5
  var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: !0
9
- });
10
- },
11
- __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
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, {
13
14
  get: () => from[key],
14
15
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
16
  });
16
- return to;
17
- };
17
+ }
18
+ return to;
19
+ };
18
20
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
- value: !0
21
+ value: true
20
22
  }), mod);
21
23
  var useRootTheme_exports = {};
22
24
  __export(useRootTheme_exports, {
23
25
  useRootTheme: () => useRootTheme
24
26
  });
25
27
  module.exports = __toCommonJS(useRootTheme_exports);
26
- var import_react = require("react"),
27
- import_constants = require("@tamagui/constants");
28
+ var import_react = require("react");
29
+ var import_constants = require("@tamagui/constants");
28
30
  const useRootTheme = ({
29
31
  fallback = "light"
30
32
  } = {}) => {
@@ -3,20 +3,22 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
5
  var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: !0
9
- });
10
- },
11
- __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
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, {
13
14
  get: () => from[key],
14
15
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
16
  });
16
- return to;
17
- };
17
+ }
18
+ return to;
19
+ };
18
20
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
- value: !0
21
+ value: true
20
22
  }), mod);
21
23
  var useTheme_exports = {};
22
24
  __export(useTheme_exports, {
@@ -24,7 +26,7 @@ __export(useTheme_exports, {
24
26
  useThemeSetting: () => useThemeSetting
25
27
  });
26
28
  module.exports = __toCommonJS(useTheme_exports);
27
- var import_react = require("react"),
28
- import_ThemeSettingContext = require("./ThemeSettingContext.cjs");
29
- const useTheme = () => (0, import_react.useContext)(import_ThemeSettingContext.ThemeSettingContext),
30
- useThemeSetting = () => (0, import_react.useContext)(import_ThemeSettingContext.ThemeSettingContext);
29
+ var import_react = require("react");
30
+ var import_ThemeSettingContext = require("./ThemeSettingContext.cjs");
31
+ const useTheme = () => (0, import_react.useContext)(import_ThemeSettingContext.ThemeSettingContext);
32
+ const useThemeSetting = () => (0, import_react.useContext)(import_ThemeSettingContext.ThemeSettingContext);
@@ -8,92 +8,125 @@ import { getSystemTheme, getTheme } from "./helpers.mjs";
8
8
  import { ThemeSettingContext } from "./ThemeSettingContext.mjs";
9
9
  import { jsx, jsxs } from "react/jsx-runtime";
10
10
  const NextThemeProvider = memo(({
11
- forcedTheme,
12
- disableTransitionOnChange = !1,
13
- enableSystem = !0,
14
- enableColorScheme = !0,
15
- storageKey = "theme",
16
- themes = colorSchemes,
17
- defaultTheme = enableSystem ? "system" : "light",
18
- attribute = "class",
19
- skipNextHead,
20
- onChangeTheme,
21
- value = {
22
- dark: "t_dark",
23
- light: "t_light"
24
- },
25
- children
26
- }) => {
27
- const [theme, setThemeState] = useState(() => getTheme(storageKey, defaultTheme)),
28
- [resolvedTheme, setResolvedTheme] = useState(() => getTheme(storageKey)),
29
- attrs = value ? Object.values(value) : themes,
30
- handleMediaQuery = useEvent(e => {
31
- const _ = getSystemTheme(e),
32
- update = () => setResolvedTheme(_);
33
- disableTransitionOnChange ? update() : React.startTransition(() => update()), theme === "system" && !forcedTheme && handleChangeTheme(_, !1);
34
- }),
35
- handleChangeTheme = useEvent((theme2, updateStorage = !0, updateDOM = !0) => {
36
- let name = value?.[theme2] || theme2;
37
- if (updateStorage) try {
38
- localStorage.setItem(storageKey, theme2);
39
- } catch {}
40
- if (theme2 === "system" && enableSystem) {
41
- const resolved = getSystemTheme();
42
- name = value?.[resolved] || resolved;
43
- }
44
- if (onChangeTheme?.(name.replace("t_", "")), updateDOM) {
45
- const d = document.documentElement;
46
- attribute === "class" ? (d.classList.remove(...attrs), d.classList.add(name)) : d.setAttribute(attribute, name);
47
- }
48
- });
49
- useIsomorphicLayoutEffect(() => {
50
- const media = window.matchMedia(MEDIA);
51
- return media.addListener(handleMediaQuery), handleMediaQuery(media), () => {
52
- media.removeListener(handleMediaQuery);
53
- };
54
- }, []);
55
- const set = useEvent(newTheme => {
56
- forcedTheme ? handleChangeTheme(newTheme, !0, !1) : handleChangeTheme(newTheme), setThemeState(newTheme);
57
- });
58
- useEffect(() => {
59
- const handleStorage = e => {
60
- if (e.key !== storageKey) return;
61
- const theme2 = e.newValue || defaultTheme;
62
- set(theme2);
63
- };
64
- return window.addEventListener("storage", handleStorage), () => {
65
- window.removeEventListener("storage", handleStorage);
66
- };
67
- }, [defaultTheme, set, storageKey]), useIsomorphicLayoutEffect(() => {
68
- if (!enableColorScheme) return;
69
- const colorScheme =
70
- // If theme is forced to light or dark, use that
71
- forcedTheme && colorSchemes.includes(forcedTheme) ? forcedTheme :
72
- // If regular theme is light or dark
73
- theme && colorSchemes.includes(theme) ? theme :
74
- // If theme is system, use the resolved version
75
- theme === "system" && resolvedTheme || null;
76
- (typeof window < "u" && window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light") !== (colorScheme || "light") && document.documentElement.style.setProperty("color-scheme", colorScheme);
77
- }, [enableColorScheme, theme, resolvedTheme, forcedTheme]);
78
- const toggle = useEvent(() => {
79
- const order = resolvedTheme === "dark" ? ["system", "light", "dark"] : ["system", "dark", "light"],
80
- next = order[(order.indexOf(theme) + 1) % order.length];
81
- set(next);
82
- }),
83
- systemTheme = enableSystem ? resolvedTheme : void 0,
84
- contextValue = useMemo(() => ({
85
- theme,
86
- current: theme,
87
- set,
88
- toggle,
89
- forcedTheme,
90
- resolvedTheme: theme === "system" ? resolvedTheme : theme,
91
- themes: enableSystem ? [...themes, "system"] : themes,
92
- systemTheme
93
- }), [theme, set, toggle, forcedTheme, resolvedTheme, enableSystem, themes, systemTheme]);
94
- return /* @__PURE__ */jsxs(ThemeSettingContext.Provider, {
95
- value: contextValue,
96
- children: [/* @__PURE__ */jsx(ThemeScript, {
11
+ forcedTheme,
12
+ disableTransitionOnChange = false,
13
+ enableSystem = true,
14
+ enableColorScheme = true,
15
+ storageKey = "theme",
16
+ themes = colorSchemes,
17
+ defaultTheme = enableSystem ? "system" : "light",
18
+ attribute = "class",
19
+ skipNextHead,
20
+ onChangeTheme,
21
+ value = {
22
+ dark: "t_dark",
23
+ light: "t_light"
24
+ },
25
+ children
26
+ }) => {
27
+ const [theme, setThemeState] = useState(() => getTheme(storageKey, defaultTheme));
28
+ const [resolvedTheme, setResolvedTheme] = useState(() => getTheme(storageKey));
29
+ const attrs = !value ? themes : Object.values(value);
30
+ const handleMediaQuery = useEvent(e => {
31
+ const _ = getSystemTheme(e);
32
+ const update = () => setResolvedTheme(_);
33
+ if (disableTransitionOnChange) {
34
+ update();
35
+ } else {
36
+ React.startTransition(() => update());
37
+ }
38
+ if (theme === "system" && !forcedTheme) {
39
+ handleChangeTheme(_, false);
40
+ }
41
+ });
42
+ const handleChangeTheme = useEvent((theme2, updateStorage = true, updateDOM = true) => {
43
+ let name = value?.[theme2] || theme2;
44
+ if (updateStorage) {
45
+ try {
46
+ localStorage.setItem(storageKey, theme2);
47
+ } catch (e) {}
48
+ }
49
+ if (theme2 === "system" && enableSystem) {
50
+ const resolved = getSystemTheme();
51
+ name = value?.[resolved] || resolved;
52
+ }
53
+ onChangeTheme?.(name.replace("t_", ""));
54
+ if (updateDOM) {
55
+ const d = document.documentElement;
56
+ if (attribute === "class") {
57
+ d.classList.remove(...attrs);
58
+ d.classList.add(name);
59
+ } else {
60
+ d.setAttribute(attribute, name);
61
+ }
62
+ }
63
+ });
64
+ useIsomorphicLayoutEffect(() => {
65
+ const media = window.matchMedia(MEDIA);
66
+ media.addListener(handleMediaQuery);
67
+ handleMediaQuery(media);
68
+ return () => {
69
+ media.removeListener(handleMediaQuery);
70
+ };
71
+ }, []);
72
+ const set = useEvent(newTheme => {
73
+ if (forcedTheme) {
74
+ return;
75
+ }
76
+ handleChangeTheme(newTheme);
77
+ setThemeState(newTheme);
78
+ });
79
+ useEffect(() => {
80
+ const handleStorage = e => {
81
+ if (e.key !== storageKey) {
82
+ return;
83
+ }
84
+ const theme2 = e.newValue || defaultTheme;
85
+ set(theme2);
86
+ };
87
+ window.addEventListener("storage", handleStorage);
88
+ return () => {
89
+ window.removeEventListener("storage", handleStorage);
90
+ };
91
+ }, [defaultTheme, set, storageKey]);
92
+ useIsomorphicLayoutEffect(() => {
93
+ if (!enableColorScheme) return;
94
+ const colorScheme =
95
+ // If theme is forced to light or dark, use that
96
+ forcedTheme && colorSchemes.includes(forcedTheme) ? forcedTheme :
97
+ // If regular theme is light or dark
98
+ theme && colorSchemes.includes(theme) ? theme :
99
+ // If theme is system, use the resolved version
100
+ theme === "system" ? resolvedTheme || null : null;
101
+ const userPrefers = typeof window !== "undefined" && window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
102
+ const wePrefer = colorScheme || "light";
103
+ if (userPrefers !== wePrefer) {
104
+ document.documentElement.style.setProperty("color-scheme", colorScheme);
105
+ }
106
+ }, [enableColorScheme, theme, resolvedTheme, forcedTheme]);
107
+ const toggle = useEvent(() => {
108
+ const order = resolvedTheme === "dark" ? ["system", "light", "dark"] : ["system", "dark", "light"];
109
+ const next = order[(order.indexOf(theme) + 1) % order.length];
110
+ set(next);
111
+ });
112
+ const systemTheme = enableSystem ? resolvedTheme : void 0;
113
+ const contextValue = useMemo(() => {
114
+ const value2 = {
115
+ theme,
116
+ current: theme,
117
+ set,
118
+ toggle,
119
+ forcedTheme,
120
+ resolvedTheme: theme === "system" ? resolvedTheme : theme,
121
+ themes: enableSystem ? [...themes, "system"] : themes,
122
+ systemTheme
123
+ };
124
+ return value2;
125
+ }, [theme, set, toggle, forcedTheme, resolvedTheme, enableSystem, themes, systemTheme]);
126
+ return /* @__PURE__ */jsxs(ThemeSettingContext.Provider, {
127
+ value: contextValue,
128
+ children: [/* @__PURE__ */jsx(ThemeScript, {
129
+ ...{
97
130
  forcedTheme,
98
131
  storageKey,
99
132
  systemTheme: resolvedTheme,
@@ -103,38 +136,54 @@ const NextThemeProvider = memo(({
103
136
  defaultTheme,
104
137
  attrs,
105
138
  skipNextHead
106
- }), children]
107
- });
108
- }),
109
- ThemeScript = memo(({
110
- forcedTheme,
111
- storageKey,
112
- attribute,
113
- enableSystem,
114
- defaultTheme,
115
- value,
116
- attrs,
117
- skipNextHead
118
- }) => {
119
- const optimization = attribute === "class" ? `var d=document.documentElement.classList;${attrs.map(t => `d.remove('${t}')`).join(";")};` : "var d=document.documentElement;",
120
- updateDOM = (name, literal) => {
121
- name = value?.[name] || name;
122
- const val = literal ? name : `'${name}'`;
123
- return attribute === "class" ? `d.add(${val})` : `d.setAttribute('${attribute}', ${val})`;
124
- },
125
- defaultSystem = defaultTheme === "system",
126
- scriptContent = forcedTheme ? `!function(){${optimization}${updateDOM(forcedTheme)}}()` : enableSystem ? `!function(){try {${optimization}var e=localStorage.getItem('${storageKey}');if("system"===e||(!e&&${defaultSystem})){var t="${MEDIA}",m=window.matchMedia(t);m.media!==t||m.matches?${updateDOM("dark")}:${updateDOM("light")}}else if(e){${value ? `var x=${JSON.stringify(value)};` : ""}${updateDOM(value ? "x[e]" : "e", !0)}}${defaultSystem ? "" : `else{${updateDOM(defaultTheme)}}`}}catch(e){}}()` : `!function(){try{${optimization}var e=localStorage.getItem("${storageKey}");if(e){${value ? `var x=${JSON.stringify(value)};` : ""}${updateDOM(value ? "x[e]" : "e", !0)}}else{${updateDOM(defaultTheme)};}}catch(t){}}();`;
127
- return skipNextHead ? /* @__PURE__ */jsx("script", {
128
- dangerouslySetInnerHTML: {
129
- __html: scriptContent
130
139
  }
131
- }, "next-themes-script") : /* @__PURE__ */jsx(Script, {
132
- id: "next-themes-script",
133
- strategy: "beforeInteractive",
140
+ }), children]
141
+ });
142
+ });
143
+ const ThemeScript = memo(({
144
+ forcedTheme,
145
+ storageKey,
146
+ attribute,
147
+ enableSystem,
148
+ defaultTheme,
149
+ value,
150
+ attrs,
151
+ skipNextHead
152
+ }) => {
153
+ const optimization = (() => {
154
+ if (attribute === "class") {
155
+ const removeClasses = attrs.map(t => `d.remove('${t}')`).join(";");
156
+ return `var d=document.documentElement.classList;${removeClasses};`;
157
+ }
158
+ return `var d=document.documentElement;`;
159
+ })();
160
+ const updateDOM = (name, literal) => {
161
+ name = value?.[name] || name;
162
+ const val = literal ? name : `'${name}'`;
163
+ if (attribute === "class") {
164
+ return `d.add(${val})`;
165
+ }
166
+ return `d.setAttribute('${attribute}', ${val})`;
167
+ };
168
+ const defaultSystem = defaultTheme === "system";
169
+ const scriptContent = forcedTheme ? `!function(){${optimization}${updateDOM(forcedTheme)}}()` : enableSystem ? `!function(){try {${optimization}var e=localStorage.getItem('${storageKey}');if("system"===e||(!e&&${defaultSystem})){var t="${MEDIA}",m=window.matchMedia(t);m.media!==t||m.matches?${updateDOM("dark")}:${updateDOM("light")}}else if(e){${value ? `var x=${JSON.stringify(value)};` : ""}${updateDOM(value ? "x[e]" : "e", true)}}${!defaultSystem ? `else{${updateDOM(defaultTheme)}}` : ""}}catch(e){}}()` : `!function(){try{${optimization}var e=localStorage.getItem("${storageKey}");if(e){${value ? `var x=${JSON.stringify(value)};` : ""}${updateDOM(value ? "x[e]" : "e", true)}}else{${updateDOM(defaultTheme)};}}catch(t){}}();`;
170
+ if (skipNextHead) {
171
+ return /* @__PURE__ */jsx("script", {
134
172
  dangerouslySetInnerHTML: {
135
173
  __html: scriptContent
136
174
  }
137
- });
138
- }, (prevProps, nextProps) => prevProps.forcedTheme === nextProps.forcedTheme);
175
+ }, "next-themes-script");
176
+ }
177
+ return /* @__PURE__ */jsx(Script, {
178
+ id: "next-themes-script",
179
+ strategy: "beforeInteractive",
180
+ dangerouslySetInnerHTML: {
181
+ __html: scriptContent
182
+ }
183
+ });
184
+ }, (prevProps, nextProps) => {
185
+ if (prevProps.forcedTheme !== nextProps.forcedTheme) return false;
186
+ return true;
187
+ });
139
188
  export { NextThemeProvider };
140
189
  //# sourceMappingURL=NextThemeProvider.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["useIsomorphicLayoutEffect","useEvent","Script","React","memo","useEffect","useMemo","useState","MEDIA","colorSchemes","getSystemTheme","getTheme","ThemeSettingContext","jsx","jsxs","NextThemeProvider","forcedTheme","disableTransitionOnChange","enableSystem","enableColorScheme","storageKey","themes","defaultTheme","attribute","skipNextHead","onChangeTheme","value","dark","light","children","theme","setThemeState","resolvedTheme","setResolvedTheme","attrs","Object","values","handleMediaQuery","e","_","update","startTransition","handleChangeTheme","theme2","updateStorage","updateDOM","name","localStorage","setItem","resolved","replace","d","document","documentElement","classList","remove","add","setAttribute","media","window","matchMedia","addListener","removeListener","set","newTheme","handleStorage","key","newValue","addEventListener","removeEventListener","colorScheme","includes","matches","style","setProperty","toggle","order","next","indexOf","length","systemTheme","contextValue","current","Provider","ThemeScript","optimization","map","t","join","literal","val","defaultSystem","scriptContent","JSON","stringify","dangerouslySetInnerHTML","__html","id","strategy","prevProps","nextProps"],"sources":["../../src/NextThemeProvider.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useIsomorphicLayoutEffect","useEvent","Script","React","memo","useEffect","useMemo","useState","MEDIA","colorSchemes","getSystemTheme","getTheme","ThemeSettingContext","jsx","jsxs","NextThemeProvider","forcedTheme","disableTransitionOnChange","enableSystem","enableColorScheme","storageKey","themes","defaultTheme","attribute","skipNextHead","onChangeTheme","value","dark","light","children","theme","setThemeState","resolvedTheme","setResolvedTheme","attrs","Object","values","handleMediaQuery","e","_","update","startTransition","handleChangeTheme","theme2","updateStorage","updateDOM","name","localStorage","setItem","resolved","replace","d","document","documentElement","classList","remove","add","setAttribute","media","window","matchMedia","addListener","removeListener","set","newTheme","handleStorage","key","newValue","addEventListener","removeEventListener","colorScheme","includes","userPrefers","matches","wePrefer","style","setProperty","toggle","order","next","indexOf","length","systemTheme","contextValue","value2","current","Provider","ThemeScript","optimization","removeClasses","map","t","join","literal","val","defaultSystem","scriptContent","JSON","stringify","dangerouslySetInnerHTML","__html","id","strategy","prevProps","nextProps"],"sources":["../../src/NextThemeProvider.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- const constants = {},
2
- colorSchemes = ["light", "dark"],
3
- MEDIA = "(prefers-color-scheme: dark)";
1
+ const constants = {};
2
+ const colorSchemes = ["light", "dark"];
3
+ const MEDIA = "(prefers-color-scheme: dark)";
4
4
  export { MEDIA, colorSchemes, constants };
5
5
  //# sourceMappingURL=constants.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["constants","colorSchemes","MEDIA"],"sources":["../../src/constants.tsx"],"sourcesContent":[null],"mappings":"AAAO,MAAMA,SAAA,GAAY,CAAC;EACbC,YAAA,GAAe,CAAC,SAAS,MAAM;EAC/BC,KAAA,GAAQ","ignoreList":[]}
1
+ {"version":3,"names":["constants","colorSchemes","MEDIA"],"sources":["../../src/constants.tsx"],"sourcesContent":[null],"mappings":"AAAO,MAAMA,SAAA,GAAY,CAAC;AACnB,MAAMC,YAAA,GAAe,CAAC,SAAS,MAAM;AACrC,MAAMC,KAAA,GAAQ","ignoreList":[]}
@@ -1,13 +1,20 @@
1
1
  import { MEDIA } from "./constants.mjs";
2
- const helpers = {},
3
- getTheme = (key, fallback) => {
4
- if (typeof window > "u") return;
5
- let theme;
6
- try {
7
- theme = localStorage.getItem(key) || void 0;
8
- } catch {}
9
- return theme || fallback;
10
- },
11
- getSystemTheme = e => (e || (e = window.matchMedia(MEDIA)), e.matches ? "dark" : "light");
2
+ const helpers = {};
3
+ const getTheme = (key, fallback) => {
4
+ if (typeof window === "undefined") return void 0;
5
+ let theme;
6
+ try {
7
+ theme = localStorage.getItem(key) || void 0;
8
+ } catch (e) {}
9
+ return theme || fallback;
10
+ };
11
+ const getSystemTheme = e => {
12
+ if (!e) {
13
+ e = window.matchMedia(MEDIA);
14
+ }
15
+ const isDark = e.matches;
16
+ const systemTheme = isDark ? "dark" : "light";
17
+ return systemTheme;
18
+ };
12
19
  export { getSystemTheme, getTheme, helpers };
13
20
  //# sourceMappingURL=helpers.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["MEDIA","helpers","getTheme","key","fallback","window","theme","localStorage","getItem","getSystemTheme","e","matchMedia","matches"],"sources":["../../src/helpers.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,QAAa;AAEf,MAAMC,OAAA,GAAU,CAAC;EAGXC,QAAA,GAAWA,CAACC,GAAA,EAAaC,QAAA,KAA2B;IAC/D,IAAI,OAAOC,MAAA,GAAW,KAAa;IACnC,IAAIC,KAAA;IACJ,IAAI;MACFA,KAAA,GAAQC,YAAA,CAAaC,OAAA,CAAQL,GAAG,KAAK;IACvC,QAAY,CAEZ;IACA,OAAOG,KAAA,IAASF,QAAA;EAClB;EAEaK,cAAA,GAAkBC,CAAA,KACxBA,CAAA,KACHA,CAAA,GAAIL,MAAA,CAAOM,UAAA,CAAWX,KAAK,IAGdU,CAAA,CAAEE,OAAA,GACY,SAAS","ignoreList":[]}
1
+ {"version":3,"names":["MEDIA","helpers","getTheme","key","fallback","window","theme","localStorage","getItem","e","getSystemTheme","matchMedia","isDark","matches","systemTheme"],"sources":["../../src/helpers.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,QAAa;AAEf,MAAMC,OAAA,GAAU,CAAC;AAGjB,MAAMC,QAAA,GAAWA,CAACC,GAAA,EAAaC,QAAA,KAA2B;EAC/D,IAAI,OAAOC,MAAA,KAAW,aAAa,OAAO;EAC1C,IAAIC,KAAA;EACJ,IAAI;IACFA,KAAA,GAAQC,YAAA,CAAaC,OAAA,CAAQL,GAAG,KAAK;EACvC,SAASM,CAAA,EAAG,CAEZ;EACA,OAAOH,KAAA,IAASF,QAAA;AAClB;AAEO,MAAMM,cAAA,GAAkBD,CAAA,IAAyC;EACtE,IAAI,CAACA,CAAA,EAAG;IACNA,CAAA,GAAIJ,MAAA,CAAOM,UAAA,CAAWX,KAAK;EAC7B;EAEA,MAAMY,MAAA,GAASH,CAAA,CAAEI,OAAA;EACjB,MAAMC,WAAA,GAAcF,MAAA,GAAS,SAAS;EACtC,OAAOE,WAAA;AACT","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export * from "./NextTheme";
2
- export * from "./types";
1
+ export * from "./NextTheme.mjs";
2
+ export * from "./types.mjs";
3
3
  //# sourceMappingURL=index.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA,cAAc;AACd,cAAc;",
5
- "names": []
6
- }
1
+ {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { useContext } from "react";
2
2
  import { ThemeSettingContext } from "./ThemeSettingContext.mjs";
3
- const useTheme = () => useContext(ThemeSettingContext),
4
- useThemeSetting = () => useContext(ThemeSettingContext);
3
+ const useTheme = () => useContext(ThemeSettingContext);
4
+ const useThemeSetting = () => useContext(ThemeSettingContext);
5
5
  export { useTheme, useThemeSetting };
6
6
  //# sourceMappingURL=useTheme.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["useContext","ThemeSettingContext","useTheme","useThemeSetting"],"sources":["../../src/useTheme.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAE3B,SAASC,mBAAA,QAA2B;AAO7B,MAAMC,QAAA,GAAWA,CAAA,KAAqBF,UAAA,CAAWC,mBAAmB;EAE9DE,eAAA,GAAkBA,CAAA,KAAqBH,UAAA,CAAWC,mBAAmB","ignoreList":[]}
1
+ {"version":3,"names":["useContext","ThemeSettingContext","useTheme","useThemeSetting"],"sources":["../../src/useTheme.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAE3B,SAASC,mBAAA,QAA2B;AAO7B,MAAMC,QAAA,GAAWA,CAAA,KAAqBF,UAAA,CAAWC,mBAAmB;AAEpE,MAAME,eAAA,GAAkBA,CAAA,KAAqBH,UAAA,CAAWC,mBAAmB","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/next-theme",
3
- "version": "2.0.0-rc.4",
3
+ "version": "2.0.0-rc.40",
4
4
  "source": "src/index.ts",
5
5
  "files": [
6
6
  "src",
@@ -15,6 +15,7 @@
15
15
  "./package.json": "./package.json",
16
16
  ".": {
17
17
  "types": "./types/index.d.ts",
18
+ "browser": "./dist/esm/index.mjs",
18
19
  "module": "./dist/esm/index.mjs",
19
20
  "import": "./dist/esm/index.mjs",
20
21
  "require": "./dist/cjs/index.cjs",
@@ -31,11 +32,11 @@
31
32
  "clean:build": "tamagui-build clean:build"
32
33
  },
33
34
  "dependencies": {
34
- "@tamagui/constants": "2.0.0-rc.4",
35
- "@tamagui/use-event": "2.0.0-rc.4"
35
+ "@tamagui/constants": "2.0.0-rc.40",
36
+ "@tamagui/use-event": "2.0.0-rc.40"
36
37
  },
37
38
  "devDependencies": {
38
- "@tamagui/build": "2.0.0-rc.4",
39
+ "@tamagui/build": "2.0.0-rc.40",
39
40
  "next": "16.1.1",
40
41
  "react": ">=19"
41
42
  },
@@ -89,10 +89,10 @@ export const NextThemeProvider: React.FunctionComponent<ThemeProviderProps> = me
89
89
 
90
90
  const set = useEvent((newTheme) => {
91
91
  if (forcedTheme) {
92
- handleChangeTheme(newTheme, true, false)
93
- } else {
94
- handleChangeTheme(newTheme)
92
+ // when forcedTheme is active, block all updates to avoid desync
93
+ return
95
94
  }
95
+ handleChangeTheme(newTheme)
96
96
  setThemeState(newTheme)
97
97
  })
98
98
 
@@ -4,8 +4,8 @@
4
4
  "sources": [
5
5
  "src/NextTheme.tsx"
6
6
  ],
7
+ "version": 3,
7
8
  "sourcesContent": [
8
9
  "// https://raw.githubusercontent.com/pacocoursey/next-themes/master/index.tsx\n// forked temporarily\n\nexport * from './NextThemeProvider'\nexport * from './ThemeSettingContext'\nexport * from './UseThemeProps'\nexport * from './helpers'\nexport * from './constants'\nexport * from './useTheme'\nexport * from './types'\nexport * from './useRootTheme'\n"
9
- ],
10
- "version": 3
10
+ ]
11
11
  }