@tamagui/web 1.28.1 → 1.28.3
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 +22 -19
- package/dist/cjs/createComponent.js.map +1 -1
- package/dist/cjs/helpers/createPropMapper.js +22 -2
- package/dist/cjs/helpers/createPropMapper.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.js +4 -3
- package/dist/cjs/helpers/getSplitStyles.js.map +1 -1
- package/dist/cjs/helpers/getVariantExtras.js +2 -2
- package/dist/cjs/helpers/getVariantExtras.js.map +1 -1
- package/dist/cjs/helpers/themeable.js +5 -2
- package/dist/cjs/helpers/themeable.js.map +1 -1
- package/dist/cjs/hooks/useMedia.js +7 -5
- package/dist/cjs/hooks/useMedia.js.map +1 -1
- package/dist/cjs/hooks/useTheme.js +38 -26
- package/dist/cjs/hooks/useTheme.js.map +1 -1
- package/dist/cjs/hooks/useThemeName.js.map +1 -1
- package/dist/cjs/views/Theme.js +23 -34
- package/dist/cjs/views/Theme.js.map +1 -1
- package/dist/esm/createComponent.js +22 -19
- package/dist/esm/createComponent.js.map +1 -1
- package/dist/esm/helpers/createPropMapper.js +22 -2
- package/dist/esm/helpers/createPropMapper.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.js +3 -2
- package/dist/esm/helpers/getSplitStyles.js.map +1 -1
- package/dist/esm/helpers/getVariantExtras.js +2 -2
- package/dist/esm/helpers/getVariantExtras.js.map +1 -1
- package/dist/esm/helpers/themeable.js +5 -2
- package/dist/esm/helpers/themeable.js.map +1 -1
- package/dist/esm/hooks/useMedia.js +5 -4
- package/dist/esm/hooks/useMedia.js.map +1 -1
- package/dist/esm/hooks/useTheme.js +40 -27
- package/dist/esm/hooks/useTheme.js.map +1 -1
- package/dist/esm/hooks/useThemeName.js.map +1 -1
- package/dist/esm/views/Theme.js +24 -35
- package/dist/esm/views/Theme.js.map +1 -1
- package/package.json +9 -9
- package/src/createComponent.tsx +36 -22
- package/src/helpers/createPropMapper.ts +27 -2
- package/src/helpers/getSplitStyles.tsx +3 -4
- package/src/helpers/getVariantExtras.tsx +3 -2
- package/src/helpers/themeable.tsx +8 -2
- package/src/hooks/useMedia.tsx +3 -3
- package/src/hooks/useTheme.tsx +52 -37
- package/src/hooks/useThemeName.tsx +1 -0
- package/src/views/Theme.tsx +43 -54
- package/types/createComponent.d.ts.map +1 -1
- package/types/helpers/createPropMapper.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/getVariantExtras.d.ts +1 -1
- package/types/helpers/getVariantExtras.d.ts.map +1 -1
- package/types/helpers/themeable.d.ts.map +1 -1
- package/types/hooks/useMedia.d.ts +2 -1
- package/types/hooks/useMedia.d.ts.map +1 -1
- package/types/hooks/useTheme.d.ts.map +1 -1
- package/types/hooks/useThemeName.d.ts.map +1 -1
- package/types/views/Theme.d.ts.map +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useMedia.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,WAAW,SAAS,4BAA4B;AAEzD,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAQ3B,SAAS,kBAAkB;AAEpB,IAAI;AAAA;AAAA,EAET,QAAQ,IAAI,aAAa,gBACrB;AAAA,IACE,CAAC;AAAA,IACD;AAAA,MACE,IAAI,QAAQ,KAAK;AACf,YACE,OAAO,QAAQ,YACf,IAAI,CAAC,MAAM;AAAA,QAEX,IAAI,CAAC,MAAM,KACX;AACA,gBAAM,IAAI,MAAM,yCAAyC,KAAK;AAAA,QAChE;AACA,eAAO,QAAQ,IAAI,QAAQ,GAAG;AAAA,MAChC;AAAA,IACF;AAAA,EACF,IACC,CAAC;AAAA;AAED,MAAM,mBAAiC,CAAC;AACxC,MAAM,WAAW,MAAM;AACvB,MAAM,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["update"]
|
|
6
6
|
}
|
|
@@ -5,7 +5,8 @@ import { isDevTools } from "../constants/isDevTools";
|
|
|
5
5
|
import { createProxy } from "../helpers/createProxy";
|
|
6
6
|
import {
|
|
7
7
|
ThemeManager,
|
|
8
|
-
getNonComponentParentManager
|
|
8
|
+
getNonComponentParentManager,
|
|
9
|
+
hasNoThemeUpdatingProps
|
|
9
10
|
} from "../helpers/ThemeManager";
|
|
10
11
|
import { ThemeManagerContext } from "../helpers/ThemeManagerContext";
|
|
11
12
|
import { GetThemeUnwrapped } from "./getThemeUnwrapped";
|
|
@@ -111,17 +112,16 @@ const useChangeThemeEffect = (props, root = false, keys, disableUpdate) => {
|
|
|
111
112
|
// @ts-expect-error internal use only
|
|
112
113
|
disable
|
|
113
114
|
} = props;
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
115
|
+
const ogParentManager = useContext(ThemeManagerContext);
|
|
116
|
+
const hasThemeUpdatingProps = !hasNoThemeUpdatingProps(props);
|
|
117
|
+
const parentManager = disable ? ogParentManager : getNonComponentParentManager(ogParentManager);
|
|
118
118
|
if (disable) {
|
|
119
|
-
if (!
|
|
119
|
+
if (!ogParentManager)
|
|
120
120
|
throw `\u274C`;
|
|
121
121
|
return {
|
|
122
122
|
isNewTheme: false,
|
|
123
|
-
...
|
|
124
|
-
themeManager:
|
|
123
|
+
...ogParentManager.state,
|
|
124
|
+
themeManager: ogParentManager
|
|
125
125
|
};
|
|
126
126
|
}
|
|
127
127
|
const [themeState, setThemeState] = useState(createState);
|
|
@@ -215,37 +215,50 @@ const useChangeThemeEffect = (props, root = false, keys, disableUpdate) => {
|
|
|
215
215
|
if (prev && (disableUpdate == null ? void 0 : disableUpdate())) {
|
|
216
216
|
return prev;
|
|
217
217
|
}
|
|
218
|
-
let themeManager2;
|
|
218
|
+
let themeManager2 = parentManager;
|
|
219
219
|
let state2;
|
|
220
220
|
const getNewThemeManager = () => {
|
|
221
221
|
return new ThemeManager(props, root ? "root" : parentManager);
|
|
222
222
|
};
|
|
223
|
-
if (
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
223
|
+
if (hasThemeUpdatingProps) {
|
|
224
|
+
if (prev == null ? void 0 : prev.themeManager) {
|
|
225
|
+
themeManager2 = prev.themeManager;
|
|
226
|
+
const forceChange = Boolean(keys == null ? void 0 : keys.length);
|
|
227
|
+
const next = themeManager2.getState(props, parentManager);
|
|
228
|
+
const nextState = getShouldUpdateTheme(
|
|
229
|
+
themeManager2,
|
|
230
|
+
next,
|
|
231
|
+
prev.state,
|
|
232
|
+
forceChange
|
|
233
|
+
);
|
|
234
|
+
if (nextState) {
|
|
235
|
+
state2 = nextState;
|
|
236
|
+
if (!prev.isNewTheme || !isWeb) {
|
|
237
|
+
themeManager2 = getNewThemeManager();
|
|
238
|
+
} else {
|
|
239
|
+
themeManager2.updateState(nextState, true);
|
|
240
|
+
}
|
|
232
241
|
} else {
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
if (parentManager && !next) {
|
|
238
|
-
themeManager2 = parentManager;
|
|
242
|
+
if (prev.isNewTheme) {
|
|
243
|
+
if (parentManager && !next) {
|
|
244
|
+
themeManager2 = parentManager;
|
|
245
|
+
}
|
|
239
246
|
}
|
|
240
247
|
}
|
|
248
|
+
} else {
|
|
249
|
+
themeManager2 = getNewThemeManager();
|
|
250
|
+
state2 = { ...themeManager2.state };
|
|
241
251
|
}
|
|
242
|
-
} else {
|
|
243
|
-
themeManager2 = getNewThemeManager();
|
|
244
252
|
}
|
|
245
253
|
const isNewTheme2 = Boolean(themeManager2 !== parentManager);
|
|
246
254
|
const mounted2 = !props.inverse ? true : root || (prev == null ? void 0 : prev.mounted);
|
|
247
255
|
if (!state2) {
|
|
248
|
-
|
|
256
|
+
if (isNewTheme2) {
|
|
257
|
+
state2 = { ...themeManager2.state };
|
|
258
|
+
} else {
|
|
259
|
+
state2 = ogParentManager.state;
|
|
260
|
+
themeManager2 = ogParentManager;
|
|
261
|
+
}
|
|
249
262
|
}
|
|
250
263
|
if (!force && state2.name === (prev == null ? void 0 : prev.state.name)) {
|
|
251
264
|
return prev;
|
|
@@ -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,OACK;AACP,SAAS,2BAA2B;AAEpC,SAAS,yBAAyB;AAClC,SAAS,oBAAoB;AAiB7B,MAAM,aAAa,EAAE,MAAM,KAAK;AAEhC,SAAS,yBAAyB;AAChC,QAAM,SAAS,UAAU;AACzB,QAAM,OAAO,OAAO,KAAK,OAAO,MAAM,EAAE,CAAC;AACzC,SAAO,gBAAgB;AAAA,IACrB,OAAO,OAAO,OAAO,IAAI;AAAA,IACzB;AAAA,EACF,CAAC;AACH;AAQO,MAAM,WAAW,CAAC,QAAoB,eAA+B;
|
|
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,EACA;AAAA,OACK;AACP,SAAS,2BAA2B;AAEpC,SAAS,yBAAyB;AAClC,SAAS,oBAAoB;AAiB7B,MAAM,aAAa,EAAE,MAAM,KAAK;AAEhC,SAAS,yBAAyB;AAChC,QAAM,SAAS,UAAU;AACzB,QAAM,OAAO,OAAO,KAAK,OAAO,MAAM,EAAE,CAAC;AACzC,SAAO,gBAAgB;AAAA,IACrB,OAAO,OAAO,OAAO,IAAI;AAAA,IACzB;AAAA,EACF,CAAC;AACH;AAQO,MAAM,WAAW,CAAC,QAAoB,eAA+B;AAlD5E;AAmDE,UAAQ,QAAQ,QAAO,uBAAkB,KAAK,MAAvB,mBAA0B,UAAU,uBAAuB;AACpF;AAEO,MAAM,oBAAoB,CAAC,UAAsB;AACtD,QAAM,OAAO,aAAuB,CAAC,CAAC;AAEtC,QAAM,eAAe;AAAA,IACnB;AAAA,IACA;AAAA,IACA,KAAK;AAAA,IACL,WACI,MAAM;AA9Dd;AA+DU,eAAO,WAAM,iBAAN,mCAA0B,KAAK,QAAQ,WAAW;AAAA,IAC3D,IACA;AAAA,EACN;AAEA,QAAM,EAAE,cAAc,OAAO,MAAM,UAAU,IAAI;AAEjD,MAAI,QAAQ,IAAI,aAAa,iBAAiB,MAAM,UAAU,WAAW;AACvE,YAAQ,eAAe,2BAAoB,IAAI;AAC/C,UAAM,OAAO,EAAE,GAAG,OAAO,MAAM,WAAW,GAAI,cAAc,EAAE,MAAM,EAAG;AACvE,eAAW,OAAO,MAAM;AAEtB,cAAQ,IAAI,MAAM,KAAK,KAAK,GAAG,CAAC;AAAA,IAClC;AACA,YAAQ,SAAS;AAAA,EACnB;AAEA,MAAI,CAAC,aAAa,OAAO;AACvB,QAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,cAAQ,KAAK,kBAAkB,MAAM,OAAO,YAAY;AAAA,IAC1D;AACA,WAAO;AAAA,EACT;AAEA,QAAM,eAAe,QAAQ,MAAM;AACjC,WAAO,gBAAgB,cAAqB,KAAK,OAAO;AAAA,EAC1D,GAAG,CAAC,OAAO,MAAM,WAAW,YAAY,CAAC;AAEzC,SAAO;AAAA,IACL,GAAG;AAAA,IACH,OAAO;AAAA,EACT;AACF;AAEO,SAAS,gBACd;AAAA,EACE;AAAA,EACA;AACF,GAGA,MACgB;AAChB,SAAO,YAAY,OAAO;AAAA,IACxB,IAAI,GAAG,KAAK;AACV,UAAI,OAAO,QAAQ,UAAU;AAC3B,YAAI,IAAI,CAAC,MAAM;AAAK,gBAAM,IAAI,MAAM,CAAC;AACrC,eAAO,6CAAc,QAAQ,IAAI;AAAA,MACnC;AACA,aAAO,QAAQ,IAAI,OAAO,GAAG;AAAA,IAC/B;AAAA,IACA,IAAI,GAAG,KAAK;AACV,UAAI,QAAQ,mBAAmB;AAC7B,eAAO;AAAA,MACT;AACA,UACE,QAAQ,eACR,QAAQ,aACR,OAAO,QAAQ,YACf,CAAC,cACD;AACA,eAAO,QAAQ,IAAI,GAAG,GAAG;AAAA,MAC3B;AAGA,YAAM,YAAY,IAAI,CAAC,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI;AAClD,YAAM,MAAM,aAAa,SAAS,SAAS;AAE3C,UAAI,OAAO,MAAM;AACf,eAAO,IAAI,MAAM,KAAY;AAAA;AAAA;AAAA,UAG3B,IAAIA,IAAG,QAAQ;AACb,gBAAI,WAAW,OAAO;AACpB,qBAAO,MAAM;AAAA,YACf;AACA,gBAAI,WAAW,SAAS,CAAC,KAAK,SAAS,SAAS,GAAG;AACjD,mBAAK,KAAK,SAAS;AAAA,YACrB;AACA,mBAAO,QAAQ,IAAI,KAAY,MAAM;AAAA,UACvC;AAAA,QACF,CAAC;AAAA,MACH;AAEA,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AACH;AAEO,MAAM,sBAAsB,oBAAI,IAAkB;AAElD,MAAM,uBAAuB,CAClC,OACA,OAAO,OACP,MACA,kBACyB;AACzB,MAAI,OAAO;AAET,WAAO;AAAA,MACL,YAAY;AAAA,MACZ,GAAG,YAAY,EAAE;AAAA,MACjB,cAAc;AAAA,IAChB;AAAA,EACF;AAEA,QAAM;AAAA;AAAA,IAEJ;AAAA,EACF,IAAI;AAEJ,QAAM,kBAAkB,WAAW,mBAAmB;AACtD,QAAM,wBAAwB,CAAC,wBAAwB,KAAK;AAC5D,QAAM,gBAAgB,UAClB,kBACA,6BAA6B,eAAe;AAEhD,MAAI,SAAS;AACX,QAAI,CAAC;AAAiB,YAAM;AAC5B,WAAO;AAAA,MACL,YAAY;AAAA,MACZ,GAAG,gBAAgB;AAAA,MACnB,cAAc;AAAA,IAChB;AAAA,EACF;AAEA,QAAM,CAAC,YAAY,aAAa,IAAI,SAAgB,WAAW;AAC/D,QAAM,EAAE,OAAO,SAAS,YAAY,aAAa,IAAI;AAErD,QAAM,qBAAqB,QAAQ,CAAC,WAAW,WAAW,MAAM,OAAO;AAEvE,WAAS,qBACP,UAAU,cACV,WACA,YAA+B,OAC/B,oBAAoB,OACpB;AACA,UAAM,OAAO,aAAa,QAAQ,SAAS,OAAO,aAAa;AAE/D,QAAI,CAAC;AAAM;AACX,SAAI,sDAAsB;AAAM;AAChC,QAAI,CAAC,qBAAqB,CAAC,QAAQ,qBAAqB,MAAM,SAAS;AAAG;AAC1E,WAAO;AAAA,EACT;AAEA,MAAI,CAAC,UAAU;AAEb,oBAAgB,MAAM;AAIpB,UAAI,MAAM,WAAW,CAAC,SAAS;AAC7B,sBAAc,EAAE,GAAG,YAAY,SAAS,KAAK,CAAC;AAC9C;AAAA,MACF;AAEA,UAAI,cAAc,cAAc;AAC9B,4BAAoB,IAAI,YAAY;AAAA,MACtC;AAEA,YAAM,YAAY,qBAAqB,YAAY;AAEnD,UAAI,WAAW;AACb,YAAI,YAAY;AAEd,uBAAa,YAAY,WAAW,IAAI;AAAA,QAC1C;AAGA,sBAAc,WAAW;AAAA,MAC3B,OAAO;AACL,YAAI,YAAY;AAEd,wBAAc,WAAW;AAAA,QAC3B;AAAA,MACF;AAGA,YAAM,sBAAsB,aAAa,cAAc,CAAC,IAAI,IAAI,WAAW;AACzE,YAAI,QAAQ;AACV,wBAAc,CAAC,SAAS,YAAY,MAAM,IAAI,CAAC;AAAA,QACjD;AAAA,MACF,CAAC;AAED,YAAM,wBAAwB,+CAAe,cAAc,CAAC,MAAM,YAAY;AAC5E,cAAM,eAAe,SAAQ,6BAAM,WAAU,UAAU;AACvD,YAAI,QAAQ,IAAI,aAAa,iBAAiB,MAAM,OAAO;AACzD,gBAAM,OAAO,EAAE,cAAc,OAAO,MAAM,SAAS,KAAK;AAExD,kBAAQ,IAAI,uBAAgB,aAAa,IAAI,IAAI;AAAA,QACnD;AACA,YAAI,cAAc;AAChB,wBAAc,WAAW;AAAA,QAC3B;AAAA,MACF,GAAG,aAAa;AAEhB,aAAO,MAAM;AACX,4BAAoB;AACpB;AACA,4BAAoB,OAAO,YAAY;AAAA,MACzC;AAAA,IACF,GAAG;AAAA,MACD;AAAA,MACA;AAAA,MACA,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,WAAW;AAAA,IACb,CAAC;AAED,QAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,gBAAU,MAAM;AACd,mBAAW,sBAAsB,MAAM,oBAAI,IAAI;AAC/C,mBAAW,sBAAsB,EAAE,IAAI,YAAY;AACnD,eAAO,MAAM;AACX,qBAAW,sBAAsB,EAAE,OAAO,YAAY;AAAA,QACxD;AAAA,MACF,GAAG,CAAC,YAAY,CAAC;AAAA,IACnB;AAAA,EACF;AAEA,MAAI,oBAAoB;AACtB,QAAI,CAAC;AAAe,YAAM;AAC1B,WAAO;AAAA,MACL,YAAY;AAAA,MACZ,GAAG,cAAc;AAAA,MACjB,WAAW;AAAA,MACX,cAAc;AAAA,IAChB;AAAA,EACF;AAEA,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,IACA;AAAA,EACF;AAEA,WAAS,YAAY,MAAc,QAAQ,OAAc;AACvD,QAAI,SAAQ,mDAAmB;AAC7B,aAAO;AAAA,IACT;AAGA,QAAIC,gBAA6B;AACjC,QAAIC;AAEJ,UAAM,qBAAqB,MAAM;AAC/B,aAAO,IAAI,aAAa,OAAO,OAAO,SAAS,aAAa;AAAA,IAC9D;AAGA,QAAI,uBAAuB;AACzB,UAAI,6BAAM,cAAc;AACtB,QAAAD,gBAAe,KAAK;AAQpB,cAAM,cAAc,QAAQ,6BAAM,MAAM;AACxC,cAAM,OAAOA,cAAa,SAAS,OAAO,aAAa;AACvD,cAAM,YAAY;AAAA,UAChBA;AAAA,UACA;AAAA,UACA,KAAK;AAAA,UACL;AAAA,QACF;AAEA,YAAI,WAAW;AACb,UAAAC,SAAQ;AAER,cAAI,CAAC,KAAK,cAAc,CAAC,OAAO;AAC9B,YAAAD,gBAAe,mBAAmB;AAAA,UACpC,OAAO;AACL,YAAAA,cAAa,YAAY,WAAW,IAAI;AAAA,UAC1C;AAAA,QACF,OAAO;AACL,cAAI,KAAK,YAAY;AAEnB,gBAAI,iBAAiB,CAAC,MAAM;AAC1B,cAAAA,gBAAe;AAAA,YACjB;AAAA,UACF;AAAA,QACF;AAAA,MACF,OAAO;AACL,QAAAA,gBAAe,mBAAmB;AAClC,QAAAC,SAAQ,EAAE,GAAGD,cAAa,MAAM;AAAA,MAClC;AAAA,IACF;AAEA,UAAME,cAAa,QAAQF,kBAAiB,aAAa;AAGzD,UAAMG,WAAU,CAAC,MAAM,UAAU,OAAO,SAAQ,6BAAM;AAEtD,QAAI,CAACF,QAAO;AACV,UAAIC,aAAY;AACd,QAAAD,SAAQ,EAAE,GAAGD,cAAa,MAAM;AAAA,MAClC,OAAO;AACL,QAAAC,SAAQ,gBAAiB;AACzB,QAAAD,gBAAe;AAAA,MACjB;AAAA,IACF;AAEA,QAAI,CAAC,SAASC,OAAM,UAAS,6BAAM,MAAM,OAAM;AAC7C,aAAO;AAAA,IACT;AAEA,UAAM,WAAW;AAAA,MACf,OAAAA;AAAA,MACA,cAAAD;AAAA,MACA,YAAAE;AAAA,MACA,SAAAC;AAAA,IACF;AAEA,QAAI,QAAQ,IAAI,aAAa,iBAAiB,MAAM,OAAO,GAAG;AAC5D,cAAQ,eAAe,cAAOH,cAAa,qCAAqC;AAChF,YAAM,cAAc,EAAE,GAAG,+CAAe,MAAM;AAC9C,YAAM,WAAW,+CAAe;AAChC,YAAM,oBAAoB,EAAE,GAAGA,cAAa,MAAM;AAElD,cAAQ,IAAI;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA,cAAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AACD,cAAQ,SAAS;AAAA,IACnB;AAEA,WAAO;AAAA,EACT;AACF;",
|
|
5
5
|
"names": ["_", "themeManager", "state", "isNewTheme", "mounted"]
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useThemeName.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,OAAO,iCAAiC;AACjD,SAAS,YAAY,gBAAgB;AAErC,SAAS,iBAAiB;AAC1B,SAAS,2BAA2B;AAG7B,SAAS,aAAa,MAAqC;AAChE,MAAI,OAAO;AACT,UAAM,SAAS,UAAU;AACzB,WAAO,OAAO,OAAO,OAAO,KAAK,OAAO,MAAM,EAAE,CAAC,CAAC;AAAA,EACpD;
|
|
4
|
+
"mappings": "AAAA,SAAS,OAAO,iCAAiC;AACjD,SAAS,YAAY,gBAAgB;AAErC,SAAS,iBAAiB;AAC1B,SAAS,2BAA2B;AAG7B,SAAS,aAAa,MAAqC;AAChE,MAAI,OAAO;AACT,UAAM,SAAS,UAAU;AACzB,WAAO,OAAO,OAAO,OAAO,KAAK,OAAO,MAAM,EAAE,CAAC,CAAC;AAAA,EACpD;AAEA,QAAM,UAAU,WAAW,mBAAmB;AAC9C,QAAM,CAAC,MAAM,OAAO,IAAI,UAAS,mCAAS,MAAM,SAAQ,EAAE;AAE1D,4BAA0B,MAAM;AAC9B,QAAI,CAAC;AAAS;AACd,YAAQ,QAAQ,MAAM,IAAI;AAC1B,WAAO,QAAQ,cAAc,CAAC,MAAMA,aAAY;AAC9C,YAAMC,SAAO,6BAAM,UAASD,SAAQ,MAAM,cAAc,OAAO;AAC/D,UAAI,CAACC;AAAM;AACX,cAAQA,KAAI;AAAA,IACd,CAAC;AAAA,EACH,GAAG,CAAC,mCAAS,MAAM,IAAI,CAAC;AAExB,SAAO;AACT;",
|
|
5
5
|
"names": ["manager", "name"]
|
|
6
6
|
}
|
package/dist/esm/views/Theme.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { isWeb } from "@tamagui/constants";
|
|
3
|
-
import { Children, cloneElement, isValidElement
|
|
3
|
+
import { Children, cloneElement, isValidElement } from "react";
|
|
4
4
|
import { variableToString } from "../createVariable";
|
|
5
5
|
import { ThemeManagerContext } from "../helpers/ThemeManagerContext";
|
|
6
6
|
import { useServerRef } from "../hooks/useServerHooks";
|
|
@@ -31,42 +31,31 @@ function useThemedChildren(themeState, children, props, isRoot = false) {
|
|
|
31
31
|
hasEverThemed.current = true;
|
|
32
32
|
}
|
|
33
33
|
const shouldRenderChildrenWithTheme = isNewTheme || hasEverThemed.current || forceClassName || isRoot;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
if (!shouldRenderChildrenWithTheme) {
|
|
35
|
+
return children;
|
|
36
|
+
}
|
|
37
|
+
if (shallow && themeManager) {
|
|
38
38
|
let next = Children.toArray(children);
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
if (forceClassName === false) {
|
|
50
|
-
return wrapped;
|
|
51
|
-
}
|
|
52
|
-
if (isWeb && !props.passPropsToChildren) {
|
|
53
|
-
const themeColor = theme && isNewTheme ? variableToString(theme.color) : "";
|
|
54
|
-
const colorStyle = themeColor ? {
|
|
55
|
-
color: themeColor
|
|
56
|
-
} : void 0;
|
|
57
|
-
return /* @__PURE__ */ jsx("span", { className: `${className || ""} _dsp_contents is_Theme`, style: colorStyle, children: wrapped });
|
|
58
|
-
}
|
|
39
|
+
next = next.map((child) => {
|
|
40
|
+
return isValidElement(child) ? cloneElement(
|
|
41
|
+
child,
|
|
42
|
+
void 0,
|
|
43
|
+
/* @__PURE__ */ jsx(Theme, { name: themeManager.state.parentName, children: child.props.children })
|
|
44
|
+
) : child;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
const wrapped = /* @__PURE__ */ jsx(ThemeManagerContext.Provider, { value: themeManager, children });
|
|
48
|
+
if (forceClassName === false) {
|
|
59
49
|
return wrapped;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
]);
|
|
50
|
+
}
|
|
51
|
+
if (isWeb && !props.passPropsToChildren) {
|
|
52
|
+
const themeColor = theme && isNewTheme ? variableToString(theme.color) : "";
|
|
53
|
+
const colorStyle = themeColor ? {
|
|
54
|
+
color: themeColor
|
|
55
|
+
} : void 0;
|
|
56
|
+
return /* @__PURE__ */ jsx("span", { className: `${className || ""} _dsp_contents is_Theme`, style: colorStyle, children: wrapped });
|
|
57
|
+
}
|
|
58
|
+
return wrapped;
|
|
70
59
|
}
|
|
71
60
|
export {
|
|
72
61
|
Theme,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/views/Theme.tsx"],
|
|
4
|
-
"mappings": "AA4BQ;AA5BR,SAAS,aAAa;AACtB,SAAS,UAAU,cAAc,
|
|
4
|
+
"mappings": "AA4BQ;AA5BR,SAAS,aAAa;AACtB,SAAS,UAAU,cAAc,sBAAiD;AAElF,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AACpC,SAAS,oBAAoB;AAC7B,SAA+B,4BAA4B;AAE3D,SAAS,kBAAkB;AAEpB,SAAS,MAAM,OAAmB;AAEvC,MAAI,MAAM,SAAS;AACjB,WAAO,MAAM;AAAA,EACf;AAEA,QAAM,SAAS,CAAC,CAAC,MAAM,SAAS;AAChC,QAAM,aAAa,qBAAqB,OAAO,MAAM;AAErD,MAAI,WAAW,MAAM,qBAAqB,IACtC,SAAS;AAAA,IAAI,MAAM;AAAA,IAAU,CAAC,UAC5B,aAAa,OAAO,EAAE,CAAC,oBAAoB,GAAG,KAAK,CAAC;AAAA,EACtD,IACA,MAAM;AAEV,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,MAAM,UAAU,aAAa;AAC/B,iBACE,oBAAC,cAAW,YAAwB,YAAY,OAC7C,UACH;AAAA,IAEJ;AAAA,EACF;AAEA,SAAO,kBAAkB,YAAY,UAAU,OAAO,MAAM;AAC9D;AAEO,SAAS,kBACd,YACA,UACA,OAMA,SAAS,OACT;AACA,QAAM,EAAE,cAAc,WAAW,OAAO,WAAW,IAAI;AACvD,QAAM,EAAE,SAAS,eAAe,IAAI;AACpC,QAAM,gBAAgB,aAAa,KAAK;AACxC,MAAI,YAAY;AACd,kBAAc,UAAU;AAAA,EAC1B;AAEA,QAAM,gCACJ,cAAc,cAAc,WAAW,kBAAkB;AAE3D,MAAI,CAAC,+BAA+B;AAClC,WAAO;AAAA,EACT;AAKA,MAAI,WAAW,cAAc;AAC3B,QAAI,OAAO,SAAS,QAAQ,QAAQ;AACpC,WAAO,KAAK,IAAI,CAAC,UAAU;AACzB,aAAO,eAAe,KAAK,IACvB;AAAA,QACE;AAAA,QACA;AAAA,QACA,oBAAC,SAAM,MAAM,aAAa,MAAM,YAC5B,gBAAc,MAAM,UACxB;AAAA,MACF,IACA;AAAA,IACN,CAAC;AAAA,EACH;AAEA,QAAM,UACJ,oBAAC,oBAAoB,UAApB,EAA6B,OAAO,cAClC,UACH;AAGF,MAAI,mBAAmB,OAAO;AAC5B,WAAO;AAAA,EACT;AAEA,MAAI,SAAS,CAAC,MAAM,qBAAqB;AAEvC,UAAM,aAAa,SAAS,aAAa,iBAAiB,MAAM,KAAK,IAAI;AACzE,UAAM,aAAa,aACf;AAAA,MACE,OAAO;AAAA,IACT,IACA;AAEJ,WACE,oBAAC,UAAK,WAAW,GAAG,aAAa,6BAA6B,OAAO,YAClE,mBACH;AAAA,EAEJ;AAEA,SAAO;AACT;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/web",
|
|
3
|
-
"version": "1.28.
|
|
3
|
+
"version": "1.28.3",
|
|
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.28.
|
|
31
|
-
"@tamagui/constants": "1.28.
|
|
32
|
-
"@tamagui/helpers": "1.28.
|
|
33
|
-
"@tamagui/normalize-css-color": "1.28.
|
|
34
|
-
"@tamagui/use-did-finish-ssr": "1.28.
|
|
35
|
-
"@tamagui/use-event": "1.28.
|
|
36
|
-
"@tamagui/use-force-update": "1.28.
|
|
30
|
+
"@tamagui/compose-refs": "1.28.3",
|
|
31
|
+
"@tamagui/constants": "1.28.3",
|
|
32
|
+
"@tamagui/helpers": "1.28.3",
|
|
33
|
+
"@tamagui/normalize-css-color": "1.28.3",
|
|
34
|
+
"@tamagui/use-did-finish-ssr": "1.28.3",
|
|
35
|
+
"@tamagui/use-event": "1.28.3",
|
|
36
|
+
"@tamagui/use-force-update": "1.28.3"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"react": "*"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@tamagui/build": "1.28.
|
|
42
|
+
"@tamagui/build": "1.28.3",
|
|
43
43
|
"@testing-library/react": "^13.4.0",
|
|
44
44
|
"csstype": "^3.0.10",
|
|
45
45
|
"react": "^18.2.0",
|
package/src/createComponent.tsx
CHANGED
|
@@ -163,34 +163,50 @@ export function createComponent<
|
|
|
163
163
|
}
|
|
164
164
|
// const time = t.start({ quiet: true })
|
|
165
165
|
|
|
166
|
-
// React inserts default props after your props for some reason...
|
|
167
|
-
// order important so we do loops, you can't just spread because JS does weird things
|
|
168
|
-
let props: any
|
|
169
|
-
if (defaultProps && !propsIn.asChild) {
|
|
170
|
-
props = mergeProps(defaultProps, propsIn)[0]
|
|
171
|
-
} else {
|
|
172
|
-
props = propsIn
|
|
173
|
-
}
|
|
174
|
-
|
|
175
166
|
// set variants through context
|
|
176
|
-
let
|
|
167
|
+
let contextProps: Object | undefined
|
|
168
|
+
let overriddenContextProps: Object | undefined
|
|
177
169
|
const { context } = staticConfig
|
|
178
170
|
if (context) {
|
|
179
171
|
const contextValue = useContext(context)
|
|
180
172
|
const { inverseShorthands } = getConfig()
|
|
181
173
|
for (const key in context.props) {
|
|
182
|
-
const propVal =
|
|
174
|
+
const propVal = propsIn[key] || propsIn[inverseShorthands[key]]
|
|
175
|
+
// if not set, use context
|
|
183
176
|
if (propVal == null) {
|
|
184
|
-
if (
|
|
185
|
-
|
|
177
|
+
if (
|
|
178
|
+
contextValue &&
|
|
179
|
+
// is valid style or variant allow it
|
|
180
|
+
((staticConfig.validStyles && key in staticConfig.validStyles) ||
|
|
181
|
+
(staticConfig.variants && key in staticConfig.variants))
|
|
182
|
+
) {
|
|
183
|
+
contextProps ||= {}
|
|
184
|
+
contextProps[key] = contextValue[key]
|
|
186
185
|
}
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
|
|
186
|
+
}
|
|
187
|
+
// if set in props, update context
|
|
188
|
+
else {
|
|
189
|
+
overriddenContextProps ||= {}
|
|
190
|
+
overriddenContextProps[key] = propVal
|
|
190
191
|
}
|
|
191
192
|
}
|
|
192
193
|
}
|
|
193
194
|
|
|
195
|
+
// context overrides defaults but not props
|
|
196
|
+
const curDefaultProps = contextProps
|
|
197
|
+
? { ...defaultProps, ...contextProps }
|
|
198
|
+
: defaultProps
|
|
199
|
+
|
|
200
|
+
// React inserts default props after your props for some reason...
|
|
201
|
+
// order important so we do loops, you can't just spread because JS does weird things
|
|
202
|
+
let props: any
|
|
203
|
+
|
|
204
|
+
if (curDefaultProps && !propsIn.asChild) {
|
|
205
|
+
props = mergeProps(curDefaultProps, propsIn)[0]
|
|
206
|
+
} else {
|
|
207
|
+
props = propsIn
|
|
208
|
+
}
|
|
209
|
+
|
|
194
210
|
const debugProp = props['debug'] as DebugProp
|
|
195
211
|
const { Component, isText, isZStack } = staticConfig
|
|
196
212
|
const componentName = props.componentName || staticConfig.componentName
|
|
@@ -325,10 +341,7 @@ export function createComponent<
|
|
|
325
341
|
// @ts-ignore this is internal use only
|
|
326
342
|
disable: disableTheme,
|
|
327
343
|
shouldUpdate: () => !!stateRef.current.didAccessThemeVariableValue,
|
|
328
|
-
|
|
329
|
-
if (process.env.NODE_ENV === 'development') {
|
|
330
|
-
// @ts-expect-error
|
|
331
|
-
themeStateProps.debug = props.debug
|
|
344
|
+
debug: debugProp,
|
|
332
345
|
}
|
|
333
346
|
const themeState = useThemeWithState(themeStateProps)!
|
|
334
347
|
|
|
@@ -374,6 +387,7 @@ export function createComponent<
|
|
|
374
387
|
elementType,
|
|
375
388
|
themeStateProps,
|
|
376
389
|
themeState,
|
|
390
|
+
styledContext: { contextProps, overriddenContextProps },
|
|
377
391
|
})
|
|
378
392
|
console.groupEnd()
|
|
379
393
|
}
|
|
@@ -842,9 +856,9 @@ export function createComponent<
|
|
|
842
856
|
}
|
|
843
857
|
}
|
|
844
858
|
|
|
845
|
-
if (
|
|
859
|
+
if (overriddenContextProps) {
|
|
846
860
|
const Provider = staticConfig.context!.Provider!
|
|
847
|
-
content = <Provider {...
|
|
861
|
+
content = <Provider {...overriddenContextProps}>{content}</Provider>
|
|
848
862
|
}
|
|
849
863
|
|
|
850
864
|
if (process.env.NODE_ENV === 'development') {
|
|
@@ -164,18 +164,26 @@ const resolveVariants: StyleResolver = (
|
|
|
164
164
|
debug
|
|
165
165
|
) => {
|
|
166
166
|
const variant = variants?.[key]
|
|
167
|
+
|
|
167
168
|
if (!variant || value === undefined) {
|
|
168
169
|
return
|
|
169
170
|
}
|
|
170
171
|
|
|
171
172
|
let variantValue = getVariantDefinition(variant, key, value, conf)
|
|
172
173
|
|
|
174
|
+
if (process.env.NODE_ENV === 'development') {
|
|
175
|
+
if (debug === 'verbose') {
|
|
176
|
+
// rome-ignore lint/nursery/noConsoleLog: <explanation>
|
|
177
|
+
console.log('resolve variant', { key, value, variantValue })
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
|
|
173
181
|
if (!variantValue) {
|
|
174
182
|
// variant at key exists, but no matching variant value, return nothing
|
|
175
183
|
if (process.env.NODE_ENV === 'development') {
|
|
176
184
|
if (staticConfig.validStyles && key in staticConfig.validStyles) return
|
|
177
185
|
// don't warn on missing boolean values, common to only one of true/false
|
|
178
|
-
if (
|
|
186
|
+
if (value === true || value === false) return
|
|
179
187
|
const name = staticConfig.componentName || '[UnnamedComponent]'
|
|
180
188
|
console.warn(
|
|
181
189
|
`No variant found: ${name} has variant "${key}", but no matching value "${value}"`
|
|
@@ -188,8 +196,25 @@ const resolveVariants: StyleResolver = (
|
|
|
188
196
|
const fn = variantValue as VariantSpreadFunction<any>
|
|
189
197
|
variantValue = fn(
|
|
190
198
|
value,
|
|
191
|
-
getVariantExtras(
|
|
199
|
+
getVariantExtras(
|
|
200
|
+
props,
|
|
201
|
+
languageContext,
|
|
202
|
+
theme,
|
|
203
|
+
defaultProps,
|
|
204
|
+
avoidDefaultProps,
|
|
205
|
+
fontFamily
|
|
206
|
+
)
|
|
192
207
|
)
|
|
208
|
+
|
|
209
|
+
if (process.env.NODE_ENV === 'development') {
|
|
210
|
+
if (debug === 'verbose') {
|
|
211
|
+
// rome-ignore lint/nursery/noConsoleLog: <explanation>
|
|
212
|
+
console.log('expanded functional variant', {
|
|
213
|
+
variant: fn,
|
|
214
|
+
response: variantValue,
|
|
215
|
+
})
|
|
216
|
+
}
|
|
217
|
+
}
|
|
193
218
|
}
|
|
194
219
|
|
|
195
220
|
let fontFamilyResult: any
|
|
@@ -22,7 +22,7 @@ import { isDevTools } from '../constants/isDevTools'
|
|
|
22
22
|
import {
|
|
23
23
|
getMediaImportanceIfMoreImportant,
|
|
24
24
|
mediaState as globalMediaState,
|
|
25
|
-
|
|
25
|
+
isMediaKey,
|
|
26
26
|
mediaQueryConfig,
|
|
27
27
|
mergeMediaByImportance,
|
|
28
28
|
} from '../hooks/useMedia'
|
|
@@ -105,9 +105,6 @@ export const PROP_SPLIT = '-'
|
|
|
105
105
|
// const styles = {}
|
|
106
106
|
// const classNames = {}
|
|
107
107
|
|
|
108
|
-
const isMediaKey = (key: string) =>
|
|
109
|
-
Boolean(key[0] === '$' && mediaKeysWithAndWithout$.has(key))
|
|
110
|
-
|
|
111
108
|
export const getSplitStyles: StyleSplitter = (
|
|
112
109
|
props,
|
|
113
110
|
staticConfig,
|
|
@@ -473,6 +470,7 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
473
470
|
console.log({
|
|
474
471
|
valInit,
|
|
475
472
|
variants,
|
|
473
|
+
variant: variants?.[keyInit],
|
|
476
474
|
isVariant,
|
|
477
475
|
shouldPassProp,
|
|
478
476
|
isHOCShouldPassThrough,
|
|
@@ -532,6 +530,7 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
532
530
|
expanded,
|
|
533
531
|
state,
|
|
534
532
|
isVariant,
|
|
533
|
+
variant: variants?.[keyInit],
|
|
535
534
|
shouldPassProp,
|
|
536
535
|
isHOCShouldPassThrough,
|
|
537
536
|
theme,
|
|
@@ -11,7 +11,8 @@ export function getVariantExtras(
|
|
|
11
11
|
languageContext?: LanguageContextType,
|
|
12
12
|
theme?: any,
|
|
13
13
|
defaultProps?: any,
|
|
14
|
-
avoidDefaultProps = false
|
|
14
|
+
avoidDefaultProps = false,
|
|
15
|
+
fontFamily?: string
|
|
15
16
|
) {
|
|
16
17
|
const conf = getConfig()
|
|
17
18
|
|
|
@@ -30,7 +31,7 @@ export function getVariantExtras(
|
|
|
30
31
|
theme,
|
|
31
32
|
|
|
32
33
|
get fontFamily() {
|
|
33
|
-
return getVariableValue(props.fontFamily)
|
|
34
|
+
return getVariableValue(props.fontFamily || fontFamily)
|
|
34
35
|
},
|
|
35
36
|
|
|
36
37
|
get font() {
|
|
@@ -20,9 +20,8 @@ export function themeable<Component extends (props: any) => any>(
|
|
|
20
20
|
|
|
21
21
|
const element = React.createElement(component, { ...rest, ref } as any)
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
let contents = (
|
|
24
24
|
<Theme
|
|
25
|
-
inverse={themeInverse}
|
|
26
25
|
componentName={componentName || staticConfig?.componentName}
|
|
27
26
|
name={(theme as any) || null}
|
|
28
27
|
disable-child-theme
|
|
@@ -32,6 +31,13 @@ export function themeable<Component extends (props: any) => any>(
|
|
|
32
31
|
{element}
|
|
33
32
|
</Theme>
|
|
34
33
|
)
|
|
34
|
+
|
|
35
|
+
// fixes components needing to inverse before changing to component theme
|
|
36
|
+
if (themeInverse) {
|
|
37
|
+
contents = <Theme inverse>{contents}</Theme>
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return contents
|
|
35
41
|
})
|
|
36
42
|
|
|
37
43
|
const withTheme: any = withThemeComponent
|
package/src/hooks/useMedia.tsx
CHANGED
|
@@ -35,7 +35,8 @@ export let mediaState: MediaQueryState =
|
|
|
35
35
|
|
|
36
36
|
export const mediaQueryConfig: MediaQueries = {}
|
|
37
37
|
export const getMedia = () => mediaState
|
|
38
|
-
export const
|
|
38
|
+
export const mediaKeys = new Set<string>() // with $ prefix
|
|
39
|
+
export const isMediaKey = (key: string) => mediaKeys.has(key)
|
|
39
40
|
|
|
40
41
|
// for SSR capture it at time of startup
|
|
41
42
|
let initState: MediaQueryState
|
|
@@ -59,8 +60,7 @@ export const configureMedia = (config: TamaguiInternalConfig) => {
|
|
|
59
60
|
if (!media) return
|
|
60
61
|
for (const key in media) {
|
|
61
62
|
mediaState[key] = mediaQueryDefaultActive?.[key] || false
|
|
62
|
-
|
|
63
|
-
mediaKeysWithAndWithout$.add(`$${key}`)
|
|
63
|
+
mediaKeys.add(`$${key}`)
|
|
64
64
|
}
|
|
65
65
|
Object.assign(mediaQueryConfig, media)
|
|
66
66
|
initState = { ...mediaState }
|