@tamagui/next-theme 1.110.4 → 1.111.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/NextThemeProvider.native.js +17 -74
- package/dist/cjs/NextThemeProvider.native.js.map +2 -2
- package/dist/cjs/useRootTheme.native.js +5 -29
- package/dist/cjs/useRootTheme.native.js.map +1 -1
- package/dist/esm/NextTheme.native.mjs +9 -0
- package/dist/esm/NextTheme.native.mjs.map +1 -0
- package/dist/esm/NextThemeProvider.native.js +20 -76
- package/dist/esm/NextThemeProvider.native.js.map +1 -1
- package/dist/esm/NextThemeProvider.native.mjs +185 -0
- package/dist/esm/NextThemeProvider.native.mjs.map +1 -0
- package/dist/esm/ThemeSettingContext.native.mjs +8 -0
- package/dist/esm/ThemeSettingContext.native.mjs.map +1 -0
- package/dist/esm/UseThemeProps.native.mjs +2 -0
- package/dist/esm/UseThemeProps.native.mjs.map +1 -0
- package/dist/esm/constants.native.mjs +5 -0
- package/dist/esm/constants.native.mjs.map +1 -0
- package/dist/esm/helpers.native.mjs +19 -0
- package/dist/esm/helpers.native.mjs.map +1 -0
- package/dist/esm/index.native.mjs +3 -0
- package/dist/esm/index.native.mjs.map +1 -0
- package/dist/esm/types.native.mjs +2 -0
- package/dist/esm/types.native.mjs.map +1 -0
- package/dist/esm/useRootTheme.native.js +4 -27
- package/dist/esm/useRootTheme.native.js.map +1 -1
- package/dist/esm/useRootTheme.native.mjs +15 -0
- package/dist/esm/useRootTheme.native.mjs.map +1 -0
- package/dist/esm/useTheme.native.mjs +10 -0
- package/dist/esm/useTheme.native.mjs.map +1 -0
- package/package.json +4 -4
|
@@ -26,69 +26,15 @@ __export(NextThemeProvider_exports, {
|
|
|
26
26
|
NextThemeProvider: () => NextThemeProvider
|
|
27
27
|
});
|
|
28
28
|
module.exports = __toCommonJS(NextThemeProvider_exports);
|
|
29
|
-
var import_jsx_runtime = require("react/jsx-runtime"), import_constants = require("@tamagui/constants"), import_use_event = require("@tamagui/use-event"), import_head = __toESM(require("next/head")), React = __toESM(require("react")), import_react = require("react"), import_constants2 = require("./constants"), import_helpers = require("./helpers"), import_ThemeSettingContext = require("./ThemeSettingContext")
|
|
30
|
-
|
|
31
|
-
(len == null || len > arr.length) && (len = arr.length);
|
|
32
|
-
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
33
|
-
return arr2;
|
|
34
|
-
}
|
|
35
|
-
function _array_with_holes(arr) {
|
|
36
|
-
if (Array.isArray(arr)) return arr;
|
|
37
|
-
}
|
|
38
|
-
function _array_without_holes(arr) {
|
|
39
|
-
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
40
|
-
}
|
|
41
|
-
function _iterable_to_array(iter) {
|
|
42
|
-
if (typeof Symbol < "u" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
43
|
-
}
|
|
44
|
-
function _iterable_to_array_limit(arr, i) {
|
|
45
|
-
var _i = arr == null ? null : typeof Symbol < "u" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
46
|
-
if (_i != null) {
|
|
47
|
-
var _arr = [], _n = !0, _d = !1, _s, _e;
|
|
48
|
-
try {
|
|
49
|
-
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done) && (_arr.push(_s.value), !(i && _arr.length === i)); _n = !0)
|
|
50
|
-
;
|
|
51
|
-
} catch (err) {
|
|
52
|
-
_d = !0, _e = err;
|
|
53
|
-
} finally {
|
|
54
|
-
try {
|
|
55
|
-
!_n && _i.return != null && _i.return();
|
|
56
|
-
} finally {
|
|
57
|
-
if (_d) throw _e;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return _arr;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
function _non_iterable_rest() {
|
|
64
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
65
|
-
}
|
|
66
|
-
function _non_iterable_spread() {
|
|
67
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
68
|
-
}
|
|
69
|
-
function _sliced_to_array(arr, i) {
|
|
70
|
-
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
71
|
-
}
|
|
72
|
-
function _to_consumable_array(arr) {
|
|
73
|
-
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
74
|
-
}
|
|
75
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
76
|
-
if (o) {
|
|
77
|
-
if (typeof o == "string") return _array_like_to_array(o, minLen);
|
|
78
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
79
|
-
if (n === "Object" && o.constructor && (n = o.constructor.name), n === "Map" || n === "Set") return Array.from(n);
|
|
80
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
var NextThemeProvider = /* @__PURE__ */ (0, import_react.memo)(function(param) {
|
|
84
|
-
var forcedTheme = param.forcedTheme, _param_disableTransitionOnChange = param.disableTransitionOnChange, disableTransitionOnChange = _param_disableTransitionOnChange === void 0 ? !1 : _param_disableTransitionOnChange, _param_enableSystem = param.enableSystem, enableSystem = _param_enableSystem === void 0 ? !0 : _param_enableSystem, _param_enableColorScheme = param.enableColorScheme, enableColorScheme = _param_enableColorScheme === void 0 ? !0 : _param_enableColorScheme, _param_storageKey = param.storageKey, storageKey = _param_storageKey === void 0 ? "theme" : _param_storageKey, _param_themes = param.themes, themes = _param_themes === void 0 ? import_constants2.colorSchemes : _param_themes, _param_defaultTheme = param.defaultTheme, defaultTheme = _param_defaultTheme === void 0 ? enableSystem ? "system" : "light" : _param_defaultTheme, _param_attribute = param.attribute, attribute = _param_attribute === void 0 ? "class" : _param_attribute, skipNextHead = param.skipNextHead, onChangeTheme = param.onChangeTheme, _param_value = param.value, value = _param_value === void 0 ? {
|
|
29
|
+
var import_jsx_runtime = require("react/jsx-runtime"), import_constants = require("@tamagui/constants"), import_use_event = require("@tamagui/use-event"), import_head = __toESM(require("next/head")), React = __toESM(require("react")), import_react = require("react"), import_constants2 = require("./constants"), import_helpers = require("./helpers"), import_ThemeSettingContext = require("./ThemeSettingContext"), NextThemeProvider = /* @__PURE__ */ (0, import_react.memo)(function(param) {
|
|
30
|
+
var { forcedTheme, disableTransitionOnChange = !1, enableSystem = !0, enableColorScheme = !0, storageKey = "theme", themes = import_constants2.colorSchemes, defaultTheme = enableSystem ? "system" : "light", attribute = "class", skipNextHead, onChangeTheme, value = {
|
|
85
31
|
dark: "t_dark",
|
|
86
32
|
light: "t_light"
|
|
87
|
-
}
|
|
33
|
+
}, children } = param, [theme, setThemeState] = (0, import_react.useState)(function() {
|
|
88
34
|
return (0, import_helpers.getTheme)(storageKey, defaultTheme);
|
|
89
|
-
}),
|
|
35
|
+
}), [resolvedTheme, setResolvedTheme] = (0, import_react.useState)(function() {
|
|
90
36
|
return (0, import_helpers.getTheme)(storageKey);
|
|
91
|
-
}),
|
|
37
|
+
}), attrs = value ? Object.values(value) : themes, handleMediaQuery = (0, import_use_event.useEvent)(function(e) {
|
|
92
38
|
var _ = (0, import_helpers.getSystemTheme)(e), update = function() {
|
|
93
39
|
return setResolvedTheme(_);
|
|
94
40
|
};
|
|
@@ -108,11 +54,7 @@ var NextThemeProvider = /* @__PURE__ */ (0, import_react.memo)(function(param) {
|
|
|
108
54
|
}
|
|
109
55
|
if (onChangeTheme == null || onChangeTheme(name.replace("t_", "")), updateDOM) {
|
|
110
56
|
var d = document.documentElement;
|
|
111
|
-
|
|
112
|
-
var _d_classList;
|
|
113
|
-
(_d_classList = d.classList).remove.apply(_d_classList, _to_consumable_array(attrs)), d.classList.add(name);
|
|
114
|
-
} else
|
|
115
|
-
d.setAttribute(attribute, name);
|
|
57
|
+
attribute === "class" ? (d.classList.remove(...attrs), d.classList.add(name)) : d.setAttribute(attribute, name);
|
|
116
58
|
}
|
|
117
59
|
});
|
|
118
60
|
(0, import_constants.useIsomorphicLayoutEffect)(function() {
|
|
@@ -177,9 +119,10 @@ var NextThemeProvider = /* @__PURE__ */ (0, import_react.memo)(function(param) {
|
|
|
177
119
|
toggle,
|
|
178
120
|
forcedTheme,
|
|
179
121
|
resolvedTheme: theme === "system" ? resolvedTheme : theme,
|
|
180
|
-
themes: enableSystem ?
|
|
122
|
+
themes: enableSystem ? [
|
|
123
|
+
...themes,
|
|
181
124
|
"system"
|
|
182
|
-
]
|
|
125
|
+
] : themes,
|
|
183
126
|
systemTheme
|
|
184
127
|
};
|
|
185
128
|
return value2;
|
|
@@ -216,25 +159,25 @@ var NextThemeProvider = /* @__PURE__ */ (0, import_react.memo)(function(param) {
|
|
|
216
159
|
]
|
|
217
160
|
});
|
|
218
161
|
}), ThemeScript = /* @__PURE__ */ (0, import_react.memo)(function(param) {
|
|
219
|
-
var
|
|
162
|
+
var { forcedTheme, storageKey, attribute, enableSystem, defaultTheme, value, attrs, skipNextHead } = param, optimization = function() {
|
|
220
163
|
if (attribute === "class") {
|
|
221
164
|
var removeClasses = attrs.map(function(t) {
|
|
222
|
-
return
|
|
165
|
+
return `d.remove('${t}')`;
|
|
223
166
|
}).join(";");
|
|
224
|
-
return
|
|
167
|
+
return `var d=document.documentElement.classList;${removeClasses};`;
|
|
225
168
|
}
|
|
226
169
|
return "var d=document.documentElement;";
|
|
227
170
|
}(), updateDOM = function(name, literal) {
|
|
228
171
|
name = (value == null ? void 0 : value[name]) || name;
|
|
229
|
-
var val = literal ? name :
|
|
230
|
-
return attribute === "class" ?
|
|
172
|
+
var val = literal ? name : `'${name}'`;
|
|
173
|
+
return attribute === "class" ? `d.add(${val})` : `d.setAttribute('${attribute}', ${val})`;
|
|
231
174
|
}, defaultSystem = defaultTheme === "system", contents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
|
|
232
175
|
children: forcedTheme ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
233
176
|
"script",
|
|
234
177
|
{
|
|
235
178
|
dangerouslySetInnerHTML: {
|
|
236
179
|
// These are minified via Terser and then updated by hand, don't recommend
|
|
237
|
-
__html:
|
|
180
|
+
__html: `!function(){${optimization}${updateDOM(forcedTheme)}}()`
|
|
238
181
|
}
|
|
239
182
|
},
|
|
240
183
|
// nonce={nonce}
|
|
@@ -243,7 +186,7 @@ var NextThemeProvider = /* @__PURE__ */ (0, import_react.memo)(function(param) {
|
|
|
243
186
|
"script",
|
|
244
187
|
{
|
|
245
188
|
dangerouslySetInnerHTML: {
|
|
246
|
-
__html:
|
|
189
|
+
__html: `!function(){try {${optimization}var e=localStorage.getItem('${storageKey}');${defaultSystem ? "" : updateDOM(defaultTheme) + ";"}if("system"===e||(!e&&${defaultSystem})){var t="${import_constants2.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){}}()`
|
|
247
190
|
}
|
|
248
191
|
},
|
|
249
192
|
// nonce={nonce}
|
|
@@ -252,7 +195,7 @@ var NextThemeProvider = /* @__PURE__ */ (0, import_react.memo)(function(param) {
|
|
|
252
195
|
"script",
|
|
253
196
|
{
|
|
254
197
|
dangerouslySetInnerHTML: {
|
|
255
|
-
__html:
|
|
198
|
+
__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){}}();`
|
|
256
199
|
}
|
|
257
200
|
},
|
|
258
201
|
// nonce={nonce}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/tamagui/code/packages/next-theme/src/NextThemeProvider.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;uDAAA,mBAA0C,+BAC1C,mBAAyB,+BACzB,cAAqB,+BACrB,QAAuB,2BACvB,eAAmD,kBAEnDA,oBAAoC,wBACpC,iBAAyC,sBACzC,6BAAoC
|
|
5
|
-
"names": ["import_constants", "NextThemeProvider", "memo", "forcedTheme", "disableTransitionOnChange", "enableSystem", "enableColorScheme", "storageKey", "themes", "colorSchemes", "defaultTheme", "attribute", "skipNextHead", "onChangeTheme", "value", "dark", "light", "children", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["import_constants", "NextThemeProvider", "memo", "forcedTheme", "disableTransitionOnChange", "enableSystem", "enableColorScheme", "storageKey", "themes", "colorSchemes", "defaultTheme", "attribute", "skipNextHead", "onChangeTheme", "value", "dark", "light", "children", "theme", "setThemeState", "useState", "getTheme", "resolvedTheme", "setResolvedTheme", "attrs", "Object", "values", "handleMediaQuery", "useEvent", "e", "_", "getSystemTheme", "update", "React", "startTransition", "handleChangeTheme", "updateStorage", "updateDOM", "name", "localStorage", "setItem", "resolved", "replace", "d", "document", "documentElement", "classList", "remove", "add", "setAttribute", "useIsomorphicLayoutEffect", "media", "window", "matchMedia", "MEDIA", "addListener", "removeListener", "set", "newTheme", "useEffect", "handleStorage", "key", "newValue", "addEventListener", "removeEventListener", "colorScheme", "includes", "userPrefers", "matches", "wePrefer", "style", "setProperty", "toggle", "order", "next", "indexOf", "length", "systemTheme", "undefined", "contextValue", "useMemo", "current", "_jsxs", "ThemeSettingContext", "Provider", "_jsx", "ThemeScript", "optimization", "removeClasses", "map", "t", "join", "literal", "val", "defaultSystem", "contents", "_Fragment", "script", "dangerouslySetInnerHTML", "__html", "JSON", "stringify", "NextHead", "prevProps", "nextProps"]
|
|
6
6
|
}
|
|
@@ -26,36 +26,12 @@ __export(useRootTheme_exports, {
|
|
|
26
26
|
useRootTheme: () => useRootTheme
|
|
27
27
|
});
|
|
28
28
|
module.exports = __toCommonJS(useRootTheme_exports);
|
|
29
|
-
var import_react = __toESM(require("react")), import_constants = require("@tamagui/constants")
|
|
30
|
-
|
|
31
|
-
(len == null || len > arr.length) && (len = arr.length);
|
|
32
|
-
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
33
|
-
return arr2;
|
|
34
|
-
}
|
|
35
|
-
function _array_without_holes(arr) {
|
|
36
|
-
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
37
|
-
}
|
|
38
|
-
function _iterable_to_array(iter) {
|
|
39
|
-
if (typeof Symbol < "u" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
40
|
-
}
|
|
41
|
-
function _non_iterable_spread() {
|
|
42
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
43
|
-
}
|
|
44
|
-
function _to_consumable_array(arr) {
|
|
45
|
-
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
46
|
-
}
|
|
47
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
48
|
-
if (o) {
|
|
49
|
-
if (typeof o == "string") return _array_like_to_array(o, minLen);
|
|
50
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
51
|
-
if (n === "Object" && o.constructor && (n = o.constructor.name), n === "Map" || n === "Set") return Array.from(n);
|
|
52
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
var useRootTheme = function() {
|
|
56
|
-
var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, _ref_fallback = _ref.fallback, fallback = _ref_fallback === void 0 ? "light" : _ref_fallback, initialVal = fallback;
|
|
29
|
+
var import_react = __toESM(require("react")), import_constants = require("@tamagui/constants"), useRootTheme = function() {
|
|
30
|
+
var { fallback = "light" } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, initialVal = fallback;
|
|
57
31
|
if (import_constants.isClient) {
|
|
58
|
-
var classes =
|
|
32
|
+
var classes = [
|
|
33
|
+
...document.documentElement.classList
|
|
34
|
+
];
|
|
59
35
|
initialVal = classes.includes("t_dark") ? "dark" : classes.includes("t_light") ? "light" : fallback;
|
|
60
36
|
}
|
|
61
37
|
return import_react.default.useState(initialVal);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/tamagui/code/packages/next-theme/src/useRootTheme.tsx"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;mBAAkB,2BAClB,mBAAyB,+BAIZA,eAAe,WAAA;MAAC,EAAEC,WAAW,QAAO,IAA8B,UAAA,SAAA,KAAA,UAAA,CAAA,MAAA,SAAA,UAAA,CAAA,IAAG,CAAC,GAC7EC,aAAaD;AAEjB,MAAIE,2BAAU;AAEZ,QAAMC,UAAU;SAAIC,SAASC,gBAAgBC;;AAC7CL,iBAAaE,QAAQI,SAAS,QAAQ,IAClC,SACAJ,QAAQI,SAAS,SAAS,IACxB,UACAP;EACR;AAEA,SAAOQ,aAAAA,QAAMC,SAAsBR,UAAAA;AACrC;",
|
|
5
5
|
"names": ["useRootTheme", "fallback", "initialVal", "isClient", "classes", "document", "documentElement", "classList", "includes", "React", "useState"]
|
|
6
6
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
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.native.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../src/NextTheme.tsx"],"sourcesContent":[null],"mappings":"AAGA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc","ignoreList":[]}
|
|
@@ -7,68 +7,15 @@ import { memo, useEffect, useMemo, useState } from "react";
|
|
|
7
7
|
import { MEDIA, colorSchemes } from "./constants";
|
|
8
8
|
import { getSystemTheme, getTheme } from "./helpers";
|
|
9
9
|
import { ThemeSettingContext } from "./ThemeSettingContext";
|
|
10
|
-
function _array_like_to_array(arr, len) {
|
|
11
|
-
(len == null || len > arr.length) && (len = arr.length);
|
|
12
|
-
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
13
|
-
return arr2;
|
|
14
|
-
}
|
|
15
|
-
function _array_with_holes(arr) {
|
|
16
|
-
if (Array.isArray(arr)) return arr;
|
|
17
|
-
}
|
|
18
|
-
function _array_without_holes(arr) {
|
|
19
|
-
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
20
|
-
}
|
|
21
|
-
function _iterable_to_array(iter) {
|
|
22
|
-
if (typeof Symbol < "u" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
23
|
-
}
|
|
24
|
-
function _iterable_to_array_limit(arr, i) {
|
|
25
|
-
var _i = arr == null ? null : typeof Symbol < "u" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
26
|
-
if (_i != null) {
|
|
27
|
-
var _arr = [], _n = !0, _d = !1, _s, _e;
|
|
28
|
-
try {
|
|
29
|
-
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done) && (_arr.push(_s.value), !(i && _arr.length === i)); _n = !0)
|
|
30
|
-
;
|
|
31
|
-
} catch (err) {
|
|
32
|
-
_d = !0, _e = err;
|
|
33
|
-
} finally {
|
|
34
|
-
try {
|
|
35
|
-
!_n && _i.return != null && _i.return();
|
|
36
|
-
} finally {
|
|
37
|
-
if (_d) throw _e;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return _arr;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
function _non_iterable_rest() {
|
|
44
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
45
|
-
}
|
|
46
|
-
function _non_iterable_spread() {
|
|
47
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
48
|
-
}
|
|
49
|
-
function _sliced_to_array(arr, i) {
|
|
50
|
-
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
51
|
-
}
|
|
52
|
-
function _to_consumable_array(arr) {
|
|
53
|
-
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
54
|
-
}
|
|
55
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
56
|
-
if (o) {
|
|
57
|
-
if (typeof o == "string") return _array_like_to_array(o, minLen);
|
|
58
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
59
|
-
if (n === "Object" && o.constructor && (n = o.constructor.name), n === "Map" || n === "Set") return Array.from(n);
|
|
60
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
10
|
var NextThemeProvider = /* @__PURE__ */ memo(function(param) {
|
|
64
|
-
var
|
|
11
|
+
var { forcedTheme, disableTransitionOnChange = !1, enableSystem = !0, enableColorScheme = !0, storageKey = "theme", themes = colorSchemes, defaultTheme = enableSystem ? "system" : "light", attribute = "class", skipNextHead, onChangeTheme, value = {
|
|
65
12
|
dark: "t_dark",
|
|
66
13
|
light: "t_light"
|
|
67
|
-
}
|
|
14
|
+
}, children } = param, [theme, setThemeState] = useState(function() {
|
|
68
15
|
return getTheme(storageKey, defaultTheme);
|
|
69
|
-
}),
|
|
16
|
+
}), [resolvedTheme, setResolvedTheme] = useState(function() {
|
|
70
17
|
return getTheme(storageKey);
|
|
71
|
-
}),
|
|
18
|
+
}), attrs = value ? Object.values(value) : themes, handleMediaQuery = useEvent(function(e) {
|
|
72
19
|
var _ = getSystemTheme(e), update = function() {
|
|
73
20
|
return setResolvedTheme(_);
|
|
74
21
|
};
|
|
@@ -76,7 +23,7 @@ var NextThemeProvider = /* @__PURE__ */ memo(function(param) {
|
|
|
76
23
|
return update();
|
|
77
24
|
}), theme === "system" && !forcedTheme && handleChangeTheme(_, !1);
|
|
78
25
|
}), handleChangeTheme = useEvent(function(theme2) {
|
|
79
|
-
var updateStorage = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, updateDOM = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0, name =
|
|
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;
|
|
80
27
|
if (updateStorage)
|
|
81
28
|
try {
|
|
82
29
|
localStorage.setItem(storageKey, theme2);
|
|
@@ -84,15 +31,11 @@ var NextThemeProvider = /* @__PURE__ */ memo(function(param) {
|
|
|
84
31
|
}
|
|
85
32
|
if (theme2 === "system" && enableSystem) {
|
|
86
33
|
var resolved = getSystemTheme();
|
|
87
|
-
name =
|
|
34
|
+
name = value?.[resolved] || resolved;
|
|
88
35
|
}
|
|
89
|
-
if (onChangeTheme
|
|
36
|
+
if (onChangeTheme?.(name.replace("t_", "")), updateDOM) {
|
|
90
37
|
var d = document.documentElement;
|
|
91
|
-
|
|
92
|
-
var _d_classList;
|
|
93
|
-
(_d_classList = d.classList).remove.apply(_d_classList, _to_consumable_array(attrs)), d.classList.add(name);
|
|
94
|
-
} else
|
|
95
|
-
d.setAttribute(attribute, name);
|
|
38
|
+
attribute === "class" ? (d.classList.remove(...attrs), d.classList.add(name)) : d.setAttribute(attribute, name);
|
|
96
39
|
}
|
|
97
40
|
});
|
|
98
41
|
useIsomorphicLayoutEffect(function() {
|
|
@@ -157,9 +100,10 @@ var NextThemeProvider = /* @__PURE__ */ memo(function(param) {
|
|
|
157
100
|
toggle,
|
|
158
101
|
forcedTheme,
|
|
159
102
|
resolvedTheme: theme === "system" ? resolvedTheme : theme,
|
|
160
|
-
themes: enableSystem ?
|
|
103
|
+
themes: enableSystem ? [
|
|
104
|
+
...themes,
|
|
161
105
|
"system"
|
|
162
|
-
]
|
|
106
|
+
] : themes,
|
|
163
107
|
systemTheme
|
|
164
108
|
};
|
|
165
109
|
return value2;
|
|
@@ -196,25 +140,25 @@ var NextThemeProvider = /* @__PURE__ */ memo(function(param) {
|
|
|
196
140
|
]
|
|
197
141
|
});
|
|
198
142
|
}), ThemeScript = /* @__PURE__ */ memo(function(param) {
|
|
199
|
-
var
|
|
143
|
+
var { forcedTheme, storageKey, attribute, enableSystem, defaultTheme, value, attrs, skipNextHead } = param, optimization = function() {
|
|
200
144
|
if (attribute === "class") {
|
|
201
145
|
var removeClasses = attrs.map(function(t) {
|
|
202
|
-
return
|
|
146
|
+
return `d.remove('${t}')`;
|
|
203
147
|
}).join(";");
|
|
204
|
-
return
|
|
148
|
+
return `var d=document.documentElement.classList;${removeClasses};`;
|
|
205
149
|
}
|
|
206
150
|
return "var d=document.documentElement;";
|
|
207
151
|
}(), updateDOM = function(name, literal) {
|
|
208
|
-
name =
|
|
209
|
-
var val = literal ? name :
|
|
210
|
-
return attribute === "class" ?
|
|
152
|
+
name = value?.[name] || name;
|
|
153
|
+
var val = literal ? name : `'${name}'`;
|
|
154
|
+
return attribute === "class" ? `d.add(${val})` : `d.setAttribute('${attribute}', ${val})`;
|
|
211
155
|
}, defaultSystem = defaultTheme === "system", contents = /* @__PURE__ */ _jsx(_Fragment, {
|
|
212
156
|
children: forcedTheme ? /* @__PURE__ */ _jsx(
|
|
213
157
|
"script",
|
|
214
158
|
{
|
|
215
159
|
dangerouslySetInnerHTML: {
|
|
216
160
|
// These are minified via Terser and then updated by hand, don't recommend
|
|
217
|
-
__html:
|
|
161
|
+
__html: `!function(){${optimization}${updateDOM(forcedTheme)}}()`
|
|
218
162
|
}
|
|
219
163
|
},
|
|
220
164
|
// nonce={nonce}
|
|
@@ -223,7 +167,7 @@ var NextThemeProvider = /* @__PURE__ */ memo(function(param) {
|
|
|
223
167
|
"script",
|
|
224
168
|
{
|
|
225
169
|
dangerouslySetInnerHTML: {
|
|
226
|
-
__html:
|
|
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){}}()`
|
|
227
171
|
}
|
|
228
172
|
},
|
|
229
173
|
// nonce={nonce}
|
|
@@ -232,7 +176,7 @@ var NextThemeProvider = /* @__PURE__ */ memo(function(param) {
|
|
|
232
176
|
"script",
|
|
233
177
|
{
|
|
234
178
|
dangerouslySetInnerHTML: {
|
|
235
|
-
__html:
|
|
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){}}();`
|
|
236
180
|
}
|
|
237
181
|
},
|
|
238
182
|
// nonce={nonce}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
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
|
|
4
|
+
"mappings": "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",
|
|
5
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
6
|
}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
3
|
+
import { useEvent } from "@tamagui/use-event";
|
|
4
|
+
import NextHead from "next/head";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { memo, useEffect, useMemo, useState } from "react";
|
|
7
|
+
import { MEDIA, colorSchemes } from "./constants.mjs";
|
|
8
|
+
import { getSystemTheme, getTheme } from "./helpers.mjs";
|
|
9
|
+
import { ThemeSettingContext } from "./ThemeSettingContext.mjs";
|
|
10
|
+
var NextThemeProvider = /* @__PURE__ */memo(function (param) {
|
|
11
|
+
var {
|
|
12
|
+
forcedTheme,
|
|
13
|
+
disableTransitionOnChange = !1,
|
|
14
|
+
enableSystem = !0,
|
|
15
|
+
enableColorScheme = !0,
|
|
16
|
+
storageKey = "theme",
|
|
17
|
+
themes = colorSchemes,
|
|
18
|
+
defaultTheme = enableSystem ? "system" : "light",
|
|
19
|
+
attribute = "class",
|
|
20
|
+
skipNextHead,
|
|
21
|
+
onChangeTheme,
|
|
22
|
+
value = {
|
|
23
|
+
dark: "t_dark",
|
|
24
|
+
light: "t_light"
|
|
25
|
+
},
|
|
26
|
+
children
|
|
27
|
+
} = param,
|
|
28
|
+
[theme, setThemeState] = useState(function () {
|
|
29
|
+
return getTheme(storageKey, defaultTheme);
|
|
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);
|
|
91
|
+
}
|
|
92
|
+
}, [enableColorScheme, theme, resolvedTheme, forcedTheme]);
|
|
93
|
+
var toggle = useEvent(function () {
|
|
94
|
+
var order = resolvedTheme === "dark" ? ["system", "light", "dark"] : ["system", "dark", "light"],
|
|
95
|
+
next = order[(order.indexOf(theme) + 1) % order.length];
|
|
96
|
+
set(next);
|
|
97
|
+
}),
|
|
98
|
+
systemTheme = enableSystem ? resolvedTheme : void 0,
|
|
99
|
+
contextValue = useMemo(function () {
|
|
100
|
+
var value2 = {
|
|
101
|
+
theme,
|
|
102
|
+
current: theme,
|
|
103
|
+
set,
|
|
104
|
+
toggle,
|
|
105
|
+
forcedTheme,
|
|
106
|
+
resolvedTheme: theme === "system" ? resolvedTheme : theme,
|
|
107
|
+
themes: enableSystem ? [...themes, "system"] : themes,
|
|
108
|
+
systemTheme
|
|
109
|
+
};
|
|
110
|
+
return value2;
|
|
111
|
+
}, [theme, set, toggle, forcedTheme, resolvedTheme, enableSystem, themes, systemTheme]);
|
|
112
|
+
return /* @__PURE__ */_jsxs(ThemeSettingContext.Provider, {
|
|
113
|
+
value: contextValue,
|
|
114
|
+
children: [/* @__PURE__ */_jsx(ThemeScript, {
|
|
115
|
+
forcedTheme,
|
|
116
|
+
storageKey,
|
|
117
|
+
systemTheme: resolvedTheme,
|
|
118
|
+
attribute,
|
|
119
|
+
value,
|
|
120
|
+
enableSystem,
|
|
121
|
+
defaultTheme,
|
|
122
|
+
attrs,
|
|
123
|
+
skipNextHead
|
|
124
|
+
}), /* because on SSR we re-run and can avoid whole tree re-render */
|
|
125
|
+
useMemo(function () {
|
|
126
|
+
return children;
|
|
127
|
+
}, [children])]
|
|
128
|
+
});
|
|
129
|
+
}),
|
|
130
|
+
ThemeScript = /* @__PURE__ */memo(function (param) {
|
|
131
|
+
var {
|
|
132
|
+
forcedTheme,
|
|
133
|
+
storageKey,
|
|
134
|
+
attribute,
|
|
135
|
+
enableSystem,
|
|
136
|
+
defaultTheme,
|
|
137
|
+
value,
|
|
138
|
+
attrs,
|
|
139
|
+
skipNextHead
|
|
140
|
+
} = param,
|
|
141
|
+
optimization = function () {
|
|
142
|
+
if (attribute === "class") {
|
|
143
|
+
var removeClasses = attrs.map(function (t) {
|
|
144
|
+
return `d.remove('${t}')`;
|
|
145
|
+
}).join(";");
|
|
146
|
+
return `var d=document.documentElement.classList;${removeClasses};`;
|
|
147
|
+
}
|
|
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
|
+
},
|
|
155
|
+
defaultSystem = defaultTheme === "system",
|
|
156
|
+
contents = /* @__PURE__ */_jsx(_Fragment, {
|
|
157
|
+
children: forcedTheme ? /* @__PURE__ */_jsx("script", {
|
|
158
|
+
dangerouslySetInnerHTML: {
|
|
159
|
+
// These are minified via Terser and then updated by hand, don't recommend
|
|
160
|
+
__html: `!function(){${optimization}${updateDOM(forcedTheme)}}()`
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
// nonce={nonce}
|
|
164
|
+
"next-themes-script") : enableSystem ? /* @__PURE__ */_jsx("script", {
|
|
165
|
+
dangerouslySetInnerHTML: {
|
|
166
|
+
__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){}}()`
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
// nonce={nonce}
|
|
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;
|
|
183
|
+
});
|
|
184
|
+
export { NextThemeProvider };
|
|
185
|
+
//# sourceMappingURL=NextThemeProvider.native.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useIsomorphicLayoutEffect","useEvent","NextHead","React","memo","useEffect","useMemo","useState","MEDIA","colorSchemes","getSystemTheme","getTheme","ThemeSettingContext","NextThemeProvider","param","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","arguments","length","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","systemTheme","contextValue","value2","current","Provider","ThemeScript","optimization","removeClasses","map","t","join","literal","val","defaultSystem","contents","dangerouslySetInnerHTML","__html","JSON","stringify"],"sources":["../../src/NextThemeProvider.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","ThemeSettingContext","createContext","toggle","set","_","themes"],"sources":["../../src/ThemeSettingContext.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAIX,IAAAC,mBAAM,kBAA4BD,KAAA,CAA6BE,aAAA;EACpEC,MAAA,EAAQ,SAAAA,CAAA,EAAM,CAAC;EACfC,GAAA,EAAK,SAAAA,CAAOC,CAAA,GAAC;EACbC,MAAA,EAAQ;AACV,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["constants","colorSchemes"],"sources":["../../src/constants.tsx"],"sourcesContent":[null],"mappings":"AAAO,IAAAA,SAAM,KAAY;EAACC,YACb,I","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { MEDIA } from "./constants.mjs";
|
|
2
|
+
var helpers = {},
|
|
3
|
+
getTheme = function (key, fallback) {
|
|
4
|
+
if (!(typeof window > "u")) {
|
|
5
|
+
var theme;
|
|
6
|
+
try {
|
|
7
|
+
theme = localStorage.getItem(key) || void 0;
|
|
8
|
+
} catch {}
|
|
9
|
+
return theme || fallback;
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
getSystemTheme = function (e) {
|
|
13
|
+
e || (e = window.matchMedia(MEDIA));
|
|
14
|
+
var isDark = e.matches,
|
|
15
|
+
systemTheme = isDark ? "dark" : "light";
|
|
16
|
+
return systemTheme;
|
|
17
|
+
};
|
|
18
|
+
export { getSystemTheme, getTheme, helpers };
|
|
19
|
+
//# sourceMappingURL=helpers.native.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MEDIA","helpers","getTheme","key","fallback","window","theme","localStorage","getItem"],"sources":["../../src/helpers.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,QAAa;AAEf,IAAAC,OAAM,KAAU;EAACC,QAGX,YAAAA,CAAyBC,GAAA,EAAAC,QAAsB;IAC1D,IAAI,SAAOC,MAAA,GAAW,GAAa;MACnC,IAAIC,KAAA;MACJ,IAAI;QACFA,KAAA,GAAQC,YAAa,CAAAC,OAAQ,CAAAL,GAAG,KAAK;MACvC,QAAY,CAEZ;MACA,OAAOG,KAAA,IAASF,QAAA;IAClB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
|
|
@@ -1,34 +1,11 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { isClient } from "@tamagui/constants";
|
|
3
|
-
function _array_like_to_array(arr, len) {
|
|
4
|
-
(len == null || len > arr.length) && (len = arr.length);
|
|
5
|
-
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
6
|
-
return arr2;
|
|
7
|
-
}
|
|
8
|
-
function _array_without_holes(arr) {
|
|
9
|
-
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
10
|
-
}
|
|
11
|
-
function _iterable_to_array(iter) {
|
|
12
|
-
if (typeof Symbol < "u" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
13
|
-
}
|
|
14
|
-
function _non_iterable_spread() {
|
|
15
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
16
|
-
}
|
|
17
|
-
function _to_consumable_array(arr) {
|
|
18
|
-
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
19
|
-
}
|
|
20
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
21
|
-
if (o) {
|
|
22
|
-
if (typeof o == "string") return _array_like_to_array(o, minLen);
|
|
23
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
24
|
-
if (n === "Object" && o.constructor && (n = o.constructor.name), n === "Map" || n === "Set") return Array.from(n);
|
|
25
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
3
|
var useRootTheme = function() {
|
|
29
|
-
var
|
|
4
|
+
var { fallback = "light" } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, initialVal = fallback;
|
|
30
5
|
if (isClient) {
|
|
31
|
-
var classes =
|
|
6
|
+
var classes = [
|
|
7
|
+
...document.documentElement.classList
|
|
8
|
+
];
|
|
32
9
|
initialVal = classes.includes("t_dark") ? "dark" : classes.includes("t_light") ? "light" : fallback;
|
|
33
10
|
}
|
|
34
11
|
return React.useState(initialVal);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/tamagui/code/packages/next-theme/src/useRootTheme.tsx"],
|
|
4
|
-
"mappings": "AAAA,OAAOA,WAAW;AAClB,SAASC,gBAAgB
|
|
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
5
|
"names": ["React", "isClient", "useRootTheme", "fallback", "initialVal", "classes", "document", "documentElement", "classList", "includes", "useState"]
|
|
6
6
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
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;
|
|
8
|
+
if (isClient) {
|
|
9
|
+
var classes = [...document.documentElement.classList];
|
|
10
|
+
initialVal = classes.includes("t_dark") ? "dark" : classes.includes("t_light") ? "light" : fallback;
|
|
11
|
+
}
|
|
12
|
+
return React.useState(initialVal);
|
|
13
|
+
};
|
|
14
|
+
export { useRootTheme };
|
|
15
|
+
//# sourceMappingURL=useRootTheme.native.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","isClient","useRootTheme","fallback","arguments","length","initialVal","classes","document","documentElement","classList","includes"],"sources":["../../src/useRootTheme.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAClB,SAASC,QAAA,QAAgB;AAIlB,IAAAC,YAAM,YAAAA,CAAA,EAAkB;EAC7B,IAAI;MAAAC,QAAA,GAAa;IAAA,IAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;IAAAE,UAAA,GAAAH,QAAA;EAEjB,IAAIF,QAAA,EAAU;IAEZ,IAAAM,OAAM,IACN,GAAAC,QAAa,CAAAC,eAAQ,CAASC,SAAQ,CAKxC;IAEAJ,UAAO,GAAMC,OAAsB,CAAAI,QAAA,CAAU,qBAAAJ,OAAA,CAAAI,QAAA,wBAAAR,QAAA;EAC/C","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ThemeSettingContext } from "./ThemeSettingContext.mjs";
|
|
3
|
+
var useTheme = function () {
|
|
4
|
+
return React.useContext(ThemeSettingContext);
|
|
5
|
+
},
|
|
6
|
+
useThemeSetting = function () {
|
|
7
|
+
return React.useContext(ThemeSettingContext);
|
|
8
|
+
};
|
|
9
|
+
export { useTheme, useThemeSetting };
|
|
10
|
+
//# sourceMappingURL=useTheme.native.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","ThemeSettingContext","useTheme"],"sources":["../../src/useTheme.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAElB,SAASC,mBAAA,QAA2B;AAM7B,IAAAC,QAAM,YAAAA,CAAA,EAAiB","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/next-theme",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.111.0",
|
|
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.
|
|
24
|
-
"@tamagui/use-event": "1.
|
|
23
|
+
"@tamagui/constants": "1.111.0",
|
|
24
|
+
"@tamagui/use-event": "1.111.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@tamagui/build": "1.
|
|
27
|
+
"@tamagui/build": "1.111.0",
|
|
28
28
|
"react": "^18.2.0 || ^19.0.0"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|