@tamagui/next-theme 2.7.7 → 3.0.0-beta.1091.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/cjs/NextTheme.cjs +9 -11
  2. package/dist/cjs/NextThemeProvider.cjs +181 -201
  3. package/dist/cjs/ThemeSettingContext.cjs +17 -21
  4. package/dist/cjs/UseThemeProps.cjs +9 -11
  5. package/dist/cjs/constants.cjs +16 -18
  6. package/dist/cjs/helpers.cjs +29 -31
  7. package/dist/cjs/index.cjs +9 -11
  8. package/dist/cjs/types.cjs +9 -11
  9. package/dist/cjs/useRootTheme.cjs +21 -27
  10. package/dist/cjs/useTheme.cjs +14 -20
  11. package/dist/esm/NextTheme.mjs +15 -9
  12. package/dist/esm/NextThemeProvider.mjs +166 -175
  13. package/dist/esm/NextThemeProvider.mjs.map +1 -1
  14. package/dist/esm/ThemeSettingContext.mjs +5 -3
  15. package/dist/esm/ThemeSettingContext.mjs.map +1 -1
  16. package/dist/esm/UseThemeProps.mjs +0 -2
  17. package/dist/esm/constants.mjs +1 -0
  18. package/dist/esm/constants.mjs.map +1 -1
  19. package/dist/esm/helpers.mjs +15 -13
  20. package/dist/esm/helpers.mjs.map +1 -1
  21. package/dist/esm/index.js +3 -3
  22. package/dist/esm/index.mjs +3 -3
  23. package/dist/esm/types.mjs +0 -2
  24. package/dist/esm/useRootTheme.mjs +9 -9
  25. package/dist/esm/useRootTheme.mjs.map +1 -1
  26. package/dist/esm/useTheme.mjs +3 -2
  27. package/dist/esm/useTheme.mjs.map +1 -1
  28. package/package.json +8 -7
  29. package/src/NextThemeProvider.tsx +0 -1
  30. package/src/UseThemeProps.tsx +0 -2
  31. package/src/useTheme.tsx +0 -6
  32. package/types/NextThemeProvider.d.ts.map +1 -1
  33. package/types/UseThemeProps.d.ts +0 -2
  34. package/types/UseThemeProps.d.ts.map +2 -2
  35. package/types/useTheme.d.ts +0 -4
  36. package/types/useTheme.d.ts.map +2 -2
  37. package/dist/esm/NextTheme.mjs.map +0 -1
  38. package/dist/esm/UseThemeProps.mjs.map +0 -1
  39. package/dist/esm/index.js.map +0 -1
  40. package/dist/esm/index.mjs.map +0 -1
  41. package/dist/esm/types.mjs.map +0 -1
@@ -3,19 +3,17 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
5
  var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from === "object" || typeof from === "function") {
7
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
8
- get: () => from[key],
9
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
10
- });
11
- }
12
- return to;
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
8
+ get: () => from[key],
9
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
10
+ });
11
+ }
12
+ return to;
13
13
  };
14
14
  var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
16
- value: true
17
- }), mod);
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
16
  var index_exports = {};
19
17
  module.exports = __toCommonJS(index_exports);
20
18
  __reExport(index_exports, require("./NextTheme.cjs"), module.exports);
21
- __reExport(index_exports, require("./types.cjs"), module.exports);
19
+ __reExport(index_exports, require("./types.cjs"), module.exports);
@@ -3,16 +3,14 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
5
  var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from === "object" || typeof from === "function") {
7
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
8
- get: () => from[key],
9
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
10
- });
11
- }
12
- return to;
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
8
+ get: () => from[key],
9
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
10
+ });
11
+ }
12
+ return to;
13
13
  };
14
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
15
- value: true
16
- }), mod);
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
17
15
  var types_exports = {};
18
- module.exports = __toCommonJS(types_exports);
16
+ module.exports = __toCommonJS(types_exports);
@@ -3,37 +3,31 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
5
  var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: true
9
- });
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
10
  };
11
11
  var __copyProps = (to, from, except, desc) => {
12
- 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;
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
19
  };
20
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
- value: true
22
- }), mod);
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
21
  var useRootTheme_exports = {};
24
- __export(useRootTheme_exports, {
25
- useRootTheme: () => useRootTheme
26
- });
22
+ __export(useRootTheme_exports, { useRootTheme: () => useRootTheme });
27
23
  module.exports = __toCommonJS(useRootTheme_exports);
28
24
  var import_react = require("react");
29
25
  var import_constants = require("@tamagui/constants");
30
- const useRootTheme = ({
31
- fallback = "light"
32
- } = {}) => {
33
- let initialVal = fallback;
34
- if (import_constants.isClient) {
35
- const classes = document.documentElement.classList;
36
- initialVal = classes.contains("t_dark") ? "dark" : classes.contains("t_light") ? "light" : fallback;
37
- }
38
- return (0, import_react.useState)(initialVal);
39
- };
26
+ const useRootTheme = ({ fallback = "light" } = {}) => {
27
+ let initialVal = fallback;
28
+ if (import_constants.isClient) {
29
+ const classes = document.documentElement.classList;
30
+ initialVal = classes.contains("t_dark") ? "dark" : classes.contains("t_light") ? "light" : fallback;
31
+ }
32
+ return (0, import_react.useState)(initialVal);
33
+ };
@@ -3,30 +3,24 @@ 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: true
9
- });
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
10
  };
11
11
  var __copyProps = (to, from, except, desc) => {
12
- 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;
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
19
  };
20
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
- value: true
22
- }), mod);
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
21
  var useTheme_exports = {};
24
- __export(useTheme_exports, {
25
- useTheme: () => useTheme,
26
- useThemeSetting: () => useThemeSetting
27
- });
22
+ __export(useTheme_exports, { useThemeSetting: () => useThemeSetting });
28
23
  module.exports = __toCommonJS(useTheme_exports);
29
24
  var import_react = require("react");
30
25
  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);
26
+ const useThemeSetting = () => (0, import_react.useContext)(import_ThemeSettingContext.ThemeSettingContext);
@@ -1,9 +1,15 @@
1
- export * from "./NextThemeProvider.mjs";
2
- export * from "./ThemeSettingContext.mjs";
3
- export * from "./UseThemeProps.mjs";
4
- export * from "./helpers.mjs";
5
- export * from "./constants.mjs";
6
- export * from "./useTheme.mjs";
7
- export * from "./types.mjs";
8
- export * from "./useRootTheme.mjs";
9
- //# sourceMappingURL=NextTheme.mjs.map
1
+ export * from "./NextThemeProvider.mjs"
2
+
3
+ export * from "./ThemeSettingContext.mjs"
4
+
5
+ export * from "./UseThemeProps.mjs"
6
+
7
+ export * from "./helpers.mjs"
8
+
9
+ export * from "./constants.mjs"
10
+
11
+ export * from "./useTheme.mjs"
12
+
13
+ export * from "./types.mjs"
14
+
15
+ export * from "./useRootTheme.mjs"
@@ -7,183 +7,174 @@ import { MEDIA, colorSchemes } from "./constants.mjs";
7
7
  import { getSystemTheme, getTheme } from "./helpers.mjs";
8
8
  import { ThemeSettingContext } from "./ThemeSettingContext.mjs";
9
9
  import { jsx, jsxs } from "react/jsx-runtime";
10
- const NextThemeProvider = memo(({
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
- ...{
130
- forcedTheme,
131
- storageKey,
132
- systemTheme: resolvedTheme,
133
- attribute,
134
- value,
135
- enableSystem,
136
- defaultTheme,
137
- attrs,
138
- skipNextHead
139
- }
140
- }), children]
141
- });
10
+
11
+ const NextThemeProvider = memo(({ forcedTheme, disableTransitionOnChange = false, enableSystem = true, enableColorScheme = true, storageKey = "theme", themes = colorSchemes, defaultTheme = enableSystem ? "system" : "light", attribute = "class", skipNextHead, onChangeTheme, value = {
12
+ dark: "t_dark",
13
+ light: "t_light"
14
+ }, children }) => {
15
+ const [theme, setThemeState] = useState(() => getTheme(storageKey, defaultTheme));
16
+ const [resolvedTheme, setResolvedTheme] = useState(() => getTheme(storageKey));
17
+ const attrs = !value ? themes : Object.values(value);
18
+ const handleMediaQuery = useEvent((e) => {
19
+ const _ = getSystemTheme(e);
20
+ const update = () => setResolvedTheme(_);
21
+ if (disableTransitionOnChange) {
22
+ update();
23
+ } else {
24
+ React.startTransition(() => update());
25
+ }
26
+ if (theme === "system" && !forcedTheme) {
27
+ handleChangeTheme(_, false);
28
+ }
29
+ });
30
+ const handleChangeTheme = useEvent((theme2, updateStorage = true, updateDOM = true) => {
31
+ let name = value?.[theme2] || theme2;
32
+ if (updateStorage) {
33
+ try {
34
+ localStorage.setItem(storageKey, theme2);
35
+ } catch (e) {}
36
+ }
37
+ if (theme2 === "system" && enableSystem) {
38
+ const resolved = getSystemTheme();
39
+ name = value?.[resolved] || resolved;
40
+ }
41
+ onChangeTheme?.(name.replace("t_", ""));
42
+ if (updateDOM) {
43
+ const d = document.documentElement;
44
+ if (attribute === "class") {
45
+ d.classList.remove(...attrs);
46
+ d.classList.add(name);
47
+ } else {
48
+ d.setAttribute(attribute, name);
49
+ }
50
+ }
51
+ });
52
+ useIsomorphicLayoutEffect(() => {
53
+ const media = window.matchMedia(MEDIA);
54
+ media.addListener(handleMediaQuery);
55
+ handleMediaQuery(media);
56
+ return () => {
57
+ media.removeListener(handleMediaQuery);
58
+ };
59
+ }, []);
60
+ const set = useEvent((newTheme) => {
61
+ if (forcedTheme) {
62
+ return;
63
+ }
64
+ handleChangeTheme(newTheme);
65
+ setThemeState(newTheme);
66
+ });
67
+ useEffect(() => {
68
+ const handleStorage = (e) => {
69
+ if (e.key !== storageKey) {
70
+ return;
71
+ }
72
+ const theme2 = e.newValue || defaultTheme;
73
+ set(theme2);
74
+ };
75
+ window.addEventListener("storage", handleStorage);
76
+ return () => {
77
+ window.removeEventListener("storage", handleStorage);
78
+ };
79
+ }, [
80
+ defaultTheme,
81
+ set,
82
+ storageKey
83
+ ]);
84
+ useIsomorphicLayoutEffect(() => {
85
+ if (!enableColorScheme) return;
86
+ const colorScheme = forcedTheme && colorSchemes.includes(forcedTheme) ? forcedTheme : theme && colorSchemes.includes(theme) ? theme : theme === "system" ? resolvedTheme || null : null;
87
+ const userPrefers = typeof window !== "undefined" && window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
88
+ const wePrefer = colorScheme || "light";
89
+ if (userPrefers !== wePrefer) {
90
+ document.documentElement.style.setProperty("color-scheme", colorScheme);
91
+ }
92
+ }, [
93
+ enableColorScheme,
94
+ theme,
95
+ resolvedTheme,
96
+ forcedTheme
97
+ ]);
98
+ const toggle = useEvent(() => {
99
+ const order = resolvedTheme === "dark" ? [
100
+ "system",
101
+ "light",
102
+ "dark"
103
+ ] : [
104
+ "system",
105
+ "dark",
106
+ "light"
107
+ ];
108
+ const next = order[(order.indexOf(theme) + 1) % order.length];
109
+ set(next);
110
+ });
111
+ const systemTheme = enableSystem ? resolvedTheme : void 0;
112
+ const contextValue = useMemo(() => {
113
+ const value2 = {
114
+ current: theme,
115
+ set,
116
+ toggle,
117
+ forcedTheme,
118
+ resolvedTheme: theme === "system" ? resolvedTheme : theme,
119
+ themes: enableSystem ? [...themes, "system"] : themes,
120
+ systemTheme
121
+ };
122
+ return value2;
123
+ }, [
124
+ theme,
125
+ set,
126
+ toggle,
127
+ forcedTheme,
128
+ resolvedTheme,
129
+ enableSystem,
130
+ themes,
131
+ systemTheme
132
+ ]);
133
+ return /* @__PURE__ */ jsxs(ThemeSettingContext.Provider, {
134
+ value: contextValue,
135
+ children: [/* @__PURE__ */ jsx(ThemeScript, { ...{
136
+ forcedTheme,
137
+ storageKey,
138
+ systemTheme: resolvedTheme,
139
+ attribute,
140
+ value,
141
+ enableSystem,
142
+ defaultTheme,
143
+ attrs,
144
+ skipNextHead
145
+ } }), children]
146
+ });
142
147
  });
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", {
172
- dangerouslySetInnerHTML: {
173
- __html: scriptContent
174
- }
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
- });
148
+ const ThemeScript = memo(({ forcedTheme, storageKey, attribute, enableSystem, defaultTheme, value, attrs, skipNextHead }) => {
149
+ const optimization = (() => {
150
+ if (attribute === "class") {
151
+ const removeClasses = attrs.map((t) => `d.remove('${t}')`).join(";");
152
+ return `var d=document.documentElement.classList;${removeClasses};`;
153
+ }
154
+ return `var d=document.documentElement;`;
155
+ })();
156
+ const updateDOM = (name, literal) => {
157
+ name = value?.[name] || name;
158
+ const val = literal ? name : `'${name}'`;
159
+ if (attribute === "class") {
160
+ return `d.add(${val})`;
161
+ }
162
+ return `d.setAttribute('${attribute}', ${val})`;
163
+ };
164
+ const defaultSystem = defaultTheme === "system";
165
+ 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){}}();`;
166
+ if (skipNextHead) {
167
+ return /* @__PURE__ */ jsx("script", { dangerouslySetInnerHTML: { __html: scriptContent } }, "next-themes-script");
168
+ }
169
+ return /* @__PURE__ */ jsx(Script, {
170
+ id: "next-themes-script",
171
+ strategy: "beforeInteractive",
172
+ dangerouslySetInnerHTML: { __html: scriptContent }
173
+ });
184
174
  }, (prevProps, nextProps) => {
185
- if (prevProps.forcedTheme !== nextProps.forcedTheme) return false;
186
- return true;
175
+ if (prevProps.forcedTheme !== nextProps.forcedTheme) return false;
176
+ return true;
187
177
  });
178
+
188
179
  export { NextThemeProvider };
189
180
  //# 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","updateStorage","updateDOM","name","theme2","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","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
+ {"version":3,"file":"NextThemeProvider.js","names":[],"sources":["esm/NextThemeProvider.js"],"sourcesContent":["import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { useEvent } from \"@tamagui/use-event\";\nimport Script from \"next/script\";\nimport * as React from \"react\";\nimport { memo, useEffect, useMemo, useState } from \"react\";\nimport { MEDIA, colorSchemes } from \"./constants\";\nimport { getSystemTheme, getTheme } from \"./helpers\";\nimport { ThemeSettingContext } from \"./ThemeSettingContext\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nconst NextThemeProvider = memo(\n ({\n forcedTheme,\n disableTransitionOnChange = false,\n enableSystem = true,\n enableColorScheme = true,\n storageKey = \"theme\",\n themes = colorSchemes,\n defaultTheme = enableSystem ? \"system\" : \"light\",\n attribute = \"class\",\n skipNextHead,\n onChangeTheme,\n value = {\n dark: \"t_dark\",\n light: \"t_light\"\n },\n children\n }) => {\n const [theme, setThemeState] = useState(() => getTheme(storageKey, defaultTheme));\n const [resolvedTheme, setResolvedTheme] = useState(() => getTheme(storageKey));\n const attrs = !value ? themes : Object.values(value);\n const handleMediaQuery = useEvent((e) => {\n const _ = getSystemTheme(e);\n const update = () => setResolvedTheme(_);\n if (disableTransitionOnChange) {\n update();\n } else {\n React.startTransition(() => update());\n }\n if (theme === \"system\" && !forcedTheme) {\n handleChangeTheme(_, false);\n }\n });\n const handleChangeTheme = useEvent(\n (theme2, updateStorage = true, updateDOM = true) => {\n let name = value?.[theme2] || theme2;\n if (updateStorage) {\n try {\n localStorage.setItem(storageKey, theme2);\n } catch (e) {\n }\n }\n if (theme2 === \"system\" && enableSystem) {\n const resolved = getSystemTheme();\n name = value?.[resolved] || resolved;\n }\n onChangeTheme?.(name.replace(\"t_\", \"\"));\n if (updateDOM) {\n const d = document.documentElement;\n if (attribute === \"class\") {\n d.classList.remove(...attrs);\n d.classList.add(name);\n } else {\n d.setAttribute(attribute, name);\n }\n }\n }\n );\n useIsomorphicLayoutEffect(() => {\n const media = window.matchMedia(MEDIA);\n media.addListener(handleMediaQuery);\n handleMediaQuery(media);\n return () => {\n media.removeListener(handleMediaQuery);\n };\n }, []);\n const set = useEvent((newTheme) => {\n if (forcedTheme) {\n return;\n }\n handleChangeTheme(newTheme);\n setThemeState(newTheme);\n });\n useEffect(() => {\n const handleStorage = (e) => {\n if (e.key !== storageKey) {\n return;\n }\n const theme2 = e.newValue || defaultTheme;\n set(theme2);\n };\n window.addEventListener(\"storage\", handleStorage);\n return () => {\n window.removeEventListener(\"storage\", handleStorage);\n };\n }, [defaultTheme, set, storageKey]);\n useIsomorphicLayoutEffect(() => {\n if (!enableColorScheme) return;\n const colorScheme = (\n // If theme is forced to light or dark, use that\n forcedTheme && colorSchemes.includes(forcedTheme) ? forcedTheme : (\n // If regular theme is light or dark\n theme && colorSchemes.includes(theme) ? theme : (\n // If theme is system, use the resolved version\n theme === \"system\" ? resolvedTheme || null : null\n )\n )\n );\n const userPrefers = typeof window !== \"undefined\" && window.matchMedia && window.matchMedia(\"(prefers-color-scheme: dark)\").matches ? \"dark\" : \"light\";\n const wePrefer = colorScheme || \"light\";\n if (userPrefers !== wePrefer) {\n document.documentElement.style.setProperty(\"color-scheme\", colorScheme);\n }\n }, [enableColorScheme, theme, resolvedTheme, forcedTheme]);\n const toggle = useEvent(() => {\n const order = resolvedTheme === \"dark\" ? [\"system\", \"light\", \"dark\"] : [\"system\", \"dark\", \"light\"];\n const next = order[(order.indexOf(theme) + 1) % order.length];\n set(next);\n });\n const systemTheme = enableSystem ? resolvedTheme : void 0;\n const contextValue = useMemo(() => {\n const value2 = {\n current: theme,\n set,\n toggle,\n forcedTheme,\n resolvedTheme: theme === \"system\" ? resolvedTheme : theme,\n themes: enableSystem ? [...themes, \"system\"] : themes,\n systemTheme\n };\n return value2;\n }, [\n theme,\n set,\n toggle,\n forcedTheme,\n resolvedTheme,\n enableSystem,\n themes,\n systemTheme\n ]);\n return /* @__PURE__ */ jsxs(ThemeSettingContext.Provider, { value: contextValue, children: [\n /* @__PURE__ */ jsx(\n ThemeScript,\n {\n ...{\n forcedTheme,\n storageKey,\n systemTheme: resolvedTheme,\n attribute,\n value,\n enableSystem,\n defaultTheme,\n attrs,\n skipNextHead\n }\n }\n ),\n children\n ] });\n }\n);\nconst ThemeScript = memo(\n ({\n forcedTheme,\n storageKey,\n attribute,\n enableSystem,\n defaultTheme,\n value,\n attrs,\n skipNextHead\n }) => {\n const optimization = (() => {\n if (attribute === \"class\") {\n const removeClasses = attrs.map((t) => `d.remove('${t}')`).join(\";\");\n return `var d=document.documentElement.classList;${removeClasses};`;\n }\n return `var d=document.documentElement;`;\n })();\n const updateDOM = (name, literal) => {\n name = value?.[name] || name;\n const val = literal ? name : `'${name}'`;\n if (attribute === \"class\") {\n return `d.add(${val})`;\n }\n return `d.setAttribute('${attribute}', ${val})`;\n };\n const defaultSystem = defaultTheme === \"system\";\n 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(\n \"dark\"\n )}:${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(\n defaultTheme\n )};}}catch(t){}}();`;\n if (skipNextHead) {\n return /* @__PURE__ */ jsx(\n \"script\",\n {\n dangerouslySetInnerHTML: { __html: scriptContent }\n },\n \"next-themes-script\"\n );\n }\n return /* @__PURE__ */ jsx(\n Script,\n {\n id: \"next-themes-script\",\n strategy: \"beforeInteractive\",\n dangerouslySetInnerHTML: { __html: scriptContent }\n }\n );\n },\n (prevProps, nextProps) => {\n if (prevProps.forcedTheme !== nextProps.forcedTheme) return false;\n return true;\n }\n);\nexport {\n NextThemeProvider\n};\n//# sourceMappingURL=NextThemeProvider.js.map\n"],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  import { createContext } from "react";
2
+
2
3
  const ThemeSettingContext = createContext({
3
- toggle: () => {},
4
- set: _ => {},
5
- themes: []
4
+ toggle: () => {},
5
+ set: (_) => {},
6
+ themes: []
6
7
  });
8
+
7
9
  export { ThemeSettingContext };
8
10
  //# sourceMappingURL=ThemeSettingContext.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","ThemeSettingContext","toggle","set","_","themes"],"sources":["../../src/ThemeSettingContext.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,aAAA,QAAmC;AAIrC,MAAMC,mBAAA,GAA8CD,aAAA,CAA6B;EACtFE,MAAA,EAAQA,CAAA,KAAM,CAAC;EACfC,GAAA,EAAMC,CAAA,IAAM,CAAC;EACbC,MAAA,EAAQ;AACV,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"ThemeSettingContext.js","names":[],"sources":["esm/ThemeSettingContext.js"],"sourcesContent":["import { createContext } from \"react\";\nconst ThemeSettingContext = createContext({\n toggle: () => {\n },\n set: (_) => {\n },\n themes: []\n});\nexport {\n ThemeSettingContext\n};\n//# sourceMappingURL=ThemeSettingContext.js.map\n"],"mappings":";;;AACA,MAAM,sBAAsB,cAAc;CACxC,cAAc,CACd;CACA,MAAM,MAAM,CACZ;CACA,QAAQ,CAAC;AACX,CAAC"}
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=UseThemeProps.mjs.map
@@ -1,5 +1,6 @@
1
1
  const constants = {};
2
2
  const colorSchemes = ["light", "dark"];
3
3
  const MEDIA = "(prefers-color-scheme: dark)";
4
+
4
5
  export { MEDIA, colorSchemes, constants };
5
6
  //# 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;AACnB,MAAMC,YAAA,GAAe,CAAC,SAAS,MAAM;AACrC,MAAMC,KAAA,GAAQ","ignoreList":[]}
1
+ {"version":3,"file":"constants.js","names":[],"sources":["esm/constants.js"],"sourcesContent":["const constants = {};\nconst colorSchemes = [\"light\", \"dark\"];\nconst MEDIA = \"(prefers-color-scheme: dark)\";\nexport {\n MEDIA,\n colorSchemes,\n constants\n};\n//# sourceMappingURL=constants.js.map\n"],"mappings":";AAAA,MAAM,YAAY,CAAC;AACnB,MAAM,eAAe,CAAC,SAAS,MAAM;AACrC,MAAM,QAAQ"}