@tamagui/web 1.74.15 → 1.74.17
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/createComponent.js.map +1 -1
- package/dist/cjs/createComponent.native.js.map +1 -1
- package/dist/cjs/helpers/ThemeManager.js +43 -61
- package/dist/cjs/helpers/ThemeManager.js.map +2 -2
- package/dist/cjs/helpers/ThemeManager.native.js +43 -61
- package/dist/cjs/helpers/ThemeManager.native.js.map +2 -2
- package/dist/cjs/helpers/createShallowSetState.js +7 -2
- package/dist/cjs/helpers/createShallowSetState.js.map +1 -1
- package/dist/cjs/helpers/createShallowSetState.native.js +7 -2
- package/dist/cjs/helpers/createShallowSetState.native.js.map +1 -1
- package/dist/cjs/helpers/scheme.js +1 -0
- package/dist/cjs/helpers/scheme.js.map +6 -0
- package/dist/cjs/helpers/scheme.native.js +2 -0
- package/dist/cjs/helpers/scheme.native.js.map +6 -0
- package/dist/cjs/helpers/themeable.js +1 -1
- package/dist/cjs/helpers/themeable.js.map +1 -1
- package/dist/cjs/helpers/themeable.native.js +1 -1
- package/dist/cjs/helpers/themeable.native.js.map +1 -1
- package/dist/cjs/hooks/useTheme.js +19 -12
- package/dist/cjs/hooks/useTheme.js.map +2 -2
- package/dist/cjs/hooks/useTheme.native.js +44 -27
- package/dist/cjs/hooks/useTheme.native.js.map +2 -2
- package/dist/cjs/setupReactNative.js.map +1 -1
- package/dist/cjs/setupReactNative.native.js.map +1 -1
- package/dist/cjs/views/Theme.js +17 -29
- package/dist/cjs/views/Theme.js.map +1 -1
- package/dist/cjs/views/Theme.native.js +17 -29
- package/dist/cjs/views/Theme.native.js.map +1 -1
- package/dist/esm/createComponent.js.map +1 -1
- package/dist/esm/createComponent.native.js.map +1 -1
- package/dist/esm/helpers/ThemeManager.js +41 -58
- package/dist/esm/helpers/ThemeManager.js.map +2 -2
- package/dist/esm/helpers/ThemeManager.native.js +41 -58
- package/dist/esm/helpers/ThemeManager.native.js.map +2 -2
- package/dist/esm/helpers/createShallowSetState.js +6 -2
- package/dist/esm/helpers/createShallowSetState.js.map +1 -1
- package/dist/esm/helpers/createShallowSetState.native.js +6 -2
- package/dist/esm/helpers/createShallowSetState.native.js.map +1 -1
- package/dist/esm/helpers/scheme.js +1 -0
- package/dist/esm/helpers/scheme.js.map +6 -0
- package/dist/esm/helpers/scheme.native.js +1 -0
- package/dist/esm/helpers/scheme.native.js.map +6 -0
- package/dist/esm/helpers/themeable.js +1 -1
- package/dist/esm/helpers/themeable.js.map +1 -1
- package/dist/esm/helpers/themeable.native.js +1 -1
- package/dist/esm/helpers/themeable.native.js.map +1 -1
- package/dist/esm/hooks/useTheme.js +27 -11
- package/dist/esm/hooks/useTheme.js.map +2 -2
- package/dist/esm/hooks/useTheme.native.js +52 -26
- package/dist/esm/hooks/useTheme.native.js.map +2 -2
- package/dist/esm/setupReactNative.js.map +1 -1
- package/dist/esm/setupReactNative.native.js.map +1 -1
- package/dist/esm/views/Theme.js +14 -24
- package/dist/esm/views/Theme.js.map +1 -1
- package/dist/esm/views/Theme.native.js +14 -24
- package/dist/esm/views/Theme.native.js.map +1 -1
- package/package.json +9 -9
- package/src/createComponent.tsx +1 -2
- package/src/helpers/ThemeManager.tsx +91 -97
- package/src/helpers/createShallowSetState.tsx +7 -5
- package/src/helpers/themeable.tsx +1 -1
- package/src/hooks/useTheme.tsx +66 -18
- package/src/setupReactNative.ts +3 -0
- package/src/types.tsx +2 -0
- package/src/views/Theme.tsx +33 -29
- package/types/createComponent.d.ts.map +1 -1
- package/types/helpers/ThemeManager.d.ts +7 -8
- package/types/helpers/ThemeManager.d.ts.map +1 -1
- package/types/helpers/createShallowSetState.d.ts +1 -0
- package/types/helpers/createShallowSetState.d.ts.map +1 -1
- package/types/helpers/scheme.d.ts.map +1 -0
- package/types/hooks/useTheme.d.ts +2 -1
- package/types/hooks/useTheme.d.ts.map +1 -1
- package/types/setupReactNative.d.ts.map +1 -1
- package/types/types.d.ts +1 -0
- package/types/types.d.ts.map +1 -1
- package/types/views/Theme.d.ts +0 -12
- package/types/views/Theme.d.ts.map +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useTheme.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,UAAU,OAAO,gBAAgB;AAC1C,
|
|
5
|
-
"names": ["_", "themeManager", "state", "isNewTheme", "mounted"]
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["_", "themeManager", "state", "isNewTheme", "mounted", "inversed"]
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/setupReactNative.ts"],
|
|
4
|
-
"mappings": "AAEA,MAAM,2BAA2B,oBAAI,QAA2C;AAEzE,SAAS,qBAAqB,WAAgB;AACnD,MAAK;
|
|
4
|
+
"mappings": "AAEA,MAAM,2BAA2B,oBAAI,QAA2C;AAEzE,SAAS,qBAAqB,WAAgB;AACnD,MAAK;AAkBH,WAAI,UAAU,WAAW,UAAU,WAC1B,UAAU,QAEf,UAAU,gBAAgB,UAAU,UAAU,SACzC,UAAU,OAGjB,UAAU,WACT,UAAU,gBAAgB,gBAAgB,UAAU,gBAAgB,UAE9D,UAAU,UAEf,UAAU,OAAO,gBACZ,UAAU,YAId,yBAAyB,IAAI,SAAS;AAC/C;AAEA,MAAM,YAAY;AAAA,EAChB,OAAO;AAAA,IACL,eAAe;AAAA,IACf,aAAa,oBAAI,IAAI,CAAC,OAAO,SAAS,QAAQ,CAAC;AAAA,EACjD;AAAA,EACA,MAAM;AAAA,IACJ,eAAe;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,WAAW;AAAA,IACT,eAAe;AAAA,IACf,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACP,eAAe;AAAA,EACjB;AACF;AAKO,SAAS,iBAAiB,WAAgC;AAcjE;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/setupReactNative.ts"],
|
|
4
|
-
"mappings": "AAEA,MAAM,2BAA2B,oBAAI,QAA2C;AAEzE,SAAS,qBAAqB,WAAgB;AACnD,MAAK;AAGH,WAAI,UAAU,WAAW,eAAe,UAAU,WAAW,eACpD,UAAU,YAEf,UAAU,qBACL,UAAU,QAEf,UAAU,WAAW,oBAChB,UAAU,
|
|
4
|
+
"mappings": "AAEA,MAAM,2BAA2B,oBAAI,QAA2C;AAEzE,SAAS,qBAAqB,WAAgB;AACnD,MAAK;AAGH,WAAI,UAAU,WAAW,eAAe,UAAU,WAAW,eACpD,UAAU,YAEf,UAAU,qBACL,UAAU,QAEf,UAAU,WAAW,oBAChB,UAAU,OAMZ,UAAU;AAoBrB;AAEA,MAAM,YAAY;AAAA,EAChB,OAAO;AAAA,IACL,eAAe;AAAA,IACf,aAAa,oBAAI,IAAI,CAAC,OAAO,SAAS,QAAQ,CAAC;AAAA,EACjD;AAAA,EACA,MAAM;AAAA,IACJ,eAAe;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,WAAW;AAAA,IACT,eAAe;AAAA,IACf,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACP,eAAe;AAAA,EACjB;AACF;AAKO,SAAS,iBAAiB,WAAgC;AAcjE;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/views/Theme.js
CHANGED
|
@@ -48,15 +48,6 @@ function useThemedChildren(themeState, children, props, isRoot = !1, avoidWrap =
|
|
|
48
48
|
isRoot
|
|
49
49
|
}) : elementsWithContext;
|
|
50
50
|
}
|
|
51
|
-
function getThemeCNStyle(themeState, isRoot = !1) {
|
|
52
|
-
if (!themeState.isNewTheme)
|
|
53
|
-
return;
|
|
54
|
-
const themeColor = themeState.state?.theme && themeState.isNewTheme ? variableToString(themeState.state.theme.color) : "", style = themeColor ? {
|
|
55
|
-
color: themeColor
|
|
56
|
-
} : void 0;
|
|
57
|
-
let className = themeState.state?.className || "";
|
|
58
|
-
return isRoot && (className = className.replace("t_sub_theme", "")), { style, className };
|
|
59
|
-
}
|
|
60
51
|
function wrapThemeElements({
|
|
61
52
|
children,
|
|
62
53
|
themeState,
|
|
@@ -65,27 +56,26 @@ function wrapThemeElements({
|
|
|
65
56
|
}) {
|
|
66
57
|
if (isRoot && forceClassName === !1)
|
|
67
58
|
return children;
|
|
68
|
-
const inverse = themeState.
|
|
69
|
-
if (!themeState.isNewTheme && !
|
|
59
|
+
const inverse = themeState.inversed, requiresExtraWrapper = inverse != null || forceClassName;
|
|
60
|
+
if (!themeState.isNewTheme && !requiresExtraWrapper)
|
|
70
61
|
return /* @__PURE__ */ jsx("span", { className: "_dsp_contents is_Theme", children });
|
|
71
|
-
const { className, style } =
|
|
62
|
+
const { className, style } = getThemeClassNameAndStyle(themeState, isRoot);
|
|
72
63
|
let themedChildren = /* @__PURE__ */ jsx("span", { className: `${className} _dsp_contents is_Theme`, style, children });
|
|
73
|
-
if (
|
|
74
|
-
const name = themeState.state?.name || "";
|
|
75
|
-
themedChildren = /* @__PURE__ */ jsx(
|
|
76
|
-
"span",
|
|
77
|
-
{
|
|
78
|
-
className: `${name.startsWith("light") ? "t_light" : name.startsWith("dark") ? "t_dark" : ""} _dsp_contents ${inverse ? "is_inversed" : ""}`,
|
|
79
|
-
children: themedChildren
|
|
80
|
-
}
|
|
81
|
-
);
|
|
64
|
+
if (requiresExtraWrapper) {
|
|
65
|
+
const name = themeState.state?.name || "", inverseClassName = name.startsWith("light") ? "t_light is_inversed" : name.startsWith("dark") ? "t_dark is_inversed" : "";
|
|
66
|
+
themedChildren = /* @__PURE__ */ jsx("span", { className: `${inverse ? inverseClassName : ""} _dsp_contents`, children: themedChildren });
|
|
82
67
|
}
|
|
83
68
|
return themedChildren;
|
|
84
69
|
}
|
|
70
|
+
function getThemeClassNameAndStyle(themeState, isRoot = !1) {
|
|
71
|
+
const themeColor = themeState.state?.theme && themeState.isNewTheme ? variableToString(themeState.state.theme.color) : "", style = themeColor ? {
|
|
72
|
+
color: themeColor
|
|
73
|
+
} : void 0;
|
|
74
|
+
let className = themeState.state?.className || "";
|
|
75
|
+
return isRoot && (className = className.replace("t_sub_theme", "")), { style, className };
|
|
76
|
+
}
|
|
85
77
|
export {
|
|
86
78
|
Theme,
|
|
87
|
-
|
|
88
|
-
useThemedChildren,
|
|
89
|
-
wrapThemeElements
|
|
79
|
+
useThemedChildren
|
|
90
80
|
};
|
|
91
81
|
//# sourceMappingURL=Theme.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/views/Theme.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,aAAa;AACtB,OAAO;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AACpC,SAA+B,4BAA4B;AAE3D,SAAS,kBAAkB;AA+BjB;AA7BH,MAAM,QAAQ,WAAW,SAAe,OAAmB,KAAK;AAErE,MAAI,MAAM;AACR,WAAO,MAAM;AAGf,QAAM,SAAS,CAAC,CAAC,MAAM,SACjB,0BAA0B,MAAM,qBAAqB,GACrD,aAAa,qBAAqB,OAAO,MAAM,GAE/C,WAAW,QAAQ,MAAM;AAC7B,QAAIA,YAAW,0BACX,SAAS;AAAA,MAAI,MAAM;AAAA,MAAU,CAAC,UAC5B,aAAa,OAAO,EAAG,sBAAuB,GAAK,CAAC;AAAA,IACtD,IACA,MAAM;AAEV,QAAI;AACF,UAAI;AACF,cAAM,SAAS,KAAKA,SAAQ,GAC5BA,YAAW,aAAaA,WAAU,EAAE,IAAI,CAAC;AAAA,MAC3C,QAAQ;AAAA,MAER;AAGF,WAAI,QAAQ,IAAI,aAAa,iBACvB,MAAM,UAAU,gBAClBA,YACE,oBAAC,cAAW,YAAwB,YAAY,OAC7C,UAAAA,WACH,IAKCA;AAAA,EACT,GAAG,CAAC,MAAM,UAAU,uBAAuB,CAAC;AAE5C,SAAO,kBAAkB,YAAY,UAAU,OAAO,MAAM;AAC9D,CAAC;AAED,MAAM,kBAAqB;AAEpB,SAAS,kBACd,YACA,UACA,OACA,SAAS,IACT,YAAY,IACZ;AACA,QAAM,EAAE,cAAc,WAAW,IAAI,YAC/B,EAAE,SAAS,eAAe,IAAI,OAC9B,gBAAgB,OAAO,EAAK;AAQlC,MAPI,eACF,cAAc,UAAU,KAMtB,EAFF,cAAc,MAAM,WAAW,cAAc,WAAW,kBAAkB;AAG1E,WAAO;AAGT,MAAI,OAAO;AAGX,EAAI,WAAW,iBACb,OAAO,SAAS,QAAQ,QAAQ,EAAE,IAAI,CAAC,UAC9B,eAAe,KAAK,IACvB;AAAA,IACE;AAAA,IACA;AAAA,IACA,oBAAC,SAAM,MAAM,aAAa,MAAM,YAC5B,gBAAc,MAAM,UACxB;AAAA,EACF,IACA,KACL;AAGH,QAAM,sBAAsB,eAC1B,oBAAC,oBAAoB,UAApB,EAA6B,OAAO,cAClC,gBACH,IAEA;AAGF,SAAI,mBAAmB,KACd,sBAGL,SAAS,CAAC,YACL,kBAAkB;AAAA,IACvB,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC,IAGI;AACT;
|
|
4
|
+
"mappings": "AAAA,SAAS,aAAa;AACtB,OAAO;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AACpC,SAA+B,4BAA4B;AAE3D,SAAS,kBAAkB;AA+BjB;AA7BH,MAAM,QAAQ,WAAW,SAAe,OAAmB,KAAK;AAErE,MAAI,MAAM;AACR,WAAO,MAAM;AAGf,QAAM,SAAS,CAAC,CAAC,MAAM,SACjB,0BAA0B,MAAM,qBAAqB,GACrD,aAAa,qBAAqB,OAAO,MAAM,GAE/C,WAAW,QAAQ,MAAM;AAC7B,QAAIA,YAAW,0BACX,SAAS;AAAA,MAAI,MAAM;AAAA,MAAU,CAAC,UAC5B,aAAa,OAAO,EAAG,sBAAuB,GAAK,CAAC;AAAA,IACtD,IACA,MAAM;AAEV,QAAI;AACF,UAAI;AACF,cAAM,SAAS,KAAKA,SAAQ,GAC5BA,YAAW,aAAaA,WAAU,EAAE,IAAI,CAAC;AAAA,MAC3C,QAAQ;AAAA,MAER;AAGF,WAAI,QAAQ,IAAI,aAAa,iBACvB,MAAM,UAAU,gBAClBA,YACE,oBAAC,cAAW,YAAwB,YAAY,OAC7C,UAAAA,WACH,IAKCA;AAAA,EACT,GAAG,CAAC,MAAM,UAAU,uBAAuB,CAAC;AAE5C,SAAO,kBAAkB,YAAY,UAAU,OAAO,MAAM;AAC9D,CAAC;AAED,MAAM,kBAAqB;AAEpB,SAAS,kBACd,YACA,UACA,OACA,SAAS,IACT,YAAY,IACZ;AACA,QAAM,EAAE,cAAc,WAAW,IAAI,YAC/B,EAAE,SAAS,eAAe,IAAI,OAC9B,gBAAgB,OAAO,EAAK;AAQlC,MAPI,eACF,cAAc,UAAU,KAMtB,EAFF,cAAc,MAAM,WAAW,cAAc,WAAW,kBAAkB;AAG1E,WAAO;AAGT,MAAI,OAAO;AAGX,EAAI,WAAW,iBACb,OAAO,SAAS,QAAQ,QAAQ,EAAE,IAAI,CAAC,UAC9B,eAAe,KAAK,IACvB;AAAA,IACE;AAAA,IACA;AAAA,IACA,oBAAC,SAAM,MAAM,aAAa,MAAM,YAC5B,gBAAc,MAAM,UACxB;AAAA,EACF,IACA,KACL;AAGH,QAAM,sBAAsB,eAC1B,oBAAC,oBAAoB,UAApB,EAA6B,OAAO,cAClC,gBACH,IAEA;AAGF,SAAI,mBAAmB,KACd,sBAGL,SAAS,CAAC,YACL,kBAAkB;AAAA,IACvB,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC,IAGI;AACT;AAEA,SAAS,kBAAkB;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKG;AACD,MAAI,UAAU,mBAAmB;AAC/B,WAAO;AAGT,QAAM,UAAU,WAAW,UACrB,uBAAuB,WAAW,QAAQ;AAEhD,MAAI,CAAC,WAAW,cAAc,CAAC;AAC7B,WAAO,oBAAC,UAAK,WAAU,0BAA0B,UAAS;AAG5D,QAAM,EAAE,WAAW,MAAM,IAAI,0BAA0B,YAAY,MAAM;AAEzE,MAAI,iBACF,oBAAC,UAAK,WAAW,GAAG,SAAS,2BAA2B,OACrD,UACH;AAIF,MAAI,sBAAsB;AACxB,UAAM,OAAO,WAAW,OAAO,QAAQ,IACjC,mBAAmB,KAAK,WAAW,OAAO,IAC5C,wBACA,KAAK,WAAW,MAAM,IACtB,uBACA;AACJ,qBACE,oBAAC,UAAK,WAAW,GAAG,UAAU,mBAAmB,EAAE,kBAChD,0BACH;AAAA,EAEJ;AAEA,SAAO;AACT;AAEA,SAAS,0BAA0B,YAAkC,SAAS,IAAO;AAEnF,QAAM,aACJ,WAAW,OAAO,SAAS,WAAW,aAClC,iBAAiB,WAAW,MAAM,MAAM,KAAK,IAC7C,IAEA,QAAQ,aACV;AAAA,IACE,OAAO;AAAA,EACT,IACA;AAEJ,MAAI,YAAY,WAAW,OAAO,aAAa;AAC/C,SAAI,WACF,YAAY,UAAU,QAAQ,eAAe,EAAE,IAE1C,EAAE,OAAO,UAAU;AAC5B;",
|
|
5
5
|
"names": ["children"]
|
|
6
6
|
}
|
|
@@ -48,15 +48,6 @@ function useThemedChildren(themeState, children, props, isRoot = !1, avoidWrap =
|
|
|
48
48
|
isRoot
|
|
49
49
|
}) : elementsWithContext;
|
|
50
50
|
}
|
|
51
|
-
function getThemeCNStyle(themeState, isRoot = !1) {
|
|
52
|
-
if (!themeState.isNewTheme)
|
|
53
|
-
return;
|
|
54
|
-
const themeColor = themeState.state?.theme && themeState.isNewTheme ? variableToString(themeState.state.theme.color) : "", style = themeColor ? {
|
|
55
|
-
color: themeColor
|
|
56
|
-
} : void 0;
|
|
57
|
-
let className = themeState.state?.className || "";
|
|
58
|
-
return isRoot && (className = className.replace("t_sub_theme", "")), { style, className };
|
|
59
|
-
}
|
|
60
51
|
function wrapThemeElements({
|
|
61
52
|
children,
|
|
62
53
|
themeState,
|
|
@@ -65,27 +56,26 @@ function wrapThemeElements({
|
|
|
65
56
|
}) {
|
|
66
57
|
if (isRoot && forceClassName === !1)
|
|
67
58
|
return children;
|
|
68
|
-
const inverse = themeState.
|
|
69
|
-
if (!themeState.isNewTheme && !
|
|
59
|
+
const inverse = themeState.inversed, requiresExtraWrapper = inverse != null || forceClassName;
|
|
60
|
+
if (!themeState.isNewTheme && !requiresExtraWrapper)
|
|
70
61
|
return /* @__PURE__ */ jsx("span", { className: "_dsp_contents is_Theme", children });
|
|
71
|
-
const { className, style } =
|
|
62
|
+
const { className, style } = getThemeClassNameAndStyle(themeState, isRoot);
|
|
72
63
|
let themedChildren = /* @__PURE__ */ jsx("span", { className: `${className} _dsp_contents is_Theme`, style, children });
|
|
73
|
-
if (
|
|
74
|
-
const name = themeState.state?.name || "";
|
|
75
|
-
themedChildren = /* @__PURE__ */ jsx(
|
|
76
|
-
"span",
|
|
77
|
-
{
|
|
78
|
-
className: `${name.startsWith("light") ? "t_light" : name.startsWith("dark") ? "t_dark" : ""} _dsp_contents ${inverse ? "is_inversed" : ""}`,
|
|
79
|
-
children: themedChildren
|
|
80
|
-
}
|
|
81
|
-
);
|
|
64
|
+
if (requiresExtraWrapper) {
|
|
65
|
+
const name = themeState.state?.name || "", inverseClassName = name.startsWith("light") ? "t_light is_inversed" : name.startsWith("dark") ? "t_dark is_inversed" : "";
|
|
66
|
+
themedChildren = /* @__PURE__ */ jsx("span", { className: `${inverse ? inverseClassName : ""} _dsp_contents`, children: themedChildren });
|
|
82
67
|
}
|
|
83
68
|
return themedChildren;
|
|
84
69
|
}
|
|
70
|
+
function getThemeClassNameAndStyle(themeState, isRoot = !1) {
|
|
71
|
+
const themeColor = themeState.state?.theme && themeState.isNewTheme ? variableToString(themeState.state.theme.color) : "", style = themeColor ? {
|
|
72
|
+
color: themeColor
|
|
73
|
+
} : void 0;
|
|
74
|
+
let className = themeState.state?.className || "";
|
|
75
|
+
return isRoot && (className = className.replace("t_sub_theme", "")), { style, className };
|
|
76
|
+
}
|
|
85
77
|
export {
|
|
86
78
|
Theme,
|
|
87
|
-
|
|
88
|
-
useThemedChildren,
|
|
89
|
-
wrapThemeElements
|
|
79
|
+
useThemedChildren
|
|
90
80
|
};
|
|
91
81
|
//# sourceMappingURL=Theme.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/views/Theme.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,aAAa;AACtB,OAAO;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AACpC,SAA+B,4BAA4B;AAE3D,SAAS,kBAAkB;AA+BjB;AA7BH,MAAM,QAAQ,WAAW,SAAe,OAAmB,KAAK;AAErE,MAAI,MAAM;AACR,WAAO,MAAM;AAGf,QAAM,SAAS,CAAC,CAAC,MAAM,SACjB,0BAA0B,MAAM,qBAAqB,GACrD,aAAa,qBAAqB,OAAO,MAAM,GAE/C,WAAW,QAAQ,MAAM;AAC7B,QAAIA,YAAW,0BACX,SAAS;AAAA,MAAI,MAAM;AAAA,MAAU,CAAC,UAC5B,aAAa,OAAO,EAAG,sBAAuB,GAAK,CAAC;AAAA,IACtD,IACA,MAAM;AAEV,QAAI;AACF,UAAI;AACF,cAAM,SAAS,KAAKA,SAAQ,GAC5BA,YAAW,aAAaA,WAAU,EAAE,IAAI,CAAC;AAAA,MAC3C,QAAQ;AAAA,MAER;AAGF,WAAI,QAAQ,IAAI,aAAa,iBACvB,MAAM,UAAU,gBAClBA,YACE,oBAAC,cAAW,YAAwB,YAAY,OAC7C,UAAAA,WACH,IAKCA;AAAA,EACT,GAAG,CAAC,MAAM,UAAU,uBAAuB,CAAC;AAE5C,SAAO,kBAAkB,YAAY,UAAU,OAAO,MAAM;AAC9D,CAAC;AAED,MAAM,kBAAqB;AAEpB,SAAS,kBACd,YACA,UACA,OACA,SAAS,IACT,YAAY,IACZ;AACA,QAAM,EAAE,cAAc,WAAW,IAAI,YAC/B,EAAE,SAAS,eAAe,IAAI,OAC9B,gBAAgB,OAAO,EAAK;AAQlC,MAPI,eACF,cAAc,UAAU,KAMtB,EAFF,cAAc,MAAM,WAAW,cAAc,WAAW,kBAAkB;AAG1E,WAAO;AAGT,MAAI,OAAO;AAGX,EAAI,WAAW,iBACb,OAAO,SAAS,QAAQ,QAAQ,EAAE,IAAI,CAAC,UAC9B,eAAe,KAAK,IACvB;AAAA,IACE;AAAA,IACA;AAAA,IACA,oBAAC,SAAM,MAAM,aAAa,MAAM,YAC5B,gBAAc,MAAM,UACxB;AAAA,EACF,IACA,KACL;AAGH,QAAM,sBAAsB,eAC1B,oBAAC,oBAAoB,UAApB,EAA6B,OAAO,cAClC,gBACH,IAEA;AAGF,SAAI,mBAAmB,KACd,sBAGL,SAAS,CAAC,YACL,kBAAkB;AAAA,IACvB,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC,IAGI;AACT;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["children"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/web",
|
|
3
|
-
"version": "1.74.
|
|
3
|
+
"version": "1.74.17",
|
|
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.74.
|
|
31
|
-
"@tamagui/constants": "1.74.
|
|
32
|
-
"@tamagui/helpers": "1.74.
|
|
33
|
-
"@tamagui/normalize-css-color": "1.74.
|
|
34
|
-
"@tamagui/timer": "1.74.
|
|
35
|
-
"@tamagui/use-did-finish-ssr": "1.74.
|
|
36
|
-
"@tamagui/use-force-update": "1.74.
|
|
30
|
+
"@tamagui/compose-refs": "1.74.17",
|
|
31
|
+
"@tamagui/constants": "1.74.17",
|
|
32
|
+
"@tamagui/helpers": "1.74.17",
|
|
33
|
+
"@tamagui/normalize-css-color": "1.74.17",
|
|
34
|
+
"@tamagui/timer": "1.74.17",
|
|
35
|
+
"@tamagui/use-did-finish-ssr": "1.74.17",
|
|
36
|
+
"@tamagui/use-force-update": "1.74.17"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"react": "*"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@tamagui/build": "1.74.
|
|
42
|
+
"@tamagui/build": "1.74.17",
|
|
43
43
|
"@testing-library/react": "^14.0.0",
|
|
44
44
|
"csstype": "^3.0.10",
|
|
45
45
|
"react": "^18.2.0",
|
package/src/createComponent.tsx
CHANGED
|
@@ -56,14 +56,13 @@ import {
|
|
|
56
56
|
TamaguiElement,
|
|
57
57
|
TamaguiInternalConfig,
|
|
58
58
|
TextProps,
|
|
59
|
-
ThemeProps,
|
|
60
59
|
UseAnimationHook,
|
|
61
60
|
UseAnimationProps,
|
|
62
61
|
UseThemeWithStateProps,
|
|
63
62
|
WebOnlyPressEvents,
|
|
64
63
|
} from './types'
|
|
65
64
|
import { Slot } from './views/Slot'
|
|
66
|
-
import {
|
|
65
|
+
import { useThemedChildren } from './views/Theme'
|
|
67
66
|
import { ThemeDebug } from './views/ThemeDebug'
|
|
68
67
|
|
|
69
68
|
// this appears to fix expo / babel not picking this up sometimes? really odd
|
|
@@ -2,7 +2,7 @@ import { isWeb } from '@tamagui/constants'
|
|
|
2
2
|
|
|
3
3
|
import { getThemes } from '../config'
|
|
4
4
|
import { THEME_CLASSNAME_PREFIX, THEME_NAME_SEPARATOR } from '../constants/constants'
|
|
5
|
-
import { ThemeParsed, ThemeProps } from '../types'
|
|
5
|
+
import { ColorScheme, ThemeParsed, ThemeProps } from '../types'
|
|
6
6
|
|
|
7
7
|
type ThemeListener = (
|
|
8
8
|
name: string | null,
|
|
@@ -20,11 +20,11 @@ export type SetActiveThemeProps = {
|
|
|
20
20
|
|
|
21
21
|
export type ThemeManagerState = {
|
|
22
22
|
name: string
|
|
23
|
+
parentName?: string
|
|
23
24
|
theme?: ThemeParsed | null
|
|
25
|
+
isComponent?: boolean
|
|
24
26
|
className?: string
|
|
25
|
-
|
|
26
|
-
componentName?: string
|
|
27
|
-
inverse?: boolean
|
|
27
|
+
scheme?: ColorScheme
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
const emptyState: ThemeManagerState = { name: '' }
|
|
@@ -37,22 +37,20 @@ let uid = 0
|
|
|
37
37
|
|
|
38
38
|
export class ThemeManager {
|
|
39
39
|
id = uid++
|
|
40
|
-
isComponent = false
|
|
41
40
|
themeListeners = new Set<ThemeListener>()
|
|
42
41
|
parentManager: ThemeManager | null = null
|
|
43
42
|
state: ThemeManagerState = emptyState
|
|
44
|
-
scheme: 'light' | 'dark' | null = null
|
|
45
43
|
|
|
46
44
|
constructor(
|
|
47
45
|
public props: ThemeProps = {},
|
|
48
|
-
|
|
46
|
+
parentManager?: ThemeManager | 'root' | null | undefined
|
|
49
47
|
) {
|
|
50
|
-
if (
|
|
48
|
+
if (parentManager === 'root') {
|
|
51
49
|
this.updateStateFromProps(props, false)
|
|
52
50
|
return
|
|
53
51
|
}
|
|
54
52
|
|
|
55
|
-
if (!
|
|
53
|
+
if (!parentManager) {
|
|
56
54
|
if (process.env.NODE_ENV !== 'production') {
|
|
57
55
|
throw new Error(
|
|
58
56
|
`No parent manager given, this is likely due to duplicated Tamagui dependencies. Check your lockfile for mis-matched versions. It could also be from an error somewhere else in your stack causing Tamagui to recieve undefined context, you can try putting some ErrorBoundary components around other areas of your app, or a Suspense boundary.`
|
|
@@ -61,13 +59,14 @@ export class ThemeManager {
|
|
|
61
59
|
throw `❌ 0`
|
|
62
60
|
}
|
|
63
61
|
|
|
64
|
-
this
|
|
62
|
+
// this is used in updateStateFromProps so must be set
|
|
63
|
+
this.parentManager = parentManager
|
|
65
64
|
|
|
66
65
|
if (this.updateStateFromProps(props, false)) {
|
|
67
66
|
return
|
|
68
67
|
}
|
|
69
68
|
|
|
70
|
-
return
|
|
69
|
+
return parentManager
|
|
71
70
|
}
|
|
72
71
|
|
|
73
72
|
updateStateFromProps(
|
|
@@ -81,6 +80,7 @@ export class ThemeManager {
|
|
|
81
80
|
return true
|
|
82
81
|
}
|
|
83
82
|
const nextState = this.getStateIfChanged(props)
|
|
83
|
+
|
|
84
84
|
if (nextState) {
|
|
85
85
|
this.updateState(nextState, shouldNotify)
|
|
86
86
|
return nextState
|
|
@@ -89,12 +89,8 @@ export class ThemeManager {
|
|
|
89
89
|
|
|
90
90
|
updateState(nextState: ThemeManagerState, shouldNotify = true) {
|
|
91
91
|
this.state = nextState
|
|
92
|
-
const names = this.state.name.split('_')
|
|
93
|
-
const lastName = names[names.length - 1][0]
|
|
94
|
-
this.isComponent = lastName[0] === lastName[0].toUpperCase()
|
|
95
92
|
this._allKeys = null
|
|
96
|
-
|
|
97
|
-
if (process.env.NODE_ENV === 'development') {
|
|
93
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
98
94
|
this['_numChangeEventsSent'] ??= 0
|
|
99
95
|
this['_numChangeEventsSent']++
|
|
100
96
|
}
|
|
@@ -152,7 +148,7 @@ export class ThemeManager {
|
|
|
152
148
|
}
|
|
153
149
|
|
|
154
150
|
onChangeTheme(cb: ThemeListener, debugId?: number) {
|
|
155
|
-
if (process.env.NODE_ENV
|
|
151
|
+
if (process.env.NODE_ENV !== 'production' && debugId) {
|
|
156
152
|
// @ts-ignore
|
|
157
153
|
this._listeningIds ??= new Set()
|
|
158
154
|
// @ts-ignore
|
|
@@ -166,86 +162,65 @@ export class ThemeManager {
|
|
|
166
162
|
}
|
|
167
163
|
}
|
|
168
164
|
|
|
169
|
-
function getNextThemeClassName(name: string) {
|
|
170
|
-
const next = `t_sub_theme ${THEME_CLASSNAME_PREFIX}${name}`
|
|
171
|
-
return next.replace('light_', '').replace('dark_', '')
|
|
172
|
-
}
|
|
173
|
-
|
|
174
165
|
function getState(
|
|
175
166
|
props: ThemeProps,
|
|
176
|
-
|
|
167
|
+
manager?: ThemeManager | null
|
|
177
168
|
): ThemeManagerState | null {
|
|
178
|
-
const validManagerAndAllComponentThemes = getNonComponentParentManager(parentManager)
|
|
179
|
-
parentManager = validManagerAndAllComponentThemes[0]
|
|
180
|
-
const allComponentThemes = validManagerAndAllComponentThemes[1]
|
|
181
|
-
const themes = getThemes()
|
|
182
|
-
const isDirectParentAComponentTheme = allComponentThemes.length > 0
|
|
183
|
-
|
|
184
169
|
if (props.name && props.reset) {
|
|
185
|
-
throw new Error(
|
|
170
|
+
throw new Error(
|
|
171
|
+
process.env.NODE_ENV === 'production'
|
|
172
|
+
? `❌004`
|
|
173
|
+
: 'Cannot reset and set a new name at the same time.'
|
|
174
|
+
)
|
|
186
175
|
}
|
|
187
176
|
|
|
188
|
-
if (!props
|
|
177
|
+
if (!getHasThemeUpdatingProps(props)) {
|
|
189
178
|
return null
|
|
190
179
|
}
|
|
191
180
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
181
|
+
const themes = getThemes()
|
|
182
|
+
const [allManagers, componentManagers] = getManagers(manager)
|
|
183
|
+
|
|
184
|
+
const isDirectParentAComponentTheme = !!manager?.state.isComponent
|
|
185
|
+
const startIndex = props.reset && !isDirectParentAComponentTheme ? 1 : 0
|
|
186
|
+
let baseManager = allManagers[startIndex]
|
|
187
|
+
let parentManager = allManagers[startIndex + 1]
|
|
188
|
+
|
|
189
|
+
if (!baseManager && props.reset) {
|
|
190
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
191
|
+
console.warn('Cannot reset, no parent theme exists')
|
|
195
192
|
}
|
|
196
193
|
return null
|
|
197
194
|
}
|
|
198
195
|
|
|
196
|
+
const { componentName } = props
|
|
199
197
|
let result: ThemeManagerState | null = null
|
|
200
198
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
: isDirectParentAComponentTheme
|
|
213
|
-
? allComponentThemes[0] || ''
|
|
214
|
-
: parentManager?.state.name || ''
|
|
215
|
-
|
|
216
|
-
if (props.reset && isDirectParentAComponentTheme) {
|
|
217
|
-
// skip nearest component theme
|
|
199
|
+
let baseName = baseManager?.state.name || ''
|
|
200
|
+
|
|
201
|
+
if (baseManager?.state.isComponent) {
|
|
202
|
+
// remove component name
|
|
203
|
+
baseName = baseName.replace(/_[A-Z][a-z]+/, '')
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
const nextName = props.reset ? baseName : props.name || ''
|
|
207
|
+
|
|
208
|
+
const allComponentThemes = componentManagers.map((x) => x?.state.name || '')
|
|
209
|
+
if (isDirectParentAComponentTheme) {
|
|
218
210
|
allComponentThemes.shift()
|
|
219
211
|
}
|
|
220
212
|
|
|
221
213
|
// components look for most specific, fallback upwards
|
|
222
|
-
const base =
|
|
223
|
-
const lastSegment = base[base.length - 1]
|
|
224
|
-
const isParentComponentTheme =
|
|
225
|
-
parentName && lastSegment[0].toUpperCase() === lastSegment[0]
|
|
226
|
-
if (isParentComponentTheme) {
|
|
227
|
-
base.pop() // always remove componentName they can't nest
|
|
228
|
-
}
|
|
229
|
-
const parentBaseTheme = isParentComponentTheme
|
|
230
|
-
? base.slice(0, base.length).join(THEME_NAME_SEPARATOR)
|
|
231
|
-
: parentName
|
|
214
|
+
const base = baseName.split(THEME_NAME_SEPARATOR)
|
|
232
215
|
const max = base.length
|
|
233
216
|
const min =
|
|
234
|
-
componentName && !nextName
|
|
217
|
+
props.componentName && !nextName
|
|
235
218
|
? max // component name only don't search upwards
|
|
236
219
|
: 0
|
|
237
220
|
|
|
238
|
-
if (process.env.NODE_ENV
|
|
221
|
+
if (process.env.NODE_ENV !== 'production' && typeof props.debug === 'string') {
|
|
239
222
|
console.groupCollapsed('ThemeManager.getState()')
|
|
240
|
-
console.info({
|
|
241
|
-
props,
|
|
242
|
-
parentName,
|
|
243
|
-
parentBaseTheme,
|
|
244
|
-
base,
|
|
245
|
-
min,
|
|
246
|
-
max,
|
|
247
|
-
isParentComponentTheme,
|
|
248
|
-
})
|
|
223
|
+
console.info({ props, baseName, base, min, max })
|
|
249
224
|
}
|
|
250
225
|
|
|
251
226
|
for (let i = max; i >= min; i--) {
|
|
@@ -256,7 +231,7 @@ function getState(
|
|
|
256
231
|
}
|
|
257
232
|
let potentials: string[] = []
|
|
258
233
|
|
|
259
|
-
if (prefix && prefix !==
|
|
234
|
+
if (prefix && prefix !== baseName) {
|
|
260
235
|
potentials.push(prefix)
|
|
261
236
|
}
|
|
262
237
|
if (nextName) {
|
|
@@ -269,7 +244,7 @@ function getState(
|
|
|
269
244
|
}
|
|
270
245
|
}
|
|
271
246
|
|
|
272
|
-
if (componentName) {
|
|
247
|
+
if (componentName && !props.reset) {
|
|
273
248
|
let componentPotentials: string[] = []
|
|
274
249
|
// components only look for component themes
|
|
275
250
|
if (nextName) {
|
|
@@ -289,33 +264,50 @@ function getState(
|
|
|
289
264
|
}
|
|
290
265
|
potentials = [...componentPotentials, ...potentials, ...allComponentThemes]
|
|
291
266
|
}
|
|
267
|
+
|
|
292
268
|
const found = potentials.find((t) => t in themes)
|
|
293
269
|
|
|
294
|
-
if (process.env.NODE_ENV
|
|
295
|
-
console.info(' - ', { found, potentials,
|
|
270
|
+
if (process.env.NODE_ENV !== 'production' && typeof props.debug === 'string') {
|
|
271
|
+
console.info(' - ', { found, potentials, baseManager, nextName, baseName, prefix })
|
|
296
272
|
}
|
|
297
273
|
|
|
298
274
|
if (found) {
|
|
275
|
+
const names = found.split('_')
|
|
276
|
+
const [firstName, ...restNames] = names
|
|
277
|
+
const lastName = names[names.length - 1]
|
|
278
|
+
const isComponent = lastName[0] === lastName[0].toUpperCase()
|
|
279
|
+
const scheme =
|
|
280
|
+
firstName === 'light' ? 'light' : firstName === 'dark' ? 'dark' : undefined
|
|
281
|
+
const pre = THEME_CLASSNAME_PREFIX
|
|
282
|
+
const className = !isWeb
|
|
283
|
+
? ''
|
|
284
|
+
: `${pre}sub_theme ${pre}${
|
|
285
|
+
!scheme || !restNames.length ? firstName : restNames.join('_')
|
|
286
|
+
}`
|
|
287
|
+
|
|
288
|
+
// because its a new theme the baseManager is now the parent
|
|
289
|
+
const parentState = (baseManager || parentManager)?.state
|
|
290
|
+
const parentName = parentState?.name
|
|
291
|
+
|
|
299
292
|
result = {
|
|
300
293
|
name: found,
|
|
301
|
-
theme: themes[found],
|
|
302
|
-
className: isWeb ? getNextThemeClassName(found) : '',
|
|
303
294
|
parentName,
|
|
304
|
-
|
|
305
|
-
|
|
295
|
+
theme: themes[found],
|
|
296
|
+
className,
|
|
297
|
+
isComponent,
|
|
298
|
+
scheme,
|
|
306
299
|
}
|
|
300
|
+
|
|
307
301
|
break
|
|
308
302
|
}
|
|
309
303
|
}
|
|
310
304
|
|
|
311
305
|
if (
|
|
312
|
-
process.env.NODE_ENV
|
|
306
|
+
process.env.NODE_ENV !== 'production' &&
|
|
313
307
|
typeof props.debug === 'string' &&
|
|
314
308
|
typeof window !== 'undefined'
|
|
315
309
|
) {
|
|
316
|
-
console.warn('ThemeManager.getState():', {
|
|
317
|
-
result,
|
|
318
|
-
})
|
|
310
|
+
console.warn('ThemeManager.getState():', { result })
|
|
319
311
|
console.trace()
|
|
320
312
|
console.groupEnd()
|
|
321
313
|
}
|
|
@@ -329,19 +321,21 @@ const inverseThemeName = (themeName: string) => {
|
|
|
329
321
|
: themeName.replace(/^dark/, 'light')
|
|
330
322
|
}
|
|
331
323
|
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
324
|
+
type MaybeThemeManager = ThemeManager | undefined
|
|
325
|
+
|
|
326
|
+
// components never inherit from components
|
|
327
|
+
// example <Switch><Switch.Thumb /></Switch>
|
|
328
|
+
// the Switch theme shouldn't be considered parent of Thumb
|
|
329
|
+
export function getManagers(themeManager?: ThemeManager | null) {
|
|
330
|
+
const comp: MaybeThemeManager[] = []
|
|
331
|
+
const all: MaybeThemeManager[] = []
|
|
332
|
+
let cur = themeManager
|
|
333
|
+
while (cur) {
|
|
334
|
+
all.push(cur)
|
|
335
|
+
if (cur.state.isComponent) {
|
|
336
|
+
comp.push(cur)
|
|
344
337
|
}
|
|
338
|
+
cur = cur.parentManager
|
|
345
339
|
}
|
|
346
|
-
return [
|
|
340
|
+
return [all, comp] as const
|
|
347
341
|
}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
2
|
|
|
3
|
-
import { TamaguiComponentState } from '../types'
|
|
4
|
-
|
|
5
3
|
export function createShallowSetState<State extends Object>(
|
|
6
4
|
setter: React.Dispatch<React.SetStateAction<State>>
|
|
7
5
|
) {
|
|
8
6
|
return (next: Partial<State>) => setter((prev) => mergeIfNotShallowEqual(prev, next))
|
|
9
7
|
}
|
|
10
8
|
|
|
11
|
-
export function mergeIfNotShallowEqual(prev, next) {
|
|
9
|
+
export function mergeIfNotShallowEqual(prev: any, next: any) {
|
|
10
|
+
return isEqualShallow(prev, next) ? prev : { ...prev, ...next }
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function isEqualShallow(prev, next) {
|
|
12
14
|
for (const key in next) {
|
|
13
15
|
if (prev[key] !== next[key]) {
|
|
14
|
-
return
|
|
16
|
+
return false
|
|
15
17
|
}
|
|
16
18
|
}
|
|
17
|
-
return
|
|
19
|
+
return true
|
|
18
20
|
}
|
|
@@ -16,7 +16,7 @@ export function themeable<ComponentType extends (props: any) => any>(
|
|
|
16
16
|
let contents = (
|
|
17
17
|
<Theme
|
|
18
18
|
componentName={componentName || staticConfig?.componentName}
|
|
19
|
-
name={theme
|
|
19
|
+
name={theme}
|
|
20
20
|
disable-child-theme
|
|
21
21
|
debug={props.debug}
|
|
22
22
|
inverse={themeInverse}
|