@tamagui/web 1.122.8 → 1.123.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 (38) hide show
  1. package/dist/cjs/helpers/proxyThemeToParents.cjs +5 -17
  2. package/dist/cjs/helpers/proxyThemeToParents.js +4 -16
  3. package/dist/cjs/helpers/proxyThemeToParents.js.map +1 -1
  4. package/dist/cjs/helpers/proxyThemeToParents.native.js +18 -16
  5. package/dist/cjs/helpers/proxyThemeToParents.native.js.map +2 -2
  6. package/dist/cjs/hooks/useTheme.cjs +27 -37
  7. package/dist/cjs/hooks/useTheme.js +29 -48
  8. package/dist/cjs/hooks/useTheme.js.map +2 -2
  9. package/dist/cjs/hooks/useTheme.native.js +48 -65
  10. package/dist/cjs/hooks/useTheme.native.js.map +2 -2
  11. package/dist/cjs/types.js.map +1 -1
  12. package/dist/cjs/types.native.js.map +1 -1
  13. package/dist/esm/helpers/proxyThemeToParents.js +4 -16
  14. package/dist/esm/helpers/proxyThemeToParents.js.map +1 -1
  15. package/dist/esm/helpers/proxyThemeToParents.mjs +5 -17
  16. package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -1
  17. package/dist/esm/helpers/proxyThemeToParents.native.js +17 -16
  18. package/dist/esm/helpers/proxyThemeToParents.native.js.map +2 -2
  19. package/dist/esm/hooks/useTheme.js +29 -49
  20. package/dist/esm/hooks/useTheme.js.map +2 -2
  21. package/dist/esm/hooks/useTheme.mjs +28 -38
  22. package/dist/esm/hooks/useTheme.mjs.map +1 -1
  23. package/dist/esm/hooks/useTheme.native.js +49 -66
  24. package/dist/esm/hooks/useTheme.native.js.map +2 -2
  25. package/dist/esm/types.js.map +1 -1
  26. package/dist/esm/types.mjs.map +1 -1
  27. package/dist/esm/types.native.js.map +1 -1
  28. package/package.json +11 -11
  29. package/src/helpers/proxyThemeToParents.ts +6 -25
  30. package/src/hooks/useTheme.tsx +107 -142
  31. package/src/types.tsx +5 -8
  32. package/types/helpers/proxyThemeToParents.d.ts +1 -1
  33. package/types/helpers/proxyThemeToParents.d.ts.map +1 -1
  34. package/types/helpers/sortString.d.ts +1 -1
  35. package/types/hooks/useConfiguration.d.ts.map +1 -1
  36. package/types/hooks/useTheme.d.ts.map +1 -1
  37. package/types/types.d.ts +5 -5
  38. package/types/types.d.ts.map +1 -1
@@ -1,4 +1,3 @@
1
- import { getTokenObject } from "../config";
2
1
  const themesRaw = {};
3
2
  function proxyThemesToParents(dedupedThemes) {
4
3
  for (const { names, theme } of dedupedThemes)
@@ -13,21 +12,10 @@ function proxyThemesToParents(dedupedThemes) {
13
12
  return themes;
14
13
  }
15
14
  function proxyThemeToParents(themeName, theme) {
16
- const cur = [], parents = themeName.split("_").slice(0, -1).map((part) => (cur.push(part), cur.join("_"))), numParents = parents.length;
17
- return new Proxy(theme, {
18
- get(target, key) {
19
- if (!key || // dont ask me, idk why but on hermes you can see that useTheme()[undefined] passes in STRING undefined to proxy
20
- // if someone is crazy enough to use "undefined" as a theme key then this not working is on them
21
- key == "undefined" || Reflect.has(target, key))
22
- return Reflect.get(target, key);
23
- for (let i = numParents - 1; i >= 0; i--) {
24
- const parent = themesRaw[parents[i]];
25
- if (parent && Reflect.has(parent, key))
26
- return Reflect.get(parent, key);
27
- }
28
- return getTokenObject(key);
29
- }
30
- });
15
+ const out = {}, cur = [], parents = themeName.split("_").slice(0, -1).map((part) => (cur.push(part), cur.join("_")));
16
+ for (const parent of parents)
17
+ Object.assign(out, themesRaw[parent]);
18
+ return Object.assign(out, theme), out;
31
19
  }
32
20
  export {
33
21
  proxyThemeToParents,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/proxyThemeToParents.ts"],
4
- "mappings": "AAAA,SAAS,sBAAsB;AAG/B,MAAM,YAAyC,CAAC;AAIzC,SAAS,qBACd,eAC6B;AAE7B,aAAW,EAAE,OAAO,MAAM,KAAK;AAC7B,eAAW,QAAQ;AACjB,gBAAU,IAAI,IAAI;AAItB,QAAM,SAAsC,CAAC;AAM7C,aAAW,EAAE,OAAO,MAAM,KAAK;AAC7B,eAAW,aAAa,OAAO;AAC7B,YAAM,eAAe,oBAAoB,WAAW,KAAK;AACzD,aAAO,SAAS,IAAI;AAAA,IACtB;AAGF,SAAO;AACT;AAEO,SAAS,oBAAoB,WAAmB,OAAoB;AACzE,QAAM,MAAgB,CAAC,GAIjB,UAAU,UACb,MAAM,GAAG,EACT,MAAM,GAAG,EAAE,EACX,IAAI,CAAC,UACJ,IAAI,KAAK,IAAI,GACN,IAAI,KAAK,GAAG,EACpB,GAEG,aAAa,QAAQ;AAG3B,SAAO,IAAI,MAAM,OAAO;AAAA,IACtB,IAAI,QAAQ,KAAK;AACf,UACE,CAAC;AAAA;AAAA,MAGD,OAAO,eACP,QAAQ,IAAI,QAAQ,GAAG;AAEvB,eAAO,QAAQ,IAAI,QAAQ,GAAG;AAGhC,eAAS,IAAI,aAAa,GAAG,KAAK,GAAG,KAAK;AACxC,cAAM,SAAS,UAAU,QAAQ,CAAC,CAAC;AACnC,YAAI,UAAU,QAAQ,IAAI,QAAQ,GAAG;AACnC,iBAAO,QAAQ,IAAI,QAAQ,GAAG;AAAA,MAElC;AACA,aAAO,eAAe,GAAU;AAAA,IAClC;AAAA,EACF,CAAC;AACH;",
4
+ "mappings": "AAEA,MAAM,YAAyC,CAAC;AAIzC,SAAS,qBACd,eAC6B;AAE7B,aAAW,EAAE,OAAO,MAAM,KAAK;AAC7B,eAAW,QAAQ;AACjB,gBAAU,IAAI,IAAI;AAItB,QAAM,SAAsC,CAAC;AAM7C,aAAW,EAAE,OAAO,MAAM,KAAK;AAC7B,eAAW,aAAa,OAAO;AAC7B,YAAM,eAAe,oBAAoB,WAAW,KAAK;AACzD,aAAO,SAAS,IAAI;AAAA,IACtB;AAGF,SAAO;AACT;AAEO,SAAS,oBAAoB,WAAmB,OAAoB;AACzE,QAAM,MAAM,CAAC,GACP,MAAgB,CAAC,GAIjB,UAAU,UACb,MAAM,GAAG,EACT,MAAM,GAAG,EAAE,EACX,IAAI,CAAC,UACJ,IAAI,KAAK,IAAI,GACN,IAAI,KAAK,GAAG,EACpB;AAEH,aAAW,UAAU;AACnB,WAAO,OAAO,KAAK,UAAU,MAAM,CAAC;AAEtC,gBAAO,OAAO,KAAK,KAAK,GACjB;AACT;",
5
5
  "names": []
6
6
  }
@@ -1,4 +1,3 @@
1
- import { getTokenObject } from "../config.mjs";
2
1
  const themesRaw = {};
3
2
  function proxyThemesToParents(dedupedThemes) {
4
3
  for (const {
@@ -16,22 +15,11 @@ function proxyThemesToParents(dedupedThemes) {
16
15
  return themes;
17
16
  }
18
17
  function proxyThemeToParents(themeName, theme) {
19
- const cur = [],
20
- parents = themeName.split("_").slice(0, -1).map(part => (cur.push(part), cur.join("_"))),
21
- numParents = parents.length;
22
- return new Proxy(theme, {
23
- get(target, key) {
24
- if (!key ||
25
- // dont ask me, idk why but on hermes you can see that useTheme()[undefined] passes in STRING undefined to proxy
26
- // if someone is crazy enough to use "undefined" as a theme key then this not working is on them
27
- key == "undefined" || Reflect.has(target, key)) return Reflect.get(target, key);
28
- for (let i = numParents - 1; i >= 0; i--) {
29
- const parent = themesRaw[parents[i]];
30
- if (parent && Reflect.has(parent, key)) return Reflect.get(parent, key);
31
- }
32
- return getTokenObject(key);
33
- }
34
- });
18
+ const out = {},
19
+ cur = [],
20
+ parents = themeName.split("_").slice(0, -1).map(part => (cur.push(part), cur.join("_")));
21
+ for (const parent of parents) Object.assign(out, themesRaw[parent]);
22
+ return Object.assign(out, theme), out;
35
23
  }
36
24
  export { proxyThemeToParents, proxyThemesToParents };
37
25
  //# sourceMappingURL=proxyThemeToParents.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["getTokenObject","themesRaw","proxyThemesToParents","dedupedThemes","names","theme","name","themes","themeName","proxiedTheme","proxyThemeToParents","cur","parents","split","slice","map","part","push","join","numParents","length","Proxy","get","target","key","Reflect","has","i","parent"],"sources":["../../../src/helpers/proxyThemeToParents.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,cAAA,QAAsB;AAG/B,MAAMC,SAAA,GAAyC,CAAC;AAIzC,SAASC,qBACdC,aAAA,EAC6B;EAE7B,WAAW;IAAEC,KAAA;IAAOC;EAAM,KAAKF,aAAA,EAC7B,WAAWG,IAAA,IAAQF,KAAA,EACjBH,SAAA,CAAUK,IAAI,IAAID,KAAA;EAItB,MAAME,MAAA,GAAsC,CAAC;EAM7C,WAAW;IAAEH,KAAA;IAAOC;EAAM,KAAKF,aAAA,EAC7B,WAAWK,SAAA,IAAaJ,KAAA,EAAO;IAC7B,MAAMK,YAAA,GAAeC,mBAAA,CAAoBF,SAAA,EAAWH,KAAK;IACzDE,MAAA,CAAOC,SAAS,IAAIC,YAAA;EACtB;EAGF,OAAOF,MAAA;AACT;AAEO,SAASG,oBAAoBF,SAAA,EAAmBH,KAAA,EAAoB;EACzE,MAAMM,GAAA,GAAgB,EAAC;IAIjBC,OAAA,GAAUJ,SAAA,CACbK,KAAA,CAAM,GAAG,EACTC,KAAA,CAAM,GAAG,EAAE,EACXC,GAAA,CAAKC,IAAA,KACJL,GAAA,CAAIM,IAAA,CAAKD,IAAI,GACNL,GAAA,CAAIO,IAAA,CAAK,GAAG,EACpB;IAEGC,UAAA,GAAaP,OAAA,CAAQQ,MAAA;EAG3B,OAAO,IAAIC,KAAA,CAAMhB,KAAA,EAAO;IACtBiB,IAAIC,MAAA,EAAQC,GAAA,EAAK;MACf,IACE,CAACA,GAAA;MAAA;MAAA;MAGDA,GAAA,IAAO,eACPC,OAAA,CAAQC,GAAA,CAAIH,MAAA,EAAQC,GAAG,GAEvB,OAAOC,OAAA,CAAQH,GAAA,CAAIC,MAAA,EAAQC,GAAG;MAGhC,SAASG,CAAA,GAAIR,UAAA,GAAa,GAAGQ,CAAA,IAAK,GAAGA,CAAA,IAAK;QACxC,MAAMC,MAAA,GAAS3B,SAAA,CAAUW,OAAA,CAAQe,CAAC,CAAC;QACnC,IAAIC,MAAA,IAAUH,OAAA,CAAQC,GAAA,CAAIE,MAAA,EAAQJ,GAAG,GACnC,OAAOC,OAAA,CAAQH,GAAA,CAAIM,MAAA,EAAQJ,GAAG;MAElC;MACA,OAAOxB,cAAA,CAAewB,GAAU;IAClC;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["themesRaw","proxyThemesToParents","dedupedThemes","names","theme","name","themes","themeName","proxiedTheme","proxyThemeToParents","out","cur","parents","split","slice","map","part","push","join","parent","Object","assign"],"sources":["../../../src/helpers/proxyThemeToParents.ts"],"sourcesContent":[null],"mappings":"AAEA,MAAMA,SAAA,GAAyC,CAAC;AAIzC,SAASC,qBACdC,aAAA,EAC6B;EAE7B,WAAW;IAAEC,KAAA;IAAOC;EAAM,KAAKF,aAAA,EAC7B,WAAWG,IAAA,IAAQF,KAAA,EACjBH,SAAA,CAAUK,IAAI,IAAID,KAAA;EAItB,MAAME,MAAA,GAAsC,CAAC;EAM7C,WAAW;IAAEH,KAAA;IAAOC;EAAM,KAAKF,aAAA,EAC7B,WAAWK,SAAA,IAAaJ,KAAA,EAAO;IAC7B,MAAMK,YAAA,GAAeC,mBAAA,CAAoBF,SAAA,EAAWH,KAAK;IACzDE,MAAA,CAAOC,SAAS,IAAIC,YAAA;EACtB;EAGF,OAAOF,MAAA;AACT;AAEO,SAASG,oBAAoBF,SAAA,EAAmBH,KAAA,EAAoB;EACzE,MAAMM,GAAA,GAAM,CAAC;IACPC,GAAA,GAAgB,EAAC;IAIjBC,OAAA,GAAUL,SAAA,CACbM,KAAA,CAAM,GAAG,EACTC,KAAA,CAAM,GAAG,EAAE,EACXC,GAAA,CAAKC,IAAA,KACJL,GAAA,CAAIM,IAAA,CAAKD,IAAI,GACNL,GAAA,CAAIO,IAAA,CAAK,GAAG,EACpB;EAEH,WAAWC,MAAA,IAAUP,OAAA,EACnBQ,MAAA,CAAOC,MAAA,CAAOX,GAAA,EAAKV,SAAA,CAAUmB,MAAM,CAAC;EAEtC,OAAAC,MAAA,CAAOC,MAAA,CAAOX,GAAA,EAAKN,KAAK,GACjBM,GAAA;AACT","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- import { getTokenObject } from "../config";
2
1
  var themesRaw = {};
3
2
  function proxyThemesToParents(dedupedThemes) {
4
3
  var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
@@ -64,23 +63,25 @@ function proxyThemesToParents(dedupedThemes) {
64
63
  return themes;
65
64
  }
66
65
  function proxyThemeToParents(themeName, theme) {
67
- var cur = [], parents = themeName.split("_").slice(0, -1).map(function(part) {
66
+ var out = {}, cur = [], parents = themeName.split("_").slice(0, -1).map(function(part) {
68
67
  return cur.push(part), cur.join("_");
69
- }), numParents = parents.length;
70
- return new Proxy(theme, {
71
- get(target, key) {
72
- if (!key || // dont ask me, idk why but on hermes you can see that useTheme()[undefined] passes in STRING undefined to proxy
73
- // if someone is crazy enough to use "undefined" as a theme key then this not working is on them
74
- key == "undefined" || Reflect.has(target, key))
75
- return Reflect.get(target, key);
76
- for (var i = numParents - 1; i >= 0; i--) {
77
- var parent = themesRaw[parents[i]];
78
- if (parent && Reflect.has(parent, key))
79
- return Reflect.get(parent, key);
80
- }
81
- return getTokenObject(key);
68
+ }), _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
69
+ try {
70
+ for (var _iterator = parents[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
71
+ var parent = _step.value;
72
+ Object.assign(out, themesRaw[parent]);
73
+ }
74
+ } catch (err) {
75
+ _didIteratorError = !0, _iteratorError = err;
76
+ } finally {
77
+ try {
78
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
79
+ } finally {
80
+ if (_didIteratorError)
81
+ throw _iteratorError;
82
82
  }
83
- });
83
+ }
84
+ return Object.assign(out, theme), out;
84
85
  }
85
86
  export {
86
87
  proxyThemeToParents,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/Users/n8/tamagui/code/core/web/src/helpers/proxyThemeToParents.ts"],
4
- "mappings": "AAAA,SAASA,sBAAsB;AAG/B,IAAMC,YAAyC,CAAC;AAIzC,SAASC,qBACdC,eAA4B;MAGvB,4BAAA,IAAA,oBAAA,IAAA,iBAAA;;AAAL,aAAK,YAA0BA,cAAAA,OAAAA,QAAAA,EAAAA,GAA1B,OAAA,EAAA,6BAAA,QAAA,UAAA,KAAA,GAAA,OAAA,4BAAA,IAAyC;AAAzC,UAAM,EAAEC,OAAOC,MAAK,IAApB,MAAA,OACE,6BAAA,IAAA,qBAAA,IAAA,kBAAA;;AAAL,iBAAK,aAAcD,MAAAA,OAAAA,QAAAA,EAAAA,GAAd,QAAA,EAAA,8BAAA,SAAA,WAAA,KAAA,GAAA,OAAA,6BAAA,IAAqB;AAArB,cAAME,OAAN,OAAA;AACHL,oBAAUK,IAAAA,IAAQD;QACpB;;AAFK,6BAAA,IAAA,kBAAA;;;WAAA,8BAAA,WAAA,UAAA,QAAA,WAAA,OAAA;;cAAA;kBAAA;;;IAGP;;AAJK,wBAAA,IAAA,iBAAA;;;OAAA,6BAAA,UAAA,UAAA,QAAA,UAAA,OAAA;;UAAA;cAAA;;;AAML,MAAME,SAAsC,CAAC,GAMxC,6BAAA,IAAA,qBAAA,IAAA,kBAAA;;AAAL,aAAK,aAA0BJ,cAAAA,OAAAA,QAAAA,EAAAA,GAA1B,QAAA,EAAA,8BAAA,SAAA,WAAA,KAAA,GAAA,OAAA,6BAAA,IAAyC;AAAzC,UAAM,EAAEC,OAAAA,QAAOC,OAAAA,OAAK,IAApB,OAAA,OACE,6BAAA,IAAA,qBAAA,IAAA,kBAAA;;AAAL,iBAAK,aAAmBD,OAAAA,OAAAA,QAAAA,EAAAA,GAAnB,QAAA,EAAA,8BAAA,SAAA,WAAA,KAAA,GAAA,OAAA,6BAAA,IAA0B;AAA1B,cAAMI,YAAN,OAAA,OACGC,eAAeC,oBAAoBF,WAAWH,MAAAA;AACpDE,iBAAOC,SAAAA,IAAaC;QACtB;;AAHK,6BAAA,IAAA,kBAAA;;;WAAA,8BAAA,WAAA,UAAA,QAAA,WAAA,OAAA;;cAAA;kBAAA;;;IAIP;;AALK,yBAAA,IAAA,kBAAA;;;OAAA,8BAAA,WAAA,UAAA,QAAA,WAAA,OAAA;;UAAA;cAAA;;;AAOL,SAAOF;AACT;AAEO,SAASG,oBAAoBF,WAAmBH,OAAkB;AACvE,MAAMM,MAAgB,CAAA,GAIhBC,UAAUJ,UACbK,MAAM,GAAA,EACNC,MAAM,GAAG,EAAC,EACVC,IAAI,SAACC,MAAAA;AACJL,eAAIM,KAAKD,IAAAA,GACFL,IAAIO,KAAK,GAAA;EAClB,CAAA,GAEIC,aAAaP,QAAQQ;AAG3B,SAAO,IAAIC,MAAMhB,OAAO;IACtBiB,IAAIC,QAAQC,KAAG;AACb,UACE,CAACA;;MAGDA,OAAO,eACPC,QAAQC,IAAIH,QAAQC,GAAAA;AAEpB,eAAOC,QAAQH,IAAIC,QAAQC,GAAAA;AAG7B,eAASG,IAAIR,aAAa,GAAGQ,KAAK,GAAGA,KAAK;AACxC,YAAMC,SAAS3B,UAAUW,QAAQe,CAAAA,CAAE;AACnC,YAAIC,UAAUH,QAAQC,IAAIE,QAAQJ,GAAAA;AAChC,iBAAOC,QAAQH,IAAIM,QAAQJ,GAAAA;MAE/B;AACA,aAAOxB,eAAewB,GAAAA;IACxB;EACF,CAAA;AACF;",
5
- "names": ["getTokenObject", "themesRaw", "proxyThemesToParents", "dedupedThemes", "names", "theme", "name", "themes", "themeName", "proxiedTheme", "proxyThemeToParents", "cur", "parents", "split", "slice", "map", "part", "push", "join", "numParents", "length", "Proxy", "get", "target", "key", "Reflect", "has", "i", "parent"]
4
+ "mappings": "AAEA,IAAMA,YAAyC,CAAC;AAIzC,SAASC,qBACdC,eAA4B;MAGvB,4BAAA,IAAA,oBAAA,IAAA,iBAAA;;AAAL,aAAK,YAA0BA,cAAAA,OAAAA,QAAAA,EAAAA,GAA1B,OAAA,EAAA,6BAAA,QAAA,UAAA,KAAA,GAAA,OAAA,4BAAA,IAAyC;AAAzC,UAAM,EAAEC,OAAOC,MAAK,IAApB,MAAA,OACE,6BAAA,IAAA,qBAAA,IAAA,kBAAA;;AAAL,iBAAK,aAAcD,MAAAA,OAAAA,QAAAA,EAAAA,GAAd,QAAA,EAAA,8BAAA,SAAA,WAAA,KAAA,GAAA,OAAA,6BAAA,IAAqB;AAArB,cAAME,OAAN,OAAA;AACHL,oBAAUK,IAAAA,IAAQD;QACpB;;AAFK,6BAAA,IAAA,kBAAA;;;WAAA,8BAAA,WAAA,UAAA,QAAA,WAAA,OAAA;;cAAA;kBAAA;;;IAGP;;AAJK,wBAAA,IAAA,iBAAA;;;OAAA,6BAAA,UAAA,UAAA,QAAA,UAAA,OAAA;;UAAA;cAAA;;;AAML,MAAME,SAAsC,CAAC,GAMxC,6BAAA,IAAA,qBAAA,IAAA,kBAAA;;AAAL,aAAK,aAA0BJ,cAAAA,OAAAA,QAAAA,EAAAA,GAA1B,QAAA,EAAA,8BAAA,SAAA,WAAA,KAAA,GAAA,OAAA,6BAAA,IAAyC;AAAzC,UAAM,EAAEC,OAAAA,QAAOC,OAAAA,OAAK,IAApB,OAAA,OACE,6BAAA,IAAA,qBAAA,IAAA,kBAAA;;AAAL,iBAAK,aAAmBD,OAAAA,OAAAA,QAAAA,EAAAA,GAAnB,QAAA,EAAA,8BAAA,SAAA,WAAA,KAAA,GAAA,OAAA,6BAAA,IAA0B;AAA1B,cAAMI,YAAN,OAAA,OACGC,eAAeC,oBAAoBF,WAAWH,MAAAA;AACpDE,iBAAOC,SAAAA,IAAaC;QACtB;;AAHK,6BAAA,IAAA,kBAAA;;;WAAA,8BAAA,WAAA,UAAA,QAAA,WAAA,OAAA;;cAAA;kBAAA;;;IAIP;;AALK,yBAAA,IAAA,kBAAA;;;OAAA,8BAAA,WAAA,UAAA,QAAA,WAAA,OAAA;;UAAA;cAAA;;;AAOL,SAAOF;AACT;AAEO,SAASG,oBAAoBF,WAAmBH,OAAkB;AACvE,MAAMM,MAAM,CAAC,GACPC,MAAgB,CAAA,GAIhBC,UAAUL,UACbM,MAAM,GAAA,EACNC,MAAM,GAAG,EAAC,EACVC,IAAI,SAACC,MAAAA;AACJL,eAAIM,KAAKD,IAAAA,GACFL,IAAIO,KAAK,GAAA;EAClB,CAAA,GAEG,4BAAA,IAAA,oBAAA,IAAA,iBAAA;;AAAL,aAAK,YAAgBN,QAAAA,OAAAA,QAAAA,EAAAA,GAAhB,OAAA,EAAA,6BAAA,QAAA,UAAA,KAAA,GAAA,OAAA,4BAAA,IAAyB;AAAzB,UAAMO,SAAN,MAAA;AACHC,aAAOC,OAAOX,KAAKV,UAAUmB,MAAAA,CAAO;IACtC;;AAFK,wBAAA,IAAA,iBAAA;;;OAAA,6BAAA,UAAA,UAAA,QAAA,UAAA,OAAA;;UAAA;cAAA;;;AAGLC,gBAAOC,OAAOX,KAAKN,KAAAA,GACZM;AACT;",
5
+ "names": ["themesRaw", "proxyThemesToParents", "dedupedThemes", "names", "theme", "name", "themes", "themeName", "proxiedTheme", "proxyThemeToParents", "out", "cur", "parents", "split", "slice", "map", "part", "push", "join", "parent", "Object", "assign"]
6
6
  }
@@ -3,7 +3,6 @@ import {
3
3
  useContext,
4
4
  useEffect,
5
5
  useLayoutEffect,
6
- useMemo,
7
6
  useRef,
8
7
  useState
9
8
  } from "react";
@@ -27,7 +26,7 @@ const emptyProps = { name: null }, useTheme = (props = emptyProps) => {
27
26
 
28
27
  If this is intended and you are using Tamagui without any themes, you can disable this warning by setting the environment variable TAMAGUI_DISABLE_NO_THEME_WARNING=1`
29
28
  ));
30
- const themeProxied = useMemo(() => (keys.current && (keys.current = null), !themeManager || !state?.theme ? {} : getThemeProxied(state, props.deopt, keys, themeManager, props.debug)), [state?.theme, themeManager, props.deopt, props.debug]);
29
+ const themeProxied = getThemeProxied(props, state, keys, themeManager);
31
30
  return process.env.NODE_ENV === "development" && props.debug === "verbose" && (console.groupCollapsed(` \u{1F539} [${themeManager?.id}] useTheme =>`, state?.name), console.info(
32
31
  "returning state",
33
32
  changedThemeState.state,
@@ -35,55 +34,36 @@ If this is intended and you are using Tamagui without any themes, you can disabl
35
34
  "from props",
36
35
  props
37
36
  ), console.groupEnd()), [changedThemeState, themeProxied];
38
- };
39
- function getThemeProxied({ theme, name, scheme }, deopt = !1, keys, themeManager, debug) {
40
- if (!theme) return {};
41
- const config = getConfig();
37
+ }, emptyObject = {}, ProxiedThemes = /* @__PURE__ */ new Map();
38
+ let curKeys, curProps, curThemeManger;
39
+ function getThemeProxied(_props, state, _keys, _themeManager) {
40
+ const theme = state?.theme;
41
+ if (!theme || !_themeManager)
42
+ return emptyObject;
43
+ if (curKeys = _keys, curProps = _props, curThemeManger = _themeManager, ProxiedThemes.has(theme))
44
+ return ProxiedThemes.get(theme);
45
+ const { name, scheme } = state, config = getConfig();
42
46
  function track(key) {
43
- keys.current || (keys.current = [], setTimeout(() => {
44
- themeManager?.selfUpdate();
45
- })), keys.current.push(key), process.env.NODE_ENV === "development" && debug && console.info(` \u{1F3A8} useTheme() tracking new key: ${key}`);
47
+ curKeys && (curKeys.current || (curKeys.current = []), curKeys.current.push(key), process.env.NODE_ENV === "development" && curProps.debug && console.info(` \u{1F3A8} useTheme() tracking new key: ${key}`));
46
48
  }
47
- return new Proxy(theme, {
48
- has(_, key) {
49
- if (Reflect.has(theme, key))
50
- return !0;
51
- if (typeof key == "string")
52
- return key[0] === "$" && (key = key.slice(1)), themeManager?.allKeys.has(key);
53
- },
54
- get(_, key) {
55
- if (
56
- // dont ask me, idk why but on hermes you can see that useTheme()[undefined] passes in STRING undefined to proxy
57
- // if someone is crazy enough to use "undefined" as a theme key then this not working is on them
58
- key !== "undefined" && typeof key == "string"
59
- ) {
60
- const keyString = key[0] === "$" ? key.slice(1) : key, val = theme[keyString];
61
- if (val && typeof val == "object")
62
- return new Proxy(val, {
63
- // when they touch the actual value we only track it
64
- // if its a variable (web), its ignored!
65
- get(_2, subkey) {
66
- if (subkey === "val")
67
- globalThis.tamaguiAvoidTracking || (process.env.NODE_ENV === "development" && debug === "verbose" && console.info(
68
- " \u{1F3A8} useTheme() tracking new key because of .val access",
69
- new Error().stack
70
- ), track(keyString));
71
- else if (subkey === "get")
72
- return (platform) => getVariable(val);
73
- return Reflect.get(val, subkey);
74
- }
75
- });
76
- if (process.env.NODE_ENV === "development" && process.env.TAMAGUI_FEAT_THROW_ON_MISSING_THEME_VALUE === "1")
77
- throw new Error(
78
- `[tamagui] No theme key "${key}" found in theme ${name}.
79
- Keys in theme: ${Object.keys(
80
- theme
81
- ).join(", ")}`
82
- );
83
- }
84
- return Reflect.get(_, key);
85
- }
86
- });
49
+ const proxied = Object.fromEntries(
50
+ Object.entries(theme).flatMap(([key, value]) => {
51
+ const proxied2 = {
52
+ ...value,
53
+ get val() {
54
+ return globalThis.tamaguiAvoidTracking || track(key), value.val;
55
+ },
56
+ get(platform) {
57
+ return getVariable(value);
58
+ }
59
+ };
60
+ return [
61
+ [key, proxied2],
62
+ [`$${key}`, proxied2]
63
+ ];
64
+ })
65
+ );
66
+ return ProxiedThemes.set(theme, proxied), proxied;
87
67
  }
88
68
  const activeThemeManagers = /* @__PURE__ */ new Set(), _uidToManager = /* @__PURE__ */ new WeakMap(), _idToUID = {}, getId = (id) => _idToUID[id], getThemeManager = (id) => _uidToManager.get(getId(id)), registerThemeManager = (t) => {
89
69
  if (!_idToUID[t.id]) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/useTheme.tsx"],
4
- "mappings": "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",
5
- "names": ["_", "themeManager", "state", "isNewTheme", "mounted"]
4
+ "mappings": "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",
5
+ "names": ["proxied", "themeManager", "state", "isNewTheme", "mounted"]
6
6
  }
@@ -1,5 +1,5 @@
1
1
  import { isClient, isServer, isWeb } from "@tamagui/constants";
2
- import { useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
2
+ import { useContext, useEffect, useLayoutEffect, useRef, useState } from "react";
3
3
  import { getConfig, getSetting } from "../config.mjs";
4
4
  import { getVariable } from "../createVariable.mjs";
5
5
  import { ThemeManager, getHasThemeUpdatingProps } from "../helpers/ThemeManager.mjs";
@@ -24,47 +24,37 @@ const emptyProps = {
24
24
  process.env.NODE_ENV === "development" && (state?.theme || process.env.TAMAGUI_DISABLE_NO_THEME_WARNING !== "1" && console.error(`[tamagui] No theme found, this could be due to an invalid theme name (given theme props ${JSON.stringify(props)}).
25
25
 
26
26
  If this is intended and you are using Tamagui without any themes, you can disable this warning by setting the environment variable TAMAGUI_DISABLE_NO_THEME_WARNING=1`));
27
- const themeProxied = useMemo(() => (keys.current && (keys.current = null), !themeManager || !state?.theme ? {} : getThemeProxied(state, props.deopt, keys, themeManager, props.debug)), [state?.theme, themeManager, props.deopt, props.debug]);
27
+ const themeProxied = getThemeProxied(props, state, keys, themeManager);
28
28
  return process.env.NODE_ENV === "development" && props.debug === "verbose" && (console.groupCollapsed(` \u{1F539} [${themeManager?.id}] useTheme =>`, state?.name), console.info("returning state", changedThemeState.state, changedThemeState.isNewTheme, "from props", props), console.groupEnd()), [changedThemeState, themeProxied];
29
- };
30
- function getThemeProxied({
31
- theme,
32
- name,
33
- scheme
34
- }, deopt = !1, keys, themeManager, debug) {
35
- if (!theme) return {};
36
- const config = getConfig();
29
+ },
30
+ emptyObject = {},
31
+ ProxiedThemes = /* @__PURE__ */new Map();
32
+ let curKeys, curProps, curThemeManger;
33
+ function getThemeProxied(_props, state, _keys, _themeManager) {
34
+ const theme = state?.theme;
35
+ if (!theme || !_themeManager) return emptyObject;
36
+ if (curKeys = _keys, curProps = _props, curThemeManger = _themeManager, ProxiedThemes.has(theme)) return ProxiedThemes.get(theme);
37
+ const {
38
+ name,
39
+ scheme
40
+ } = state,
41
+ config = getConfig();
37
42
  function track(key) {
38
- keys.current || (keys.current = [], setTimeout(() => {
39
- themeManager?.selfUpdate();
40
- })), keys.current.push(key), process.env.NODE_ENV === "development" && debug && console.info(` \u{1F3A8} useTheme() tracking new key: ${key}`);
43
+ curKeys && (curKeys.current || (curKeys.current = []), curKeys.current.push(key), process.env.NODE_ENV === "development" && curProps.debug && console.info(` \u{1F3A8} useTheme() tracking new key: ${key}`));
41
44
  }
42
- return new Proxy(theme, {
43
- has(_, key) {
44
- if (Reflect.has(theme, key)) return !0;
45
- if (typeof key == "string") return key[0] === "$" && (key = key.slice(1)), themeManager?.allKeys.has(key);
46
- },
47
- get(_, key) {
48
- if (
49
- // dont ask me, idk why but on hermes you can see that useTheme()[undefined] passes in STRING undefined to proxy
50
- // if someone is crazy enough to use "undefined" as a theme key then this not working is on them
51
- key !== "undefined" && typeof key == "string") {
52
- const keyString = key[0] === "$" ? key.slice(1) : key,
53
- val = theme[keyString];
54
- if (val && typeof val == "object") return new Proxy(val, {
55
- // when they touch the actual value we only track it
56
- // if its a variable (web), its ignored!
57
- get(_2, subkey) {
58
- if (subkey === "val") globalThis.tamaguiAvoidTracking || (process.env.NODE_ENV === "development" && debug === "verbose" && console.info(" \u{1F3A8} useTheme() tracking new key because of .val access", new Error().stack), track(keyString));else if (subkey === "get") return platform => getVariable(val);
59
- return Reflect.get(val, subkey);
60
- }
61
- });
62
- if (process.env.NODE_ENV === "development" && process.env.TAMAGUI_FEAT_THROW_ON_MISSING_THEME_VALUE === "1") throw new Error(`[tamagui] No theme key "${key}" found in theme ${name}.
63
- Keys in theme: ${Object.keys(theme).join(", ")}`);
45
+ const proxied = Object.fromEntries(Object.entries(theme).flatMap(([key, value]) => {
46
+ const proxied2 = {
47
+ ...value,
48
+ get val() {
49
+ return globalThis.tamaguiAvoidTracking || track(key), value.val;
50
+ },
51
+ get(platform) {
52
+ return getVariable(value);
64
53
  }
65
- return Reflect.get(_, key);
66
- }
67
- });
54
+ };
55
+ return [[key, proxied2], [`$${key}`, proxied2]];
56
+ }));
57
+ return ProxiedThemes.set(theme, proxied), proxied;
68
58
  }
69
59
  const activeThemeManagers = /* @__PURE__ */new Set(),
70
60
  _uidToManager = /* @__PURE__ */new WeakMap(),
@@ -1 +1 @@
1
- {"version":3,"names":["isClient","isServer","isWeb","useContext","useEffect","useLayoutEffect","useMemo","useRef","useState","getConfig","getSetting","getVariable","ThemeManager","getHasThemeUpdatingProps","ThemeManagerContext","isEqualShallow","emptyProps","name","useTheme","props","_","theme","useThemeWithState","keys","changedThemeState","useChangeThemeEffect","process","env","NODE_ENV","globalThis","time","themeManager","state","TAMAGUI_DISABLE_NO_THEME_WARNING","console","error","JSON","stringify","themeProxied","current","getThemeProxied","deopt","debug","groupCollapsed","id","info","isNewTheme","groupEnd","scheme","config","track","key","setTimeout","selfUpdate","push","Proxy","has","Reflect","slice","allKeys","get","keyString","val","_2","subkey","tamaguiAvoidTracking","Error","stack","platform","TAMAGUI_FEAT_THROW_ON_MISSING_THEME_VALUE","Object","join","activeThemeManagers","Set","_uidToManager","WeakMap","_idToUID","getId","getThemeManager","registerThemeManager","t","set","ogLog","preventWarnSetState","a","args","includes","getShouldUpdateTheme","parentManager","themeState","nextState","forceShouldChange","next","getState","isRoot","disable","shouldAlwaysUpdate","needsUpdate","setThemeState","createState","mounted","prevState","isInversingOnMount","inverse","notify","prev","add","TamaguiRootThemeManager","updated","selfListenerDispose","onChangeTheme","_a","_b","forced","disposeChangeListener","manager","force","shouldTryUpdate","delete","componentName","reset","TamaguiThemeManagers","inversed","className","foundNextState","themeManager2","state2","parentManagerProp","forceChange","updateState","isNewTheme2","mounted2","response","shouldReturnPrev","parentState","parentId","themeManagerState"],"sources":["../../../src/hooks/useTheme.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isClient","isServer","isWeb","useContext","useEffect","useLayoutEffect","useRef","useState","getConfig","getSetting","getVariable","ThemeManager","getHasThemeUpdatingProps","ThemeManagerContext","isEqualShallow","emptyProps","name","useTheme","props","_","theme","useThemeWithState","keys","changedThemeState","useChangeThemeEffect","process","env","NODE_ENV","globalThis","time","themeManager","state","TAMAGUI_DISABLE_NO_THEME_WARNING","console","error","JSON","stringify","themeProxied","getThemeProxied","debug","groupCollapsed","id","info","isNewTheme","groupEnd","emptyObject","ProxiedThemes","Map","curKeys","curProps","curThemeManger","_props","_keys","_themeManager","has","get","scheme","config","track","key","current","push","proxied","Object","fromEntries","entries","flatMap","value","proxied2","val","tamaguiAvoidTracking","platform","set","activeThemeManagers","Set","_uidToManager","WeakMap","_idToUID","getId","getThemeManager","registerThemeManager","t","ogLog","preventWarnSetState","a","args","includes","getShouldUpdateTheme","parentManager","themeState","nextState","forceShouldChange","next","getState","isRoot","disable","shouldAlwaysUpdate","needsUpdate","setThemeState","createState","mounted","prevState","isInversingOnMount","inverse","notify","prev","add","TamaguiRootThemeManager","updated","selfListenerDispose","onChangeTheme","_a","_b","forced","disposeChangeListener","manager","force","deopt","shouldTryUpdate","delete","componentName","reset","TamaguiThemeManagers","inversed","className","foundNextState","themeManager2","state2","parentManagerProp","forceChange","updateState","isNewTheme2","mounted2","response","shouldReturnPrev","parentState","parentId","themeManagerState"],"sources":["../../../src/hooks/useTheme.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { isClient, isIos, isServer, isWeb } from "@tamagui/constants";
2
- import { useContext, useEffect, useMemo, useRef, useState } from "react";
2
+ import { useContext, useEffect, useRef, useState } from "react";
3
3
  import { getConfig, getSetting } from "../config";
4
4
  import { getVariable } from "../createVariable";
5
5
  import { ThemeManager, getHasThemeUpdatingProps } from "../helpers/ThemeManager";
@@ -18,79 +18,62 @@ var emptyProps = {
18
18
  process.env.NODE_ENV === "development" && (state?.theme || process.env.TAMAGUI_DISABLE_NO_THEME_WARNING !== "1" && console.error(`[tamagui] No theme found, this could be due to an invalid theme name (given theme props ${JSON.stringify(props)}).
19
19
 
20
20
  If this is intended and you are using Tamagui without any themes, you can disable this warning by setting the environment variable TAMAGUI_DISABLE_NO_THEME_WARNING=1`));
21
- var themeProxied = useMemo(function() {
22
- return keys.current && (keys.current = null), !themeManager || !state?.theme ? {} : getThemeProxied(state, props.deopt, keys, themeManager, props.debug);
23
- }, [
24
- state?.theme,
25
- themeManager,
26
- props.deopt,
27
- props.debug
28
- ]);
21
+ var themeProxied = getThemeProxied(props, state, keys, themeManager);
29
22
  return process.env.NODE_ENV === "development" && props.debug === "verbose" && (console.groupCollapsed(` \u{1F539} [${themeManager?.id}] useTheme =>`, state?.name), console.info("returning state", changedThemeState.state, changedThemeState.isNewTheme, "from props", props), console.groupEnd()), [
30
23
  changedThemeState,
31
24
  themeProxied
32
25
  ];
33
- };
34
- function getThemeProxied(param) {
35
- var { theme, name, scheme } = param, deopt = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, keys = arguments.length > 2 ? arguments[2] : void 0, themeManager = arguments.length > 3 ? arguments[3] : void 0, debug = arguments.length > 4 ? arguments[4] : void 0;
36
- if (!theme) return {};
37
- var config = getConfig();
26
+ }, emptyObject = {}, ProxiedThemes = /* @__PURE__ */ new Map(), curKeys, curProps, curThemeManger;
27
+ function getThemeProxied(_props, state, _keys, _themeManager) {
28
+ var theme = state?.theme;
29
+ if (!theme || !_themeManager)
30
+ return emptyObject;
31
+ if (curKeys = _keys, curProps = _props, curThemeManger = _themeManager, ProxiedThemes.has(theme)) {
32
+ var proxied = ProxiedThemes.get(theme);
33
+ return proxied;
34
+ }
35
+ var { name, scheme } = state, config = getConfig();
38
36
  function track(key) {
39
- keys.current || (keys.current = [], setTimeout(function() {
40
- themeManager?.selfUpdate();
41
- })), keys.current.push(key), process.env.NODE_ENV === "development" && debug && console.info(` \u{1F3A8} useTheme() tracking new key: ${key}`);
37
+ curKeys && (curKeys.current || (curKeys.current = []), curKeys.current.push(key), process.env.NODE_ENV === "development" && curProps.debug && console.info(` \u{1F3A8} useTheme() tracking new key: ${key}`));
42
38
  }
43
- return new Proxy(theme, {
44
- has(_, key) {
45
- if (Reflect.has(theme, key))
46
- return !0;
47
- if (typeof key == "string")
48
- return key[0] === "$" && (key = key.slice(1)), themeManager?.allKeys.has(key);
49
- },
50
- get(_, key) {
51
- if (
52
- // dont ask me, idk why but on hermes you can see that useTheme()[undefined] passes in STRING undefined to proxy
53
- // if someone is crazy enough to use "undefined" as a theme key then this not working is on them
54
- key !== "undefined" && typeof key == "string"
55
- ) {
56
- var keyString = key[0] === "$" ? key.slice(1) : key, val = theme[keyString];
57
- if (val && typeof val == "object")
58
- return new Proxy(val, {
59
- // when they touch the actual value we only track it
60
- // if its a variable (web), its ignored!
61
- get(_2, subkey) {
62
- if (subkey === "val")
63
- globalThis.tamaguiAvoidTracking || (process.env.NODE_ENV === "development" && debug === "verbose" && console.info(" \u{1F3A8} useTheme() tracking new key because of .val access", new Error().stack), track(keyString));
64
- else if (subkey === "get")
65
- return function(platform) {
66
- var outVal = getVariable(val);
67
- if (platform !== "web" && isIos && !deopt && getSetting("fastSchemeChange") && !shouldDeoptDueToParentScheme(themeManager) && scheme) {
68
- var _config_themes_name, _config_themes_oppositeName, oppositeScheme = scheme === "dark" ? "light" : "dark", oppositeName = name.replace(scheme, oppositeScheme), color = getVariable((_config_themes_name = config.themes[name]) === null || _config_themes_name === void 0 ? void 0 : _config_themes_name[keyString]), oppositeColor = getVariable((_config_themes_oppositeName = config.themes[oppositeName]) === null || _config_themes_oppositeName === void 0 ? void 0 : _config_themes_oppositeName[keyString]), dynamicVal = {
69
- dynamic: {
70
- [scheme]: color,
71
- [oppositeScheme]: oppositeColor
72
- }
73
- };
74
- return dynamicVal;
75
- }
76
- return process.env.NODE_ENV === "development" && debug && console.info(` \u{1F3A8} useTheme() tracking new key because of:
77
- not web: ${platform !== "web"}
78
- isIOS: ${isIos}
79
- deopt: ${deopt}
80
- fastScheme: ${getSetting("fastSchemeChange")}
81
- inversed: ${getIsInversed(themeManager)}
82
- `), track(keyString), outVal;
83
- };
84
- return Reflect.get(val, subkey);
39
+ var proxied1 = Object.fromEntries(Object.entries(theme).flatMap(function(param) {
40
+ var [key, value] = param, proxied2 = {
41
+ ...value,
42
+ get val() {
43
+ return globalThis.tamaguiAvoidTracking || track(key), value.val;
44
+ },
45
+ get(platform) {
46
+ var outVal = getVariable(value);
47
+ if (platform !== "web" && isIos && !curProps.deopt && getSetting("fastSchemeChange") && !shouldDeoptDueToParentScheme(curThemeManger) && scheme) {
48
+ var _config_themes_name, _config_themes_oppositeName, oppositeScheme = scheme === "dark" ? "light" : "dark", oppositeName = name.replace(scheme, oppositeScheme), color = getVariable((_config_themes_name = config.themes[name]) === null || _config_themes_name === void 0 ? void 0 : _config_themes_name[key]), oppositeColor = getVariable((_config_themes_oppositeName = config.themes[oppositeName]) === null || _config_themes_oppositeName === void 0 ? void 0 : _config_themes_oppositeName[key]), dynamicVal = {
49
+ dynamic: {
50
+ [scheme]: color,
51
+ [oppositeScheme]: oppositeColor
85
52
  }
86
- });
87
- if (process.env.NODE_ENV === "development" && process.env.TAMAGUI_FEAT_THROW_ON_MISSING_THEME_VALUE === "1")
88
- throw new Error(`[tamagui] No theme key "${key}" found in theme ${name}.
89
- Keys in theme: ${Object.keys(theme).join(", ")}`);
53
+ };
54
+ return dynamicVal;
55
+ }
56
+ return process.env.NODE_ENV === "development" && curProps.debug && console.info(` \u{1F3A8} useTheme() tracking new key because of:
57
+ not web: ${platform !== "web"}
58
+ isIOS: ${isIos}
59
+ deopt: ${curProps.deopt}
60
+ fastScheme: ${getSetting("fastSchemeChange")}
61
+ inversed: ${getIsInversed(curThemeManger)}
62
+ `), track(key), outVal;
90
63
  }
91
- return Reflect.get(_, key);
92
- }
93
- });
64
+ };
65
+ return [
66
+ [
67
+ key,
68
+ proxied2
69
+ ],
70
+ [
71
+ `$${key}`,
72
+ proxied2
73
+ ]
74
+ ];
75
+ }));
76
+ return ProxiedThemes.set(theme, proxied1), proxied1;
94
77
  }
95
78
  function getIsInversed(manager) {
96
79
  for (var isInversed = !1, cur = manager; cur; ) {