@tamagui/web 1.30.24 → 1.30.25
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/ThemeManager.js +21 -11
- package/dist/cjs/helpers/ThemeManager.js.map +1 -1
- package/dist/cjs/hooks/useTheme.js +6 -7
- package/dist/cjs/hooks/useTheme.js.map +1 -1
- package/dist/esm/helpers/ThemeManager.js +21 -11
- package/dist/esm/helpers/ThemeManager.js.map +1 -1
- package/dist/esm/hooks/useTheme.js +7 -9
- package/dist/esm/hooks/useTheme.js.map +1 -1
- package/package.json +9 -9
- package/src/helpers/ThemeManager.tsx +27 -11
- package/src/hooks/useTheme.tsx +6 -11
- package/types/helpers/ThemeManager.d.ts +1 -1
- package/types/helpers/ThemeManager.d.ts.map +1 -1
- package/types/hooks/useTheme.d.ts.map +1 -1
|
@@ -56,14 +56,11 @@ class ThemeManager {
|
|
|
56
56
|
if (!getHasThemeUpdatingProps(props)) {
|
|
57
57
|
return parentManagerIn;
|
|
58
58
|
}
|
|
59
|
-
|
|
60
|
-
if (parentManager) {
|
|
61
|
-
this.parentManager = parentManager;
|
|
62
|
-
}
|
|
59
|
+
this.parentManager = parentManagerIn;
|
|
63
60
|
if (this.updateState(props, false)) {
|
|
64
61
|
return;
|
|
65
62
|
}
|
|
66
|
-
return
|
|
63
|
+
return parentManagerIn || this;
|
|
67
64
|
}
|
|
68
65
|
updateState(props = this.props || {}, shouldNotify = true) {
|
|
69
66
|
const isChanging = (() => {
|
|
@@ -158,24 +155,34 @@ function getNextThemeClassName(name, props) {
|
|
|
158
155
|
return next.replace("light_", "").replace("dark_", "");
|
|
159
156
|
}
|
|
160
157
|
function getState(props, parentManager) {
|
|
161
|
-
var _a, _b, _c;
|
|
158
|
+
var _a, _b, _c, _d, _e, _f;
|
|
159
|
+
const validManagerAndAllComponentThemes = getNonComponentParentManager(parentManager);
|
|
160
|
+
parentManager = validManagerAndAllComponentThemes[0];
|
|
161
|
+
const allComponentThemes = validManagerAndAllComponentThemes[1];
|
|
162
162
|
const themes = (0, import_config.getThemes)();
|
|
163
|
+
const isDirectParentAComponentTheme = allComponentThemes.length > 0;
|
|
163
164
|
if (props.name && props.reset) {
|
|
164
165
|
throw new Error("Cannot reset + set new name");
|
|
165
166
|
}
|
|
166
167
|
if (!props.name && !props.inverse && !props.reset && !props.componentName) {
|
|
167
168
|
return null;
|
|
168
169
|
}
|
|
169
|
-
if (props.reset && !(parentManager == null ? void 0 : parentManager.parentManager)) {
|
|
170
|
+
if (props.reset && !isDirectParentAComponentTheme && !(parentManager == null ? void 0 : parentManager.parentManager)) {
|
|
170
171
|
if (process.env.NODE_ENV === "development") {
|
|
171
172
|
console.warn("Cannot reset no grandparent exists");
|
|
172
173
|
}
|
|
173
174
|
return null;
|
|
174
175
|
}
|
|
175
176
|
let result = null;
|
|
176
|
-
const nextName = props.reset ? ((
|
|
177
|
+
const nextName = props.reset ? isDirectParentAComponentTheme ? ((_a = parentManager == null ? void 0 : parentManager.state) == null ? void 0 : _a.name) || "" : ((_c = (_b = parentManager == null ? void 0 : parentManager.parentManager) == null ? void 0 : _b.state) == null ? void 0 : _c.name) || "" : props.name || "";
|
|
177
178
|
const { componentName } = props;
|
|
178
|
-
const parentName =
|
|
179
|
+
const parentName = props.reset ? isDirectParentAComponentTheme ? (
|
|
180
|
+
// here because parentManager already skipped componentTheme so we have to only go up once
|
|
181
|
+
((_d = parentManager == null ? void 0 : parentManager.parentManager) == null ? void 0 : _d.state.name) || ""
|
|
182
|
+
) : ((_f = (_e = parentManager == null ? void 0 : parentManager.parentManager) == null ? void 0 : _e.parentManager) == null ? void 0 : _f.state.name) || "" : isDirectParentAComponentTheme ? allComponentThemes[0] || "" : (parentManager == null ? void 0 : parentManager.state.name) || "";
|
|
183
|
+
if (props.reset && isDirectParentAComponentTheme) {
|
|
184
|
+
allComponentThemes.shift();
|
|
185
|
+
}
|
|
179
186
|
const base = parentName.split(import_constants.THEME_NAME_SEPARATOR);
|
|
180
187
|
const lastSegment = base[base.length - 1];
|
|
181
188
|
const isParentComponentTheme = parentName && lastSegment[0].toUpperCase() === lastSegment[0];
|
|
@@ -231,7 +238,7 @@ function getState(props, parentManager) {
|
|
|
231
238
|
const moreSpecific = `${prefix}_${nextName}_${componentName}`;
|
|
232
239
|
componentPotentials.unshift(moreSpecific);
|
|
233
240
|
}
|
|
234
|
-
potentials = [...componentPotentials, ...potentials];
|
|
241
|
+
potentials = [...componentPotentials, ...potentials, ...allComponentThemes];
|
|
235
242
|
}
|
|
236
243
|
const found = potentials.find((t) => t in themes);
|
|
237
244
|
if (process.env.NODE_ENV === "development" && typeof props.debug === "string") {
|
|
@@ -260,15 +267,18 @@ const inverseThemeName = (themeName) => {
|
|
|
260
267
|
return themeName.startsWith("light") ? themeName.replace(/^light/, "dark") : themeName.replace(/^dark/, "light");
|
|
261
268
|
};
|
|
262
269
|
function getNonComponentParentManager(themeManager) {
|
|
270
|
+
var _a;
|
|
263
271
|
let res = themeManager;
|
|
272
|
+
let componentThemeNames = [];
|
|
264
273
|
while (res) {
|
|
265
274
|
if (res == null ? void 0 : res.isComponent) {
|
|
275
|
+
componentThemeNames.push((_a = res == null ? void 0 : res.state) == null ? void 0 : _a.name);
|
|
266
276
|
res = res.parentManager;
|
|
267
277
|
} else {
|
|
268
278
|
break;
|
|
269
279
|
}
|
|
270
280
|
}
|
|
271
|
-
return res || null;
|
|
281
|
+
return [res || null, componentThemeNames];
|
|
272
282
|
}
|
|
273
283
|
// Annotate the CommonJS export names for ESM import in node:
|
|
274
284
|
0 && (module.exports = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/ThemeManager.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAqC;AACrC,uBAA6D;AAC7D,+BAAkC;AAwBlC,MAAM,aAAgC,EAAE,MAAM,GAAG;AAE1C,SAAS,yBAAyB,OAAmB;AAC1D,SAAO,MAAM,QAAQ,MAAM,iBAAiB,MAAM,WAAW,MAAM;AACrE;AAEA,IAAI,MAAM;AAEH,MAAM,aAAa;AAAA,EAQxB,YACS,QAAoB,CAAC,GAC5B,iBACA;AAFO;AART,cAAK;AACL,uBAAc;AACd,0BAAiB,oBAAI,IAAmB;AACxC,yBAAqC;AACrC,iBAA2B;AAC3B,kBAAkC;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAqC;AACrC,uBAA6D;AAC7D,+BAAkC;AAwBlC,MAAM,aAAgC,EAAE,MAAM,GAAG;AAE1C,SAAS,yBAAyB,OAAmB;AAC1D,SAAO,MAAM,QAAQ,MAAM,iBAAiB,MAAM,WAAW,MAAM;AACrE;AAEA,IAAI,MAAM;AAEH,MAAM,aAAa;AAAA,EAQxB,YACS,QAAoB,CAAC,GAC5B,iBACA;AAFO;AART,cAAK;AACL,uBAAc;AACd,0BAAiB,oBAAI,IAAmB;AACxC,yBAAqC;AACrC,iBAA2B;AAC3B,kBAAkC;AAwGlC,oBAA+B;AAlG7B,QAAI,oBAAoB,QAAQ;AAC9B,WAAK,YAAY,OAAO,KAAK;AAC7B;AAAA,IACF;AAEA,QAAI,CAAC,iBAAiB;AACpB,UAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,cAAM,IAAI;AAAA,UACR;AAAA,QACF;AAAA,MACF;AACA,YAAM;AAAA,IACR;AAGA,QAAI,CAAC,yBAAyB,KAAK,GAAG;AACpC,aAAO;AAAA,IACT;AAEA,SAAK,gBAAgB;AAErB,QAAI,KAAK,YAAY,OAAO,KAAK,GAAG;AAClC;AAAA,IACF;AAEA,WAAO,mBAAmB;AAAA,EAC5B;AAAA,EAEA,YACE,QAAmD,KAAK,SAAS,CAAC,GAClE,eAAe,MACf;AACA,UAAM,cAAc,MAAM;AACxB,UAAI,MAAM,YAAY;AACpB,aAAK,MAAM,QAAQ,MAAM;AACzB,aAAK,MAAM,OAAO,MAAM,QAAQ;AAChC,eAAO;AAAA,MACT;AACA,YAAM,YAAY,KAAK,kBAAkB,KAAK;AAC9C,UAAI,WAAW;AACb,aAAK,QAAQ;AACb,aAAK,QAAQ;AACb,eAAO;AAAA,MACT;AAAA,IACF,GAAG;AAEH,QAAI,YAAY;AACd,YAAM,QAAQ,KAAK,MAAM,KAAK,MAAM,GAAG;AACvC,YAAM,WAAW,MAAM,MAAM,SAAS,CAAC,EAAE,CAAC;AAC1C,WAAK,cAAc,SAAS,CAAC,MAAM,SAAS,CAAC,EAAE,YAAY;AAC3D,WAAK,WAAW;AAChB,WAAK,SAAS,MAAM,CAAC,MAAM,UAAU,UAAU,MAAM,CAAC,MAAM,SAAS,SAAS;AAE9E,UAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,wEAAiC;AACjC,aAAK,sBAAsB;AAAA,MAC7B;AAEA,UAAI,cAAc;AAChB,aAAK,OAAO,CAAC,CAAC,MAAM,UAAU;AAAA,MAChC;AAEA,aAAO,KAAK;AAAA,IACd;AAAA,EACF;AAAA,EAEA,kBACE,QAAQ,KAAK,OACb,QAAkC,KAAK,OACvC,gBAAgB,KAAK,eACrB;AACA,UAAM,IAAI,KAAK,SAAS,OAAO,aAAa;AAE5C,QAAI,SAAS,UAAU,cAAc,CAAC,GAAG;AACvC,aAAO,+CAAe;AAAA,IACxB;AACA,QAAI,KAAK,qBAAqB,GAAG,KAAK,GAAG;AACvC,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,qBACE,WACA,QAAkC,KAAK,OACvC;AACA,QAAI,EAAC,uCAAW,UAAS,UAAU,WAAU,+BAAO,QAAO;AACzD,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAQ,KAAK,OAAO,gBAAgB,KAAK,eAAe;AAC/D,WACE,SAAS,OAAO,aAAa,MAC5B,QAAQ,IAAI,mBAAmB,YAAW,+CAAe,UAAS,OAAO;AAAA,EAE9E;AAAA,EAGA,IAAI,UAAU;AAjJhB;AAkJI,SAAK,aAAL,KAAK,WAAa,oBAAI,IAAI;AAAA,MACxB,KAAI,UAAK,kBAAL,mBAAoB,YAAW,CAAC;AAAA,MACpC,GAAG,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC,CAAC;AAAA,IACvC,CAAC;AACD,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAGA,SAAS,KAAa,OAA2B;AAC/C,QAAI,CAAC;AAAK;AACV,QAAI,SAAS,SAAS,KAAK,OAAO;AAClC,QAAI,UAAU;AACd,WAAO,SAAS,SAAS;AACvB,UAAI,OAAO,OAAO;AAChB,eAAO,MAAM,GAAG;AAAA,MAClB;AACA,gBAAU,QAAQ;AAClB,cAAQ,mCAAS,MAAM;AAAA,IACzB;AACA,UAAM,aAAS,yBAAU;AACzB,QAAI,OAAO,OAAO,OAAO;AACvB,aAAO,OAAO,MAAM,GAAG;AAAA,IACzB;AAAA,EACF;AAAA,EAEA,OAAO,SAAS,OAAO;AACrB,SAAK,eAAe,QAAQ,CAAC,OAAO,GAAG,KAAK,MAAM,MAAM,MAAM,MAAM,CAAC;AAAA,EACvE;AAAA,EAEA,cAAc,IAAmB,SAAkB;AACjD,QAAI,QAAQ,IAAI,aAAa,iBAAiB,SAAS;AAErD,WAAK,kBAAL,KAAK,gBAAkB,oBAAI,IAAI;AAE/B,WAAK,cAAc,IAAI,OAAO;AAAA,IAChC;AAEA,SAAK,eAAe,IAAI,EAAE;AAC1B,WAAO,MAAM;AACX,WAAK,eAAe,OAAO,EAAE;AAAA,IAC/B;AAAA,EACF;AACF;AAEA,SAAS,sBAAsB,MAAc,OAAmB;AAC9D,QAAM,OAAO,eAAe,0CAAyB;AACrD,SAAO,KAAK,QAAQ,UAAU,EAAE,EAAE,QAAQ,SAAS,EAAE;AACvD;AAEA,SAAS,SACP,OACA,eAC0B;AAtM5B;AAuME,QAAM,oCAAoC,6BAA6B,aAAa;AACpF,kBAAgB,kCAAkC,CAAC;AACnD,QAAM,qBAAqB,kCAAkC,CAAC;AAC9D,QAAM,aAAS,yBAAU;AACzB,QAAM,gCAAgC,mBAAmB,SAAS;AAElE,MAAI,MAAM,QAAQ,MAAM,OAAO;AAC7B,UAAM,IAAI,MAAM,6BAA6B;AAAA,EAC/C;AAEA,MAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,WAAW,CAAC,MAAM,SAAS,CAAC,MAAM,eAAe;AACzE,WAAO;AAAA,EACT;AAEA,MAAI,MAAM,SAAS,CAAC,iCAAiC,EAAC,+CAAe,gBAAe;AAClF,QAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,cAAQ,KAAK,oCAAoC;AAAA,IACnD;AACA,WAAO;AAAA,EACT;AAEA,MAAI,SAAmC;AAEvC,QAAM,WAAW,MAAM,QACnB,kCACE,oDAAe,UAAf,mBAAsB,SAAQ,OAC9B,0DAAe,kBAAf,mBAA8B,UAA9B,mBAAqC,SAAQ,KAC/C,MAAM,QAAQ;AAClB,QAAM,EAAE,cAAc,IAAI;AAC1B,QAAM,aAAa,MAAM,QACrB;AAAA;AAAA,MAEE,oDAAe,kBAAf,mBAA8B,MAAM,SAAQ;AAAA,QAC5C,0DAAe,kBAAf,mBAA8B,kBAA9B,mBAA6C,MAAM,SAAQ,KAC7D,gCACA,mBAAmB,CAAC,KAAK,MACzB,+CAAe,MAAM,SAAQ;AAEjC,MAAI,MAAM,SAAS,+BAA+B;AAEhD,uBAAmB,MAAM;AAAA,EAC3B;AAGA,QAAM,OAAO,WAAW,MAAM,qCAAoB;AAClD,QAAM,cAAc,KAAK,KAAK,SAAS,CAAC;AACxC,QAAM,yBACJ,cAAc,YAAY,CAAC,EAAE,YAAY,MAAM,YAAY,CAAC;AAC9D,MAAI,wBAAwB;AAC1B,SAAK,IAAI;AAAA,EACX;AACA,QAAM,kBAAkB,yBACpB,KAAK,MAAM,GAAG,KAAK,MAAM,EAAE,KAAK,qCAAoB,IACpD;AACJ,QAAM,MAAM,KAAK;AACjB,QAAM,MACJ,iBAAiB,CAAC,WACd,MACA;AAEN,MAAI,QAAQ,IAAI,aAAa,iBAAiB,OAAO,MAAM,UAAU,UAAU;AAC7E,YAAQ,eAAe,yBAAyB;AAEhD,YAAQ,IAAI;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAEA,WAAS,IAAI,KAAK,KAAK,KAAK,KAAK;AAC/B,QAAI,SAAS,KAAK,MAAM,GAAG,CAAC,EAAE,KAAK,qCAAoB;AAEvD,QAAI,MAAM,SAAS;AACjB,eAAS,iBAAiB,MAAM;AAAA,IAClC;AACA,QAAI,aAAuB,CAAC;AAE5B,QAAI,UAAU,WAAW,iBAAiB;AACxC,iBAAW,KAAK,MAAM;AAAA,IACxB;AACA,QAAI,UAAU;AACZ,iBAAW,QAAQ,SAAS,GAAG,UAAU,aAAa,QAAQ;AAAA,IAChE;AACA,QAAI,MAAM,GAAG;AACX,YAAMA,eAAc,WAAW,UAAU,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,CAAC;AAChE,UAAIA,eAAc,GAAG;AACnB,mBAAW,OAAOA,cAAa,GAAG,QAAQ;AAAA,MAC5C;AAAA,IACF;AAEA,QAAI,eAAe;AACjB,UAAI,sBAAgC,CAAC;AAErC,UAAI,UAAU;AACZ,cAAM,kBAAkB,OAAO,MAAM,GAAG,OAAO,QAAQ,qCAAoB,CAAC;AAC5E,4BAAoB,KAAK,GAAG,mBAAmB,YAAY,eAAe;AAAA,MAC5E;AACA,0BAAoB,KAAK,GAAG,UAAU,eAAe;AACrD,UAAI,UAAU;AAEZ,cAAM,gBAAgB,KAAK,MAAM,GAAG,IAAI,CAAC,EAAE,KAAK,qCAAoB;AACpE,YAAI,eAAe;AACjB,gBAAM,eAAe,GAAG,iBAAiB,YAAY;AACrD,8BAAoB,QAAQ,YAAY;AAAA,QAC1C;AACA,cAAM,eAAe,GAAG,UAAU,YAAY;AAC9C,4BAAoB,QAAQ,YAAY;AAAA,MAC1C;AACA,mBAAa,CAAC,GAAG,qBAAqB,GAAG,YAAY,GAAG,kBAAkB;AAAA,IAC5E;AACA,UAAM,QAAQ,WAAW,KAAK,CAAC,MAAM,KAAK,MAAM;AAEhD,QAAI,QAAQ,IAAI,aAAa,iBAAiB,OAAO,MAAM,UAAU,UAAU;AAE7E,cAAQ,IAAI,OAAO,EAAE,OAAO,YAAY,cAAc,CAAC;AAAA,IACzD;AAEA,QAAI,OAAO;AACT,eAAS;AAAA,QACP,MAAM;AAAA,QACN,WAAO,4CAAkB,OAAO,KAAK,CAAC;AAAA,QACtC,WAAW,sBAAsB,OAAO,KAAK;AAAA,QAC7C;AAAA,MACF;AACA;AAAA,IACF;AAAA,EACF;AAEA,MAAI,QAAQ,IAAI,aAAa,iBAAiB,OAAO,MAAM,UAAU,UAAU;AAC7E,YAAQ,KAAK,4BAA4B;AAAA,MACvC;AAAA,IACF,CAAC;AACD,YAAQ,MAAM;AACd,YAAQ,SAAS;AAAA,EACnB;AAEA,SAAO;AACT;AAEA,MAAM,mBAAmB,CAAC,cAAsB;AAC9C,SAAO,UAAU,WAAW,OAAO,IAC/B,UAAU,QAAQ,UAAU,MAAM,IAClC,UAAU,QAAQ,SAAS,OAAO;AACxC;AAEO,SAAS,6BAA6B,cAAoC;AA7VjF;AAiWE,MAAI,MAAM;AACV,MAAI,sBAAgC,CAAC;AACrC,SAAO,KAAK;AACV,QAAI,2BAAK,aAAa;AACpB,0BAAoB,MAAK,gCAAK,UAAL,mBAAY,IAAK;AAC1C,YAAM,IAAI;AAAA,IACZ,OAAO;AACL;AAAA,IACF;AAAA,EACF;AACA,SAAO,CAAC,OAAO,MAAM,mBAAmB;AAC1C;",
|
|
5
5
|
"names": ["lastSegment"]
|
|
6
6
|
}
|
|
@@ -135,16 +135,15 @@ const useChangeThemeEffect = (props, root = false, keys, disableUpdate) => {
|
|
|
135
135
|
// @ts-expect-error internal use only
|
|
136
136
|
disable
|
|
137
137
|
} = props;
|
|
138
|
-
const
|
|
138
|
+
const parentManager = (0, import_react.useContext)(import_ThemeManagerContext.ThemeManagerContext);
|
|
139
139
|
const hasThemeUpdatingProps = (0, import_ThemeManager.getHasThemeUpdatingProps)(props);
|
|
140
|
-
const parentManager = disable || !hasThemeUpdatingProps ? ogParentManager : (0, import_ThemeManager.getNonComponentParentManager)(ogParentManager);
|
|
141
140
|
if (disable) {
|
|
142
|
-
if (!
|
|
141
|
+
if (!parentManager)
|
|
143
142
|
throw `\u274C`;
|
|
144
143
|
return {
|
|
145
144
|
isNewTheme: false,
|
|
146
|
-
...
|
|
147
|
-
themeManager:
|
|
145
|
+
...parentManager.state,
|
|
146
|
+
themeManager: parentManager
|
|
148
147
|
};
|
|
149
148
|
}
|
|
150
149
|
const [themeState, setThemeState] = (0, import_react.useState)(createState);
|
|
@@ -281,8 +280,8 @@ const useChangeThemeEffect = (props, root = false, keys, disableUpdate) => {
|
|
|
281
280
|
if (isNewTheme2) {
|
|
282
281
|
state2 = { ...themeManager2.state };
|
|
283
282
|
} else {
|
|
284
|
-
state2 =
|
|
285
|
-
themeManager2 =
|
|
283
|
+
state2 = parentManager.state;
|
|
284
|
+
themeManager2 = parentManager;
|
|
286
285
|
}
|
|
287
286
|
}
|
|
288
287
|
if (!force && state2.name === (prev == null ? void 0 : prev.state.name)) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useTheme.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,uBAAiD;AACjD,mBAA0E;AAE1E,oBAA0B;AAC1B,wBAA2B;AAC3B,yBAA4B;AAC5B,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["_", "themeManager", "state", "isNewTheme", "mounted"]
|
|
6
6
|
}
|
|
@@ -31,14 +31,11 @@ class ThemeManager {
|
|
|
31
31
|
if (!getHasThemeUpdatingProps(props)) {
|
|
32
32
|
return parentManagerIn;
|
|
33
33
|
}
|
|
34
|
-
|
|
35
|
-
if (parentManager) {
|
|
36
|
-
this.parentManager = parentManager;
|
|
37
|
-
}
|
|
34
|
+
this.parentManager = parentManagerIn;
|
|
38
35
|
if (this.updateState(props, false)) {
|
|
39
36
|
return;
|
|
40
37
|
}
|
|
41
|
-
return
|
|
38
|
+
return parentManagerIn || this;
|
|
42
39
|
}
|
|
43
40
|
updateState(props = this.props || {}, shouldNotify = true) {
|
|
44
41
|
const isChanging = (() => {
|
|
@@ -133,24 +130,34 @@ function getNextThemeClassName(name, props) {
|
|
|
133
130
|
return next.replace("light_", "").replace("dark_", "");
|
|
134
131
|
}
|
|
135
132
|
function getState(props, parentManager) {
|
|
136
|
-
var _a, _b, _c;
|
|
133
|
+
var _a, _b, _c, _d, _e, _f;
|
|
134
|
+
const validManagerAndAllComponentThemes = getNonComponentParentManager(parentManager);
|
|
135
|
+
parentManager = validManagerAndAllComponentThemes[0];
|
|
136
|
+
const allComponentThemes = validManagerAndAllComponentThemes[1];
|
|
137
137
|
const themes = getThemes();
|
|
138
|
+
const isDirectParentAComponentTheme = allComponentThemes.length > 0;
|
|
138
139
|
if (props.name && props.reset) {
|
|
139
140
|
throw new Error("Cannot reset + set new name");
|
|
140
141
|
}
|
|
141
142
|
if (!props.name && !props.inverse && !props.reset && !props.componentName) {
|
|
142
143
|
return null;
|
|
143
144
|
}
|
|
144
|
-
if (props.reset && !(parentManager == null ? void 0 : parentManager.parentManager)) {
|
|
145
|
+
if (props.reset && !isDirectParentAComponentTheme && !(parentManager == null ? void 0 : parentManager.parentManager)) {
|
|
145
146
|
if (process.env.NODE_ENV === "development") {
|
|
146
147
|
console.warn("Cannot reset no grandparent exists");
|
|
147
148
|
}
|
|
148
149
|
return null;
|
|
149
150
|
}
|
|
150
151
|
let result = null;
|
|
151
|
-
const nextName = props.reset ? ((
|
|
152
|
+
const nextName = props.reset ? isDirectParentAComponentTheme ? ((_a = parentManager == null ? void 0 : parentManager.state) == null ? void 0 : _a.name) || "" : ((_c = (_b = parentManager == null ? void 0 : parentManager.parentManager) == null ? void 0 : _b.state) == null ? void 0 : _c.name) || "" : props.name || "";
|
|
152
153
|
const { componentName } = props;
|
|
153
|
-
const parentName =
|
|
154
|
+
const parentName = props.reset ? isDirectParentAComponentTheme ? (
|
|
155
|
+
// here because parentManager already skipped componentTheme so we have to only go up once
|
|
156
|
+
((_d = parentManager == null ? void 0 : parentManager.parentManager) == null ? void 0 : _d.state.name) || ""
|
|
157
|
+
) : ((_f = (_e = parentManager == null ? void 0 : parentManager.parentManager) == null ? void 0 : _e.parentManager) == null ? void 0 : _f.state.name) || "" : isDirectParentAComponentTheme ? allComponentThemes[0] || "" : (parentManager == null ? void 0 : parentManager.state.name) || "";
|
|
158
|
+
if (props.reset && isDirectParentAComponentTheme) {
|
|
159
|
+
allComponentThemes.shift();
|
|
160
|
+
}
|
|
154
161
|
const base = parentName.split(THEME_NAME_SEPARATOR);
|
|
155
162
|
const lastSegment = base[base.length - 1];
|
|
156
163
|
const isParentComponentTheme = parentName && lastSegment[0].toUpperCase() === lastSegment[0];
|
|
@@ -206,7 +213,7 @@ function getState(props, parentManager) {
|
|
|
206
213
|
const moreSpecific = `${prefix}_${nextName}_${componentName}`;
|
|
207
214
|
componentPotentials.unshift(moreSpecific);
|
|
208
215
|
}
|
|
209
|
-
potentials = [...componentPotentials, ...potentials];
|
|
216
|
+
potentials = [...componentPotentials, ...potentials, ...allComponentThemes];
|
|
210
217
|
}
|
|
211
218
|
const found = potentials.find((t) => t in themes);
|
|
212
219
|
if (process.env.NODE_ENV === "development" && typeof props.debug === "string") {
|
|
@@ -235,15 +242,18 @@ const inverseThemeName = (themeName) => {
|
|
|
235
242
|
return themeName.startsWith("light") ? themeName.replace(/^light/, "dark") : themeName.replace(/^dark/, "light");
|
|
236
243
|
};
|
|
237
244
|
function getNonComponentParentManager(themeManager) {
|
|
245
|
+
var _a;
|
|
238
246
|
let res = themeManager;
|
|
247
|
+
let componentThemeNames = [];
|
|
239
248
|
while (res) {
|
|
240
249
|
if (res == null ? void 0 : res.isComponent) {
|
|
250
|
+
componentThemeNames.push((_a = res == null ? void 0 : res.state) == null ? void 0 : _a.name);
|
|
241
251
|
res = res.parentManager;
|
|
242
252
|
} else {
|
|
243
253
|
break;
|
|
244
254
|
}
|
|
245
255
|
}
|
|
246
|
-
return res || null;
|
|
256
|
+
return [res || null, componentThemeNames];
|
|
247
257
|
}
|
|
248
258
|
export {
|
|
249
259
|
ThemeManager,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/ThemeManager.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,WAAW,iBAAiB;AACrC,SAAS,wBAAwB,4BAA4B;AAC7D,SAAS,yBAAyB;AAwBlC,MAAM,aAAgC,EAAE,MAAM,GAAG;AAE1C,SAAS,yBAAyB,OAAmB;AAC1D,SAAO,MAAM,QAAQ,MAAM,iBAAiB,MAAM,WAAW,MAAM;AACrE;AAEA,IAAI,MAAM;AAEH,MAAM,aAAa;AAAA,EAQxB,YACS,QAAoB,CAAC,GAC5B,iBACA;AAFO;AART,cAAK;AACL,uBAAc;AACd,0BAAiB,oBAAI,IAAmB;AACxC,yBAAqC;AACrC,iBAA2B;AAC3B,kBAAkC;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["lastSegment"]
|
|
6
6
|
}
|
|
@@ -5,8 +5,7 @@ import { isDevTools } from "../constants/isDevTools";
|
|
|
5
5
|
import { createProxy } from "../helpers/createProxy";
|
|
6
6
|
import {
|
|
7
7
|
ThemeManager,
|
|
8
|
-
getHasThemeUpdatingProps
|
|
9
|
-
getNonComponentParentManager
|
|
8
|
+
getHasThemeUpdatingProps
|
|
10
9
|
} from "../helpers/ThemeManager";
|
|
11
10
|
import { ThemeManagerContext } from "../helpers/ThemeManagerContext";
|
|
12
11
|
import { GetThemeUnwrapped } from "./getThemeUnwrapped";
|
|
@@ -112,16 +111,15 @@ const useChangeThemeEffect = (props, root = false, keys, disableUpdate) => {
|
|
|
112
111
|
// @ts-expect-error internal use only
|
|
113
112
|
disable
|
|
114
113
|
} = props;
|
|
115
|
-
const
|
|
114
|
+
const parentManager = useContext(ThemeManagerContext);
|
|
116
115
|
const hasThemeUpdatingProps = getHasThemeUpdatingProps(props);
|
|
117
|
-
const parentManager = disable || !hasThemeUpdatingProps ? ogParentManager : getNonComponentParentManager(ogParentManager);
|
|
118
116
|
if (disable) {
|
|
119
|
-
if (!
|
|
117
|
+
if (!parentManager)
|
|
120
118
|
throw `\u274C`;
|
|
121
119
|
return {
|
|
122
120
|
isNewTheme: false,
|
|
123
|
-
...
|
|
124
|
-
themeManager:
|
|
121
|
+
...parentManager.state,
|
|
122
|
+
themeManager: parentManager
|
|
125
123
|
};
|
|
126
124
|
}
|
|
127
125
|
const [themeState, setThemeState] = useState(createState);
|
|
@@ -258,8 +256,8 @@ const useChangeThemeEffect = (props, root = false, keys, disableUpdate) => {
|
|
|
258
256
|
if (isNewTheme2) {
|
|
259
257
|
state2 = { ...themeManager2.state };
|
|
260
258
|
} else {
|
|
261
|
-
state2 =
|
|
262
|
-
themeManager2 =
|
|
259
|
+
state2 = parentManager.state;
|
|
260
|
+
themeManager2 = parentManager;
|
|
263
261
|
}
|
|
264
262
|
}
|
|
265
263
|
if (!force && state2.name === (prev == null ? void 0 : prev.state.name)) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useTheme.tsx"],
|
|
4
|
-
"mappings": "AACA,SAAS,UAAU,OAAO,UAAU,aAAa;AACjD,SAAS,YAAY,WAAW,iBAAiB,SAAS,gBAAgB;AAE1E,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB;AAC5B;AAAA,EACE;AAAA,EAEA;AAAA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["_", "themeManager", "state", "isNewTheme", "mounted"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/web",
|
|
3
|
-
"version": "1.30.
|
|
3
|
+
"version": "1.30.25",
|
|
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.30.
|
|
31
|
-
"@tamagui/constants": "1.30.
|
|
32
|
-
"@tamagui/helpers": "1.30.
|
|
33
|
-
"@tamagui/normalize-css-color": "1.30.
|
|
34
|
-
"@tamagui/use-did-finish-ssr": "1.30.
|
|
35
|
-
"@tamagui/use-event": "1.30.
|
|
36
|
-
"@tamagui/use-force-update": "1.30.
|
|
30
|
+
"@tamagui/compose-refs": "1.30.25",
|
|
31
|
+
"@tamagui/constants": "1.30.25",
|
|
32
|
+
"@tamagui/helpers": "1.30.25",
|
|
33
|
+
"@tamagui/normalize-css-color": "1.30.25",
|
|
34
|
+
"@tamagui/use-did-finish-ssr": "1.30.25",
|
|
35
|
+
"@tamagui/use-event": "1.30.25",
|
|
36
|
+
"@tamagui/use-force-update": "1.30.25"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"react": "*"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@tamagui/build": "1.30.
|
|
42
|
+
"@tamagui/build": "1.30.25",
|
|
43
43
|
"@testing-library/react": "^13.4.0",
|
|
44
44
|
"csstype": "^3.0.10",
|
|
45
45
|
"react": "^18.2.0",
|
|
@@ -63,16 +63,13 @@ export class ThemeManager {
|
|
|
63
63
|
return parentManagerIn
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
if (parentManager) {
|
|
68
|
-
this.parentManager = parentManager
|
|
69
|
-
}
|
|
66
|
+
this.parentManager = parentManagerIn
|
|
70
67
|
|
|
71
68
|
if (this.updateState(props, false)) {
|
|
72
69
|
return
|
|
73
70
|
}
|
|
74
71
|
|
|
75
|
-
return
|
|
72
|
+
return parentManagerIn || this
|
|
76
73
|
}
|
|
77
74
|
|
|
78
75
|
updateState(
|
|
@@ -200,7 +197,11 @@ function getState(
|
|
|
200
197
|
props: ThemeProps,
|
|
201
198
|
parentManager?: ThemeManager | null
|
|
202
199
|
): ThemeManagerState | null {
|
|
200
|
+
const validManagerAndAllComponentThemes = getNonComponentParentManager(parentManager)
|
|
201
|
+
parentManager = validManagerAndAllComponentThemes[0]
|
|
202
|
+
const allComponentThemes = validManagerAndAllComponentThemes[1]
|
|
203
203
|
const themes = getThemes()
|
|
204
|
+
const isDirectParentAComponentTheme = allComponentThemes.length > 0
|
|
204
205
|
|
|
205
206
|
if (props.name && props.reset) {
|
|
206
207
|
throw new Error('Cannot reset + set new name')
|
|
@@ -210,7 +211,7 @@ function getState(
|
|
|
210
211
|
return null
|
|
211
212
|
}
|
|
212
213
|
|
|
213
|
-
if (props.reset && !parentManager?.parentManager) {
|
|
214
|
+
if (props.reset && !isDirectParentAComponentTheme && !parentManager?.parentManager) {
|
|
214
215
|
if (process.env.NODE_ENV === 'development') {
|
|
215
216
|
console.warn('Cannot reset no grandparent exists')
|
|
216
217
|
}
|
|
@@ -220,10 +221,24 @@ function getState(
|
|
|
220
221
|
let result: ThemeManagerState | null = null
|
|
221
222
|
|
|
222
223
|
const nextName = props.reset
|
|
223
|
-
?
|
|
224
|
+
? isDirectParentAComponentTheme
|
|
225
|
+
? parentManager?.state?.name || ''
|
|
226
|
+
: parentManager?.parentManager?.state?.name || ''
|
|
224
227
|
: props.name || ''
|
|
225
228
|
const { componentName } = props
|
|
226
|
-
const parentName =
|
|
229
|
+
const parentName = props.reset
|
|
230
|
+
? isDirectParentAComponentTheme
|
|
231
|
+
? // here because parentManager already skipped componentTheme so we have to only go up once
|
|
232
|
+
parentManager?.parentManager?.state.name || ''
|
|
233
|
+
: parentManager?.parentManager?.parentManager?.state.name || ''
|
|
234
|
+
: isDirectParentAComponentTheme
|
|
235
|
+
? allComponentThemes[0] || ''
|
|
236
|
+
: parentManager?.state.name || ''
|
|
237
|
+
|
|
238
|
+
if (props.reset && isDirectParentAComponentTheme) {
|
|
239
|
+
// skip nearest component theme
|
|
240
|
+
allComponentThemes.shift()
|
|
241
|
+
}
|
|
227
242
|
|
|
228
243
|
// components look for most specific, fallback upwards
|
|
229
244
|
const base = parentName.split(THEME_NAME_SEPARATOR)
|
|
@@ -295,9 +310,8 @@ function getState(
|
|
|
295
310
|
const moreSpecific = `${prefix}_${nextName}_${componentName}`
|
|
296
311
|
componentPotentials.unshift(moreSpecific)
|
|
297
312
|
}
|
|
298
|
-
potentials = [...componentPotentials, ...potentials]
|
|
313
|
+
potentials = [...componentPotentials, ...potentials, ...allComponentThemes]
|
|
299
314
|
}
|
|
300
|
-
|
|
301
315
|
const found = potentials.find((t) => t in themes)
|
|
302
316
|
|
|
303
317
|
if (process.env.NODE_ENV === 'development' && typeof props.debug === 'string') {
|
|
@@ -338,12 +352,14 @@ export function getNonComponentParentManager(themeManager?: ThemeManager | null)
|
|
|
338
352
|
// example <Switch><Switch.Thumb /></Switch>
|
|
339
353
|
// the Switch theme shouldn't be considered parent of Thumb
|
|
340
354
|
let res = themeManager
|
|
355
|
+
let componentThemeNames: string[] = []
|
|
341
356
|
while (res) {
|
|
342
357
|
if (res?.isComponent) {
|
|
358
|
+
componentThemeNames.push(res?.state?.name!)
|
|
343
359
|
res = res.parentManager
|
|
344
360
|
} else {
|
|
345
361
|
break
|
|
346
362
|
}
|
|
347
363
|
}
|
|
348
|
-
return res || null
|
|
364
|
+
return [res || null, componentThemeNames] as const
|
|
349
365
|
}
|
package/src/hooks/useTheme.tsx
CHANGED
|
@@ -9,7 +9,6 @@ import {
|
|
|
9
9
|
ThemeManager,
|
|
10
10
|
ThemeManagerState,
|
|
11
11
|
getHasThemeUpdatingProps,
|
|
12
|
-
getNonComponentParentManager,
|
|
13
12
|
} from '../helpers/ThemeManager'
|
|
14
13
|
import { ThemeManagerContext } from '../helpers/ThemeManagerContext'
|
|
15
14
|
import type { ThemeParsed, ThemeProps } from '../types'
|
|
@@ -172,19 +171,15 @@ export const useChangeThemeEffect = (
|
|
|
172
171
|
disable,
|
|
173
172
|
} = props
|
|
174
173
|
|
|
175
|
-
const
|
|
174
|
+
const parentManager = useContext(ThemeManagerContext)
|
|
176
175
|
const hasThemeUpdatingProps = getHasThemeUpdatingProps(props)
|
|
177
|
-
const parentManager =
|
|
178
|
-
disable || !hasThemeUpdatingProps
|
|
179
|
-
? ogParentManager
|
|
180
|
-
: getNonComponentParentManager(ogParentManager)
|
|
181
176
|
|
|
182
177
|
if (disable) {
|
|
183
|
-
if (!
|
|
178
|
+
if (!parentManager) throw `❌`
|
|
184
179
|
return {
|
|
185
180
|
isNewTheme: false,
|
|
186
|
-
...
|
|
187
|
-
themeManager:
|
|
181
|
+
...parentManager.state,
|
|
182
|
+
themeManager: parentManager,
|
|
188
183
|
}
|
|
189
184
|
}
|
|
190
185
|
|
|
@@ -366,8 +361,8 @@ export const useChangeThemeEffect = (
|
|
|
366
361
|
if (isNewTheme) {
|
|
367
362
|
state = { ...themeManager.state }
|
|
368
363
|
} else {
|
|
369
|
-
state =
|
|
370
|
-
themeManager =
|
|
364
|
+
state = parentManager!.state
|
|
365
|
+
themeManager = parentManager!
|
|
371
366
|
}
|
|
372
367
|
}
|
|
373
368
|
|
|
@@ -35,6 +35,6 @@ export declare class ThemeManager {
|
|
|
35
35
|
notify(forced?: boolean): void;
|
|
36
36
|
onChangeTheme(cb: ThemeListener, debugId?: number): () => void;
|
|
37
37
|
}
|
|
38
|
-
export declare function getNonComponentParentManager(themeManager?: ThemeManager | null): ThemeManager | null;
|
|
38
|
+
export declare function getNonComponentParentManager(themeManager?: ThemeManager | null): readonly [ThemeManager | null, string[]];
|
|
39
39
|
export {};
|
|
40
40
|
//# sourceMappingURL=ThemeManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeManager.d.ts","sourceRoot":"","sources":["../../src/helpers/ThemeManager.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAElD,KAAK,aAAa,GAAG,CACnB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,OAAO,KACZ,IAAI,CAAA;AAET,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAID,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,UAAU,gCAEzD;AAID,qBAAa,YAAY;IASd,KAAK,EAAE,UAAU;IAR1B,EAAE,SAAQ;IACV,WAAW,UAAQ;IACnB,cAAc,qBAA2B;IACzC,aAAa,EAAE,YAAY,GAAG,IAAI,CAAO;IACzC,KAAK,EAAE,iBAAiB,CAAa;IACrC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAO;gBAG7B,KAAK,GAAE,UAAe,EAC7B,eAAe,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"ThemeManager.d.ts","sourceRoot":"","sources":["../../src/helpers/ThemeManager.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAElD,KAAK,aAAa,GAAG,CACnB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,OAAO,KACZ,IAAI,CAAA;AAET,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAID,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,UAAU,gCAEzD;AAID,qBAAa,YAAY;IASd,KAAK,EAAE,UAAU;IAR1B,EAAE,SAAQ;IACV,WAAW,UAAQ;IACnB,cAAc,qBAA2B;IACzC,aAAa,EAAE,YAAY,GAAG,IAAI,CAAO;IACzC,KAAK,EAAE,iBAAiB,CAAa;IACrC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAO;gBAG7B,KAAK,GAAE,UAAe,EAC7B,eAAe,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;IA8B5D,WAAW,CACT,KAAK,GAAE,UAAU,GAAG;QAAE,UAAU,CAAC,EAAE,WAAW,CAAA;KAAqB,EACnE,YAAY,UAAO;IAoCrB,iBAAiB,CACf,KAAK,aAAa,EAClB,KAAK,GAAE,iBAAiB,GAAG,IAAiB,EAC5C,aAAa,sBAAqB;IAYpC,oBAAoB,CAClB,SAAS,EAAE,iBAAiB,GAAG,IAAI,EACnC,KAAK,GAAE,iBAAiB,GAAG,IAAiB;IAQ9C,QAAQ,CAAC,KAAK,aAAa,EAAE,aAAa,sBAAqB;IAO/D,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAO;IACnC,IAAI,OAAO,gBAMV;IAGD,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,iBAAiB;IAiB/C,MAAM,CAAC,MAAM,UAAQ;IAIrB,aAAa,CAAC,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,MAAM;CAalD;AAiKD,wBAAgB,4BAA4B,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,4CAe9E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../src/hooks/useTheme.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,YAAY,
|
|
1
|
+
{"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../src/hooks/useTheme.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,YAAY,EAGb,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAIvD,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,OAAO,CAAA;IACnB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAA;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAoBD,KAAK,cAAc,GAAG;KACnB,GAAG,IAAI,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG;QAC7C,GAAG,EAAE,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;KAC5C;CACF,CAAA;AAED,eAAO,MAAM,QAAQ,WAAW,UAAU,KAAgB,cAEzD,CAAA;AAED,eAAO,MAAM,iBAAiB,UAAW,UAAU;;gBAnCrC,OAAO;kBACL,YAAY,GAAG,IAAI;UAC3B,MAAM;;QA0Eb,CAAA;AAED,wBAAgB,eAAe,CAC7B,EACE,KAAK,EACL,YAAY,GACb,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG;IACjC,KAAK,EAAE,WAAW,CAAA;CACnB,EACD,IAAI,CAAC,EAAE,MAAM,EAAE,GACd,cAAc,CA6ChB;AAED,eAAO,MAAM,mBAAmB,mBAA0B,CAAA;AAE1D,eAAO,MAAM,oBAAoB,UACxB,UAAU,yBAEV,MAAM,EAAE,kBACC,MAAM,OAAO,KAC5B,oBAiPF,CAAA"}
|