@tamagui/web 1.57.3 → 1.57.5
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/getThemeCSSRules.js +26 -30
- package/dist/cjs/helpers/getThemeCSSRules.js.map +1 -1
- package/dist/cjs/views/Theme.js +2 -2
- package/dist/cjs/views/Theme.js.map +1 -1
- package/dist/esm/helpers/getThemeCSSRules.js +26 -30
- package/dist/esm/helpers/getThemeCSSRules.js.map +1 -1
- package/dist/esm/views/Theme.js +2 -2
- package/dist/esm/views/Theme.js.map +1 -1
- package/package.json +9 -9
- package/reset.css +1 -1
- package/src/helpers/getThemeCSSRules.ts +31 -36
- package/src/views/Theme.tsx +8 -12
- package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
- package/types/views/Theme.d.ts.map +1 -1
|
@@ -29,7 +29,7 @@ function getThemeCSSRules(props) {
|
|
|
29
29
|
const cssRuleSets = [];
|
|
30
30
|
if (!process.env.TAMAGUI_DOES_SSR_CSS || process.env.TAMAGUI_DOES_SSR_CSS === "mutates-themes" || process.env.TAMAGUI_DOES_SSR_CSS === "false") {
|
|
31
31
|
const { config, themeName, theme, names } = props;
|
|
32
|
-
const hasDarkLight = "light" in config.themes
|
|
32
|
+
const hasDarkLight = "light" in config.themes || "dark" in config.themes;
|
|
33
33
|
const CNP = `.${import_constants.THEME_CLASSNAME_PREFIX}`;
|
|
34
34
|
let vars = "";
|
|
35
35
|
for (const themeKey in theme) {
|
|
@@ -42,46 +42,42 @@ function getThemeCSSRules(props) {
|
|
|
42
42
|
}
|
|
43
43
|
vars += `--${(0, import_helpers.simpleHash)(themeKey, 40)}:${value};`;
|
|
44
44
|
}
|
|
45
|
-
const
|
|
45
|
+
const isDarkBase = themeName === "dark";
|
|
46
|
+
const isLightBase = themeName === "light";
|
|
46
47
|
const baseSelectors = names.map((name) => `${CNP}${name}`);
|
|
47
48
|
const selectorsSet = new Set(baseSelectors);
|
|
48
49
|
if (hasDarkLight) {
|
|
50
|
+
const maxDepth = config.maxDarkLightNesting ?? 3;
|
|
49
51
|
for (const subName of names) {
|
|
50
|
-
const isDark =
|
|
51
|
-
const isLight =
|
|
52
|
-
const maxDepth = config.maxDarkLightNesting ?? 3;
|
|
52
|
+
const isDark = isDarkBase || subName.startsWith("dark_");
|
|
53
|
+
const isLight = !isDark && (isLightBase || subName.startsWith("light_"));
|
|
53
54
|
if (!(isDark || isLight)) {
|
|
54
55
|
selectorsSet.add(`:root:root ${CNP}${subName}`);
|
|
55
56
|
continue;
|
|
56
57
|
}
|
|
57
58
|
const childSelector = `${CNP}${subName.replace(/^(dark|light)_/, "")}`;
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
const order = isDark ? ["dark", "light"] : ["light", "dark"];
|
|
60
|
+
const [stronger, weaker] = order;
|
|
61
|
+
const numSelectors = Math.round(maxDepth * 1.5);
|
|
62
|
+
for (let depth = 0; depth < numSelectors; depth++) {
|
|
63
|
+
const isOdd = depth % 2 === 1;
|
|
64
|
+
if (isOdd && depth < 3) {
|
|
65
|
+
continue;
|
|
62
66
|
}
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
const parents = new Array(depth + 1).fill(0).map((_, psi) => {
|
|
71
|
-
return `${CNP}${psi % 2 === 0 ? stronger : weaker}`;
|
|
72
|
-
});
|
|
73
|
-
let parentSelectors = parents.length > 1 ? parents.slice(1) : parents;
|
|
74
|
-
if (isOdd) {
|
|
75
|
-
const [_first, second, ...rest] = parentSelectors;
|
|
76
|
-
parentSelectors = [second, ...rest, second];
|
|
77
|
-
}
|
|
78
|
-
const lastParentSelector = parentSelectors[parentSelectors.length - 1];
|
|
79
|
-
const nextChildSelector = childSelector === lastParentSelector ? "" : childSelector;
|
|
80
|
-
selectorsSet.add(`${parentSelectors.join(" ")} ${nextChildSelector}`.trim());
|
|
81
|
-
selectorsSet.add(
|
|
82
|
-
`${parentSelectors.join(" ")} ${nextChildSelector}.is_inversed`.trim()
|
|
83
|
-
);
|
|
67
|
+
const parents = new Array(depth + 1).fill(0).map((_, psi) => {
|
|
68
|
+
return `${CNP}${psi % 2 === 0 ? stronger : weaker}`;
|
|
69
|
+
});
|
|
70
|
+
let parentSelectors = parents.length > 1 ? parents.slice(1) : parents;
|
|
71
|
+
if (isOdd) {
|
|
72
|
+
const [_first, second, ...rest] = parentSelectors;
|
|
73
|
+
parentSelectors = [second, ...rest, second];
|
|
84
74
|
}
|
|
75
|
+
const lastParentSelector = parentSelectors[parentSelectors.length - 1];
|
|
76
|
+
const nextChildSelector = childSelector === lastParentSelector ? "" : childSelector;
|
|
77
|
+
selectorsSet.add(`${parentSelectors.join(" ")} ${nextChildSelector}`.trim());
|
|
78
|
+
selectorsSet.add(
|
|
79
|
+
`${parentSelectors.join(" ")} ${nextChildSelector}.is_inversed`.trim()
|
|
80
|
+
);
|
|
85
81
|
}
|
|
86
82
|
}
|
|
87
83
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/getThemeCSSRules.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA2B;AAE3B,uBAAuC;AACvC,4BAA2C;AAE3C,iCAAsC;AAE/B,SAAS,iBAAiB,OAK9B;AACD,QAAM,cAAwB,CAAC;AAE/B,MACE,CAAC,QAAQ,IAAI,wBACb,QAAQ,IAAI,yBAAyB,oBACrC,QAAQ,IAAI,yBAAyB,SACrC;AACA,UAAM,EAAE,QAAQ,WAAW,OAAO,MAAM,IAAI;AAG5C,UAAM,eAAe,WAAW,OAAO,UAAU,UAAU,OAAO;AAClE,UAAM,MAAM,IAAI,uCAAsB;AACtC,QAAI,OAAO;AAIX,eAAW,YAAY,OAAO;AAC5B,YAAM,WAAW,MAAM,QAAQ;AAC/B,UAAI,QAAa;AAEjB,UAAI,CAAC,iDAAsB,IAAI,SAAS,GAAG,GAAG;AAC5C,gBAAQ,SAAS;AAAA,MACnB,OAAO;AACL,gBAAQ,iDAAsB,IAAI,SAAS,GAAG,EAAG;AAAA,MACnD;AAEA,cAAQ,SAAK,2BAAW,UAAU,EAAE,CAAC,IAAI,KAAK;AAAA,IAChD;AAEA,UAAM,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["css"]
|
|
6
6
|
}
|
package/dist/cjs/views/Theme.js
CHANGED
|
@@ -126,11 +126,11 @@ function wrapThemeElements({
|
|
|
126
126
|
className = className.replace("t_sub_theme", "");
|
|
127
127
|
}
|
|
128
128
|
let themedChildren = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: `${className} _dsp_contents is_Theme`, style: colorStyle, children });
|
|
129
|
-
if (inverse != null) {
|
|
129
|
+
if (inverse != null || forceClassName) {
|
|
130
130
|
themedChildren = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
131
131
|
"span",
|
|
132
132
|
{
|
|
133
|
-
className:
|
|
133
|
+
className: `${themeState.state.name.startsWith("light") ? "t_light" : themeState.state.name.startsWith("dark") ? "t_dark" : ""} _dsp_contents ${inverse ? "is_inversed" : ""}`,
|
|
134
134
|
children: themedChildren
|
|
135
135
|
}
|
|
136
136
|
);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/views/Theme.tsx"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["Theme", "children", "React"]
|
|
6
6
|
}
|
|
@@ -6,7 +6,7 @@ function getThemeCSSRules(props) {
|
|
|
6
6
|
const cssRuleSets = [];
|
|
7
7
|
if (!process.env.TAMAGUI_DOES_SSR_CSS || process.env.TAMAGUI_DOES_SSR_CSS === "mutates-themes" || process.env.TAMAGUI_DOES_SSR_CSS === "false") {
|
|
8
8
|
const { config, themeName, theme, names } = props;
|
|
9
|
-
const hasDarkLight = "light" in config.themes
|
|
9
|
+
const hasDarkLight = "light" in config.themes || "dark" in config.themes;
|
|
10
10
|
const CNP = `.${THEME_CLASSNAME_PREFIX}`;
|
|
11
11
|
let vars = "";
|
|
12
12
|
for (const themeKey in theme) {
|
|
@@ -19,46 +19,42 @@ function getThemeCSSRules(props) {
|
|
|
19
19
|
}
|
|
20
20
|
vars += `--${simpleHash(themeKey, 40)}:${value};`;
|
|
21
21
|
}
|
|
22
|
-
const
|
|
22
|
+
const isDarkBase = themeName === "dark";
|
|
23
|
+
const isLightBase = themeName === "light";
|
|
23
24
|
const baseSelectors = names.map((name) => `${CNP}${name}`);
|
|
24
25
|
const selectorsSet = new Set(baseSelectors);
|
|
25
26
|
if (hasDarkLight) {
|
|
27
|
+
const maxDepth = config.maxDarkLightNesting ?? 3;
|
|
26
28
|
for (const subName of names) {
|
|
27
|
-
const isDark =
|
|
28
|
-
const isLight =
|
|
29
|
-
const maxDepth = config.maxDarkLightNesting ?? 3;
|
|
29
|
+
const isDark = isDarkBase || subName.startsWith("dark_");
|
|
30
|
+
const isLight = !isDark && (isLightBase || subName.startsWith("light_"));
|
|
30
31
|
if (!(isDark || isLight)) {
|
|
31
32
|
selectorsSet.add(`:root:root ${CNP}${subName}`);
|
|
32
33
|
continue;
|
|
33
34
|
}
|
|
34
35
|
const childSelector = `${CNP}${subName.replace(/^(dark|light)_/, "")}`;
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
const order = isDark ? ["dark", "light"] : ["light", "dark"];
|
|
37
|
+
const [stronger, weaker] = order;
|
|
38
|
+
const numSelectors = Math.round(maxDepth * 1.5);
|
|
39
|
+
for (let depth = 0; depth < numSelectors; depth++) {
|
|
40
|
+
const isOdd = depth % 2 === 1;
|
|
41
|
+
if (isOdd && depth < 3) {
|
|
42
|
+
continue;
|
|
39
43
|
}
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
const parents = new Array(depth + 1).fill(0).map((_, psi) => {
|
|
48
|
-
return `${CNP}${psi % 2 === 0 ? stronger : weaker}`;
|
|
49
|
-
});
|
|
50
|
-
let parentSelectors = parents.length > 1 ? parents.slice(1) : parents;
|
|
51
|
-
if (isOdd) {
|
|
52
|
-
const [_first, second, ...rest] = parentSelectors;
|
|
53
|
-
parentSelectors = [second, ...rest, second];
|
|
54
|
-
}
|
|
55
|
-
const lastParentSelector = parentSelectors[parentSelectors.length - 1];
|
|
56
|
-
const nextChildSelector = childSelector === lastParentSelector ? "" : childSelector;
|
|
57
|
-
selectorsSet.add(`${parentSelectors.join(" ")} ${nextChildSelector}`.trim());
|
|
58
|
-
selectorsSet.add(
|
|
59
|
-
`${parentSelectors.join(" ")} ${nextChildSelector}.is_inversed`.trim()
|
|
60
|
-
);
|
|
44
|
+
const parents = new Array(depth + 1).fill(0).map((_, psi) => {
|
|
45
|
+
return `${CNP}${psi % 2 === 0 ? stronger : weaker}`;
|
|
46
|
+
});
|
|
47
|
+
let parentSelectors = parents.length > 1 ? parents.slice(1) : parents;
|
|
48
|
+
if (isOdd) {
|
|
49
|
+
const [_first, second, ...rest] = parentSelectors;
|
|
50
|
+
parentSelectors = [second, ...rest, second];
|
|
61
51
|
}
|
|
52
|
+
const lastParentSelector = parentSelectors[parentSelectors.length - 1];
|
|
53
|
+
const nextChildSelector = childSelector === lastParentSelector ? "" : childSelector;
|
|
54
|
+
selectorsSet.add(`${parentSelectors.join(" ")} ${nextChildSelector}`.trim());
|
|
55
|
+
selectorsSet.add(
|
|
56
|
+
`${parentSelectors.join(" ")} ${nextChildSelector}.is_inversed`.trim()
|
|
57
|
+
);
|
|
62
58
|
}
|
|
63
59
|
}
|
|
64
60
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/getThemeCSSRules.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,kBAAkB;AAE3B,SAAS,8BAA8B;AACvC,SAAmB,wBAAwB;AAE3C,SAAS,6BAA6B;AAE/B,SAAS,iBAAiB,OAK9B;AACD,QAAM,cAAwB,CAAC;AAE/B,MACE,CAAC,QAAQ,IAAI,wBACb,QAAQ,IAAI,yBAAyB,oBACrC,QAAQ,IAAI,yBAAyB,SACrC;AACA,UAAM,EAAE,QAAQ,WAAW,OAAO,MAAM,IAAI;AAG5C,UAAM,eAAe,WAAW,OAAO,UAAU,UAAU,OAAO;AAClE,UAAM,MAAM,IAAI,sBAAsB;AACtC,QAAI,OAAO;AAIX,eAAW,YAAY,OAAO;AAC5B,YAAM,WAAW,MAAM,QAAQ;AAC/B,UAAI,QAAa;AAEjB,UAAI,CAAC,sBAAsB,IAAI,SAAS,GAAG,GAAG;AAC5C,gBAAQ,SAAS;AAAA,MACnB,OAAO;AACL,gBAAQ,sBAAsB,IAAI,SAAS,GAAG,EAAG;AAAA,MACnD;AAEA,cAAQ,KAAK,WAAW,UAAU,EAAE,CAAC,IAAI,KAAK;AAAA,IAChD;AAEA,UAAM,
|
|
4
|
+
"mappings": "AAAA,SAAS,kBAAkB;AAE3B,SAAS,8BAA8B;AACvC,SAAmB,wBAAwB;AAE3C,SAAS,6BAA6B;AAE/B,SAAS,iBAAiB,OAK9B;AACD,QAAM,cAAwB,CAAC;AAE/B,MACE,CAAC,QAAQ,IAAI,wBACb,QAAQ,IAAI,yBAAyB,oBACrC,QAAQ,IAAI,yBAAyB,SACrC;AACA,UAAM,EAAE,QAAQ,WAAW,OAAO,MAAM,IAAI;AAG5C,UAAM,eAAe,WAAW,OAAO,UAAU,UAAU,OAAO;AAClE,UAAM,MAAM,IAAI,sBAAsB;AACtC,QAAI,OAAO;AAIX,eAAW,YAAY,OAAO;AAC5B,YAAM,WAAW,MAAM,QAAQ;AAC/B,UAAI,QAAa;AAEjB,UAAI,CAAC,sBAAsB,IAAI,SAAS,GAAG,GAAG;AAC5C,gBAAQ,SAAS;AAAA,MACnB,OAAO;AACL,gBAAQ,sBAAsB,IAAI,SAAS,GAAG,EAAG;AAAA,MACnD;AAEA,cAAQ,KAAK,WAAW,UAAU,EAAE,CAAC,IAAI,KAAK;AAAA,IAChD;AAEA,UAAM,aAAa,cAAc;AACjC,UAAM,cAAc,cAAc;AAClC,UAAM,gBAAgB,MAAM,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,EAAE;AACzD,UAAM,eAAe,IAAI,IAAI,aAAa;AAI1C,QAAI,cAAc;AAChB,YAAM,WAAW,OAAO,uBAAuB;AAE/C,iBAAW,WAAW,OAAO;AAC3B,cAAM,SAAS,cAAc,QAAQ,WAAW,OAAO;AACvD,cAAM,UAAU,CAAC,WAAW,eAAe,QAAQ,WAAW,QAAQ;AAEtE,YAAI,EAAE,UAAU,UAAU;AAGxB,uBAAa,IAAI,cAAc,GAAG,GAAG,OAAO,EAAE;AAC9C;AAAA,QACF;AAEA,cAAM,gBAAgB,GAAG,GAAG,GAAG,QAAQ,QAAQ,kBAAkB,EAAE,CAAC;AACpE,cAAM,QAAQ,SAAS,CAAC,QAAQ,OAAO,IAAI,CAAC,SAAS,MAAM;AAC3D,cAAM,CAAC,UAAU,MAAM,IAAI;AAC3B,cAAM,eAAe,KAAK,MAAM,WAAW,GAAG;AAE9C,iBAAS,QAAQ,GAAG,QAAQ,cAAc,SAAS;AACjD,gBAAM,QAAQ,QAAQ,MAAM;AAG5B,cAAI,SAAS,QAAQ,GAAG;AACtB;AAAA,UACF;AAEA,gBAAM,UAAU,IAAI,MAAM,QAAQ,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,QAAQ;AAC3D,mBAAO,GAAG,GAAG,GAAG,MAAM,MAAM,IAAI,WAAW,MAAM;AAAA,UACnD,CAAC;AAED,cAAI,kBAAkB,QAAQ,SAAS,IAAI,QAAQ,MAAM,CAAC,IAAI;AAE9D,cAAI,OAAO;AACT,kBAAM,CAAC,QAAQ,QAAQ,GAAG,IAAI,IAAI;AAClC,8BAAkB,CAAC,QAAQ,GAAG,MAAM,MAAM;AAAA,UAC5C;AAEA,gBAAM,qBAAqB,gBAAgB,gBAAgB,SAAS,CAAC;AACrE,gBAAM,oBACJ,kBAAkB,qBAAqB,KAAK;AAG9C,uBAAa,IAAI,GAAG,gBAAgB,KAAK,GAAG,CAAC,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAC3E,uBAAa;AAAA,YACX,GAAG,gBAAgB,KAAK,GAAG,CAAC,IAAI,iBAAiB,eAAe,KAAK;AAAA,UACvE;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,UAAM,YAAY,CAAC,GAAG,YAAY,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,cAAc,CAAC,CAAC;AAIrE,UAAM,kBAAkB,UACrB,IAAI,CAAC,MAAM;AACV,YAAM,UAAU,YAAY,CAAC,KAAK,OAAO,uBAAuB,KAAK;AACrE,aAAO,QAAQ,OAAO,GAAG,CAAC;AAAA,IAC5B,CAAC,EACA,KAAK,IAAI;AAEZ,UAAM,MAAM,GAAG,eAAe,KAAK,IAAI;AACvC,gBAAY,KAAK,GAAG;AAEpB,QAAI,OAAO,6BAA6B;AACtC,YAAM,WAAW,MAAM,aACnB,cAAc,iBAAiB,MAAM,UAAU,CAAC,MAChD;AACJ,YAAM,WAAW,MAAM,QAAQ,SAAS,iBAAiB,MAAM,KAAK,CAAC,KAAK;AAE1E,YAAM,YAAY,QAAQ,QAAQ,GAAG,QAAQ;AAC7C,YAAM,SAAS,UAAU,WAAW,MAAM;AAC1C,YAAM,WAAW,SAAS,SAAS;AACnC,YAAM,wBAAwB,UAC3B,IAAI,CAAC,MAAM;AACV,YAAI,KAAK,gBAAgB,MAAM;AAAe,iBAAO;AACrD,YACG,UAAU,EAAE,WAAW,aAAa,KACpC,CAAC,UAAU,EAAE,WAAW,YAAY,GACrC;AACA;AAAA,QACF;AACA,eAAO,EAAE,QAAQ,sBAAsB,EAAE,EAAE,KAAK;AAAA,MAClD,CAAC,EACA,OAAO,OAAO,EACd,KAAK,IAAI;AAEZ,YAAM,aAAa,GAAG,qBAAqB,KAAK,IAAI;AACpD,YAAM,wBAAwB,+BAA+B,QAAQ;AAAA,MACrE,SAAS;AAAA,MACT,UAAU;AAAA;AAEV,kBAAY,KAAK,qBAAqB;AAAA,IACxC;AAEA,QAAI,OAAO,iBAAiB;AAC1B,YAAM,qBAAqB,cAAc,IAAI,CAAC,MAAM,GAAG,CAAC,cAAc,EAAE,KAAK,IAAI;AACjF,YAAM,QAAQ,OAAO,gBAAgB,KAAK;AAC1C,UAAI,OAAO;AACT,cAAM,SAAS,OAAO,QAAQ,KAAK,EAChC;AAAA,UAAQ,CAAC,CAAC,GAAG,CAAC,MACb,IACI,GAAG,MAAM,oBAAoB,eAAe,CAAC,IAAI,iBAAiB,CAAC,CAAC,KACpE,CAAC;AAAA,QACP,EACC,KAAK,GAAG;AACX,cAAMA,OAAM,GAAG,kBAAkB,KAAK,MAAM;AAC5C,oBAAY,KAAKA,IAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAEA,MAAM,eAAe;AACrB,MAAM,gBAAgB;AACtB,MAAM,cAAc,CAAC,MACnB,MAAM,gBACN,MAAM,iBACN,EAAE,WAAW,UAAU,KACvB,EAAE,WAAW,WAAW;",
|
|
5
5
|
"names": ["css"]
|
|
6
6
|
}
|
package/dist/esm/views/Theme.js
CHANGED
|
@@ -98,11 +98,11 @@ function wrapThemeElements({
|
|
|
98
98
|
className = className.replace("t_sub_theme", "");
|
|
99
99
|
}
|
|
100
100
|
let themedChildren = /* @__PURE__ */ jsx("span", { className: `${className} _dsp_contents is_Theme`, style: colorStyle, children });
|
|
101
|
-
if (inverse != null) {
|
|
101
|
+
if (inverse != null || forceClassName) {
|
|
102
102
|
themedChildren = /* @__PURE__ */ jsx(
|
|
103
103
|
"span",
|
|
104
104
|
{
|
|
105
|
-
className:
|
|
105
|
+
className: `${themeState.state.name.startsWith("light") ? "t_light" : themeState.state.name.startsWith("dark") ? "t_dark" : ""} _dsp_contents ${inverse ? "is_inversed" : ""}`,
|
|
106
106
|
children: themedChildren
|
|
107
107
|
}
|
|
108
108
|
);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/views/Theme.tsx"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["Theme", "children"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/web",
|
|
3
|
-
"version": "1.57.
|
|
3
|
+
"version": "1.57.5",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"main": "dist/cjs",
|
|
6
6
|
"module": "dist/esm",
|
|
@@ -27,19 +27,19 @@
|
|
|
27
27
|
"reset.css"
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@tamagui/compose-refs": "1.57.
|
|
31
|
-
"@tamagui/constants": "1.57.
|
|
32
|
-
"@tamagui/helpers": "1.57.
|
|
33
|
-
"@tamagui/normalize-css-color": "1.57.
|
|
34
|
-
"@tamagui/timer": "1.57.
|
|
35
|
-
"@tamagui/use-did-finish-ssr": "1.57.
|
|
36
|
-
"@tamagui/use-force-update": "1.57.
|
|
30
|
+
"@tamagui/compose-refs": "1.57.5",
|
|
31
|
+
"@tamagui/constants": "1.57.5",
|
|
32
|
+
"@tamagui/helpers": "1.57.5",
|
|
33
|
+
"@tamagui/normalize-css-color": "1.57.5",
|
|
34
|
+
"@tamagui/timer": "1.57.5",
|
|
35
|
+
"@tamagui/use-did-finish-ssr": "1.57.5",
|
|
36
|
+
"@tamagui/use-force-update": "1.57.5"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"react": "*"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@tamagui/build": "1.57.
|
|
42
|
+
"@tamagui/build": "1.57.5",
|
|
43
43
|
"@testing-library/react": "^13.4.0",
|
|
44
44
|
"csstype": "^3.0.10",
|
|
45
45
|
"react": "^18.2.0",
|
package/reset.css
CHANGED
|
@@ -21,7 +21,7 @@ export function getThemeCSSRules(props: {
|
|
|
21
21
|
const { config, themeName, theme, names } = props
|
|
22
22
|
|
|
23
23
|
// special case for SSR
|
|
24
|
-
const hasDarkLight = 'light' in config.themes
|
|
24
|
+
const hasDarkLight = 'light' in config.themes || 'dark' in config.themes
|
|
25
25
|
const CNP = `.${THEME_CLASSNAME_PREFIX}`
|
|
26
26
|
let vars = ''
|
|
27
27
|
|
|
@@ -40,17 +40,19 @@ export function getThemeCSSRules(props: {
|
|
|
40
40
|
vars += `--${simpleHash(themeKey, 40)}:${value};`
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
const
|
|
43
|
+
const isDarkBase = themeName === 'dark'
|
|
44
|
+
const isLightBase = themeName === 'light'
|
|
44
45
|
const baseSelectors = names.map((name) => `${CNP}${name}`)
|
|
45
46
|
const selectorsSet = new Set(baseSelectors)
|
|
46
47
|
|
|
47
48
|
// since we dont specify dark/light in classnames we have to do an awkward specificity war
|
|
48
49
|
// use config.maxDarkLightNesting to determine how deep you can nest until it breaks
|
|
49
50
|
if (hasDarkLight) {
|
|
51
|
+
const maxDepth = config.maxDarkLightNesting ?? 3
|
|
52
|
+
|
|
50
53
|
for (const subName of names) {
|
|
51
|
-
const isDark =
|
|
52
|
-
const isLight =
|
|
53
|
-
const maxDepth = config.maxDarkLightNesting ?? 3
|
|
54
|
+
const isDark = isDarkBase || subName.startsWith('dark_')
|
|
55
|
+
const isLight = !isDark && (isLightBase || subName.startsWith('light_'))
|
|
54
56
|
|
|
55
57
|
if (!(isDark || isLight)) {
|
|
56
58
|
// neither light nor dark subtheme, just generate one selector with :root:root which
|
|
@@ -60,45 +62,38 @@ export function getThemeCSSRules(props: {
|
|
|
60
62
|
}
|
|
61
63
|
|
|
62
64
|
const childSelector = `${CNP}${subName.replace(/^(dark|light)_/, '')}`
|
|
65
|
+
const order = isDark ? ['dark', 'light'] : ['light', 'dark']
|
|
66
|
+
const [stronger, weaker] = order
|
|
67
|
+
const numSelectors = Math.round(maxDepth * 1.5)
|
|
63
68
|
|
|
64
|
-
|
|
69
|
+
for (let depth = 0; depth < numSelectors; depth++) {
|
|
70
|
+
const isOdd = depth % 2 === 1
|
|
65
71
|
|
|
66
|
-
|
|
67
|
-
if (
|
|
68
|
-
|
|
72
|
+
// wtf is this continue:
|
|
73
|
+
if (isOdd && depth < 3) {
|
|
74
|
+
continue
|
|
69
75
|
}
|
|
70
|
-
const [stronger, weaker] = order
|
|
71
|
-
const numSelectors = Math.round(maxDepth * 1.5)
|
|
72
|
-
|
|
73
|
-
for (let depth = 0; depth < numSelectors; depth++) {
|
|
74
|
-
const isOdd = depth % 2 === 1
|
|
75
|
-
|
|
76
|
-
// wtf is this continue:
|
|
77
|
-
if (isOdd && depth < 3) {
|
|
78
|
-
continue
|
|
79
|
-
}
|
|
80
76
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
77
|
+
const parents = new Array(depth + 1).fill(0).map((_, psi) => {
|
|
78
|
+
return `${CNP}${psi % 2 === 0 ? stronger : weaker}`
|
|
79
|
+
})
|
|
84
80
|
|
|
85
|
-
|
|
81
|
+
let parentSelectors = parents.length > 1 ? parents.slice(1) : parents
|
|
86
82
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
83
|
+
if (isOdd) {
|
|
84
|
+
const [_first, second, ...rest] = parentSelectors
|
|
85
|
+
parentSelectors = [second, ...rest, second]
|
|
86
|
+
}
|
|
91
87
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
88
|
+
const lastParentSelector = parentSelectors[parentSelectors.length - 1]
|
|
89
|
+
const nextChildSelector =
|
|
90
|
+
childSelector === lastParentSelector ? '' : childSelector
|
|
95
91
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
92
|
+
// for light/dark/light:
|
|
93
|
+
selectorsSet.add(`${parentSelectors.join(' ')} ${nextChildSelector}`.trim())
|
|
94
|
+
selectorsSet.add(
|
|
95
|
+
`${parentSelectors.join(' ')} ${nextChildSelector}.is_inversed`.trim()
|
|
96
|
+
)
|
|
102
97
|
}
|
|
103
98
|
}
|
|
104
99
|
}
|
package/src/views/Theme.tsx
CHANGED
|
@@ -163,20 +163,16 @@ export function wrapThemeElements({
|
|
|
163
163
|
)
|
|
164
164
|
|
|
165
165
|
// to prevent tree structure changes always render this if inverse is true or false
|
|
166
|
-
if (inverse != null) {
|
|
166
|
+
if (inverse != null || forceClassName) {
|
|
167
167
|
themedChildren = (
|
|
168
168
|
<span
|
|
169
|
-
className={
|
|
170
|
-
|
|
171
|
-
?
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
: ''
|
|
177
|
-
} _dsp_contents is_inversed`
|
|
178
|
-
: `_dsp_contents`
|
|
179
|
-
}
|
|
169
|
+
className={`${
|
|
170
|
+
themeState.state.name.startsWith('light')
|
|
171
|
+
? 't_light'
|
|
172
|
+
: themeState.state.name.startsWith('dark')
|
|
173
|
+
? 't_dark'
|
|
174
|
+
: ''
|
|
175
|
+
} _dsp_contents ${inverse ? 'is_inversed' : ''}`}
|
|
180
176
|
>
|
|
181
177
|
{themedChildren}
|
|
182
178
|
</span>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getThemeCSSRules.d.ts","sourceRoot":"","sources":["../../src/helpers/getThemeCSSRules.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAG/D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB,
|
|
1
|
+
{"version":3,"file":"getThemeCSSRules.d.ts","sourceRoot":"","sources":["../../src/helpers/getThemeCSSRules.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAG/D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB,YAuJA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../src/views/Theme.tsx"],"names":[],"mappings":"AACA,OAAO,KAON,MAAM,OAAO,CAAA;AAId,OAAO,EAAE,oBAAoB,EAAwB,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAG1C,eAAO,MAAM,KAAK,4EAwChB,CAAA;AAIF,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,oBAAoB,EAChC,QAAQ,EAAE,GAAG,EACb,KAAK,EAAE,UAAU,EACjB,MAAM,UAAQ,OAsDf;AAED,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,UAAU,EACV,cAAc,EACd,MAAM,GACP,EAAE;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,UAAU,EAAE,oBAAoB,CAAA;IAChC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,
|
|
1
|
+
{"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../src/views/Theme.tsx"],"names":[],"mappings":"AACA,OAAO,KAON,MAAM,OAAO,CAAA;AAId,OAAO,EAAE,oBAAoB,EAAwB,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAG1C,eAAO,MAAM,KAAK,4EAwChB,CAAA;AAIF,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,oBAAoB,EAChC,QAAQ,EAAE,GAAG,EACb,KAAK,EAAE,UAAU,EACjB,MAAM,UAAQ,OAsDf;AAED,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,UAAU,EACV,cAAc,EACd,MAAM,GACP,EAAE;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,UAAU,EAAE,oBAAoB,CAAA;IAChC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,oFAoDA"}
|