@tamagui/next-theme 1.113.0 → 1.113.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/NextTheme.native.js +9 -9
- package/dist/esm/NextTheme.native.js.map +6 -1
- package/dist/esm/NextThemeProvider.native.js +175 -165
- package/dist/esm/NextThemeProvider.native.js.map +6 -1
- package/dist/esm/ThemeSettingContext.native.js +9 -5
- package/dist/esm/ThemeSettingContext.native.js.map +6 -1
- package/dist/esm/UseThemeProps.native.js +1 -2
- package/dist/esm/UseThemeProps.native.js.map +6 -1
- package/dist/esm/constants.native.js +10 -5
- package/dist/esm/constants.native.js.map +6 -1
- package/dist/esm/helpers.native.js +20 -18
- package/dist/esm/helpers.native.js.map +6 -1
- package/dist/esm/index.native.js +3 -3
- package/dist/esm/index.native.js.map +6 -1
- package/dist/esm/types.native.js +1 -2
- package/dist/esm/types.native.js.map +6 -1
- package/dist/esm/useRootTheme.native.js +9 -8
- package/dist/esm/useRootTheme.native.js.map +6 -1
- package/dist/esm/useTheme.native.js +11 -9
- package/dist/esm/useTheme.native.js.map +6 -1
- package/package.json +4 -4
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export * from "./NextThemeProvider
|
|
2
|
-
export * from "./ThemeSettingContext
|
|
3
|
-
export * from "./UseThemeProps
|
|
4
|
-
export * from "./helpers
|
|
5
|
-
export * from "./constants
|
|
6
|
-
export * from "./useTheme
|
|
7
|
-
export * from "./types
|
|
8
|
-
export * from "./useRootTheme
|
|
9
|
-
//# sourceMappingURL=NextTheme.
|
|
1
|
+
export * from "./NextThemeProvider";
|
|
2
|
+
export * from "./ThemeSettingContext";
|
|
3
|
+
export * from "./UseThemeProps";
|
|
4
|
+
export * from "./helpers";
|
|
5
|
+
export * from "./constants";
|
|
6
|
+
export * from "./useTheme";
|
|
7
|
+
export * from "./types";
|
|
8
|
+
export * from "./useRootTheme";
|
|
9
|
+
//# sourceMappingURL=NextTheme.js.map
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/code/packages/next-theme/src/NextTheme.tsx"],
|
|
4
|
+
"mappings": "AAGA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -4,114 +4,123 @@ import { useEvent } from "@tamagui/use-event";
|
|
|
4
4
|
import NextHead from "next/head";
|
|
5
5
|
import * as React from "react";
|
|
6
6
|
import { memo, useEffect, useMemo, useState } from "react";
|
|
7
|
-
import { MEDIA, colorSchemes } from "./constants
|
|
8
|
-
import { getSystemTheme, getTheme } from "./helpers
|
|
9
|
-
import { ThemeSettingContext } from "./ThemeSettingContext
|
|
10
|
-
var NextThemeProvider = /* @__PURE__ */memo(function
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
[resolvedTheme, setResolvedTheme] = useState(function () {
|
|
32
|
-
return getTheme(storageKey);
|
|
33
|
-
}),
|
|
34
|
-
attrs = value ? Object.values(value) : themes,
|
|
35
|
-
handleMediaQuery = useEvent(function (e) {
|
|
36
|
-
var _ = getSystemTheme(e),
|
|
37
|
-
update = function () {
|
|
38
|
-
return setResolvedTheme(_);
|
|
39
|
-
};
|
|
40
|
-
disableTransitionOnChange ? update() : React.startTransition(function () {
|
|
41
|
-
return update();
|
|
42
|
-
}), theme === "system" && !forcedTheme && handleChangeTheme(_, !1);
|
|
43
|
-
}),
|
|
44
|
-
handleChangeTheme = useEvent(function (theme2) {
|
|
45
|
-
var updateStorage = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0,
|
|
46
|
-
updateDOM = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0,
|
|
47
|
-
name = value?.[theme2] || theme2;
|
|
48
|
-
if (updateStorage) try {
|
|
49
|
-
localStorage.setItem(storageKey, theme2);
|
|
50
|
-
} catch {}
|
|
51
|
-
if (theme2 === "system" && enableSystem) {
|
|
52
|
-
var resolved = getSystemTheme();
|
|
53
|
-
name = value?.[resolved] || resolved;
|
|
54
|
-
}
|
|
55
|
-
if (onChangeTheme?.(name.replace("t_", "")), updateDOM) {
|
|
56
|
-
var d = document.documentElement;
|
|
57
|
-
attribute === "class" ? (d.classList.remove(...attrs), d.classList.add(name)) : d.setAttribute(attribute, name);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
useIsomorphicLayoutEffect(function () {
|
|
61
|
-
var media = window.matchMedia(MEDIA);
|
|
62
|
-
return media.addListener(handleMediaQuery), handleMediaQuery(media), function () {
|
|
63
|
-
media.removeListener(handleMediaQuery);
|
|
64
|
-
};
|
|
65
|
-
}, []);
|
|
66
|
-
var set = useEvent(function (newTheme) {
|
|
67
|
-
forcedTheme ? handleChangeTheme(newTheme, !0, !1) : handleChangeTheme(newTheme), setThemeState(newTheme);
|
|
68
|
-
});
|
|
69
|
-
useEffect(function () {
|
|
70
|
-
var handleStorage = function (e) {
|
|
71
|
-
if (e.key === storageKey) {
|
|
72
|
-
var theme2 = e.newValue || defaultTheme;
|
|
73
|
-
set(theme2);
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
return window.addEventListener("storage", handleStorage), function () {
|
|
77
|
-
window.removeEventListener("storage", handleStorage);
|
|
78
|
-
};
|
|
79
|
-
}, [defaultTheme, set, storageKey]), useIsomorphicLayoutEffect(function () {
|
|
80
|
-
if (enableColorScheme) {
|
|
81
|
-
var colorScheme =
|
|
82
|
-
// If theme is forced to light or dark, use that
|
|
83
|
-
forcedTheme && colorSchemes.includes(forcedTheme) ? forcedTheme :
|
|
84
|
-
// If regular theme is light or dark
|
|
85
|
-
theme && colorSchemes.includes(theme) ? theme :
|
|
86
|
-
// If theme is system, use the resolved version
|
|
87
|
-
theme === "system" && resolvedTheme || null,
|
|
88
|
-
userPrefers = typeof window < "u" && window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light",
|
|
89
|
-
wePrefer = colorScheme || "light";
|
|
90
|
-
userPrefers !== wePrefer && document.documentElement.style.setProperty("color-scheme", colorScheme);
|
|
7
|
+
import { MEDIA, colorSchemes } from "./constants";
|
|
8
|
+
import { getSystemTheme, getTheme } from "./helpers";
|
|
9
|
+
import { ThemeSettingContext } from "./ThemeSettingContext";
|
|
10
|
+
var NextThemeProvider = /* @__PURE__ */ memo(function(param) {
|
|
11
|
+
var { forcedTheme, disableTransitionOnChange = !1, enableSystem = !0, enableColorScheme = !0, storageKey = "theme", themes = colorSchemes, defaultTheme = enableSystem ? "system" : "light", attribute = "class", skipNextHead, onChangeTheme, value = {
|
|
12
|
+
dark: "t_dark",
|
|
13
|
+
light: "t_light"
|
|
14
|
+
}, children } = param, [theme, setThemeState] = useState(function() {
|
|
15
|
+
return getTheme(storageKey, defaultTheme);
|
|
16
|
+
}), [resolvedTheme, setResolvedTheme] = useState(function() {
|
|
17
|
+
return getTheme(storageKey);
|
|
18
|
+
}), attrs = value ? Object.values(value) : themes, handleMediaQuery = useEvent(function(e) {
|
|
19
|
+
var _ = getSystemTheme(e), update = function() {
|
|
20
|
+
return setResolvedTheme(_);
|
|
21
|
+
};
|
|
22
|
+
disableTransitionOnChange ? update() : React.startTransition(function() {
|
|
23
|
+
return update();
|
|
24
|
+
}), theme === "system" && !forcedTheme && handleChangeTheme(_, !1);
|
|
25
|
+
}), handleChangeTheme = useEvent(function(theme2) {
|
|
26
|
+
var updateStorage = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, updateDOM = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0, name = value?.[theme2] || theme2;
|
|
27
|
+
if (updateStorage)
|
|
28
|
+
try {
|
|
29
|
+
localStorage.setItem(storageKey, theme2);
|
|
30
|
+
} catch {
|
|
91
31
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
32
|
+
if (theme2 === "system" && enableSystem) {
|
|
33
|
+
var resolved = getSystemTheme();
|
|
34
|
+
name = value?.[resolved] || resolved;
|
|
35
|
+
}
|
|
36
|
+
if (onChangeTheme?.(name.replace("t_", "")), updateDOM) {
|
|
37
|
+
var d = document.documentElement;
|
|
38
|
+
attribute === "class" ? (d.classList.remove(...attrs), d.classList.add(name)) : d.setAttribute(attribute, name);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
useIsomorphicLayoutEffect(function() {
|
|
42
|
+
var media = window.matchMedia(MEDIA);
|
|
43
|
+
return media.addListener(handleMediaQuery), handleMediaQuery(media), function() {
|
|
44
|
+
media.removeListener(handleMediaQuery);
|
|
45
|
+
};
|
|
46
|
+
}, []);
|
|
47
|
+
var set = useEvent(function(newTheme) {
|
|
48
|
+
forcedTheme ? handleChangeTheme(newTheme, !0, !1) : handleChangeTheme(newTheme), setThemeState(newTheme);
|
|
49
|
+
});
|
|
50
|
+
useEffect(function() {
|
|
51
|
+
var handleStorage = function(e) {
|
|
52
|
+
if (e.key === storageKey) {
|
|
53
|
+
var theme2 = e.newValue || defaultTheme;
|
|
54
|
+
set(theme2);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
return window.addEventListener("storage", handleStorage), function() {
|
|
58
|
+
window.removeEventListener("storage", handleStorage);
|
|
59
|
+
};
|
|
60
|
+
}, [
|
|
61
|
+
defaultTheme,
|
|
62
|
+
set,
|
|
63
|
+
storageKey
|
|
64
|
+
]), useIsomorphicLayoutEffect(function() {
|
|
65
|
+
if (enableColorScheme) {
|
|
66
|
+
var colorScheme = (
|
|
67
|
+
// If theme is forced to light or dark, use that
|
|
68
|
+
forcedTheme && colorSchemes.includes(forcedTheme) ? forcedTheme : (
|
|
69
|
+
// If regular theme is light or dark
|
|
70
|
+
theme && colorSchemes.includes(theme) ? theme : (
|
|
71
|
+
// If theme is system, use the resolved version
|
|
72
|
+
theme === "system" && resolvedTheme || null
|
|
73
|
+
)
|
|
74
|
+
)
|
|
75
|
+
), userPrefers = typeof window < "u" && window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light", wePrefer = colorScheme || "light";
|
|
76
|
+
userPrefers !== wePrefer && document.documentElement.style.setProperty("color-scheme", colorScheme);
|
|
77
|
+
}
|
|
78
|
+
}, [
|
|
79
|
+
enableColorScheme,
|
|
80
|
+
theme,
|
|
81
|
+
resolvedTheme,
|
|
82
|
+
forcedTheme
|
|
83
|
+
]);
|
|
84
|
+
var toggle = useEvent(function() {
|
|
85
|
+
var order = resolvedTheme === "dark" ? [
|
|
86
|
+
"system",
|
|
87
|
+
"light",
|
|
88
|
+
"dark"
|
|
89
|
+
] : [
|
|
90
|
+
"system",
|
|
91
|
+
"dark",
|
|
92
|
+
"light"
|
|
93
|
+
], next = order[(order.indexOf(theme) + 1) % order.length];
|
|
94
|
+
set(next);
|
|
95
|
+
}), systemTheme = enableSystem ? resolvedTheme : void 0, contextValue = useMemo(function() {
|
|
96
|
+
var value2 = {
|
|
97
|
+
theme,
|
|
98
|
+
current: theme,
|
|
99
|
+
set,
|
|
100
|
+
toggle,
|
|
101
|
+
forcedTheme,
|
|
102
|
+
resolvedTheme: theme === "system" ? resolvedTheme : theme,
|
|
103
|
+
themes: enableSystem ? [
|
|
104
|
+
...themes,
|
|
105
|
+
"system"
|
|
106
|
+
] : themes,
|
|
107
|
+
systemTheme
|
|
108
|
+
};
|
|
109
|
+
return value2;
|
|
110
|
+
}, [
|
|
111
|
+
theme,
|
|
112
|
+
set,
|
|
113
|
+
toggle,
|
|
114
|
+
forcedTheme,
|
|
115
|
+
resolvedTheme,
|
|
116
|
+
enableSystem,
|
|
117
|
+
themes,
|
|
118
|
+
systemTheme
|
|
119
|
+
]);
|
|
120
|
+
return /* @__PURE__ */ _jsxs(ThemeSettingContext.Provider, {
|
|
121
|
+
value: contextValue,
|
|
122
|
+
children: [
|
|
123
|
+
/* @__PURE__ */ _jsx(ThemeScript, {
|
|
115
124
|
forcedTheme,
|
|
116
125
|
storageKey,
|
|
117
126
|
systemTheme: resolvedTheme,
|
|
@@ -121,65 +130,66 @@ var NextThemeProvider = /* @__PURE__ */memo(function (param) {
|
|
|
121
130
|
defaultTheme,
|
|
122
131
|
attrs,
|
|
123
132
|
skipNextHead
|
|
124
|
-
}),
|
|
125
|
-
|
|
133
|
+
}),
|
|
134
|
+
/* because on SSR we re-run and can avoid whole tree re-render */
|
|
135
|
+
useMemo(function() {
|
|
126
136
|
return children;
|
|
127
|
-
}, [
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
137
|
+
}, [
|
|
138
|
+
children
|
|
139
|
+
])
|
|
140
|
+
]
|
|
141
|
+
});
|
|
142
|
+
}), ThemeScript = /* @__PURE__ */ memo(function(param) {
|
|
143
|
+
var { forcedTheme, storageKey, attribute, enableSystem, defaultTheme, value, attrs, skipNextHead } = param, optimization = function() {
|
|
144
|
+
if (attribute === "class") {
|
|
145
|
+
var removeClasses = attrs.map(function(t) {
|
|
146
|
+
return `d.remove('${t}')`;
|
|
147
|
+
}).join(";");
|
|
148
|
+
return `var d=document.documentElement.classList;${removeClasses};`;
|
|
149
|
+
}
|
|
150
|
+
return "var d=document.documentElement;";
|
|
151
|
+
}(), updateDOM = function(name, literal) {
|
|
152
|
+
name = value?.[name] || name;
|
|
153
|
+
var val = literal ? name : `'${name}'`;
|
|
154
|
+
return attribute === "class" ? `d.add(${val})` : `d.setAttribute('${attribute}', ${val})`;
|
|
155
|
+
}, defaultSystem = defaultTheme === "system", contents = /* @__PURE__ */ _jsx(_Fragment, {
|
|
156
|
+
children: forcedTheme ? /* @__PURE__ */ _jsx(
|
|
157
|
+
"script",
|
|
158
|
+
{
|
|
159
|
+
dangerouslySetInnerHTML: {
|
|
160
|
+
// These are minified via Terser and then updated by hand, don't recommend
|
|
161
|
+
__html: `!function(){${optimization}${updateDOM(forcedTheme)}}()`
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
// nonce={nonce}
|
|
165
|
+
"next-themes-script"
|
|
166
|
+
) : enableSystem ? /* @__PURE__ */ _jsx(
|
|
167
|
+
"script",
|
|
168
|
+
{
|
|
169
|
+
dangerouslySetInnerHTML: {
|
|
170
|
+
__html: `!function(){try {${optimization}var e=localStorage.getItem('${storageKey}');${defaultSystem ? "" : updateDOM(defaultTheme) + ";"}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)}}catch(e){}}()`
|
|
147
171
|
}
|
|
148
|
-
return "var d=document.documentElement;";
|
|
149
|
-
}(),
|
|
150
|
-
updateDOM = function (name, literal) {
|
|
151
|
-
name = value?.[name] || name;
|
|
152
|
-
var val = literal ? name : `'${name}'`;
|
|
153
|
-
return attribute === "class" ? `d.add(${val})` : `d.setAttribute('${attribute}', ${val})`;
|
|
154
172
|
},
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
"next-themes-script") : /* @__PURE__ */_jsx("script", {
|
|
171
|
-
dangerouslySetInnerHTML: {
|
|
172
|
-
__html: `!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){}}();`
|
|
173
|
-
}
|
|
174
|
-
},
|
|
175
|
-
// nonce={nonce}
|
|
176
|
-
"next-themes-script")
|
|
177
|
-
});
|
|
178
|
-
return skipNextHead ? contents : /* @__PURE__ */_jsx(NextHead, {
|
|
179
|
-
children: contents
|
|
180
|
-
});
|
|
181
|
-
}, function (prevProps, nextProps) {
|
|
182
|
-
return prevProps.forcedTheme === nextProps.forcedTheme;
|
|
173
|
+
// nonce={nonce}
|
|
174
|
+
"next-themes-script"
|
|
175
|
+
) : /* @__PURE__ */ _jsx(
|
|
176
|
+
"script",
|
|
177
|
+
{
|
|
178
|
+
dangerouslySetInnerHTML: {
|
|
179
|
+
__html: `!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){}}();`
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
// nonce={nonce}
|
|
183
|
+
"next-themes-script"
|
|
184
|
+
)
|
|
185
|
+
});
|
|
186
|
+
return skipNextHead ? contents : /* @__PURE__ */ _jsx(NextHead, {
|
|
187
|
+
children: contents
|
|
183
188
|
});
|
|
184
|
-
|
|
185
|
-
|
|
189
|
+
}, function(prevProps, nextProps) {
|
|
190
|
+
return prevProps.forcedTheme === nextProps.forcedTheme;
|
|
191
|
+
});
|
|
192
|
+
export {
|
|
193
|
+
NextThemeProvider
|
|
194
|
+
};
|
|
195
|
+
//# sourceMappingURL=NextThemeProvider.js.map
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/code/packages/next-theme/src/NextThemeProvider.tsx"],
|
|
4
|
+
"mappings": ";AAAA,SAASA,iCAAiC;AAC1C,SAASC,gBAAgB;AACzB,OAAOC,cAAc;AACrB,YAAYC,WAAW;AACvB,SAASC,MAAMC,WAAWC,SAASC,gBAAgB;AAEnD,SAASC,OAAOC,oBAAoB;AACpC,SAASC,gBAAgBC,gBAAgB;AACzC,SAASC,2BAA2B;AAI7B,IAAMC,oBAAoBT,qBAC/B,SAAA,OAAA;MAAC,EACCU,aACAC,4BAA4B,IAC5BC,eAAe,IACfC,oBAAoB,IACpBC,aAAa,SACbC,SAASV,cACTW,eAAeJ,eAAe,WAAW,SACzCK,YAAY,SACZC,cACAC,eACAC,QAAQ;IACNC,MAAM;IACNC,OAAO;EACT,GACAC,SAAQ,IACW,OACb,CAACC,OAAOC,aAAAA,IAAiBtB,SAAS,WAAA;WAAMI,SAASO,YAAYE,YAAAA;MAC7D,CAACU,eAAeC,gBAAAA,IAAoBxB,SAAS,WAAA;WAAMI,SAASO,UAAAA;MAC5Dc,QAASR,QAAiBS,OAAOC,OAAOV,KAAAA,IAAvBL,QAEjBgB,mBAAmBlC,SAAS,SAACmC,GAAAA;AACjC,QAAMC,IAAI3B,eAAe0B,CAAAA,GACnBE,SAAS,WAAA;aAAMP,iBAAiBM,CAAAA;;AACtC,IAAItB,4BACFuB,OAAAA,IAEAnC,MAAMoC,gBAAgB,WAAA;aAAMD,OAAAA;QAE1BV,UAAU,YAAY,CAACd,eACzB0B,kBAAkBH,GAAG,EAAA;EAEzB,CAAA,GAEMG,oBAAoBvC,SACxB,SAAC2B,QAAAA;QAAOa,gBAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAAgB,IAAMC,YAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAAY,IACpCC,OAAOnB,QAAQI,MAAAA,KAAUA;AAE7B,QAAIa;AACF,UAAI;AACFG,qBAAaC,QAAQ3B,YAAYU,MAAAA;MACnC,QAAY;MAEZ;AAGF,QAAIA,WAAU,YAAYZ,cAAc;AACtC,UAAM8B,WAAWpC,eAAAA;AACjBiC,aAAOnB,QAAQsB,QAAAA,KAAaA;IAC9B;AAIA,QAFAvB,gBAAgBoB,KAAKI,QAAQ,MAAM,EAAA,CAAA,GAE/BL,WAAW;AACb,UAAMM,IAAIC,SAASC;AACnB,MAAI7B,cAAc,WAChB2B,EAAEG,UAAUC,OAAM,GAAIpB,KAAAA,GACtBgB,EAAEG,UAAUE,IAAIV,IAAAA,KAEhBK,EAAEM,aAAajC,WAAWsB,IAAAA;IAE9B;EACF,CAAA;AAGF3C,4BAA0B,WAAA;AAExB,QAAMuD,QAAQC,OAAOC,WAAWjD,KAAAA;AAEhC+C,iBAAMG,YAAYvB,gBAAAA,GAClBA,iBAAiBoB,KAAAA,GACV,WAAA;AACLA,YAAMI,eAAexB,gBAAAA;IACvB;EACF,GAAG,CAAA,CAAE;AAEL,MAAMyB,MAAM3D,SAAS,SAAC4D,UAAAA;AACpB,IAAI/C,cACF0B,kBAAkBqB,UAAU,IAAM,EAAA,IAElCrB,kBAAkBqB,QAAAA,GAEpBhC,cAAcgC,QAAAA;EAChB,CAAA;AAGAxD,YAAU,WAAA;AACR,QAAMyD,gBAAgB,SAAC1B,GAAAA;AACrB,UAAIA,EAAE2B,QAAQ7C,YAId;YAAMU,SAAQQ,EAAE4B,YAAY5C;AAC5BwC,YAAIhC,MAAAA;;IACN;AACA4B,kBAAOS,iBAAiB,WAAWH,aAAAA,GAC5B,WAAA;AACLN,aAAOU,oBAAoB,WAAWJ,aAAAA;IACxC;EACF,GAAG;IAAC1C;IAAcwC;IAAK1C;GAAW,GAGlClB,0BAA0B,WAAA;AACxB,QAAKiB,mBAEL;UAAMkD;;QAEJrD,eAAeL,aAAa2D,SAAStD,WAAAA,IACjCA;;UAEAc,SAASnB,aAAa2D,SAASxC,KAAAA,IAC7BA;;YAEAA,UAAU,YACRE,iBAAiB;;;SAKrBuC,cACJ,OAAOb,SAAW,OAClBA,OAAOC,cACPD,OAAOC,WAAW,8BAAA,EAAgCa,UAC9C,SACA,SAEAC,WAAWJ,eAAe;AAGhC,MAAIE,gBAAgBE,YAClBtB,SAASC,gBAAgBsB,MAAMC,YAAY,gBAAgBN,WAAAA;;EAE/D,GAAG;IAAClD;IAAmBW;IAAOE;IAAehB;GAAY;AAEzD,MAAM4D,SAASzE,SAAS,WAAA;AACtB,QAAM0E,QACJ7C,kBAAkB,SACd;MAAC;MAAU;MAAS;QACpB;MAAC;MAAU;MAAQ;OACnB8C,OAAOD,OAAOA,MAAME,QAAQjD,KAAAA,IAAS,KAAK+C,MAAMG,MAAM;AAC5DlB,QAAIgB,IAAAA;EACN,CAAA,GAEMG,cAAe/D,eAAec,gBAAgBkD,QAK9CC,eAAe3E,QAAQ,WAAA;AAC3B,QAAMkB,SAAuB;MAC3BI;MACAsD,SAAStD;MACTgC;MACAc;MACA5D;MACAgB,eAAeF,UAAU,WAAWE,gBAAgBF;MACpDT,QAAQH,eAAe;WAAIG;QAAQ;UAAYA;MAC/C4D;IACF;AACA,WAAOvD;EACT,GAAG;IACDI;IACAgC;IACAc;IACA5D;IACAgB;IACAd;IACAG;IACA4D;GACD;AAED,SACE,sBAACnE,oBAAoBuE,UAAQ;IAAC3D,OAAOyD;;MACnC,qBAACG,aAAAA;QAEGtE;QACAI;QACA6D,aAAajD;QACbT;QACAG;QACAR;QACAI;QACAY;QACAV;;;MAIHhB,QAAQ,WAAA;eAAMqB;SAAU;QAACA;OAAS;;;AAGzC,CAAA,GAGIyD,cAAchF,qBAClB,SAAA,OAAA;MAAC,EACCU,aACAI,YACAG,WACAL,cACAI,cACAI,OACAQ,OACAV,aAAY,IAUb,OAEO+D,eAAgB,WAAA;AACpB,QAAIhE,cAAc,SAAS;AACzB,UAAMiE,gBAAgBtD,MAAMuD,IAAI,SAACC,GAAAA;eAAc,aAAaA,CAAAA;SAAOC,KAAK,GAAA;AACxE,aAAO,4CAA4CH,aAAAA;IACrD;AACA,WAAO;EACT,EAAA,GAEM5C,YAAY,SAACC,MAAc+C,SAAAA;AAC/B/C,WAAOnB,QAAQmB,IAAAA,KAASA;AACxB,QAAMgD,MAAMD,UAAU/C,OAAO,IAAIA,IAAAA;AAEjC,WAAItB,cAAc,UACT,SAASsE,GAAAA,MAGX,mBAAmBtE,SAAAA,MAAesE,GAAAA;EAC3C,GAEMC,gBAAgBxE,iBAAiB,UAEjCyE,WACJ,qBAAA,WAAA;cACG/E,cACC;MAACgF;MAAAA;QAGCC,yBAAyB;;UAEvBC,QAAQ,eAAeX,YAAAA,GAAe3C,UAAU5B,WAAAA,CAAAA;QAClD;;;MAJI;IAAA,IAMJE,eACF;MAAC8E;MAAAA;QAGCC,yBAAyB;UACvBC,QAAQ,oBAAoBX,YAAAA,+BAA2CnE,UAAAA,MACpE0E,gBAAgD,KAAhClD,UAAUtB,YAAAA,IAAgB,GAAM,yBAC1BwE,aAAAA,aAA0BpF,KAAAA,mDAAwDkC,UACzG,MAAA,CAAA,IACGA,UAAU,OAAA,CAAA,eACblB,QAAQ,SAASyE,KAAKC,UAAU1E,KAAAA,CAAAA,MAAY,EAAA,GAC3CkB,UAAUlB,QAAQ,SAAS,KAAK,EAAA,CAAA;QACrC;;;MATI;IAAA,IAYN;MAACsE;MAAAA;QAGCC,yBAAyB;UACvBC,QAAQ,mBAAmBX,YAAAA,+BAA2CnE,UAAAA,YACpEM,QAAQ,SAASyE,KAAKC,UAAU1E,KAAAA,CAAAA,MAAY,EAAA,GAC3CkB,UAAUlB,QAAQ,SAAS,KAAK,EAAA,CAAA,SAAckB,UAC/CtB,YAAAA,CAAAA;QAEJ;;;MAPI;IAAA;;AAaZ,SAAIE,eAAqBuE,WAElB,qBAAC3F,UAAAA;cAAU2F;;AACpB,GACA,SAACM,WAAWC,WAAAA;AAGV,SAAID,UAAUrF,gBAAgBsF,UAAUtF;AAE1C,CAAA;",
|
|
5
|
+
"names": ["useIsomorphicLayoutEffect", "useEvent", "NextHead", "React", "memo", "useEffect", "useMemo", "useState", "MEDIA", "colorSchemes", "getSystemTheme", "getTheme", "ThemeSettingContext", "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", "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", "undefined", "contextValue", "current", "Provider", "ThemeScript", "optimization", "removeClasses", "map", "t", "join", "literal", "val", "defaultSystem", "contents", "script", "dangerouslySetInnerHTML", "__html", "JSON", "stringify", "prevProps", "nextProps"]
|
|
6
|
+
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
var ThemeSettingContext = /* @__PURE__ */React.createContext({
|
|
3
|
-
toggle: function
|
|
4
|
-
|
|
2
|
+
var ThemeSettingContext = /* @__PURE__ */ React.createContext({
|
|
3
|
+
toggle: function() {
|
|
4
|
+
},
|
|
5
|
+
set: function(_) {
|
|
6
|
+
},
|
|
5
7
|
themes: []
|
|
6
8
|
});
|
|
7
|
-
export {
|
|
8
|
-
|
|
9
|
+
export {
|
|
10
|
+
ThemeSettingContext
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=ThemeSettingContext.js.map
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/code/packages/next-theme/src/ThemeSettingContext.tsx"],
|
|
4
|
+
"mappings": "AAAA,OAAOA,WAAW;AAIX,IAAMC,sBAAsBD,sBAAME,cAA6B;EACpEC,QAAQ,WAAA;EAAO;EACfC,KAAK,SAACC,GAAAA;EAAO;EACbC,QAAQ,CAAA;AACV,CAAA;",
|
|
5
|
+
"names": ["React", "ThemeSettingContext", "createContext", "toggle", "set", "_", "themes"]
|
|
6
|
+
}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=UseThemeProps.native.js.map
|
|
1
|
+
//# sourceMappingURL=UseThemeProps.js.map
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
var constants = {},
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
var constants = {}, colorSchemes = [
|
|
2
|
+
"light",
|
|
3
|
+
"dark"
|
|
4
|
+
], MEDIA = "(prefers-color-scheme: dark)";
|
|
5
|
+
export {
|
|
6
|
+
MEDIA,
|
|
7
|
+
colorSchemes,
|
|
8
|
+
constants
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/code/packages/next-theme/src/constants.tsx"],
|
|
4
|
+
"mappings": "AAAO,IAAMA,YAAY,CAAC,GACbC,eAAe;EAAC;EAAS;GACzBC,QAAQ;",
|
|
5
|
+
"names": ["constants", "colorSchemes", "MEDIA"]
|
|
6
|
+
}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import { MEDIA } from "./constants
|
|
2
|
-
var helpers = {},
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
} catch {}
|
|
9
|
-
return theme || fallback;
|
|
1
|
+
import { MEDIA } from "./constants";
|
|
2
|
+
var helpers = {}, getTheme = function(key, fallback) {
|
|
3
|
+
if (!(typeof window > "u")) {
|
|
4
|
+
var theme;
|
|
5
|
+
try {
|
|
6
|
+
theme = localStorage.getItem(key) || void 0;
|
|
7
|
+
} catch {
|
|
10
8
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
export {
|
|
19
|
-
|
|
9
|
+
return theme || fallback;
|
|
10
|
+
}
|
|
11
|
+
}, getSystemTheme = function(e) {
|
|
12
|
+
e || (e = window.matchMedia(MEDIA));
|
|
13
|
+
var isDark = e.matches, systemTheme = isDark ? "dark" : "light";
|
|
14
|
+
return systemTheme;
|
|
15
|
+
};
|
|
16
|
+
export {
|
|
17
|
+
getSystemTheme,
|
|
18
|
+
getTheme,
|
|
19
|
+
helpers
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/code/packages/next-theme/src/helpers.tsx"],
|
|
4
|
+
"mappings": "AAAA,SAASA,aAAa;AAEf,IAAMC,UAAU,CAAC,GAGXC,WAAW,SAACC,KAAaC,UAAAA;AACpC,MAAI,SAAOC,SAAW,MACtB;QAAIC;AACJ,QAAI;AACFA,cAAQC,aAAaC,QAAQL,GAAAA,KAAQM;IACvC,QAAY;IAEZ;AACA,WAAOH,SAASF;;AAClB,GAEaM,iBAAiB,SAACC,GAAAA;AAC7B,EAAKA,MACHA,IAAIN,OAAOO,WAAWZ,KAAAA;AAGxB,MAAMa,SAASF,EAAEG,SACXC,cAAcF,SAAS,SAAS;AACtC,SAAOE;AACT;",
|
|
5
|
+
"names": ["MEDIA", "helpers", "getTheme", "key", "fallback", "window", "theme", "localStorage", "getItem", "undefined", "getSystemTheme", "e", "matchMedia", "isDark", "matches", "systemTheme"]
|
|
6
|
+
}
|
package/dist/esm/index.native.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./NextTheme
|
|
2
|
-
export * from "./types
|
|
3
|
-
//# sourceMappingURL=index.
|
|
1
|
+
export * from "./NextTheme";
|
|
2
|
+
export * from "./types";
|
|
3
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/code/packages/next-theme/src/index.ts"],
|
|
4
|
+
"mappings": "AAAA,cAAc;AACd,cAAc;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/dist/esm/types.native.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=types.native.js.map
|
|
1
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { isClient } from "@tamagui/constants";
|
|
3
|
-
var useRootTheme = function
|
|
4
|
-
var {
|
|
5
|
-
fallback = "light"
|
|
6
|
-
} = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {},
|
|
7
|
-
initialVal = fallback;
|
|
3
|
+
var useRootTheme = function() {
|
|
4
|
+
var { fallback = "light" } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, initialVal = fallback;
|
|
8
5
|
if (isClient) {
|
|
9
|
-
var classes = [
|
|
6
|
+
var classes = [
|
|
7
|
+
...document.documentElement.classList
|
|
8
|
+
];
|
|
10
9
|
initialVal = classes.includes("t_dark") ? "dark" : classes.includes("t_light") ? "light" : fallback;
|
|
11
10
|
}
|
|
12
11
|
return React.useState(initialVal);
|
|
13
12
|
};
|
|
14
|
-
export {
|
|
15
|
-
|
|
13
|
+
export {
|
|
14
|
+
useRootTheme
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=useRootTheme.js.map
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/code/packages/next-theme/src/useRootTheme.tsx"],
|
|
4
|
+
"mappings": "AAAA,OAAOA,WAAW;AAClB,SAASC,gBAAgB;AAIlB,IAAMC,eAAe,WAAA;MAAC,EAAEC,WAAW,QAAO,IAA8B,UAAA,SAAA,KAAA,UAAA,CAAA,MAAA,SAAA,UAAA,CAAA,IAAG,CAAC,GAC7EC,aAAaD;AAEjB,MAAIF,UAAU;AAEZ,QAAMI,UAAU;SAAIC,SAASC,gBAAgBC;;AAC7CJ,iBAAaC,QAAQI,SAAS,QAAQ,IAClC,SACAJ,QAAQI,SAAS,SAAS,IACxB,UACAN;EACR;AAEA,SAAOH,MAAMU,SAAsBN,UAAAA;AACrC;",
|
|
5
|
+
"names": ["React", "isClient", "useRootTheme", "fallback", "initialVal", "classes", "document", "documentElement", "classList", "includes", "useState"]
|
|
6
|
+
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { ThemeSettingContext } from "./ThemeSettingContext
|
|
3
|
-
var useTheme = function
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
import { ThemeSettingContext } from "./ThemeSettingContext";
|
|
3
|
+
var useTheme = function() {
|
|
4
|
+
return React.useContext(ThemeSettingContext);
|
|
5
|
+
}, useThemeSetting = function() {
|
|
6
|
+
return React.useContext(ThemeSettingContext);
|
|
7
|
+
};
|
|
8
|
+
export {
|
|
9
|
+
useTheme,
|
|
10
|
+
useThemeSetting
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=useTheme.js.map
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/code/packages/next-theme/src/useTheme.tsx"],
|
|
4
|
+
"mappings": "AAAA,OAAOA,WAAW;AAElB,SAASC,2BAA2B;AAM7B,IAAMC,WAAW,WAAA;SAAMF,MAAMG,WAAWF,mBAAAA;GAElCG,kBAAkB,WAAA;SAAMJ,MAAMG,WAAWF,mBAAAA;;",
|
|
5
|
+
"names": ["React", "ThemeSettingContext", "useTheme", "useContext", "useThemeSetting"]
|
|
6
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/next-theme",
|
|
3
|
-
"version": "1.113.
|
|
3
|
+
"version": "1.113.2",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"source": "src/index.ts",
|
|
6
6
|
"types": "./types/index.d.ts",
|
|
@@ -20,11 +20,11 @@
|
|
|
20
20
|
"clean:build": "tamagui-build clean:build"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@tamagui/constants": "1.113.
|
|
24
|
-
"@tamagui/use-event": "1.113.
|
|
23
|
+
"@tamagui/constants": "1.113.2",
|
|
24
|
+
"@tamagui/use-event": "1.113.2"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@tamagui/build": "1.113.
|
|
27
|
+
"@tamagui/build": "1.113.2",
|
|
28
28
|
"react": "^18.2.0 || ^19.0.0"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|