@tamagui/web 1.41.0 → 1.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/cjs/createComponent.js +5 -2
  2. package/dist/cjs/createComponent.js.map +1 -1
  3. package/dist/cjs/helpers/createMediaStyle.js +63 -23
  4. package/dist/cjs/helpers/createMediaStyle.js.map +2 -2
  5. package/dist/cjs/helpers/getSplitStyles.js +43 -7
  6. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  7. package/dist/cjs/hooks/useMedia.js +19 -7
  8. package/dist/cjs/hooks/useMedia.js.map +1 -1
  9. package/dist/cjs/hooks/useStyle.js +2 -2
  10. package/dist/cjs/hooks/useStyle.js.map +1 -1
  11. package/dist/cjs/hooks/useTheme.js +34 -29
  12. package/dist/cjs/hooks/useTheme.js.map +1 -1
  13. package/dist/cjs/styled.js.map +1 -1
  14. package/dist/esm/createComponent.js +5 -2
  15. package/dist/esm/createComponent.js.map +1 -1
  16. package/dist/esm/helpers/createMediaStyle.js +63 -23
  17. package/dist/esm/helpers/createMediaStyle.js.map +2 -2
  18. package/dist/esm/helpers/getSplitStyles.js +44 -7
  19. package/dist/esm/helpers/getSplitStyles.js.map +2 -2
  20. package/dist/esm/hooks/useMedia.js +19 -7
  21. package/dist/esm/hooks/useMedia.js.map +1 -1
  22. package/dist/esm/hooks/useStyle.js +3 -3
  23. package/dist/esm/hooks/useStyle.js.map +1 -1
  24. package/dist/esm/hooks/useTheme.js +34 -29
  25. package/dist/esm/hooks/useTheme.js.map +1 -1
  26. package/dist/esm/styled.js.map +1 -1
  27. package/package.json +9 -9
  28. package/src/createComponent.tsx +8 -3
  29. package/src/helpers/createMediaStyle.ts +76 -28
  30. package/src/helpers/getSplitStyles.tsx +54 -7
  31. package/src/hooks/useMedia.tsx +30 -7
  32. package/src/hooks/useStyle.tsx +3 -3
  33. package/src/hooks/useTheme.tsx +37 -41
  34. package/src/styled.tsx +3 -4
  35. package/src/types.tsx +23 -3
  36. package/types/createComponent.d.ts.map +1 -1
  37. package/types/helpers/createMediaStyle.d.ts +1 -1
  38. package/types/helpers/createMediaStyle.d.ts.map +1 -1
  39. package/types/helpers/getSplitStyles.d.ts +4 -1
  40. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  41. package/types/hooks/useMedia.d.ts +2 -2
  42. package/types/hooks/useMedia.d.ts.map +1 -1
  43. package/types/hooks/useTheme.d.ts +1 -1
  44. package/types/hooks/useTheme.d.ts.map +1 -1
  45. package/types/styled.d.ts +1 -1
  46. package/types/styled.d.ts.map +1 -1
  47. package/types/types.d.ts +15 -2
  48. package/types/types.d.ts.map +1 -1
@@ -3,6 +3,7 @@ import { useMemo, useSyncExternalStore } from "react";
3
3
  import { getConfig } from "../config";
4
4
  import { createProxy } from "../helpers/createProxy";
5
5
  import { matchMedia } from "../helpers/matchMedia";
6
+ import { pseudoDescriptors } from "../helpers/pseudoDescriptors";
6
7
  import { useSafeRef } from "./useSafeRef";
7
8
  let mediaState = (
8
9
  // development only safeguard
@@ -22,16 +23,21 @@ let mediaState = (
22
23
  const mediaQueryConfig = {};
23
24
  const getMedia = () => mediaState;
24
25
  const mediaKeys = /* @__PURE__ */ new Set();
25
- const isMediaKey = (key) => mediaKeys.has(key);
26
+ const isMediaKey = (key) => mediaKeys.has(key) || key.startsWith("$platform-") || key.startsWith("$theme-");
26
27
  let initState;
27
28
  const getInitialMediaState = () => {
28
29
  return (getConfig().disableSSR ? mediaState : initState) || {};
29
30
  };
31
+ const defaultMediaImportance = Object.keys(pseudoDescriptors).length;
30
32
  let mediaKeysOrdered;
31
33
  const getMediaKeyImportance = (key) => {
32
34
  if (process.env.NODE_ENV === "development" && key[0] === "$") {
33
35
  throw new Error("use short key");
34
36
  }
37
+ const conf = getConfig();
38
+ if (conf.settings.mediaPropOrder) {
39
+ return defaultMediaImportance;
40
+ }
35
41
  return mediaKeysOrdered.indexOf(key) + 100;
36
42
  };
37
43
  const dispose = /* @__PURE__ */ new Set();
@@ -171,25 +177,31 @@ function useMediaPropsActive(props, opts) {
171
177
  if (shouldExpandShorthands) {
172
178
  subKey = config.shorthands[subKey] || subKey;
173
179
  }
174
- mergeMediaByImportance(next, mediaKey, subKey, value, importancesUsed);
180
+ mergeMediaByImportance(next, mediaKey, subKey, value, importancesUsed, true);
175
181
  }
176
182
  }
177
183
  } else {
178
184
  if (shouldExpandShorthands) {
179
185
  key = config.shorthands[key] || key;
180
186
  }
181
- mergeMediaByImportance(next, "", key, val, importancesUsed);
187
+ mergeMediaByImportance(next, "", key, val, importancesUsed, true);
182
188
  }
183
189
  }
184
190
  return next;
185
191
  }, [media, props]);
186
192
  }
187
- const getMediaImportanceIfMoreImportant = (mediaKey, key, importancesUsed) => {
188
- const importance = getMediaKeyImportance(mediaKey);
193
+ const getMediaImportanceIfMoreImportant = (mediaKey, key, importancesUsed, isSizeMedia) => {
194
+ const conf = getConfig();
195
+ const importance = isSizeMedia && !conf.settings.mediaPropOrder ? getMediaKeyImportance(mediaKey) : defaultMediaImportance;
189
196
  return !importancesUsed[key] || importance > importancesUsed[key] ? importance : null;
190
197
  };
191
- function mergeMediaByImportance(onto, mediaKey, key, value, importancesUsed) {
192
- const importance = getMediaImportanceIfMoreImportant(mediaKey, key, importancesUsed);
198
+ function mergeMediaByImportance(onto, mediaKey, key, value, importancesUsed, isSizeMedia) {
199
+ const importance = getMediaImportanceIfMoreImportant(
200
+ mediaKey,
201
+ key,
202
+ importancesUsed,
203
+ isSizeMedia
204
+ );
193
205
  if (importance === null) {
194
206
  return false;
195
207
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/useMedia.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["update"]
6
6
  }
@@ -4,17 +4,17 @@ import { FontLanguageContext } from "../contexts/FontLanguageContext";
4
4
  import { TextAncestorContext } from "../contexts/TextAncestorContext";
5
5
  import { useSplitStyles } from "../helpers/getSplitStyles";
6
6
  import { useMedia } from "./useMedia";
7
- import { useTheme } from "./useTheme";
7
+ import { useThemeWithState } from "./useTheme";
8
8
  function useStyle(base, style, options) {
9
9
  const isText = base.staticConfig.isText;
10
10
  const hasTextAncestor = !!(isWeb && isText ? useContext(TextAncestorContext) : false);
11
11
  const languageContext = isRSC ? null : useContext(FontLanguageContext);
12
- const theme = useTheme();
12
+ const themeState = useThemeWithState({});
13
13
  const media = useMedia();
14
14
  const out = useSplitStyles(
15
15
  style,
16
16
  base.staticConfig,
17
- theme,
17
+ themeState,
18
18
  {
19
19
  ...options,
20
20
  mediaState: media,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/useStyle.tsx"],
4
- "mappings": "AAAA,SAAS,OAAO,aAAa;AAC7B,SAAS,kBAAkB;AAE3B,SAAS,2BAA2B;AACpC,SAAS,2BAA2B;AACpC,SAAS,sBAAsB;AAQ/B,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AAElB,SAAS,SAId,MACA,OACA,SACA;AACA,QAAM,SAAS,KAAK,aAAa;AACjC,QAAM,kBAAkB,CAAC,EAAE,SAAS,SAAS,WAAW,mBAAmB,IAAI;AAC/E,QAAM,kBAAkB,QAAQ,OAAO,WAAW,mBAAmB;AACrE,QAAM,QAAQ,SAAS;AACvB,QAAM,QAAQ,SAAS;AACvB,QAAM,MAAM;AAAA,IACV;AAAA,IACA,KAAK;AAAA,IACL;AAAA,IACA;AAAA,MACE,GAAI;AAAA,MACJ,YAAY;AAAA,MACZ;AAAA,MACA,oBAAoB;AAAA,IACtB;AAAA,IACA;AAAA,IACA,mBAAmB;AAAA,IACnB,SAAS,SAAS;AAAA,IAClB,mCAAS;AAAA,EACX;AACA,SAAO;AAAA,IACL,OAAO,OAAO,KAAK,IAAI,KAAK,EAAE,SAAS,IAAI,QAAQ;AAAA,IACnD,YAAY,IAAI;AAAA,EAClB;AACF;",
4
+ "mappings": "AAAA,SAAS,OAAO,aAAa;AAC7B,SAAS,kBAAkB;AAE3B,SAAS,2BAA2B;AACpC,SAAS,2BAA2B;AACpC,SAAS,sBAAsB;AAQ/B,SAAS,gBAAgB;AACzB,SAAS,yBAAyB;AAE3B,SAAS,SAId,MACA,OACA,SACA;AACA,QAAM,SAAS,KAAK,aAAa;AACjC,QAAM,kBAAkB,CAAC,EAAE,SAAS,SAAS,WAAW,mBAAmB,IAAI;AAC/E,QAAM,kBAAkB,QAAQ,OAAO,WAAW,mBAAmB;AACrE,QAAM,aAAa,kBAAkB,CAAC,CAAC;AACvC,QAAM,QAAQ,SAAS;AACvB,QAAM,MAAM;AAAA,IACV;AAAA,IACA,KAAK;AAAA,IACL;AAAA,IACA;AAAA,MACE,GAAI;AAAA,MACJ,YAAY;AAAA,MACZ;AAAA,MACA,oBAAoB;AAAA,IACtB;AAAA,IACA;AAAA,IACA,mBAAmB;AAAA,IACnB,SAAS,SAAS;AAAA,IAClB,mCAAS;AAAA,EACX;AACA,SAAO;AAAA,IACL,OAAO,OAAO,KAAK,IAAI,KAAK,EAAE,SAAS,IAAI,QAAQ;AAAA,IACnD,YAAY,IAAI;AAAA,EAClB;AACF;",
5
5
  "names": []
6
6
  }
@@ -32,7 +32,7 @@ const useThemeWithState = (props) => {
32
32
  keys.current,
33
33
  isClient ? () => {
34
34
  var _a;
35
- return ((_a = props.shouldUpdate) == null ? void 0 : _a.call(props)) ?? keys.current.length === 0;
35
+ return ((_a = props.shouldUpdate) == null ? void 0 : _a.call(props)) ?? (keys.current.length > 0 ? true : void 0);
36
36
  } : void 0
37
37
  );
38
38
  const { themeManager, theme, name, className } = changedTheme;
@@ -77,32 +77,31 @@ function getThemeProxied({
77
77
  if (key === GetThemeUnwrapped) {
78
78
  return theme;
79
79
  }
80
- if (key === "__proto__" || key === "$typeof" || typeof key !== "string" || !themeManager) {
81
- return Reflect.get(_, key);
82
- }
83
- const keyString = key[0] === "$" ? key.slice(1) : key;
84
- const val = themeManager.getValue(keyString);
85
- if (val && keys) {
86
- return new Proxy(val, {
87
- // when they touch the actual value we only track it
88
- // if its a variable (web), its ignored!
89
- get(_2, subkey) {
90
- if ((subkey === "val" || subkey === "get" && !isWeb) && !keys.includes(keyString)) {
91
- keys.push(keyString);
92
- }
93
- if (subkey === "get") {
94
- return () => getVariable(val);
80
+ if (typeof key === "string" && keys) {
81
+ const keyString = key[0] === "$" ? key.slice(1) : key;
82
+ const val = themeManager.getValue(keyString);
83
+ if (val && typeof val === "object") {
84
+ return new Proxy(val, {
85
+ // when they touch the actual value we only track it
86
+ // if its a variable (web), its ignored!
87
+ get(_2, subkey) {
88
+ if ((subkey === "val" || subkey === "get" && !isWeb) && !keys.includes(keyString)) {
89
+ keys.push(keyString);
90
+ }
91
+ if (subkey === "get") {
92
+ return () => getVariable(val);
93
+ }
94
+ return Reflect.get(val, subkey);
95
95
  }
96
- return Reflect.get(val, subkey);
97
- }
98
- });
96
+ });
97
+ }
99
98
  }
100
- return val;
99
+ return Reflect.get(_, key);
101
100
  }
102
101
  });
103
102
  }
104
103
  const activeThemeManagers = /* @__PURE__ */ new Set();
105
- const useChangeThemeEffect = (props, root = false, keys, disableUpdate) => {
104
+ const useChangeThemeEffect = (props, root = false, keys, shouldUpdate) => {
106
105
  if (isRSC) {
107
106
  return {
108
107
  isNewTheme: false,
@@ -129,13 +128,18 @@ const useChangeThemeEffect = (props, root = false, keys, disableUpdate) => {
129
128
  const { state, mounted, isNewTheme, themeManager } = themeState;
130
129
  const isInversingOnMount = Boolean(!themeState.mounted && props.inverse);
131
130
  function getShouldUpdateTheme(manager = themeManager, nextState, prevState = state, forceShouldChange = false) {
132
- const next = nextState || manager.getState(props, parentManager);
133
- if (!next)
131
+ if (forceShouldChange)
134
132
  return;
135
- if ((disableUpdate == null ? void 0 : disableUpdate()) === true)
133
+ const forceUpdate = shouldUpdate == null ? void 0 : shouldUpdate();
134
+ if (forceUpdate === false)
136
135
  return;
137
- if (!forceShouldChange && !manager.getStateShouldChange(next, prevState))
136
+ const next = nextState || manager.getState(props, parentManager);
137
+ if (!next)
138
138
  return;
139
+ if (forceUpdate !== true) {
140
+ if (!manager.getStateShouldChange(next, prevState))
141
+ return;
142
+ }
139
143
  return next;
140
144
  }
141
145
  if (!isServer) {
@@ -164,12 +168,13 @@ const useChangeThemeEffect = (props, root = false, keys, disableUpdate) => {
164
168
  }
165
169
  });
166
170
  const disposeChangeListener = parentManager == null ? void 0 : parentManager.onChangeTheme((name, manager) => {
167
- const shouldUpdate = Boolean((keys == null ? void 0 : keys.length) || isNewTheme);
171
+ const force = shouldUpdate == null ? void 0 : shouldUpdate();
172
+ const doUpdate = force ?? Boolean((keys == null ? void 0 : keys.length) || isNewTheme);
168
173
  if (process.env.NODE_ENV === "development" && props.debug) {
169
- const logs = { shouldUpdate, props, name, manager, keys };
174
+ const logs = { force, doUpdate, props, name, manager, keys };
170
175
  console.log(` \u{1F538} onChange`, themeManager.id, logs);
171
176
  }
172
- if (shouldUpdate) {
177
+ if (doUpdate) {
173
178
  setThemeState(createState);
174
179
  }
175
180
  }, themeManager.id);
@@ -213,7 +218,7 @@ const useChangeThemeEffect = (props, root = false, keys, disableUpdate) => {
213
218
  themeManager
214
219
  };
215
220
  function createState(prev, force = false) {
216
- if (prev && (disableUpdate == null ? void 0 : disableUpdate())) {
221
+ if (prev && (shouldUpdate == null ? void 0 : shouldUpdate()) === false) {
217
222
  return prev;
218
223
  }
219
224
  let themeManager2 = parentManager;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/useTheme.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["_", "themeManager", "state", "isNewTheme", "mounted"]
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/styled.tsx"],
4
- "mappings": "AAAA,SAAS,qBAAqB;AAE9B,SAAS,uBAAuB;AAEhC,SAAS,qBAAqB;AAC9B,SAAS,4BAA4B;AAuC9B,SAAS,OAId,aAEA,SAOA,yBACA;AAEA,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,QAAI,CAAC,aAAa;AAChB,YAAM,IAAI,MAAM,gCAAgC;AAAA,IAClD;AACA,QAAI,mCAAS,UAAU;AACrB,iBAAW,OAAO,QAAQ,UAAU;AAClC,YAAI,OAAO,eAAe;AACxB,kBAAQ;AAAA,YACN,gDAAgD;AAAA,UAClD;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,qBAAqB,YAAY,cAAc;AAErD,QAAM,yBACJ,CAAC,CAAC,sBACF,EAAE,mBAAmB,iBAAiB,mBAAmB;AAE3D,MAAI,YAAiB,yBACjB,eACA,yDAAoB,cAAa;AAErC,QAAM,oBAAoB,qBAAqB,SAAS;AACxD,QAAM,gBAAgB;AAAA,IACpB,sBACE,mEAAyB,mBACzB,yDAAoB,kBACpB,qBAAqB,yDAAoB,SAAS;AAAA,EACtD;AAEA,QAAM,qBAAqB,MAAM;AA7FnC;AA8FI,QAAI,SAAS;AACX,UAAI;AAAA,QACF;AAAA,QACA;AAAA,QACA;AAAA,QACA,kBAAkB;AAAA,QAClB;AAAA,QACA,GAAG;AAAA,MACL,IAAI;AAEJ,UAAI,oBAAoB;AACtB,cAAM,QAAQ,mBAAmB,SAAS,CAAC,mBAAmB;AAC9D,YAAI,CAAC,OAAO;AACV,yBAAe;AAAA,YACb,GAAG,mBAAmB;AAAA,YACtB,GAAG;AAAA,UACL;AAAA,QACF;AAEA,YAAI,mBAAmB,UAAU;AAC/B,qBAAW,cAAc,mBAAmB,UAAU,QAAQ;AAAA,QAChE;AAAA,MACF;AAEA,UAAI,iBAAiB;AACnB,uBAAe;AAAA,UACb,GAAG;AAAA,UACH,GAAG;AAAA,QACL;AAAA,MACF;AAEA,UAAI,yDAAoB,OAAO;AAE7B,YAAI,MAAM;AAER,uBAAa,gBAAgB;AAAA,QAC/B;AAAA,MACF;AAEA,YAAM,SAAS;AAAA,SACb,mEAAyB,YAAU,yDAAoB;AAAA,MACzD;AAEA,YAAM,mBACJ,yBACC,0BACC,kBACC,yDAAoB,WAAS,yDAAoB;AAEtD,UAAI,QAAQ,IAAI,aAAa,eAAe;AAE1C,cAAI,8DAAoB,iBAApB,mBAAkC,UAAS,CAAC,QAAQ,OAAO;AAC7D,iBAAO,aAAa;AAAA,QACtB;AAAA,MACF;AAEA,YAAM,OAA8B;AAAA,QAClC,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAI,CAAC,0BAA0B;AAAA,UAC7B;AAAA,QACF;AAAA;AAAA;AAAA,QAGA;AAAA,QACA;AAAA,QACA;AAAA,QACA,eAAe,SAAQ,yDAAoB;AAAA,QAC3C;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,GAAG;AAAA,QACH,aAAa,QAAQ,yDAAoB,KAAK;AAAA,MAChD;AAGA,UAAI,aAAa,YAAY,CAAC,oBAAoB,SAAS;AACzD,aAAK,eAAe;AAAA,MACtB;AAEA,aAAO;AAAA,IACT;AAAA,EACF,GAAG;AAEH,QAAM,YAAY,gBAAgB,qBAAqB,CAAC,CAAC;AAyCzD,aAAW,OAAO,aAAa;AAC7B,QAAI,OAAO;AAAW;AAEtB,cAAU,GAAG,IAAI,YAAY,GAAG;AAAA,EAClC;AAEA,SAAO;AACT;",
4
+ "mappings": "AAAA,SAAS,qBAAqB;AAE9B,SAAS,uBAAuB;AAEhC,SAAS,qBAAqB;AAC9B,SAAS,4BAA4B;AAuC9B,SAAS,OAId,aAEA,SAOA,yBACA;AAEA,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,QAAI,CAAC,aAAa;AAChB,YAAM,IAAI,MAAM,gCAAgC;AAAA,IAClD;AACA,QAAI,mCAAS,UAAU;AACrB,iBAAW,OAAO,QAAQ,UAAU;AAClC,YAAI,OAAO,eAAe;AACxB,kBAAQ;AAAA,YACN,gDAAgD;AAAA,UAClD;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,qBAAqB,YAAY,cAAc;AAErD,QAAM,yBACJ,CAAC,CAAC,sBACF,EAAE,mBAAmB,iBAAiB,mBAAmB;AAE3D,MAAI,YAAiB,yBACjB,eACA,yDAAoB,cAAa;AAErC,QAAM,oBAAoB,qBAAqB,SAAS;AACxD,QAAM,gBAAgB;AAAA,IACpB,sBACE,mEAAyB,mBACzB,yDAAoB,kBACpB,qBAAqB,yDAAoB,SAAS;AAAA,EACtD;AAEA,QAAM,qBAAqB,MAAM;AA7FnC;AA8FI,QAAI,SAAS;AACX,UAAI;AAAA,QACF;AAAA,QACA;AAAA,QACA;AAAA,QACA,kBAAkB;AAAA,QAClB;AAAA,QACA,GAAG;AAAA,MACL,IAAI;AAEJ,UAAI,oBAAoB;AACtB,cAAM,QAAQ,mBAAmB,SAAS,CAAC,mBAAmB;AAC9D,YAAI,CAAC,OAAO;AACV,yBAAe;AAAA,YACb,GAAG,mBAAmB;AAAA,YACtB,GAAG;AAAA,UACL;AAAA,QACF;AAEA,YAAI,mBAAmB,UAAU;AAC/B,qBAAW,cAAc,mBAAmB,UAAU,QAAQ;AAAA,QAChE;AAAA,MACF;AAEA,UAAI,iBAAiB;AACnB,uBAAe;AAAA,UACb,GAAG;AAAA,UACH,GAAG;AAAA,QACL;AAAA,MACF;AAEA,UAAI,yDAAoB,OAAO;AAE7B,YAAI,MAAM;AAER,uBAAa,gBAAgB;AAAA,QAC/B;AAAA,MACF;AAEA,YAAM,SAAS;AAAA,SACb,mEAAyB,YAAU,yDAAoB;AAAA,MACzD;AAEA,YAAM,mBACJ,yBACC,0BACC,kBACC,yDAAoB,WAAS,yDAAoB;AAEtD,UAAI,QAAQ,IAAI,aAAa,eAAe;AAE1C,cAAI,8DAAoB,iBAApB,mBAAkC,UAAS,CAAC,QAAQ,OAAO;AAC7D,iBAAO,aAAa;AAAA,QACtB;AAAA,MACF;AAEA,YAAM,OAA8B;AAAA,QAClC,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAI,CAAC,0BAA0B;AAAA,UAC7B;AAAA,QACF;AAAA;AAAA;AAAA,QAGA;AAAA,QACA;AAAA,QACA;AAAA,QACA,eAAe,SAAQ,yDAAoB;AAAA,QAC3C;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,GAAG;AAAA,QACH,aAAa,QAAQ,yDAAoB,KAAK;AAAA,MAChD;AAGA,UAAI,aAAa,YAAY,CAAC,oBAAoB,SAAS;AACzD,aAAK,eAAe;AAAA,MACtB;AAEA,aAAO;AAAA,IACT;AAAA,EACF,GAAG;AAEH,QAAM,YAAY,gBAAgB,qBAAqB,CAAC,CAAC;AAwCzD,aAAW,OAAO,aAAa;AAC7B,QAAI,OAAO;AAAW;AAEtB,cAAU,GAAG,IAAI,YAAY,GAAG;AAAA,EAClC;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.41.0",
3
+ "version": "1.42.0",
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.41.0",
31
- "@tamagui/constants": "1.41.0",
32
- "@tamagui/helpers": "1.41.0",
33
- "@tamagui/normalize-css-color": "1.41.0",
34
- "@tamagui/use-did-finish-ssr": "1.41.0",
35
- "@tamagui/use-event": "1.41.0",
36
- "@tamagui/use-force-update": "1.41.0"
30
+ "@tamagui/compose-refs": "1.42.0",
31
+ "@tamagui/constants": "1.42.0",
32
+ "@tamagui/helpers": "1.42.0",
33
+ "@tamagui/normalize-css-color": "1.42.0",
34
+ "@tamagui/use-did-finish-ssr": "1.42.0",
35
+ "@tamagui/use-event": "1.42.0",
36
+ "@tamagui/use-force-update": "1.42.0"
37
37
  },
38
38
  "peerDependencies": {
39
39
  "react": "*"
40
40
  },
41
41
  "devDependencies": {
42
- "@tamagui/build": "1.41.0",
42
+ "@tamagui/build": "1.42.0",
43
43
  "@testing-library/react": "^13.4.0",
44
44
  "csstype": "^3.0.10",
45
45
  "react": "^18.2.0",
@@ -243,7 +243,7 @@ export function createComponent<
243
243
  undefined as any as {
244
244
  hasAnimated?: boolean
245
245
  themeShallow?: boolean
246
- didAccessThemeVariableValue?: boolean
246
+ isListeningToTheme?: boolean
247
247
  }
248
248
  )
249
249
  stateRef.current ||= {}
@@ -366,7 +366,10 @@ export function createComponent<
366
366
  inverse: props.themeInverse,
367
367
  // @ts-ignore this is internal use only
368
368
  disable: disableTheme,
369
- shouldUpdate: () => !!stateRef.current.didAccessThemeVariableValue,
369
+ shouldUpdate: () => {
370
+ // only forces when defined
371
+ return stateRef.current.isListeningToTheme
372
+ },
370
373
  debug: debugProp,
371
374
  }
372
375
 
@@ -424,7 +427,7 @@ export function createComponent<
424
427
  const splitStyles = useSplitStyles(
425
428
  props,
426
429
  staticConfig,
427
- themeState.theme,
430
+ themeState,
428
431
  {
429
432
  ...state,
430
433
  mediaState,
@@ -440,6 +443,8 @@ export function createComponent<
440
443
  debugProp
441
444
  )
442
445
 
446
+ stateRef.current.isListeningToTheme = splitStyles.dynamicThemeAccess
447
+
443
448
  // only listen for changes if we are using raw theme values or media space, or dynamic media (native)
444
449
  // array = space media breakpoints
445
450
  const isMediaArray = Array.isArray(splitStyles.hasMedia)
@@ -1,3 +1,4 @@
1
+ import { getConfig } from '../config'
1
2
  import { mediaObjectToString } from '../hooks/useMedia'
2
3
  import type { MediaQueries, MediaStyleObject, StyleObject } from '../types'
3
4
 
@@ -12,38 +13,85 @@ export const createMediaStyle = (
12
13
  { property, identifier, rules }: StyleObject,
13
14
  mediaKey: string,
14
15
  mediaQueries: MediaQueries,
15
- negate?: boolean
16
+ negate?: boolean,
17
+ priority?: number
16
18
  ): MediaStyleObject => {
17
- if (!(prefixes && selectors)) {
18
- // TODO move this into useMedia calc once there and unify w getMediaImportance
19
- const mediaKeys = Object.keys(mediaQueries)
20
- prefixes = Object.fromEntries(
21
- mediaKeys.map((key, index) => [key, new Array(index + 1).fill(':root').join('')])
22
- )
23
- selectors = Object.fromEntries(
24
- mediaKeys.map((key) => [key, mediaObjectToString(mediaQueries[key])])
25
- )
26
- }
27
- const precendencePrefix = prefixes[mediaKey]
28
- const mediaSelector = selectors[mediaKey]
19
+ const conf = getConfig()
20
+ const enableMediaPropOrder = conf.settings.mediaPropOrder
21
+ const isThemeMedia = mediaKey.startsWith('theme-')
22
+ const isPlatformMedia = !isThemeMedia && mediaKey.startsWith('platform-')
23
+ const isThemeOrPlatform = isThemeMedia || isPlatformMedia
29
24
  const negKey = negate ? '0' : ''
30
25
  const ogPrefix = identifier.slice(0, identifier.indexOf('-') + 1)
31
- const nextIdentifier = `${identifier.replace(
32
- ogPrefix,
33
- `${ogPrefix}${MEDIA_SEP}${mediaKey}${negKey}${MEDIA_SEP}`
34
- )}`
35
- const screenStr = negate ? 'not all and' : ''
36
- const mediaQuery = `${screenStr} ${mediaSelector}`
37
- const styleInner = rules
38
- .map((rule) => rule.replace(identifier, nextIdentifier))
39
- .join(';')
40
- // combines media queries if they already exist
41
- let styleRule = ''
42
- if (styleInner.includes('@media')) {
43
- // combine
44
- styleRule = styleInner.replace('{', ` and ${mediaQuery} {`)
26
+
27
+ let styleRule: string
28
+
29
+ const id = `${ogPrefix}${MEDIA_SEP}${mediaKey.replace('-', '')}${negKey}${MEDIA_SEP}`
30
+ const nextIdentifier = identifier.replace(ogPrefix, id)
31
+
32
+ if (isThemeOrPlatform) {
33
+ const precedencePrefix = new Array(priority).fill(':root').join('')
34
+ const styleInner = rules
35
+ .map((rule) => rule.replace(identifier, nextIdentifier))
36
+ .join(';')
37
+
38
+ if (isThemeMedia) {
39
+ const key = mediaKey.split('-')[1]
40
+ const selectorStart = styleInner.indexOf(':root')
41
+ const selectorEnd = styleInner.lastIndexOf('{')
42
+ const selector = styleInner.slice(selectorStart, selectorEnd)
43
+ const precedenceSpace = conf.themeClassNameOnRoot ? '' : ' '
44
+ const nextSelector = `:root${precedencePrefix}${precedenceSpace}.t_${key} ${selector.replace(
45
+ ':root',
46
+ ''
47
+ )}`
48
+ const selectors = `${nextSelector}, :root${nextSelector}`
49
+ // add back in the { we used to split
50
+ styleRule = styleInner.replace(selector, nextSelector)
51
+ } else {
52
+ styleRule = `${precedencePrefix}${styleInner}`
53
+ }
45
54
  } else {
46
- styleRule = `@media ${mediaQuery} { ${precendencePrefix}${styleInner.trim()} }`
55
+ if (!selectors) {
56
+ if (enableMediaPropOrder) {
57
+ const mediaKeys = Object.keys(mediaQueries)
58
+ selectors = Object.fromEntries(
59
+ mediaKeys.map((key) => [key, mediaObjectToString(mediaQueries[key])])
60
+ )
61
+ } else {
62
+ const mediaKeys = Object.keys(mediaQueries)
63
+ prefixes = Object.fromEntries(
64
+ mediaKeys.map((key, index) => [
65
+ key,
66
+ new Array(index + 1).fill(':root').join(''),
67
+ ])
68
+ )
69
+ selectors = Object.fromEntries(
70
+ mediaKeys.map((key) => [key, mediaObjectToString(mediaQueries[key])])
71
+ )
72
+ }
73
+ }
74
+
75
+ const precedencePrefix = enableMediaPropOrder
76
+ ? // this new array should be cached
77
+ new Array(priority).fill(':root').join('')
78
+ : // @ts-ignore
79
+ prefixes[mediaKey]
80
+
81
+ const mediaSelector = selectors[mediaKey]
82
+ const screenStr = negate ? 'not all and' : ''
83
+ const mediaQuery = `${screenStr} ${mediaSelector}`
84
+ const styleInner = rules
85
+ .map((rule) => rule.replace(identifier, nextIdentifier))
86
+ .join(';')
87
+
88
+ // combines media queries if they already exist
89
+ if (styleInner.includes('@media')) {
90
+ // combine
91
+ styleRule = styleInner.replace('{', ` and ${mediaQuery} {`)
92
+ } else {
93
+ styleRule = `@media ${mediaQuery}{${precedencePrefix}${styleInner}}`
94
+ }
47
95
  }
48
96
 
49
97
  return {
@@ -1,4 +1,5 @@
1
1
  import {
2
+ currentPlatform,
2
3
  isAndroid,
3
4
  isClient,
4
5
  isRSC,
@@ -92,7 +93,10 @@ let conf: TamaguiInternalConfig
92
93
  type StyleSplitter = (
93
94
  props: { [key: string]: any },
94
95
  staticConfig: StaticConfigParsed,
95
- theme: ThemeParsed,
96
+ themeState: {
97
+ theme: ThemeParsed
98
+ name: string
99
+ },
96
100
  state: SplitStyleState,
97
101
  parentSplitStyles?: GetStyleResult | null,
98
102
  languageContext?: LanguageContextType,
@@ -114,7 +118,7 @@ let defaultFontVariable = ''
114
118
  export const getSplitStyles: StyleSplitter = (
115
119
  props,
116
120
  staticConfig,
117
- theme,
121
+ themeState,
118
122
  state,
119
123
  parentSplitStyles,
120
124
  languageContext,
@@ -123,6 +127,7 @@ export const getSplitStyles: StyleSplitter = (
123
127
  ) => {
124
128
  conf = conf || getConfig()
125
129
  const { shorthands } = conf
130
+ const { theme, name: themeName } = themeState
126
131
  const { variants, propMapper, isReactNative, inlineProps, inlineWhenUnflattened } =
127
132
  staticConfig
128
133
  const validStyleProps = staticConfig.isText ? stylePropsText : validStyles
@@ -134,6 +139,7 @@ export const getSplitStyles: StyleSplitter = (
134
139
  const numProps = propKeys.length
135
140
  let space: SpaceTokens | null = props.space
136
141
  let hasMedia: boolean | string[] = false
142
+ let dynamicThemeAccess: boolean | undefined
137
143
 
138
144
  const shouldDoClasses =
139
145
  staticConfig.acceptsClassName && (isWeb || IS_STATIC) && !state.noClassNames
@@ -149,6 +155,7 @@ export const getSplitStyles: StyleSplitter = (
149
155
 
150
156
  // fontFamily is our special baby, ensure we grab the latest set one always
151
157
  let fontFamily: string | undefined
158
+ let mediaStylesSeen = 0
152
159
 
153
160
  /**
154
161
  * Not the biggest fan of creating this object but it is a nice API
@@ -754,6 +761,14 @@ export const getSplitStyles: StyleSplitter = (
754
761
  if (isMedia) {
755
762
  if (!val) continue
756
763
 
764
+ const isPlatformMedia = key.startsWith('$platform-')
765
+ if (isPlatformMedia) {
766
+ const platform = key.slice(10)
767
+ if (platform !== currentPlatform) {
768
+ continue
769
+ }
770
+ }
771
+
757
772
  hasMedia ||= true
758
773
 
759
774
  // THIS USED TO PROXY BACK TO REGULAR PROPS BUT THAT IS THE WRONG BEHAVIOR
@@ -791,7 +806,8 @@ export const getSplitStyles: StyleSplitter = (
791
806
  const importance = getMediaImportanceIfMoreImportant(
792
807
  mediaKeyShort,
793
808
  'space',
794
- usedKeys
809
+ usedKeys,
810
+ true
795
811
  )
796
812
  if (importance) {
797
813
  space = val['space']
@@ -807,19 +823,48 @@ export const getSplitStyles: StyleSplitter = (
807
823
  }
808
824
 
809
825
  const mediaStyles = getStylesAtomic(mediaStyle)
826
+ const priority = mediaStylesSeen
827
+ mediaStylesSeen += 1
828
+
810
829
  for (const style of mediaStyles) {
811
- const out = createMediaStyle(style, mediaKeyShort, mediaQueryConfig)
830
+ const out = createMediaStyle(
831
+ style,
832
+ mediaKeyShort,
833
+ mediaQueryConfig,
834
+ false,
835
+ priority
836
+ )
812
837
  const fullKey = `${style.property}${PROP_SPLIT}${mediaKeyShort}`
813
838
  if (fullKey in usedKeys) continue
814
839
  addStyleToInsertRules(rulesToInsert, out as any)
815
840
  mergeClassName(transforms, classNames, fullKey, out.identifier, true)
816
841
  }
817
- } else if (mediaState[mediaKeyShort]) {
842
+ } else {
843
+ const isThemeMedia = mediaKeyShort.startsWith('theme-')
844
+ const isPlatformMedia = mediaKeyShort.startsWith('platform-')
845
+
846
+ if (!isThemeMedia && !isPlatformMedia) {
847
+ if (!mediaState[mediaKeyShort]) {
848
+ continue
849
+ }
850
+ }
851
+
852
+ if (isThemeMedia) {
853
+ // needed to get updates when theme changes
854
+ dynamicThemeAccess = true
855
+
856
+ const mediaThemeName = mediaKeyShort.slice(6)
857
+ if (!(themeName === mediaThemeName || themeName.startsWith(mediaThemeName))) {
858
+ continue
859
+ }
860
+ }
861
+
818
862
  for (const subKey in mediaStyle) {
819
863
  const importance = getMediaImportanceIfMoreImportant(
820
864
  mediaKeyShort,
821
865
  subKey,
822
- usedKeys
866
+ usedKeys,
867
+ mediaState[mediaKeyShort]
823
868
  )
824
869
  if (importance === null) continue
825
870
  if (subKey === 'space') {
@@ -831,7 +876,8 @@ export const getSplitStyles: StyleSplitter = (
831
876
  mediaKeyShort,
832
877
  subKey,
833
878
  mediaStyle[subKey],
834
- usedKeys
879
+ usedKeys,
880
+ mediaState[mediaKeyShort]
835
881
  )
836
882
  if (key === 'fontFamily') {
837
883
  fontFamily = mediaStyle.fontFamily as string
@@ -1040,6 +1086,7 @@ export const getSplitStyles: StyleSplitter = (
1040
1086
  pseudos,
1041
1087
  classNames,
1042
1088
  rulesToInsert,
1089
+ dynamicThemeAccess,
1043
1090
  }
1044
1091
 
1045
1092
  if (className) {