@tamagui/next-theme 1.142.0 → 1.143.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.cjs +13 -20
- package/dist/cjs/NextThemeProvider.js +15 -27
- package/dist/cjs/NextThemeProvider.js.map +2 -2
- package/dist/cjs/ThemeSettingContext.cjs +6 -17
- package/dist/cjs/ThemeSettingContext.js +4 -12
- package/dist/cjs/ThemeSettingContext.js.map +2 -2
- package/dist/cjs/useRootTheme.cjs +8 -19
- package/dist/cjs/useRootTheme.js +6 -14
- package/dist/cjs/useRootTheme.js.map +2 -2
- package/dist/cjs/useTheme.cjs +7 -18
- package/dist/cjs/useTheme.js +4 -12
- package/dist/cjs/useTheme.js.map +2 -2
- package/dist/esm/NextThemeProvider.js +16 -28
- package/dist/esm/NextThemeProvider.js.map +1 -1
- package/dist/esm/NextThemeProvider.mjs +14 -21
- package/dist/esm/NextThemeProvider.mjs.map +1 -1
- package/dist/esm/ThemeSettingContext.js +2 -2
- package/dist/esm/ThemeSettingContext.js.map +1 -1
- package/dist/esm/ThemeSettingContext.mjs +2 -2
- package/dist/esm/ThemeSettingContext.mjs.map +1 -1
- package/dist/esm/useRootTheme.js +4 -4
- package/dist/esm/useRootTheme.js.map +1 -1
- package/dist/esm/useRootTheme.mjs +4 -4
- package/dist/esm/useRootTheme.mjs.map +1 -1
- package/dist/esm/useTheme.js +2 -2
- package/dist/esm/useTheme.js.map +1 -1
- package/dist/esm/useTheme.mjs +3 -3
- package/dist/esm/useTheme.mjs.map +1 -1
- package/package.json +5 -5
- package/src/NextThemeProvider.tsx +33 -45
- package/src/ThemeSettingContext.tsx +6 -7
- package/src/useRootTheme.tsx +6 -7
- package/src/useTheme.tsx +3 -3
- package/types/NextThemeProvider.d.ts.map +1 -1
- package/types/ThemeSettingContext.d.ts +2 -2
- package/types/ThemeSettingContext.d.ts.map +3 -3
- package/types/useRootTheme.d.ts +2 -2
- package/types/useRootTheme.d.ts.map +2 -2
- package/types/useTheme.d.ts.map +1 -1
|
@@ -36,7 +36,7 @@ __export(NextThemeProvider_exports, {
|
|
|
36
36
|
module.exports = __toCommonJS(NextThemeProvider_exports);
|
|
37
37
|
var import_constants = require("@tamagui/constants"),
|
|
38
38
|
import_use_event = require("@tamagui/use-event"),
|
|
39
|
-
|
|
39
|
+
import_script = __toESM(require("next/script"), 1),
|
|
40
40
|
React = __toESM(require("react"), 1),
|
|
41
41
|
import_react = require("react"),
|
|
42
42
|
import_constants2 = require("./constants.cjs"),
|
|
@@ -139,7 +139,7 @@ const NextThemeProvider = (0, import_react.memo)(({
|
|
|
139
139
|
defaultTheme,
|
|
140
140
|
attrs,
|
|
141
141
|
skipNextHead
|
|
142
|
-
}),
|
|
142
|
+
}), children]
|
|
143
143
|
});
|
|
144
144
|
}),
|
|
145
145
|
ThemeScript = (0, import_react.memo)(({
|
|
@@ -159,23 +159,16 @@ const NextThemeProvider = (0, import_react.memo)(({
|
|
|
159
159
|
return attribute === "class" ? `d.add(${val})` : `d.setAttribute('${attribute}', ${val})`;
|
|
160
160
|
},
|
|
161
161
|
defaultSystem = defaultTheme === "system",
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
dangerouslySetInnerHTML: {
|
|
174
|
-
__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){}}();`
|
|
175
|
-
}
|
|
176
|
-
}, "next-themes-script")
|
|
177
|
-
});
|
|
178
|
-
return skipNextHead ? contents : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_head.default, {
|
|
179
|
-
children: contents
|
|
162
|
+
scriptContent = forcedTheme ? `!function(){${optimization}${updateDOM(forcedTheme)}}()` : enableSystem ? `!function(){try {${optimization}var e=localStorage.getItem('${storageKey}');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)}}${defaultSystem ? "" : `else{${updateDOM(defaultTheme)}}`}}catch(e){}}()` : `!function(){try{${optimization}var e=localStorage.getItem("${storageKey}");if(e){${value ? `var x=${JSON.stringify(value)};` : ""}${updateDOM(value ? "x[e]" : "e", !0)}}else{${updateDOM(defaultTheme)};}}catch(t){}}();`;
|
|
163
|
+
return skipNextHead ? /* @__PURE__ */(0, import_jsx_runtime.jsx)("script", {
|
|
164
|
+
dangerouslySetInnerHTML: {
|
|
165
|
+
__html: scriptContent
|
|
166
|
+
}
|
|
167
|
+
}, "next-themes-script") : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_script.default, {
|
|
168
|
+
id: "next-themes-script",
|
|
169
|
+
strategy: "beforeInteractive",
|
|
170
|
+
dangerouslySetInnerHTML: {
|
|
171
|
+
__html: scriptContent
|
|
172
|
+
}
|
|
180
173
|
});
|
|
181
174
|
}, (prevProps, nextProps) => prevProps.forcedTheme === nextProps.forcedTheme);
|
|
@@ -25,7 +25,7 @@ __export(NextThemeProvider_exports, {
|
|
|
25
25
|
NextThemeProvider: () => NextThemeProvider
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(NextThemeProvider_exports);
|
|
28
|
-
var import_constants = require("@tamagui/constants"), import_use_event = require("@tamagui/use-event"),
|
|
28
|
+
var import_constants = require("@tamagui/constants"), import_use_event = require("@tamagui/use-event"), import_script = __toESM(require("next/script"), 1), React = __toESM(require("react"), 1), import_react = require("react"), import_constants2 = require("./constants"), import_helpers = require("./helpers"), import_ThemeSettingContext = require("./ThemeSettingContext"), import_jsx_runtime = require("react/jsx-runtime");
|
|
29
29
|
const NextThemeProvider = (0, import_react.memo)(
|
|
30
30
|
({
|
|
31
31
|
forcedTheme,
|
|
@@ -135,7 +135,7 @@ const NextThemeProvider = (0, import_react.memo)(
|
|
|
135
135
|
skipNextHead
|
|
136
136
|
}
|
|
137
137
|
),
|
|
138
|
-
|
|
138
|
+
children
|
|
139
139
|
] });
|
|
140
140
|
}
|
|
141
141
|
), ThemeScript = (0, import_react.memo)(
|
|
@@ -153,37 +153,25 @@ const NextThemeProvider = (0, import_react.memo)(
|
|
|
153
153
|
name = value?.[name] || name;
|
|
154
154
|
const val = literal ? name : `'${name}'`;
|
|
155
155
|
return attribute === "class" ? `d.add(${val})` : `d.setAttribute('${attribute}', ${val})`;
|
|
156
|
-
}, defaultSystem = defaultTheme === "system",
|
|
156
|
+
}, defaultSystem = defaultTheme === "system", scriptContent = forcedTheme ? `!function(){${optimization}${updateDOM(forcedTheme)}}()` : enableSystem ? `!function(){try {${optimization}var e=localStorage.getItem('${storageKey}');if("system"===e||(!e&&${defaultSystem})){var t="${import_constants2.MEDIA}",m=window.matchMedia(t);m.media!==t||m.matches?${updateDOM(
|
|
157
|
+
"dark"
|
|
158
|
+
)}:${updateDOM("light")}}else if(e){${value ? `var x=${JSON.stringify(value)};` : ""}${updateDOM(value ? "x[e]" : "e", !0)}}${defaultSystem ? "" : `else{${updateDOM(defaultTheme)}}`}}catch(e){}}()` : `!function(){try{${optimization}var e=localStorage.getItem("${storageKey}");if(e){${value ? `var x=${JSON.stringify(value)};` : ""}${updateDOM(value ? "x[e]" : "e", !0)}}else{${updateDOM(
|
|
159
|
+
defaultTheme
|
|
160
|
+
)};}}catch(t){}}();`;
|
|
161
|
+
return skipNextHead ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
157
162
|
"script",
|
|
158
163
|
{
|
|
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
|
-
"next-themes-script"
|
|
165
|
-
) : enableSystem ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
166
|
-
"script",
|
|
167
|
-
{
|
|
168
|
-
dangerouslySetInnerHTML: {
|
|
169
|
-
__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(
|
|
170
|
-
"dark"
|
|
171
|
-
)}:${updateDOM("light")}}else if(e) ${value ? `var x=${JSON.stringify(value)};` : ""}${updateDOM(value ? "x[e]" : "e", !0)}}catch(e){}}()`
|
|
172
|
-
}
|
|
164
|
+
dangerouslySetInnerHTML: { __html: scriptContent }
|
|
173
165
|
},
|
|
174
166
|
"next-themes-script"
|
|
175
167
|
) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
176
|
-
|
|
168
|
+
import_script.default,
|
|
177
169
|
{
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
},
|
|
184
|
-
"next-themes-script"
|
|
185
|
-
) });
|
|
186
|
-
return skipNextHead ? contents : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_head.default, { children: contents });
|
|
170
|
+
id: "next-themes-script",
|
|
171
|
+
strategy: "beforeInteractive",
|
|
172
|
+
dangerouslySetInnerHTML: { __html: scriptContent }
|
|
173
|
+
}
|
|
174
|
+
);
|
|
187
175
|
},
|
|
188
176
|
(prevProps, nextProps) => prevProps.forcedTheme === nextProps.forcedTheme
|
|
189
177
|
);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/NextThemeProvider.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA0C,+BAC1C,mBAAyB,+BACzB,
|
|
5
|
-
"names": ["import_constants", "theme", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["import_constants", "theme", "Script"]
|
|
6
6
|
}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var
|
|
6
|
-
__hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
5
|
var __export = (target, all) => {
|
|
8
6
|
for (var name in all) __defProp(target, name, {
|
|
9
7
|
get: all[name],
|
|
@@ -17,25 +15,16 @@ var __export = (target, all) => {
|
|
|
17
15
|
});
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
26
|
-
value: mod,
|
|
27
|
-
enumerable: !0
|
|
28
|
-
}) : target, mod)),
|
|
29
|
-
__toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
30
|
-
value: !0
|
|
31
|
-
}), mod);
|
|
18
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
+
value: !0
|
|
20
|
+
}), mod);
|
|
32
21
|
var ThemeSettingContext_exports = {};
|
|
33
22
|
__export(ThemeSettingContext_exports, {
|
|
34
23
|
ThemeSettingContext: () => ThemeSettingContext
|
|
35
24
|
});
|
|
36
25
|
module.exports = __toCommonJS(ThemeSettingContext_exports);
|
|
37
|
-
var import_react =
|
|
38
|
-
const ThemeSettingContext = import_react.
|
|
26
|
+
var import_react = require("react");
|
|
27
|
+
const ThemeSettingContext = (0, import_react.createContext)({
|
|
39
28
|
toggle: () => {},
|
|
40
29
|
set: _ => {},
|
|
41
30
|
themes: []
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
5
|
var __export = (target, all) => {
|
|
7
6
|
for (var name in all)
|
|
8
7
|
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
@@ -12,21 +11,14 @@ var __export = (target, all) => {
|
|
|
12
11
|
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
12
|
return to;
|
|
14
13
|
};
|
|
15
|
-
var
|
|
16
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
17
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
18
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
19
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
20
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
21
|
-
mod
|
|
22
|
-
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
23
15
|
var ThemeSettingContext_exports = {};
|
|
24
16
|
__export(ThemeSettingContext_exports, {
|
|
25
17
|
ThemeSettingContext: () => ThemeSettingContext
|
|
26
18
|
});
|
|
27
19
|
module.exports = __toCommonJS(ThemeSettingContext_exports);
|
|
28
|
-
var import_react =
|
|
29
|
-
const ThemeSettingContext = import_react.
|
|
20
|
+
var import_react = require("react");
|
|
21
|
+
const ThemeSettingContext = (0, import_react.createContext)({
|
|
30
22
|
toggle: () => {
|
|
31
23
|
},
|
|
32
24
|
set: (_) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ThemeSettingContext.tsx"],
|
|
4
|
-
"mappings": "
|
|
5
|
-
"names": [
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA4C;AAIrC,MAAM,0BAA8C,4BAA6B;AAAA,EACtF,QAAQ,MAAM;AAAA,EAAC;AAAA,EACf,KAAK,CAAC,MAAM;AAAA,EAAC;AAAA,EACb,QAAQ,CAAC;AACX,CAAC;",
|
|
5
|
+
"names": []
|
|
6
6
|
}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var
|
|
6
|
-
__hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
5
|
var __export = (target, all) => {
|
|
8
6
|
for (var name in all) __defProp(target, name, {
|
|
9
7
|
get: all[name],
|
|
@@ -17,32 +15,23 @@ var __export = (target, all) => {
|
|
|
17
15
|
});
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
26
|
-
value: mod,
|
|
27
|
-
enumerable: !0
|
|
28
|
-
}) : target, mod)),
|
|
29
|
-
__toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
30
|
-
value: !0
|
|
31
|
-
}), mod);
|
|
18
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
+
value: !0
|
|
20
|
+
}), mod);
|
|
32
21
|
var useRootTheme_exports = {};
|
|
33
22
|
__export(useRootTheme_exports, {
|
|
34
23
|
useRootTheme: () => useRootTheme
|
|
35
24
|
});
|
|
36
25
|
module.exports = __toCommonJS(useRootTheme_exports);
|
|
37
|
-
var import_react =
|
|
26
|
+
var import_react = require("react"),
|
|
38
27
|
import_constants = require("@tamagui/constants");
|
|
39
28
|
const useRootTheme = ({
|
|
40
29
|
fallback = "light"
|
|
41
30
|
} = {}) => {
|
|
42
31
|
let initialVal = fallback;
|
|
43
32
|
if (import_constants.isClient) {
|
|
44
|
-
const classes =
|
|
45
|
-
initialVal = classes.
|
|
33
|
+
const classes = document.documentElement.classList;
|
|
34
|
+
initialVal = classes.contains("t_dark") ? "dark" : classes.contains("t_light") ? "light" : fallback;
|
|
46
35
|
}
|
|
47
|
-
return import_react.
|
|
36
|
+
return (0, import_react.useState)(initialVal);
|
|
48
37
|
};
|
package/dist/cjs/useRootTheme.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
5
|
var __export = (target, all) => {
|
|
7
6
|
for (var name in all)
|
|
8
7
|
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
@@ -12,28 +11,21 @@ var __export = (target, all) => {
|
|
|
12
11
|
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
12
|
return to;
|
|
14
13
|
};
|
|
15
|
-
var
|
|
16
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
17
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
18
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
19
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
20
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
21
|
-
mod
|
|
22
|
-
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
23
15
|
var useRootTheme_exports = {};
|
|
24
16
|
__export(useRootTheme_exports, {
|
|
25
17
|
useRootTheme: () => useRootTheme
|
|
26
18
|
});
|
|
27
19
|
module.exports = __toCommonJS(useRootTheme_exports);
|
|
28
|
-
var import_react =
|
|
20
|
+
var import_react = require("react"), import_constants = require("@tamagui/constants");
|
|
29
21
|
const useRootTheme = ({
|
|
30
22
|
fallback = "light"
|
|
31
23
|
} = {}) => {
|
|
32
24
|
let initialVal = fallback;
|
|
33
25
|
if (import_constants.isClient) {
|
|
34
|
-
const classes =
|
|
35
|
-
initialVal = classes.
|
|
26
|
+
const classes = document.documentElement.classList;
|
|
27
|
+
initialVal = classes.contains("t_dark") ? "dark" : classes.contains("t_light") ? "light" : fallback;
|
|
36
28
|
}
|
|
37
|
-
return import_react.
|
|
29
|
+
return (0, import_react.useState)(initialVal);
|
|
38
30
|
};
|
|
39
31
|
//# sourceMappingURL=useRootTheme.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/useRootTheme.tsx"],
|
|
4
|
-
"mappings": "
|
|
5
|
-
"names": [
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA6D,kBAC7D,mBAAyB;AAIlB,MAAM,eAAe,CAAC;AAAA,EAC3B,WAAW;AACb,IAAgC,CAAC,MAG5B;AACH,MAAI,aAAa;AAEjB,MAAI,2BAAU;AACZ,UAAM,UAAU,SAAS,gBAAgB;AACzC,iBAAa,QAAQ,SAAS,QAAQ,IAClC,SACA,QAAQ,SAAS,SAAS,IACxB,UACA;AAAA,EACR;AAEA,aAAO,uBAAsB,UAAU;AACzC;",
|
|
5
|
+
"names": []
|
|
6
6
|
}
|
package/dist/cjs/useTheme.cjs
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var
|
|
6
|
-
__hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
5
|
var __export = (target, all) => {
|
|
8
6
|
for (var name in all) __defProp(target, name, {
|
|
9
7
|
get: all[name],
|
|
@@ -17,25 +15,16 @@ var __export = (target, all) => {
|
|
|
17
15
|
});
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
26
|
-
value: mod,
|
|
27
|
-
enumerable: !0
|
|
28
|
-
}) : target, mod)),
|
|
29
|
-
__toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
30
|
-
value: !0
|
|
31
|
-
}), mod);
|
|
18
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
+
value: !0
|
|
20
|
+
}), mod);
|
|
32
21
|
var useTheme_exports = {};
|
|
33
22
|
__export(useTheme_exports, {
|
|
34
23
|
useTheme: () => useTheme,
|
|
35
24
|
useThemeSetting: () => useThemeSetting
|
|
36
25
|
});
|
|
37
26
|
module.exports = __toCommonJS(useTheme_exports);
|
|
38
|
-
var import_react =
|
|
27
|
+
var import_react = require("react"),
|
|
39
28
|
import_ThemeSettingContext = require("./ThemeSettingContext.cjs");
|
|
40
|
-
const useTheme = () => import_react.
|
|
41
|
-
useThemeSetting = () => import_react.
|
|
29
|
+
const useTheme = () => (0, import_react.useContext)(import_ThemeSettingContext.ThemeSettingContext),
|
|
30
|
+
useThemeSetting = () => (0, import_react.useContext)(import_ThemeSettingContext.ThemeSettingContext);
|
package/dist/cjs/useTheme.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
5
|
var __export = (target, all) => {
|
|
7
6
|
for (var name in all)
|
|
8
7
|
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
@@ -12,20 +11,13 @@ var __export = (target, all) => {
|
|
|
12
11
|
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
12
|
return to;
|
|
14
13
|
};
|
|
15
|
-
var
|
|
16
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
17
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
18
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
19
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
20
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
21
|
-
mod
|
|
22
|
-
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
23
15
|
var useTheme_exports = {};
|
|
24
16
|
__export(useTheme_exports, {
|
|
25
17
|
useTheme: () => useTheme,
|
|
26
18
|
useThemeSetting: () => useThemeSetting
|
|
27
19
|
});
|
|
28
20
|
module.exports = __toCommonJS(useTheme_exports);
|
|
29
|
-
var import_react =
|
|
30
|
-
const useTheme = () => import_react.
|
|
21
|
+
var import_react = require("react"), import_ThemeSettingContext = require("./ThemeSettingContext");
|
|
22
|
+
const useTheme = () => (0, import_react.useContext)(import_ThemeSettingContext.ThemeSettingContext), useThemeSetting = () => (0, import_react.useContext)(import_ThemeSettingContext.ThemeSettingContext);
|
|
31
23
|
//# sourceMappingURL=useTheme.js.map
|
package/dist/cjs/useTheme.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/useTheme.tsx"],
|
|
4
|
-
"mappings": "
|
|
5
|
-
"names": [
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA2B,kBAE3B,6BAAoC;AAO7B,MAAM,WAAW,UAAqB,yBAAW,8CAAmB,GAE9D,kBAAkB,UAAqB,yBAAW,8CAAmB;",
|
|
5
|
+
"names": []
|
|
6
6
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
2
2
|
import { useEvent } from "@tamagui/use-event";
|
|
3
|
-
import
|
|
3
|
+
import Script from "next/script";
|
|
4
4
|
import * as React from "react";
|
|
5
5
|
import { memo, useEffect, useMemo, useState } from "react";
|
|
6
6
|
import { MEDIA, colorSchemes } from "./constants";
|
|
7
7
|
import { getSystemTheme, getTheme } from "./helpers";
|
|
8
8
|
import { ThemeSettingContext } from "./ThemeSettingContext";
|
|
9
|
-
import {
|
|
9
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
10
|
const NextThemeProvider = memo(
|
|
11
11
|
({
|
|
12
12
|
forcedTheme,
|
|
@@ -116,7 +116,7 @@ const NextThemeProvider = memo(
|
|
|
116
116
|
skipNextHead
|
|
117
117
|
}
|
|
118
118
|
),
|
|
119
|
-
|
|
119
|
+
children
|
|
120
120
|
] });
|
|
121
121
|
}
|
|
122
122
|
), ThemeScript = memo(
|
|
@@ -134,37 +134,25 @@ const NextThemeProvider = memo(
|
|
|
134
134
|
name = value?.[name] || name;
|
|
135
135
|
const val = literal ? name : `'${name}'`;
|
|
136
136
|
return attribute === "class" ? `d.add(${val})` : `d.setAttribute('${attribute}', ${val})`;
|
|
137
|
-
}, defaultSystem = defaultTheme === "system",
|
|
137
|
+
}, defaultSystem = defaultTheme === "system", 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(
|
|
138
|
+
"dark"
|
|
139
|
+
)}:${updateDOM("light")}}else if(e){${value ? `var x=${JSON.stringify(value)};` : ""}${updateDOM(value ? "x[e]" : "e", !0)}}${defaultSystem ? "" : `else{${updateDOM(defaultTheme)}}`}}catch(e){}}()` : `!function(){try{${optimization}var e=localStorage.getItem("${storageKey}");if(e){${value ? `var x=${JSON.stringify(value)};` : ""}${updateDOM(value ? "x[e]" : "e", !0)}}else{${updateDOM(
|
|
140
|
+
defaultTheme
|
|
141
|
+
)};}}catch(t){}}();`;
|
|
142
|
+
return skipNextHead ? /* @__PURE__ */ jsx(
|
|
138
143
|
"script",
|
|
139
144
|
{
|
|
140
|
-
dangerouslySetInnerHTML: {
|
|
141
|
-
// These are minified via Terser and then updated by hand, don't recommend
|
|
142
|
-
__html: `!function(){${optimization}${updateDOM(forcedTheme)}}()`
|
|
143
|
-
}
|
|
144
|
-
},
|
|
145
|
-
"next-themes-script"
|
|
146
|
-
) : enableSystem ? /* @__PURE__ */ jsx(
|
|
147
|
-
"script",
|
|
148
|
-
{
|
|
149
|
-
dangerouslySetInnerHTML: {
|
|
150
|
-
__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(
|
|
151
|
-
"dark"
|
|
152
|
-
)}:${updateDOM("light")}}else if(e) ${value ? `var x=${JSON.stringify(value)};` : ""}${updateDOM(value ? "x[e]" : "e", !0)}}catch(e){}}()`
|
|
153
|
-
}
|
|
145
|
+
dangerouslySetInnerHTML: { __html: scriptContent }
|
|
154
146
|
},
|
|
155
147
|
"next-themes-script"
|
|
156
148
|
) : /* @__PURE__ */ jsx(
|
|
157
|
-
|
|
149
|
+
Script,
|
|
158
150
|
{
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
},
|
|
165
|
-
"next-themes-script"
|
|
166
|
-
) });
|
|
167
|
-
return skipNextHead ? contents : /* @__PURE__ */ jsx(NextHead, { children: contents });
|
|
151
|
+
id: "next-themes-script",
|
|
152
|
+
strategy: "beforeInteractive",
|
|
153
|
+
dangerouslySetInnerHTML: { __html: scriptContent }
|
|
154
|
+
}
|
|
155
|
+
);
|
|
168
156
|
},
|
|
169
157
|
(prevProps, nextProps) => prevProps.forcedTheme === nextProps.forcedTheme
|
|
170
158
|
);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/NextThemeProvider.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,iCAAiC;AAC1C,SAAS,gBAAgB;AACzB,OAAO,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["theme"]
|
|
6
6
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
2
2
|
import { useEvent } from "@tamagui/use-event";
|
|
3
|
-
import
|
|
3
|
+
import Script from "next/script";
|
|
4
4
|
import * as React from "react";
|
|
5
5
|
import { memo, useEffect, useMemo, useState } from "react";
|
|
6
6
|
import { MEDIA, colorSchemes } from "./constants.mjs";
|
|
7
7
|
import { getSystemTheme, getTheme } from "./helpers.mjs";
|
|
8
8
|
import { ThemeSettingContext } from "./ThemeSettingContext.mjs";
|
|
9
|
-
import {
|
|
9
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
10
|
const NextThemeProvider = memo(({
|
|
11
11
|
forcedTheme,
|
|
12
12
|
disableTransitionOnChange = !1,
|
|
@@ -103,7 +103,7 @@ const NextThemeProvider = memo(({
|
|
|
103
103
|
defaultTheme,
|
|
104
104
|
attrs,
|
|
105
105
|
skipNextHead
|
|
106
|
-
}),
|
|
106
|
+
}), children]
|
|
107
107
|
});
|
|
108
108
|
}),
|
|
109
109
|
ThemeScript = memo(({
|
|
@@ -123,24 +123,17 @@ const NextThemeProvider = memo(({
|
|
|
123
123
|
return attribute === "class" ? `d.add(${val})` : `d.setAttribute('${attribute}', ${val})`;
|
|
124
124
|
},
|
|
125
125
|
defaultSystem = defaultTheme === "system",
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
dangerouslySetInnerHTML: {
|
|
138
|
-
__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){}}();`
|
|
139
|
-
}
|
|
140
|
-
}, "next-themes-script")
|
|
141
|
-
});
|
|
142
|
-
return skipNextHead ? contents : /* @__PURE__ */jsx(NextHead, {
|
|
143
|
-
children: contents
|
|
126
|
+
scriptContent = forcedTheme ? `!function(){${optimization}${updateDOM(forcedTheme)}}()` : enableSystem ? `!function(){try {${optimization}var e=localStorage.getItem('${storageKey}');if("system"===e||(!e&&${defaultSystem})){var t="${MEDIA}",m=window.matchMedia(t);m.media!==t||m.matches?${updateDOM("dark")}:${updateDOM("light")}}else if(e){${value ? `var x=${JSON.stringify(value)};` : ""}${updateDOM(value ? "x[e]" : "e", !0)}}${defaultSystem ? "" : `else{${updateDOM(defaultTheme)}}`}}catch(e){}}()` : `!function(){try{${optimization}var e=localStorage.getItem("${storageKey}");if(e){${value ? `var x=${JSON.stringify(value)};` : ""}${updateDOM(value ? "x[e]" : "e", !0)}}else{${updateDOM(defaultTheme)};}}catch(t){}}();`;
|
|
127
|
+
return skipNextHead ? /* @__PURE__ */jsx("script", {
|
|
128
|
+
dangerouslySetInnerHTML: {
|
|
129
|
+
__html: scriptContent
|
|
130
|
+
}
|
|
131
|
+
}, "next-themes-script") : /* @__PURE__ */jsx(Script, {
|
|
132
|
+
id: "next-themes-script",
|
|
133
|
+
strategy: "beforeInteractive",
|
|
134
|
+
dangerouslySetInnerHTML: {
|
|
135
|
+
__html: scriptContent
|
|
136
|
+
}
|
|
144
137
|
});
|
|
145
138
|
}, (prevProps, nextProps) => prevProps.forcedTheme === nextProps.forcedTheme);
|
|
146
139
|
export { NextThemeProvider };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useIsomorphicLayoutEffect","useEvent","
|
|
1
|
+
{"version":3,"names":["useIsomorphicLayoutEffect","useEvent","Script","React","memo","useEffect","useMemo","useState","MEDIA","colorSchemes","getSystemTheme","getTheme","ThemeSettingContext","jsx","jsxs","NextThemeProvider","forcedTheme","disableTransitionOnChange","enableSystem","enableColorScheme","storageKey","themes","defaultTheme","attribute","skipNextHead","onChangeTheme","value","dark","light","children","theme","setThemeState","resolvedTheme","setResolvedTheme","attrs","Object","values","handleMediaQuery","e","_","update","startTransition","handleChangeTheme","theme2","updateStorage","updateDOM","name","localStorage","setItem","resolved","replace","d","document","documentElement","classList","remove","add","setAttribute","media","window","matchMedia","addListener","removeListener","set","newTheme","handleStorage","key","newValue","addEventListener","removeEventListener","colorScheme","includes","matches","style","setProperty","toggle","order","next","indexOf","length","systemTheme","contextValue","current","Provider","ThemeScript","optimization","map","t","join","literal","val","defaultSystem","scriptContent","JSON","stringify","dangerouslySetInnerHTML","__html","id","strategy","prevProps","nextProps"],"sources":["../../src/NextThemeProvider.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ThemeSettingContext.tsx"],
|
|
4
|
-
"mappings": "AAAA,
|
|
4
|
+
"mappings": "AAAA,SAAS,qBAAmC;AAIrC,MAAM,sBAA8C,cAA6B;AAAA,EACtF,QAAQ,MAAM;AAAA,EAAC;AAAA,EACf,KAAK,CAAC,MAAM;AAAA,EAAC;AAAA,EACb,QAAQ,CAAC;AACX,CAAC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
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":[]}
|
package/dist/esm/useRootTheme.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useState } from "react";
|
|
2
2
|
import { isClient } from "@tamagui/constants";
|
|
3
3
|
const useRootTheme = ({
|
|
4
4
|
fallback = "light"
|
|
5
5
|
} = {}) => {
|
|
6
6
|
let initialVal = fallback;
|
|
7
7
|
if (isClient) {
|
|
8
|
-
const classes =
|
|
9
|
-
initialVal = classes.
|
|
8
|
+
const classes = document.documentElement.classList;
|
|
9
|
+
initialVal = classes.contains("t_dark") ? "dark" : classes.contains("t_light") ? "light" : fallback;
|
|
10
10
|
}
|
|
11
|
-
return
|
|
11
|
+
return useState(initialVal);
|
|
12
12
|
};
|
|
13
13
|
export {
|
|
14
14
|
useRootTheme
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/useRootTheme.tsx"],
|
|
4
|
-
"mappings": "AAAA,
|
|
4
|
+
"mappings": "AAAA,SAAS,gBAAoD;AAC7D,SAAS,gBAAgB;AAIlB,MAAM,eAAe,CAAC;AAAA,EAC3B,WAAW;AACb,IAAgC,CAAC,MAG5B;AACH,MAAI,aAAa;AAEjB,MAAI,UAAU;AACZ,UAAM,UAAU,SAAS,gBAAgB;AACzC,iBAAa,QAAQ,SAAS,QAAQ,IAClC,SACA,QAAQ,SAAS,SAAS,IACxB,UACA;AAAA,EACR;AAEA,SAAO,SAAsB,UAAU;AACzC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useState } from "react";
|
|
2
2
|
import { isClient } from "@tamagui/constants";
|
|
3
3
|
const useRootTheme = ({
|
|
4
4
|
fallback = "light"
|
|
5
5
|
} = {}) => {
|
|
6
6
|
let initialVal = fallback;
|
|
7
7
|
if (isClient) {
|
|
8
|
-
const classes =
|
|
9
|
-
initialVal = classes.
|
|
8
|
+
const classes = document.documentElement.classList;
|
|
9
|
+
initialVal = classes.contains("t_dark") ? "dark" : classes.contains("t_light") ? "light" : fallback;
|
|
10
10
|
}
|
|
11
|
-
return
|
|
11
|
+
return useState(initialVal);
|
|
12
12
|
};
|
|
13
13
|
export { useRootTheme };
|
|
14
14
|
//# sourceMappingURL=useRootTheme.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useState","isClient","useRootTheme","fallback","initialVal","classes","document","documentElement","classList","contains"],"sources":["../../src/useRootTheme.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAoD;AAC7D,SAASC,QAAA,QAAgB;AAIlB,MAAMC,YAAA,GAAeA,CAAC;EAC3BC,QAAA,GAAW;AACb,IAAgC,CAAC,MAG5B;EACH,IAAIC,UAAA,GAAaD,QAAA;EAEjB,IAAIF,QAAA,EAAU;IACZ,MAAMI,OAAA,GAAUC,QAAA,CAASC,eAAA,CAAgBC,SAAA;IACzCJ,UAAA,GAAaC,OAAA,CAAQI,QAAA,CAAS,QAAQ,IAClC,SACAJ,OAAA,CAAQI,QAAA,CAAS,SAAS,IACxB,UACAN,QAAA;EACR;EAEA,OAAOH,QAAA,CAAsBI,UAAU;AACzC","ignoreList":[]}
|
package/dist/esm/useTheme.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useContext } from "react";
|
|
2
2
|
import { ThemeSettingContext } from "./ThemeSettingContext";
|
|
3
|
-
const useTheme = () =>
|
|
3
|
+
const useTheme = () => useContext(ThemeSettingContext), useThemeSetting = () => useContext(ThemeSettingContext);
|
|
4
4
|
export {
|
|
5
5
|
useTheme,
|
|
6
6
|
useThemeSetting
|
package/dist/esm/useTheme.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/useTheme.tsx"],
|
|
4
|
-
"mappings": "AAAA,
|
|
4
|
+
"mappings": "AAAA,SAAS,kBAAkB;AAE3B,SAAS,2BAA2B;AAO7B,MAAM,WAAW,MAAqB,WAAW,mBAAmB,GAE9D,kBAAkB,MAAqB,WAAW,mBAAmB;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/useTheme.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useContext } from "react";
|
|
2
2
|
import { ThemeSettingContext } from "./ThemeSettingContext.mjs";
|
|
3
|
-
const useTheme = () =>
|
|
4
|
-
useThemeSetting = () =>
|
|
3
|
+
const useTheme = () => useContext(ThemeSettingContext),
|
|
4
|
+
useThemeSetting = () => useContext(ThemeSettingContext);
|
|
5
5
|
export { useTheme, useThemeSetting };
|
|
6
6
|
//# sourceMappingURL=useTheme.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useContext","ThemeSettingContext","useTheme","useThemeSetting"],"sources":["../../src/useTheme.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAE3B,SAASC,mBAAA,QAA2B;AAO7B,MAAMC,QAAA,GAAWA,CAAA,KAAqBF,UAAA,CAAWC,mBAAmB;EAE9DE,eAAA,GAAkBA,CAAA,KAAqBH,UAAA,CAAWC,mBAAmB","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/next-theme",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.143.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"source": "src/index.ts",
|
|
6
6
|
"types": "./types/index.d.ts",
|
|
@@ -30,12 +30,12 @@
|
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@tamagui/constants": "1.
|
|
34
|
-
"@tamagui/use-event": "1.
|
|
35
|
-
"next": "
|
|
33
|
+
"@tamagui/constants": "1.143.0",
|
|
34
|
+
"@tamagui/use-event": "1.143.0",
|
|
35
|
+
"next": "16.1.1"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@tamagui/build": "1.
|
|
38
|
+
"@tamagui/build": "1.143.0",
|
|
39
39
|
"react": "*"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useIsomorphicLayoutEffect } from '@tamagui/constants'
|
|
2
2
|
import { useEvent } from '@tamagui/use-event'
|
|
3
|
-
import
|
|
3
|
+
import Script from 'next/script'
|
|
4
4
|
import * as React from 'react'
|
|
5
5
|
import { memo, useEffect, useMemo, useState } from 'react'
|
|
6
6
|
|
|
@@ -197,8 +197,7 @@ export const NextThemeProvider: React.FunctionComponent<ThemeProviderProps> = me
|
|
|
197
197
|
skipNextHead,
|
|
198
198
|
}}
|
|
199
199
|
/>
|
|
200
|
-
{
|
|
201
|
-
{useMemo(() => children, [children])}
|
|
200
|
+
{children}
|
|
202
201
|
</ThemeSettingContext.Provider>
|
|
203
202
|
)
|
|
204
203
|
}
|
|
@@ -246,50 +245,39 @@ const ThemeScript = memo(
|
|
|
246
245
|
|
|
247
246
|
const defaultSystem = defaultTheme === 'system'
|
|
248
247
|
|
|
249
|
-
const
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
dangerouslySetInnerHTML={{
|
|
265
|
-
__html: `!function(){try {${optimization}var e=localStorage.getItem('${storageKey}');${
|
|
266
|
-
!defaultSystem ? updateDOM(defaultTheme) + ';' : ''
|
|
267
|
-
}if("system"===e||(!e&&${defaultSystem})){var t="${MEDIA}",m=window.matchMedia(t);m.media!==t||m.matches?${updateDOM(
|
|
268
|
-
'dark'
|
|
269
|
-
)}:${updateDOM('light')}}else if(e) ${
|
|
270
|
-
value ? `var x=${JSON.stringify(value)};` : ''
|
|
271
|
-
}${updateDOM(value ? 'x[e]' : 'e', true)}}catch(e){}}()`,
|
|
272
|
-
}}
|
|
273
|
-
/>
|
|
274
|
-
) : (
|
|
275
|
-
<script
|
|
276
|
-
// nonce={nonce}
|
|
277
|
-
key="next-themes-script"
|
|
278
|
-
dangerouslySetInnerHTML={{
|
|
279
|
-
__html: `!function(){try{${optimization}var e=localStorage.getItem("${storageKey}");if(e){${
|
|
280
|
-
value ? `var x=${JSON.stringify(value)};` : ''
|
|
281
|
-
}${updateDOM(value ? 'x[e]' : 'e', true)}}else{${updateDOM(
|
|
282
|
-
defaultTheme
|
|
283
|
-
)};}}catch(t){}}();`,
|
|
284
|
-
}}
|
|
285
|
-
/>
|
|
286
|
-
)}
|
|
287
|
-
</>
|
|
288
|
-
)
|
|
248
|
+
const scriptContent = forcedTheme
|
|
249
|
+
? `!function(){${optimization}${updateDOM(forcedTheme)}}()`
|
|
250
|
+
: enableSystem
|
|
251
|
+
? `!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(
|
|
252
|
+
'dark'
|
|
253
|
+
)}:${updateDOM('light')}}else if(e){${
|
|
254
|
+
value ? `var x=${JSON.stringify(value)};` : ''
|
|
255
|
+
}${updateDOM(value ? 'x[e]' : 'e', true)}}${
|
|
256
|
+
!defaultSystem ? `else{${updateDOM(defaultTheme)}}` : ''
|
|
257
|
+
}}catch(e){}}()`
|
|
258
|
+
: `!function(){try{${optimization}var e=localStorage.getItem("${storageKey}");if(e){${
|
|
259
|
+
value ? `var x=${JSON.stringify(value)};` : ''
|
|
260
|
+
}${updateDOM(value ? 'x[e]' : 'e', true)}}else{${updateDOM(
|
|
261
|
+
defaultTheme
|
|
262
|
+
)};}}catch(t){}}();`
|
|
289
263
|
|
|
290
|
-
|
|
264
|
+
// skipNextHead returns raw script for useServerInsertedHTML usage
|
|
265
|
+
if (skipNextHead) {
|
|
266
|
+
return (
|
|
267
|
+
<script
|
|
268
|
+
key="next-themes-script"
|
|
269
|
+
dangerouslySetInnerHTML={{ __html: scriptContent }}
|
|
270
|
+
/>
|
|
271
|
+
)
|
|
272
|
+
}
|
|
291
273
|
|
|
292
|
-
return
|
|
274
|
+
return (
|
|
275
|
+
<Script
|
|
276
|
+
id="next-themes-script"
|
|
277
|
+
strategy="beforeInteractive"
|
|
278
|
+
dangerouslySetInnerHTML={{ __html: scriptContent }}
|
|
279
|
+
/>
|
|
280
|
+
)
|
|
293
281
|
},
|
|
294
282
|
(prevProps, nextProps) => {
|
|
295
283
|
// Only re-render when forcedTheme changes
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { createContext, type Context } from 'react'
|
|
2
2
|
|
|
3
3
|
import type { UseThemeProps } from './UseThemeProps'
|
|
4
4
|
|
|
5
|
-
export const ThemeSettingContext:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
})
|
|
5
|
+
export const ThemeSettingContext: Context<UseThemeProps> = createContext<UseThemeProps>({
|
|
6
|
+
toggle: () => {},
|
|
7
|
+
set: (_) => {},
|
|
8
|
+
themes: [],
|
|
9
|
+
})
|
package/src/useRootTheme.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useState, type Dispatch, type SetStateAction } from 'react'
|
|
2
2
|
import { isClient } from '@tamagui/constants'
|
|
3
3
|
|
|
4
4
|
import type { ColorScheme } from './types'
|
|
@@ -7,19 +7,18 @@ export const useRootTheme = ({
|
|
|
7
7
|
fallback = 'light',
|
|
8
8
|
}: { fallback?: ColorScheme } = {}): [
|
|
9
9
|
ColorScheme,
|
|
10
|
-
|
|
10
|
+
Dispatch<SetStateAction<ColorScheme>>,
|
|
11
11
|
] => {
|
|
12
12
|
let initialVal = fallback
|
|
13
13
|
|
|
14
14
|
if (isClient) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
initialVal = classes.includes(`t_dark`)
|
|
15
|
+
const classes = document.documentElement.classList
|
|
16
|
+
initialVal = classes.contains('t_dark')
|
|
18
17
|
? 'dark'
|
|
19
|
-
: classes.
|
|
18
|
+
: classes.contains('t_light')
|
|
20
19
|
? 'light'
|
|
21
20
|
: fallback
|
|
22
21
|
}
|
|
23
22
|
|
|
24
|
-
return
|
|
23
|
+
return useState<ColorScheme>(initialVal)
|
|
25
24
|
}
|
package/src/useTheme.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useContext } from 'react'
|
|
2
2
|
|
|
3
3
|
import { ThemeSettingContext } from './ThemeSettingContext'
|
|
4
4
|
import type { UseThemeProps } from './UseThemeProps'
|
|
@@ -7,6 +7,6 @@ import type { UseThemeProps } from './UseThemeProps'
|
|
|
7
7
|
* @deprecated renamed to `useThemeSetting` to avoid confusion with core `useTheme` hook
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
export const useTheme = (): UseThemeProps =>
|
|
10
|
+
export const useTheme = (): UseThemeProps => useContext(ThemeSettingContext)
|
|
11
11
|
|
|
12
|
-
export const useThemeSetting = (): UseThemeProps =>
|
|
12
|
+
export const useThemeSetting = (): UseThemeProps => useContext(ThemeSettingContext)
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"src/NextThemeProvider.tsx"
|
|
8
8
|
],
|
|
9
9
|
"sourcesContent": [
|
|
10
|
-
"import { useIsomorphicLayoutEffect } from '@tamagui/constants'\nimport { useEvent } from '@tamagui/use-event'\nimport
|
|
10
|
+
"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'\n\nimport { MEDIA, colorSchemes } from './constants'\nimport { getSystemTheme, getTheme } from './helpers'\nimport { ThemeSettingContext } from './ThemeSettingContext'\nimport type { ValueObject } from './types'\nimport type { ThemeProviderProps, UseThemeProps } from './UseThemeProps'\n\nexport const NextThemeProvider: React.FunctionComponent<ThemeProviderProps> = 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\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\n const handleChangeTheme = useEvent(\n (theme, updateStorage = true, updateDOM = true) => {\n let name = value?.[theme] || theme\n\n if (updateStorage) {\n try {\n localStorage.setItem(storageKey, theme)\n } catch (e) {\n // Unsupported\n }\n }\n\n if (theme === 'system' && enableSystem) {\n const resolved = getSystemTheme()\n name = value?.[resolved] || resolved\n }\n\n onChangeTheme?.(name.replace('t_', ''))\n\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\n useIsomorphicLayoutEffect(() => {\n // Always listen to System preference\n const media = window.matchMedia(MEDIA)\n // Intentionally use deprecated listener methods to support iOS & old browsers\n media.addListener(handleMediaQuery)\n handleMediaQuery(media)\n return () => {\n media.removeListener(handleMediaQuery)\n }\n }, [])\n\n const set = useEvent((newTheme) => {\n if (forcedTheme) {\n handleChangeTheme(newTheme, true, false)\n } else {\n handleChangeTheme(newTheme)\n }\n setThemeState(newTheme)\n })\n\n // localStorage event handling\n useEffect(() => {\n const handleStorage = (e: StorageEvent) => {\n if (e.key !== storageKey) {\n return\n }\n // If default theme set, use it if localstorage === null (happens on local storage manual deletion)\n const theme = e.newValue || defaultTheme\n set(theme)\n }\n window.addEventListener('storage', handleStorage)\n return () => {\n window.removeEventListener('storage', handleStorage)\n }\n }, [defaultTheme, set, storageKey])\n\n // color-scheme handling\n useIsomorphicLayoutEffect(() => {\n if (!enableColorScheme) return\n\n const colorScheme =\n // If theme is forced to light or dark, use that\n forcedTheme && colorSchemes.includes(forcedTheme as 'light' | 'dark')\n ? forcedTheme\n : // If regular theme is light or dark\n theme && colorSchemes.includes(theme)\n ? theme\n : // If theme is system, use the resolved version\n theme === 'system'\n ? resolvedTheme || null\n : null\n\n // color-scheme tells browser how to render built-in elements like forms, scrollbars, etc.\n // if color-scheme is null, this will remove the property\n const userPrefers =\n typeof window !== 'undefined' &&\n window.matchMedia &&\n window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n\n const wePrefer = colorScheme || 'light'\n\n // avoid running this because it causes full page reflow\n if (userPrefers !== wePrefer) {\n document.documentElement.style.setProperty('color-scheme', colorScheme)\n }\n }, [enableColorScheme, theme, resolvedTheme, forcedTheme])\n\n const toggle = useEvent(() => {\n const order =\n resolvedTheme === 'dark'\n ? ['system', 'light', 'dark']\n : ['system', 'dark', 'light']\n const next = order[(order.indexOf(theme) + 1) % order.length]\n set(next)\n })\n\n const systemTheme = (enableSystem ? resolvedTheme : undefined) as\n | 'light'\n | 'dark'\n | undefined\n\n const contextValue = useMemo(() => {\n const value: UseThemeProps = {\n theme,\n current: theme,\n set,\n toggle,\n forcedTheme,\n resolvedTheme: theme === 'system' ? resolvedTheme : theme,\n themes: enableSystem ? [...themes, 'system'] : (themes as string[]),\n systemTheme,\n } as const\n return value\n }, [\n theme,\n set,\n toggle,\n forcedTheme,\n resolvedTheme,\n enableSystem,\n themes,\n systemTheme,\n ])\n\n return (\n <ThemeSettingContext.Provider value={contextValue}>\n <ThemeScript\n {...{\n forcedTheme,\n storageKey,\n systemTheme: resolvedTheme,\n attribute,\n value,\n enableSystem,\n defaultTheme,\n attrs,\n skipNextHead,\n }}\n />\n {children}\n </ThemeSettingContext.Provider>\n )\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 forcedTheme?: string\n storageKey: string\n attribute?: string\n enableSystem?: boolean\n defaultTheme: string\n value?: ValueObject\n attrs: any\n skipNextHead?: boolean\n }) => {\n // Code-golfing the amount of characters in the script\n const optimization = (() => {\n if (attribute === 'class') {\n const removeClasses = attrs.map((t: string) => `d.remove('${t}')`).join(';')\n return `var d=document.documentElement.classList;${removeClasses};`\n }\n return `var d=document.documentElement;`\n })()\n\n const updateDOM = (name: string, literal?: boolean) => {\n name = value?.[name] || name\n const val = literal ? name : `'${name}'`\n\n if (attribute === 'class') {\n return `d.add(${val})`\n }\n\n return `d.setAttribute('${attribute}', ${val})`\n }\n\n const defaultSystem = defaultTheme === 'system'\n\n const scriptContent = forcedTheme\n ? `!function(){${optimization}${updateDOM(forcedTheme)}}()`\n : enableSystem\n ? `!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){${\n value ? `var x=${JSON.stringify(value)};` : ''\n }${updateDOM(value ? 'x[e]' : 'e', true)}}${\n !defaultSystem ? `else{${updateDOM(defaultTheme)}}` : ''\n }}catch(e){}}()`\n : `!function(){try{${optimization}var e=localStorage.getItem(\"${storageKey}\");if(e){${\n value ? `var x=${JSON.stringify(value)};` : ''\n }${updateDOM(value ? 'x[e]' : 'e', true)}}else{${updateDOM(\n defaultTheme\n )};}}catch(t){}}();`\n\n // skipNextHead returns raw script for useServerInsertedHTML usage\n if (skipNextHead) {\n return (\n <script\n key=\"next-themes-script\"\n dangerouslySetInnerHTML={{ __html: scriptContent }}\n />\n )\n }\n\n return (\n <Script\n id=\"next-themes-script\"\n strategy=\"beforeInteractive\"\n dangerouslySetInnerHTML={{ __html: scriptContent }}\n />\n )\n },\n (prevProps, nextProps) => {\n // Only re-render when forcedTheme changes\n // the rest of the props should be completely stable\n if (prevProps.forcedTheme !== nextProps.forcedTheme) return false\n return true\n }\n)\n"
|
|
11
11
|
],
|
|
12
12
|
"version": 3
|
|
13
13
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type Context } from "react";
|
|
2
2
|
import type { UseThemeProps } from "./UseThemeProps";
|
|
3
|
-
export declare const ThemeSettingContext:
|
|
3
|
+
export declare const ThemeSettingContext: Context<UseThemeProps>;
|
|
4
4
|
|
|
5
5
|
//# sourceMappingURL=ThemeSettingContext.d.ts.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
|
-
"mappings": "AAAA,
|
|
2
|
+
"mappings": "AAAA,cAA6B,eAAe;AAE5C,cAAc,qBAAqB;AAEnC,OAAO,cAAMA,qBAAqB,QAAQ",
|
|
3
3
|
"names": [
|
|
4
|
-
"ThemeSettingContext:
|
|
4
|
+
"ThemeSettingContext: Context<UseThemeProps>"
|
|
5
5
|
],
|
|
6
6
|
"sources": [
|
|
7
7
|
"src/ThemeSettingContext.tsx"
|
|
8
8
|
],
|
|
9
9
|
"sourcesContent": [
|
|
10
|
-
"import
|
|
10
|
+
"import { createContext, type Context } from 'react'\n\nimport type { UseThemeProps } from './UseThemeProps'\n\nexport const ThemeSettingContext: Context<UseThemeProps> = createContext<UseThemeProps>({\n toggle: () => {},\n set: (_) => {},\n themes: [],\n})\n"
|
|
11
11
|
],
|
|
12
12
|
"version": 3
|
|
13
13
|
}
|
package/types/useRootTheme.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type Dispatch, type SetStateAction } from "react";
|
|
2
2
|
import type { ColorScheme } from "./types";
|
|
3
3
|
export declare const useRootTheme: ({ fallback }?: {
|
|
4
4
|
fallback?: ColorScheme;
|
|
5
|
-
}) => [ColorScheme,
|
|
5
|
+
}) => [ColorScheme, Dispatch<SetStateAction<ColorScheme>>];
|
|
6
6
|
|
|
7
7
|
//# sourceMappingURL=useRootTheme.d.ts.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"mappings": "AAAA,
|
|
2
|
+
"mappings": "AAAA,cAAwB,eAAe,sBAAsB;AAG7D,cAAc,mBAAmB;AAEjC,OAAO,cAAM,eAAgB,EAC3B,aACC;CAAE,WAAW;OACd,aACA,SAAS,eAAe",
|
|
3
3
|
"names": [],
|
|
4
4
|
"sources": [
|
|
5
5
|
"src/useRootTheme.tsx"
|
|
6
6
|
],
|
|
7
7
|
"sourcesContent": [
|
|
8
|
-
"import
|
|
8
|
+
"import { useState, type Dispatch, type SetStateAction } from 'react'\nimport { isClient } from '@tamagui/constants'\n\nimport type { ColorScheme } from './types'\n\nexport const useRootTheme = ({\n fallback = 'light',\n}: { fallback?: ColorScheme } = {}): [\n ColorScheme,\n Dispatch<SetStateAction<ColorScheme>>,\n] => {\n let initialVal = fallback\n\n if (isClient) {\n const classes = document.documentElement.classList\n initialVal = classes.contains('t_dark')\n ? 'dark'\n : classes.contains('t_light')\n ? 'light'\n : fallback\n }\n\n return useState<ColorScheme>(initialVal)\n}\n"
|
|
9
9
|
],
|
|
10
10
|
"version": 3
|
|
11
11
|
}
|
package/types/useTheme.d.ts.map
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"src/useTheme.tsx"
|
|
6
6
|
],
|
|
7
7
|
"sourcesContent": [
|
|
8
|
-
"import
|
|
8
|
+
"import { useContext } from 'react'\n\nimport { ThemeSettingContext } from './ThemeSettingContext'\nimport type { UseThemeProps } from './UseThemeProps'\n\n/**\n * @deprecated renamed to `useThemeSetting` to avoid confusion with core `useTheme` hook\n */\n\nexport const useTheme = (): UseThemeProps => useContext(ThemeSettingContext)\n\nexport const useThemeSetting = (): UseThemeProps => useContext(ThemeSettingContext)\n"
|
|
9
9
|
],
|
|
10
10
|
"version": 3
|
|
11
11
|
}
|