@tamagui/web 1.122.8 → 1.123.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/helpers/proxyThemeToParents.cjs +5 -17
- package/dist/cjs/helpers/proxyThemeToParents.js +4 -16
- package/dist/cjs/helpers/proxyThemeToParents.js.map +1 -1
- package/dist/cjs/helpers/proxyThemeToParents.native.js +18 -16
- package/dist/cjs/helpers/proxyThemeToParents.native.js.map +2 -2
- package/dist/cjs/hooks/useTheme.cjs +27 -37
- package/dist/cjs/hooks/useTheme.js +29 -48
- package/dist/cjs/hooks/useTheme.js.map +2 -2
- package/dist/cjs/hooks/useTheme.native.js +48 -65
- package/dist/cjs/hooks/useTheme.native.js.map +2 -2
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/esm/helpers/proxyThemeToParents.js +4 -16
- package/dist/esm/helpers/proxyThemeToParents.js.map +1 -1
- package/dist/esm/helpers/proxyThemeToParents.mjs +5 -17
- package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -1
- package/dist/esm/helpers/proxyThemeToParents.native.js +17 -16
- package/dist/esm/helpers/proxyThemeToParents.native.js.map +2 -2
- package/dist/esm/hooks/useTheme.js +29 -49
- package/dist/esm/hooks/useTheme.js.map +2 -2
- package/dist/esm/hooks/useTheme.mjs +28 -38
- package/dist/esm/hooks/useTheme.mjs.map +1 -1
- package/dist/esm/hooks/useTheme.native.js +49 -66
- package/dist/esm/hooks/useTheme.native.js.map +2 -2
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/types.mjs.map +1 -1
- package/dist/esm/types.native.js.map +1 -1
- package/package.json +11 -11
- package/src/helpers/proxyThemeToParents.ts +6 -25
- package/src/hooks/useTheme.tsx +107 -142
- package/src/types.tsx +5 -8
- package/types/helpers/proxyThemeToParents.d.ts +1 -1
- package/types/helpers/proxyThemeToParents.d.ts.map +1 -1
- package/types/helpers/sortString.d.ts +1 -1
- package/types/hooks/useConfiguration.d.ts.map +1 -1
- package/types/hooks/useTheme.d.ts.map +1 -1
- package/types/types.d.ts +5 -5
- package/types/types.d.ts.map +1 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { getTokenObject } from "../config";
|
|
2
1
|
const themesRaw = {};
|
|
3
2
|
function proxyThemesToParents(dedupedThemes) {
|
|
4
3
|
for (const { names, theme } of dedupedThemes)
|
|
@@ -13,21 +12,10 @@ function proxyThemesToParents(dedupedThemes) {
|
|
|
13
12
|
return themes;
|
|
14
13
|
}
|
|
15
14
|
function proxyThemeToParents(themeName, theme) {
|
|
16
|
-
const cur = [], parents = themeName.split("_").slice(0, -1).map((part) => (cur.push(part), cur.join("_")))
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
// if someone is crazy enough to use "undefined" as a theme key then this not working is on them
|
|
21
|
-
key == "undefined" || Reflect.has(target, key))
|
|
22
|
-
return Reflect.get(target, key);
|
|
23
|
-
for (let i = numParents - 1; i >= 0; i--) {
|
|
24
|
-
const parent = themesRaw[parents[i]];
|
|
25
|
-
if (parent && Reflect.has(parent, key))
|
|
26
|
-
return Reflect.get(parent, key);
|
|
27
|
-
}
|
|
28
|
-
return getTokenObject(key);
|
|
29
|
-
}
|
|
30
|
-
});
|
|
15
|
+
const out = {}, cur = [], parents = themeName.split("_").slice(0, -1).map((part) => (cur.push(part), cur.join("_")));
|
|
16
|
+
for (const parent of parents)
|
|
17
|
+
Object.assign(out, themesRaw[parent]);
|
|
18
|
+
return Object.assign(out, theme), out;
|
|
31
19
|
}
|
|
32
20
|
export {
|
|
33
21
|
proxyThemeToParents,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/proxyThemeToParents.ts"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": "AAEA,MAAM,YAAyC,CAAC;AAIzC,SAAS,qBACd,eAC6B;AAE7B,aAAW,EAAE,OAAO,MAAM,KAAK;AAC7B,eAAW,QAAQ;AACjB,gBAAU,IAAI,IAAI;AAItB,QAAM,SAAsC,CAAC;AAM7C,aAAW,EAAE,OAAO,MAAM,KAAK;AAC7B,eAAW,aAAa,OAAO;AAC7B,YAAM,eAAe,oBAAoB,WAAW,KAAK;AACzD,aAAO,SAAS,IAAI;AAAA,IACtB;AAGF,SAAO;AACT;AAEO,SAAS,oBAAoB,WAAmB,OAAoB;AACzE,QAAM,MAAM,CAAC,GACP,MAAgB,CAAC,GAIjB,UAAU,UACb,MAAM,GAAG,EACT,MAAM,GAAG,EAAE,EACX,IAAI,CAAC,UACJ,IAAI,KAAK,IAAI,GACN,IAAI,KAAK,GAAG,EACpB;AAEH,aAAW,UAAU;AACnB,WAAO,OAAO,KAAK,UAAU,MAAM,CAAC;AAEtC,gBAAO,OAAO,KAAK,KAAK,GACjB;AACT;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { getTokenObject } from "../config.mjs";
|
|
2
1
|
const themesRaw = {};
|
|
3
2
|
function proxyThemesToParents(dedupedThemes) {
|
|
4
3
|
for (const {
|
|
@@ -16,22 +15,11 @@ function proxyThemesToParents(dedupedThemes) {
|
|
|
16
15
|
return themes;
|
|
17
16
|
}
|
|
18
17
|
function proxyThemeToParents(themeName, theme) {
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
if (!key ||
|
|
25
|
-
// dont ask me, idk why but on hermes you can see that useTheme()[undefined] passes in STRING undefined to proxy
|
|
26
|
-
// if someone is crazy enough to use "undefined" as a theme key then this not working is on them
|
|
27
|
-
key == "undefined" || Reflect.has(target, key)) return Reflect.get(target, key);
|
|
28
|
-
for (let i = numParents - 1; i >= 0; i--) {
|
|
29
|
-
const parent = themesRaw[parents[i]];
|
|
30
|
-
if (parent && Reflect.has(parent, key)) return Reflect.get(parent, key);
|
|
31
|
-
}
|
|
32
|
-
return getTokenObject(key);
|
|
33
|
-
}
|
|
34
|
-
});
|
|
18
|
+
const out = {},
|
|
19
|
+
cur = [],
|
|
20
|
+
parents = themeName.split("_").slice(0, -1).map(part => (cur.push(part), cur.join("_")));
|
|
21
|
+
for (const parent of parents) Object.assign(out, themesRaw[parent]);
|
|
22
|
+
return Object.assign(out, theme), out;
|
|
35
23
|
}
|
|
36
24
|
export { proxyThemeToParents, proxyThemesToParents };
|
|
37
25
|
//# sourceMappingURL=proxyThemeToParents.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["themesRaw","proxyThemesToParents","dedupedThemes","names","theme","name","themes","themeName","proxiedTheme","proxyThemeToParents","out","cur","parents","split","slice","map","part","push","join","parent","Object","assign"],"sources":["../../../src/helpers/proxyThemeToParents.ts"],"sourcesContent":[null],"mappings":"AAEA,MAAMA,SAAA,GAAyC,CAAC;AAIzC,SAASC,qBACdC,aAAA,EAC6B;EAE7B,WAAW;IAAEC,KAAA;IAAOC;EAAM,KAAKF,aAAA,EAC7B,WAAWG,IAAA,IAAQF,KAAA,EACjBH,SAAA,CAAUK,IAAI,IAAID,KAAA;EAItB,MAAME,MAAA,GAAsC,CAAC;EAM7C,WAAW;IAAEH,KAAA;IAAOC;EAAM,KAAKF,aAAA,EAC7B,WAAWK,SAAA,IAAaJ,KAAA,EAAO;IAC7B,MAAMK,YAAA,GAAeC,mBAAA,CAAoBF,SAAA,EAAWH,KAAK;IACzDE,MAAA,CAAOC,SAAS,IAAIC,YAAA;EACtB;EAGF,OAAOF,MAAA;AACT;AAEO,SAASG,oBAAoBF,SAAA,EAAmBH,KAAA,EAAoB;EACzE,MAAMM,GAAA,GAAM,CAAC;IACPC,GAAA,GAAgB,EAAC;IAIjBC,OAAA,GAAUL,SAAA,CACbM,KAAA,CAAM,GAAG,EACTC,KAAA,CAAM,GAAG,EAAE,EACXC,GAAA,CAAKC,IAAA,KACJL,GAAA,CAAIM,IAAA,CAAKD,IAAI,GACNL,GAAA,CAAIO,IAAA,CAAK,GAAG,EACpB;EAEH,WAAWC,MAAA,IAAUP,OAAA,EACnBQ,MAAA,CAAOC,MAAA,CAAOX,GAAA,EAAKV,SAAA,CAAUmB,MAAM,CAAC;EAEtC,OAAAC,MAAA,CAAOC,MAAA,CAAOX,GAAA,EAAKN,KAAK,GACjBM,GAAA;AACT","ignoreList":[]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { getTokenObject } from "../config";
|
|
2
1
|
var themesRaw = {};
|
|
3
2
|
function proxyThemesToParents(dedupedThemes) {
|
|
4
3
|
var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
|
|
@@ -64,23 +63,25 @@ function proxyThemesToParents(dedupedThemes) {
|
|
|
64
63
|
return themes;
|
|
65
64
|
}
|
|
66
65
|
function proxyThemeToParents(themeName, theme) {
|
|
67
|
-
var cur = [], parents = themeName.split("_").slice(0, -1).map(function(part) {
|
|
66
|
+
var out = {}, cur = [], parents = themeName.split("_").slice(0, -1).map(function(part) {
|
|
68
67
|
return cur.push(part), cur.join("_");
|
|
69
|
-
}),
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
68
|
+
}), _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
|
|
69
|
+
try {
|
|
70
|
+
for (var _iterator = parents[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
71
|
+
var parent = _step.value;
|
|
72
|
+
Object.assign(out, themesRaw[parent]);
|
|
73
|
+
}
|
|
74
|
+
} catch (err) {
|
|
75
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
76
|
+
} finally {
|
|
77
|
+
try {
|
|
78
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
79
|
+
} finally {
|
|
80
|
+
if (_didIteratorError)
|
|
81
|
+
throw _iteratorError;
|
|
82
82
|
}
|
|
83
|
-
}
|
|
83
|
+
}
|
|
84
|
+
return Object.assign(out, theme), out;
|
|
84
85
|
}
|
|
85
86
|
export {
|
|
86
87
|
proxyThemeToParents,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/Users/n8/tamagui/code/core/web/src/helpers/proxyThemeToParents.ts"],
|
|
4
|
-
"mappings": "
|
|
5
|
-
"names": ["
|
|
4
|
+
"mappings": "AAEA,IAAMA,YAAyC,CAAC;AAIzC,SAASC,qBACdC,eAA4B;MAGvB,4BAAA,IAAA,oBAAA,IAAA,iBAAA;;AAAL,aAAK,YAA0BA,cAAAA,OAAAA,QAAAA,EAAAA,GAA1B,OAAA,EAAA,6BAAA,QAAA,UAAA,KAAA,GAAA,OAAA,4BAAA,IAAyC;AAAzC,UAAM,EAAEC,OAAOC,MAAK,IAApB,MAAA,OACE,6BAAA,IAAA,qBAAA,IAAA,kBAAA;;AAAL,iBAAK,aAAcD,MAAAA,OAAAA,QAAAA,EAAAA,GAAd,QAAA,EAAA,8BAAA,SAAA,WAAA,KAAA,GAAA,OAAA,6BAAA,IAAqB;AAArB,cAAME,OAAN,OAAA;AACHL,oBAAUK,IAAAA,IAAQD;QACpB;;AAFK,6BAAA,IAAA,kBAAA;;;WAAA,8BAAA,WAAA,UAAA,QAAA,WAAA,OAAA;;cAAA;kBAAA;;;IAGP;;AAJK,wBAAA,IAAA,iBAAA;;;OAAA,6BAAA,UAAA,UAAA,QAAA,UAAA,OAAA;;UAAA;cAAA;;;AAML,MAAME,SAAsC,CAAC,GAMxC,6BAAA,IAAA,qBAAA,IAAA,kBAAA;;AAAL,aAAK,aAA0BJ,cAAAA,OAAAA,QAAAA,EAAAA,GAA1B,QAAA,EAAA,8BAAA,SAAA,WAAA,KAAA,GAAA,OAAA,6BAAA,IAAyC;AAAzC,UAAM,EAAEC,OAAAA,QAAOC,OAAAA,OAAK,IAApB,OAAA,OACE,6BAAA,IAAA,qBAAA,IAAA,kBAAA;;AAAL,iBAAK,aAAmBD,OAAAA,OAAAA,QAAAA,EAAAA,GAAnB,QAAA,EAAA,8BAAA,SAAA,WAAA,KAAA,GAAA,OAAA,6BAAA,IAA0B;AAA1B,cAAMI,YAAN,OAAA,OACGC,eAAeC,oBAAoBF,WAAWH,MAAAA;AACpDE,iBAAOC,SAAAA,IAAaC;QACtB;;AAHK,6BAAA,IAAA,kBAAA;;;WAAA,8BAAA,WAAA,UAAA,QAAA,WAAA,OAAA;;cAAA;kBAAA;;;IAIP;;AALK,yBAAA,IAAA,kBAAA;;;OAAA,8BAAA,WAAA,UAAA,QAAA,WAAA,OAAA;;UAAA;cAAA;;;AAOL,SAAOF;AACT;AAEO,SAASG,oBAAoBF,WAAmBH,OAAkB;AACvE,MAAMM,MAAM,CAAC,GACPC,MAAgB,CAAA,GAIhBC,UAAUL,UACbM,MAAM,GAAA,EACNC,MAAM,GAAG,EAAC,EACVC,IAAI,SAACC,MAAAA;AACJL,eAAIM,KAAKD,IAAAA,GACFL,IAAIO,KAAK,GAAA;EAClB,CAAA,GAEG,4BAAA,IAAA,oBAAA,IAAA,iBAAA;;AAAL,aAAK,YAAgBN,QAAAA,OAAAA,QAAAA,EAAAA,GAAhB,OAAA,EAAA,6BAAA,QAAA,UAAA,KAAA,GAAA,OAAA,4BAAA,IAAyB;AAAzB,UAAMO,SAAN,MAAA;AACHC,aAAOC,OAAOX,KAAKV,UAAUmB,MAAAA,CAAO;IACtC;;AAFK,wBAAA,IAAA,iBAAA;;;OAAA,6BAAA,UAAA,UAAA,QAAA,UAAA,OAAA;;UAAA;cAAA;;;AAGLC,gBAAOC,OAAOX,KAAKN,KAAAA,GACZM;AACT;",
|
|
5
|
+
"names": ["themesRaw", "proxyThemesToParents", "dedupedThemes", "names", "theme", "name", "themes", "themeName", "proxiedTheme", "proxyThemeToParents", "out", "cur", "parents", "split", "slice", "map", "part", "push", "join", "parent", "Object", "assign"]
|
|
6
6
|
}
|
|
@@ -3,7 +3,6 @@ import {
|
|
|
3
3
|
useContext,
|
|
4
4
|
useEffect,
|
|
5
5
|
useLayoutEffect,
|
|
6
|
-
useMemo,
|
|
7
6
|
useRef,
|
|
8
7
|
useState
|
|
9
8
|
} from "react";
|
|
@@ -27,7 +26,7 @@ const emptyProps = { name: null }, useTheme = (props = emptyProps) => {
|
|
|
27
26
|
|
|
28
27
|
If this is intended and you are using Tamagui without any themes, you can disable this warning by setting the environment variable TAMAGUI_DISABLE_NO_THEME_WARNING=1`
|
|
29
28
|
));
|
|
30
|
-
const themeProxied =
|
|
29
|
+
const themeProxied = getThemeProxied(props, state, keys, themeManager);
|
|
31
30
|
return process.env.NODE_ENV === "development" && props.debug === "verbose" && (console.groupCollapsed(` \u{1F539} [${themeManager?.id}] useTheme =>`, state?.name), console.info(
|
|
32
31
|
"returning state",
|
|
33
32
|
changedThemeState.state,
|
|
@@ -35,55 +34,36 @@ If this is intended and you are using Tamagui without any themes, you can disabl
|
|
|
35
34
|
"from props",
|
|
36
35
|
props
|
|
37
36
|
), console.groupEnd()), [changedThemeState, themeProxied];
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const
|
|
37
|
+
}, emptyObject = {}, ProxiedThemes = /* @__PURE__ */ new Map();
|
|
38
|
+
let curKeys, curProps, curThemeManger;
|
|
39
|
+
function getThemeProxied(_props, state, _keys, _themeManager) {
|
|
40
|
+
const theme = state?.theme;
|
|
41
|
+
if (!theme || !_themeManager)
|
|
42
|
+
return emptyObject;
|
|
43
|
+
if (curKeys = _keys, curProps = _props, curThemeManger = _themeManager, ProxiedThemes.has(theme))
|
|
44
|
+
return ProxiedThemes.get(theme);
|
|
45
|
+
const { name, scheme } = state, config = getConfig();
|
|
42
46
|
function track(key) {
|
|
43
|
-
|
|
44
|
-
themeManager?.selfUpdate();
|
|
45
|
-
})), keys.current.push(key), process.env.NODE_ENV === "development" && debug && console.info(` \u{1F3A8} useTheme() tracking new key: ${key}`);
|
|
47
|
+
curKeys && (curKeys.current || (curKeys.current = []), curKeys.current.push(key), process.env.NODE_ENV === "development" && curProps.debug && console.info(` \u{1F3A8} useTheme() tracking new key: ${key}`));
|
|
46
48
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
get(_2, subkey) {
|
|
66
|
-
if (subkey === "val")
|
|
67
|
-
globalThis.tamaguiAvoidTracking || (process.env.NODE_ENV === "development" && debug === "verbose" && console.info(
|
|
68
|
-
" \u{1F3A8} useTheme() tracking new key because of .val access",
|
|
69
|
-
new Error().stack
|
|
70
|
-
), track(keyString));
|
|
71
|
-
else if (subkey === "get")
|
|
72
|
-
return (platform) => getVariable(val);
|
|
73
|
-
return Reflect.get(val, subkey);
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
if (process.env.NODE_ENV === "development" && process.env.TAMAGUI_FEAT_THROW_ON_MISSING_THEME_VALUE === "1")
|
|
77
|
-
throw new Error(
|
|
78
|
-
`[tamagui] No theme key "${key}" found in theme ${name}.
|
|
79
|
-
Keys in theme: ${Object.keys(
|
|
80
|
-
theme
|
|
81
|
-
).join(", ")}`
|
|
82
|
-
);
|
|
83
|
-
}
|
|
84
|
-
return Reflect.get(_, key);
|
|
85
|
-
}
|
|
86
|
-
});
|
|
49
|
+
const proxied = Object.fromEntries(
|
|
50
|
+
Object.entries(theme).flatMap(([key, value]) => {
|
|
51
|
+
const proxied2 = {
|
|
52
|
+
...value,
|
|
53
|
+
get val() {
|
|
54
|
+
return globalThis.tamaguiAvoidTracking || track(key), value.val;
|
|
55
|
+
},
|
|
56
|
+
get(platform) {
|
|
57
|
+
return getVariable(value);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
return [
|
|
61
|
+
[key, proxied2],
|
|
62
|
+
[`$${key}`, proxied2]
|
|
63
|
+
];
|
|
64
|
+
})
|
|
65
|
+
);
|
|
66
|
+
return ProxiedThemes.set(theme, proxied), proxied;
|
|
87
67
|
}
|
|
88
68
|
const activeThemeManagers = /* @__PURE__ */ new Set(), _uidToManager = /* @__PURE__ */ new WeakMap(), _idToUID = {}, getId = (id) => _idToUID[id], getThemeManager = (id) => _uidToManager.get(getId(id)), registerThemeManager = (t) => {
|
|
89
69
|
if (!_idToUID[t.id]) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useTheme.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,UAAiB,UAAU,aAAa;AACjD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,
|
|
5
|
-
"names": ["
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["proxied", "themeManager", "state", "isNewTheme", "mounted"]
|
|
6
6
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isClient, isServer, isWeb } from "@tamagui/constants";
|
|
2
|
-
import { useContext, useEffect, useLayoutEffect,
|
|
2
|
+
import { useContext, useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
3
3
|
import { getConfig, getSetting } from "../config.mjs";
|
|
4
4
|
import { getVariable } from "../createVariable.mjs";
|
|
5
5
|
import { ThemeManager, getHasThemeUpdatingProps } from "../helpers/ThemeManager.mjs";
|
|
@@ -24,47 +24,37 @@ const emptyProps = {
|
|
|
24
24
|
process.env.NODE_ENV === "development" && (state?.theme || process.env.TAMAGUI_DISABLE_NO_THEME_WARNING !== "1" && console.error(`[tamagui] No theme found, this could be due to an invalid theme name (given theme props ${JSON.stringify(props)}).
|
|
25
25
|
|
|
26
26
|
If this is intended and you are using Tamagui without any themes, you can disable this warning by setting the environment variable TAMAGUI_DISABLE_NO_THEME_WARNING=1`));
|
|
27
|
-
const themeProxied =
|
|
27
|
+
const themeProxied = getThemeProxied(props, state, keys, themeManager);
|
|
28
28
|
return process.env.NODE_ENV === "development" && props.debug === "verbose" && (console.groupCollapsed(` \u{1F539} [${themeManager?.id}] useTheme =>`, state?.name), console.info("returning state", changedThemeState.state, changedThemeState.isNewTheme, "from props", props), console.groupEnd()), [changedThemeState, themeProxied];
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if (!theme) return
|
|
36
|
-
|
|
29
|
+
},
|
|
30
|
+
emptyObject = {},
|
|
31
|
+
ProxiedThemes = /* @__PURE__ */new Map();
|
|
32
|
+
let curKeys, curProps, curThemeManger;
|
|
33
|
+
function getThemeProxied(_props, state, _keys, _themeManager) {
|
|
34
|
+
const theme = state?.theme;
|
|
35
|
+
if (!theme || !_themeManager) return emptyObject;
|
|
36
|
+
if (curKeys = _keys, curProps = _props, curThemeManger = _themeManager, ProxiedThemes.has(theme)) return ProxiedThemes.get(theme);
|
|
37
|
+
const {
|
|
38
|
+
name,
|
|
39
|
+
scheme
|
|
40
|
+
} = state,
|
|
41
|
+
config = getConfig();
|
|
37
42
|
function track(key) {
|
|
38
|
-
|
|
39
|
-
themeManager?.selfUpdate();
|
|
40
|
-
})), keys.current.push(key), process.env.NODE_ENV === "development" && debug && console.info(` \u{1F3A8} useTheme() tracking new key: ${key}`);
|
|
43
|
+
curKeys && (curKeys.current || (curKeys.current = []), curKeys.current.push(key), process.env.NODE_ENV === "development" && curProps.debug && console.info(` \u{1F3A8} useTheme() tracking new key: ${key}`));
|
|
41
44
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
// if someone is crazy enough to use "undefined" as a theme key then this not working is on them
|
|
51
|
-
key !== "undefined" && typeof key == "string") {
|
|
52
|
-
const keyString = key[0] === "$" ? key.slice(1) : key,
|
|
53
|
-
val = theme[keyString];
|
|
54
|
-
if (val && typeof val == "object") return new Proxy(val, {
|
|
55
|
-
// when they touch the actual value we only track it
|
|
56
|
-
// if its a variable (web), its ignored!
|
|
57
|
-
get(_2, subkey) {
|
|
58
|
-
if (subkey === "val") globalThis.tamaguiAvoidTracking || (process.env.NODE_ENV === "development" && debug === "verbose" && console.info(" \u{1F3A8} useTheme() tracking new key because of .val access", new Error().stack), track(keyString));else if (subkey === "get") return platform => getVariable(val);
|
|
59
|
-
return Reflect.get(val, subkey);
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
if (process.env.NODE_ENV === "development" && process.env.TAMAGUI_FEAT_THROW_ON_MISSING_THEME_VALUE === "1") throw new Error(`[tamagui] No theme key "${key}" found in theme ${name}.
|
|
63
|
-
Keys in theme: ${Object.keys(theme).join(", ")}`);
|
|
45
|
+
const proxied = Object.fromEntries(Object.entries(theme).flatMap(([key, value]) => {
|
|
46
|
+
const proxied2 = {
|
|
47
|
+
...value,
|
|
48
|
+
get val() {
|
|
49
|
+
return globalThis.tamaguiAvoidTracking || track(key), value.val;
|
|
50
|
+
},
|
|
51
|
+
get(platform) {
|
|
52
|
+
return getVariable(value);
|
|
64
53
|
}
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
});
|
|
54
|
+
};
|
|
55
|
+
return [[key, proxied2], [`$${key}`, proxied2]];
|
|
56
|
+
}));
|
|
57
|
+
return ProxiedThemes.set(theme, proxied), proxied;
|
|
68
58
|
}
|
|
69
59
|
const activeThemeManagers = /* @__PURE__ */new Set(),
|
|
70
60
|
_uidToManager = /* @__PURE__ */new WeakMap(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isClient","isServer","isWeb","useContext","useEffect","useLayoutEffect","useMemo","useRef","useState","getConfig","getSetting","getVariable","ThemeManager","getHasThemeUpdatingProps","ThemeManagerContext","isEqualShallow","emptyProps","name","useTheme","props","_","theme","useThemeWithState","keys","changedThemeState","useChangeThemeEffect","process","env","NODE_ENV","globalThis","time","themeManager","state","TAMAGUI_DISABLE_NO_THEME_WARNING","console","error","JSON","stringify","themeProxied","current","getThemeProxied","deopt","debug","groupCollapsed","id","info","isNewTheme","groupEnd","scheme","config","track","key","setTimeout","selfUpdate","push","Proxy","has","Reflect","slice","allKeys","get","keyString","val","_2","subkey","tamaguiAvoidTracking","Error","stack","platform","TAMAGUI_FEAT_THROW_ON_MISSING_THEME_VALUE","Object","join","activeThemeManagers","Set","_uidToManager","WeakMap","_idToUID","getId","getThemeManager","registerThemeManager","t","set","ogLog","preventWarnSetState","a","args","includes","getShouldUpdateTheme","parentManager","themeState","nextState","forceShouldChange","next","getState","isRoot","disable","shouldAlwaysUpdate","needsUpdate","setThemeState","createState","mounted","prevState","isInversingOnMount","inverse","notify","prev","add","TamaguiRootThemeManager","updated","selfListenerDispose","onChangeTheme","_a","_b","forced","disposeChangeListener","manager","force","shouldTryUpdate","delete","componentName","reset","TamaguiThemeManagers","inversed","className","foundNextState","themeManager2","state2","parentManagerProp","forceChange","updateState","isNewTheme2","mounted2","response","shouldReturnPrev","parentState","parentId","themeManagerState"],"sources":["../../../src/hooks/useTheme.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["isClient","isServer","isWeb","useContext","useEffect","useLayoutEffect","useRef","useState","getConfig","getSetting","getVariable","ThemeManager","getHasThemeUpdatingProps","ThemeManagerContext","isEqualShallow","emptyProps","name","useTheme","props","_","theme","useThemeWithState","keys","changedThemeState","useChangeThemeEffect","process","env","NODE_ENV","globalThis","time","themeManager","state","TAMAGUI_DISABLE_NO_THEME_WARNING","console","error","JSON","stringify","themeProxied","getThemeProxied","debug","groupCollapsed","id","info","isNewTheme","groupEnd","emptyObject","ProxiedThemes","Map","curKeys","curProps","curThemeManger","_props","_keys","_themeManager","has","get","scheme","config","track","key","current","push","proxied","Object","fromEntries","entries","flatMap","value","proxied2","val","tamaguiAvoidTracking","platform","set","activeThemeManagers","Set","_uidToManager","WeakMap","_idToUID","getId","getThemeManager","registerThemeManager","t","ogLog","preventWarnSetState","a","args","includes","getShouldUpdateTheme","parentManager","themeState","nextState","forceShouldChange","next","getState","isRoot","disable","shouldAlwaysUpdate","needsUpdate","setThemeState","createState","mounted","prevState","isInversingOnMount","inverse","notify","prev","add","TamaguiRootThemeManager","updated","selfListenerDispose","onChangeTheme","_a","_b","forced","disposeChangeListener","manager","force","deopt","shouldTryUpdate","delete","componentName","reset","TamaguiThemeManagers","inversed","className","foundNextState","themeManager2","state2","parentManagerProp","forceChange","updateState","isNewTheme2","mounted2","response","shouldReturnPrev","parentState","parentId","themeManagerState"],"sources":["../../../src/hooks/useTheme.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isClient, isIos, isServer, isWeb } from "@tamagui/constants";
|
|
2
|
-
import { useContext, useEffect,
|
|
2
|
+
import { useContext, useEffect, useRef, useState } from "react";
|
|
3
3
|
import { getConfig, getSetting } from "../config";
|
|
4
4
|
import { getVariable } from "../createVariable";
|
|
5
5
|
import { ThemeManager, getHasThemeUpdatingProps } from "../helpers/ThemeManager";
|
|
@@ -18,79 +18,62 @@ var emptyProps = {
|
|
|
18
18
|
process.env.NODE_ENV === "development" && (state?.theme || process.env.TAMAGUI_DISABLE_NO_THEME_WARNING !== "1" && console.error(`[tamagui] No theme found, this could be due to an invalid theme name (given theme props ${JSON.stringify(props)}).
|
|
19
19
|
|
|
20
20
|
If this is intended and you are using Tamagui without any themes, you can disable this warning by setting the environment variable TAMAGUI_DISABLE_NO_THEME_WARNING=1`));
|
|
21
|
-
var themeProxied =
|
|
22
|
-
return keys.current && (keys.current = null), !themeManager || !state?.theme ? {} : getThemeProxied(state, props.deopt, keys, themeManager, props.debug);
|
|
23
|
-
}, [
|
|
24
|
-
state?.theme,
|
|
25
|
-
themeManager,
|
|
26
|
-
props.deopt,
|
|
27
|
-
props.debug
|
|
28
|
-
]);
|
|
21
|
+
var themeProxied = getThemeProxied(props, state, keys, themeManager);
|
|
29
22
|
return process.env.NODE_ENV === "development" && props.debug === "verbose" && (console.groupCollapsed(` \u{1F539} [${themeManager?.id}] useTheme =>`, state?.name), console.info("returning state", changedThemeState.state, changedThemeState.isNewTheme, "from props", props), console.groupEnd()), [
|
|
30
23
|
changedThemeState,
|
|
31
24
|
themeProxied
|
|
32
25
|
];
|
|
33
|
-
};
|
|
34
|
-
function getThemeProxied(
|
|
35
|
-
var
|
|
36
|
-
if (!theme
|
|
37
|
-
|
|
26
|
+
}, emptyObject = {}, ProxiedThemes = /* @__PURE__ */ new Map(), curKeys, curProps, curThemeManger;
|
|
27
|
+
function getThemeProxied(_props, state, _keys, _themeManager) {
|
|
28
|
+
var theme = state?.theme;
|
|
29
|
+
if (!theme || !_themeManager)
|
|
30
|
+
return emptyObject;
|
|
31
|
+
if (curKeys = _keys, curProps = _props, curThemeManger = _themeManager, ProxiedThemes.has(theme)) {
|
|
32
|
+
var proxied = ProxiedThemes.get(theme);
|
|
33
|
+
return proxied;
|
|
34
|
+
}
|
|
35
|
+
var { name, scheme } = state, config = getConfig();
|
|
38
36
|
function track(key) {
|
|
39
|
-
|
|
40
|
-
themeManager?.selfUpdate();
|
|
41
|
-
})), keys.current.push(key), process.env.NODE_ENV === "development" && debug && console.info(` \u{1F3A8} useTheme() tracking new key: ${key}`);
|
|
37
|
+
curKeys && (curKeys.current || (curKeys.current = []), curKeys.current.push(key), process.env.NODE_ENV === "development" && curProps.debug && console.info(` \u{1F3A8} useTheme() tracking new key: ${key}`));
|
|
42
38
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
var keyString = key[0] === "$" ? key.slice(1) : key, val = theme[keyString];
|
|
57
|
-
if (val && typeof val == "object")
|
|
58
|
-
return new Proxy(val, {
|
|
59
|
-
// when they touch the actual value we only track it
|
|
60
|
-
// if its a variable (web), its ignored!
|
|
61
|
-
get(_2, subkey) {
|
|
62
|
-
if (subkey === "val")
|
|
63
|
-
globalThis.tamaguiAvoidTracking || (process.env.NODE_ENV === "development" && debug === "verbose" && console.info(" \u{1F3A8} useTheme() tracking new key because of .val access", new Error().stack), track(keyString));
|
|
64
|
-
else if (subkey === "get")
|
|
65
|
-
return function(platform) {
|
|
66
|
-
var outVal = getVariable(val);
|
|
67
|
-
if (platform !== "web" && isIos && !deopt && getSetting("fastSchemeChange") && !shouldDeoptDueToParentScheme(themeManager) && scheme) {
|
|
68
|
-
var _config_themes_name, _config_themes_oppositeName, oppositeScheme = scheme === "dark" ? "light" : "dark", oppositeName = name.replace(scheme, oppositeScheme), color = getVariable((_config_themes_name = config.themes[name]) === null || _config_themes_name === void 0 ? void 0 : _config_themes_name[keyString]), oppositeColor = getVariable((_config_themes_oppositeName = config.themes[oppositeName]) === null || _config_themes_oppositeName === void 0 ? void 0 : _config_themes_oppositeName[keyString]), dynamicVal = {
|
|
69
|
-
dynamic: {
|
|
70
|
-
[scheme]: color,
|
|
71
|
-
[oppositeScheme]: oppositeColor
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
return dynamicVal;
|
|
75
|
-
}
|
|
76
|
-
return process.env.NODE_ENV === "development" && debug && console.info(` \u{1F3A8} useTheme() tracking new key because of:
|
|
77
|
-
not web: ${platform !== "web"}
|
|
78
|
-
isIOS: ${isIos}
|
|
79
|
-
deopt: ${deopt}
|
|
80
|
-
fastScheme: ${getSetting("fastSchemeChange")}
|
|
81
|
-
inversed: ${getIsInversed(themeManager)}
|
|
82
|
-
`), track(keyString), outVal;
|
|
83
|
-
};
|
|
84
|
-
return Reflect.get(val, subkey);
|
|
39
|
+
var proxied1 = Object.fromEntries(Object.entries(theme).flatMap(function(param) {
|
|
40
|
+
var [key, value] = param, proxied2 = {
|
|
41
|
+
...value,
|
|
42
|
+
get val() {
|
|
43
|
+
return globalThis.tamaguiAvoidTracking || track(key), value.val;
|
|
44
|
+
},
|
|
45
|
+
get(platform) {
|
|
46
|
+
var outVal = getVariable(value);
|
|
47
|
+
if (platform !== "web" && isIos && !curProps.deopt && getSetting("fastSchemeChange") && !shouldDeoptDueToParentScheme(curThemeManger) && scheme) {
|
|
48
|
+
var _config_themes_name, _config_themes_oppositeName, oppositeScheme = scheme === "dark" ? "light" : "dark", oppositeName = name.replace(scheme, oppositeScheme), color = getVariable((_config_themes_name = config.themes[name]) === null || _config_themes_name === void 0 ? void 0 : _config_themes_name[key]), oppositeColor = getVariable((_config_themes_oppositeName = config.themes[oppositeName]) === null || _config_themes_oppositeName === void 0 ? void 0 : _config_themes_oppositeName[key]), dynamicVal = {
|
|
49
|
+
dynamic: {
|
|
50
|
+
[scheme]: color,
|
|
51
|
+
[oppositeScheme]: oppositeColor
|
|
85
52
|
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
53
|
+
};
|
|
54
|
+
return dynamicVal;
|
|
55
|
+
}
|
|
56
|
+
return process.env.NODE_ENV === "development" && curProps.debug && console.info(` \u{1F3A8} useTheme() tracking new key because of:
|
|
57
|
+
not web: ${platform !== "web"}
|
|
58
|
+
isIOS: ${isIos}
|
|
59
|
+
deopt: ${curProps.deopt}
|
|
60
|
+
fastScheme: ${getSetting("fastSchemeChange")}
|
|
61
|
+
inversed: ${getIsInversed(curThemeManger)}
|
|
62
|
+
`), track(key), outVal;
|
|
90
63
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
64
|
+
};
|
|
65
|
+
return [
|
|
66
|
+
[
|
|
67
|
+
key,
|
|
68
|
+
proxied2
|
|
69
|
+
],
|
|
70
|
+
[
|
|
71
|
+
`$${key}`,
|
|
72
|
+
proxied2
|
|
73
|
+
]
|
|
74
|
+
];
|
|
75
|
+
}));
|
|
76
|
+
return ProxiedThemes.set(theme, proxied1), proxied1;
|
|
94
77
|
}
|
|
95
78
|
function getIsInversed(manager) {
|
|
96
79
|
for (var isInversed = !1, cur = manager; cur; ) {
|