@tamagui/web 1.74.15 → 1.74.17

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