@tamagui/web 1.123.17 → 1.124.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 (246) hide show
  1. package/dist/cjs/Tamagui.cjs +1 -6
  2. package/dist/cjs/Tamagui.js +1 -5
  3. package/dist/cjs/Tamagui.js.map +1 -1
  4. package/dist/cjs/Tamagui.native.js +2 -8
  5. package/dist/cjs/Tamagui.native.js.map +2 -2
  6. package/dist/cjs/createComponent.cjs +9 -13
  7. package/dist/cjs/createComponent.js +10 -8
  8. package/dist/cjs/createComponent.js.map +1 -1
  9. package/dist/cjs/createComponent.native.js +17 -19
  10. package/dist/cjs/createComponent.native.js.map +2 -2
  11. package/dist/cjs/helpers/createShallowSetState.cjs +7 -4
  12. package/dist/cjs/helpers/createShallowSetState.js +12 -6
  13. package/dist/cjs/helpers/createShallowSetState.js.map +1 -1
  14. package/dist/cjs/helpers/createShallowSetState.native.js +10 -4
  15. package/dist/cjs/helpers/createShallowSetState.native.js.map +2 -2
  16. package/dist/cjs/hooks/{shouldDeoptDueToParentScheme.cjs → doesRootSchemeMatchSystem.cjs} +5 -5
  17. package/dist/cjs/hooks/{shouldDeoptDueToParentScheme.js → doesRootSchemeMatchSystem.js} +6 -6
  18. package/dist/cjs/hooks/doesRootSchemeMatchSystem.js.map +6 -0
  19. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js +30 -0
  20. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js.map +6 -0
  21. package/dist/cjs/hooks/getThemeProxied.cjs +58 -0
  22. package/dist/cjs/hooks/getThemeProxied.js +53 -0
  23. package/dist/cjs/hooks/getThemeProxied.js.map +6 -0
  24. package/dist/cjs/hooks/getThemeProxied.native.js +76 -0
  25. package/dist/cjs/hooks/getThemeProxied.native.js.map +6 -0
  26. package/dist/cjs/hooks/useComponentState.cjs +16 -16
  27. package/dist/cjs/hooks/useComponentState.js +22 -15
  28. package/dist/cjs/hooks/useComponentState.js.map +1 -1
  29. package/dist/cjs/hooks/useComponentState.native.js +15 -15
  30. package/dist/cjs/hooks/useComponentState.native.js.map +2 -2
  31. package/dist/cjs/hooks/useProps.cjs +2 -2
  32. package/dist/cjs/hooks/useProps.js +2 -2
  33. package/dist/cjs/hooks/useProps.js.map +1 -1
  34. package/dist/cjs/hooks/useProps.native.js +2 -2
  35. package/dist/cjs/hooks/useProps.native.js.map +2 -2
  36. package/dist/cjs/hooks/useTheme.cjs +10 -208
  37. package/dist/cjs/hooks/useTheme.js +7 -207
  38. package/dist/cjs/hooks/useTheme.js.map +2 -2
  39. package/dist/cjs/hooks/useTheme.native.js +8 -252
  40. package/dist/cjs/hooks/useTheme.native.js.map +2 -2
  41. package/dist/cjs/hooks/useThemeName.cjs +15 -27
  42. package/dist/cjs/hooks/useThemeName.js +6 -20
  43. package/dist/cjs/hooks/useThemeName.js.map +2 -2
  44. package/dist/cjs/hooks/useThemeName.native.js +16 -22
  45. package/dist/cjs/hooks/useThemeName.native.js.map +2 -2
  46. package/dist/cjs/hooks/useThemeState.cjs +187 -0
  47. package/dist/cjs/hooks/useThemeState.js +159 -0
  48. package/dist/cjs/hooks/useThemeState.js.map +6 -0
  49. package/dist/cjs/hooks/useThemeState.native.js +206 -0
  50. package/dist/cjs/hooks/useThemeState.native.js.map +6 -0
  51. package/dist/cjs/index.cjs +2 -0
  52. package/dist/cjs/index.js +2 -0
  53. package/dist/cjs/index.js.map +1 -1
  54. package/dist/cjs/index.native.js +3 -0
  55. package/dist/cjs/index.native.js.map +1 -1
  56. package/dist/cjs/views/TamaguiProvider.js.map +1 -1
  57. package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
  58. package/dist/cjs/views/Theme.cjs +81 -85
  59. package/dist/cjs/views/Theme.js +44 -51
  60. package/dist/cjs/views/Theme.js.map +2 -2
  61. package/dist/cjs/views/Theme.native.js +58 -58
  62. package/dist/cjs/views/Theme.native.js.map +2 -2
  63. package/dist/cjs/views/ThemeDebug.cjs +21 -43
  64. package/dist/cjs/views/ThemeDebug.js +18 -38
  65. package/dist/cjs/views/ThemeDebug.js.map +2 -2
  66. package/dist/cjs/views/ThemeProvider.cjs +1 -1
  67. package/dist/cjs/views/ThemeProvider.js +1 -1
  68. package/dist/cjs/views/ThemeProvider.js.map +1 -1
  69. package/dist/cjs/views/ThemeProvider.native.js +1 -1
  70. package/dist/cjs/views/ThemeProvider.native.js.map +2 -2
  71. package/dist/esm/Tamagui.js +0 -5
  72. package/dist/esm/Tamagui.js.map +1 -1
  73. package/dist/esm/Tamagui.mjs +0 -5
  74. package/dist/esm/Tamagui.mjs.map +1 -1
  75. package/dist/esm/Tamagui.native.js +1 -8
  76. package/dist/esm/Tamagui.native.js.map +2 -2
  77. package/dist/esm/createComponent.js +9 -8
  78. package/dist/esm/createComponent.js.map +1 -1
  79. package/dist/esm/createComponent.mjs +9 -13
  80. package/dist/esm/createComponent.mjs.map +1 -1
  81. package/dist/esm/createComponent.native.js +16 -19
  82. package/dist/esm/createComponent.native.js.map +2 -2
  83. package/dist/esm/helpers/createShallowSetState.js +13 -7
  84. package/dist/esm/helpers/createShallowSetState.js.map +1 -1
  85. package/dist/esm/helpers/createShallowSetState.mjs +8 -5
  86. package/dist/esm/helpers/createShallowSetState.mjs.map +1 -1
  87. package/dist/esm/helpers/createShallowSetState.native.js +11 -5
  88. package/dist/esm/helpers/createShallowSetState.native.js.map +2 -2
  89. package/dist/esm/hooks/doesRootSchemeMatchSystem.js +7 -0
  90. package/dist/esm/hooks/doesRootSchemeMatchSystem.js.map +6 -0
  91. package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs +5 -0
  92. package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs.map +1 -0
  93. package/dist/esm/hooks/doesRootSchemeMatchSystem.native.js +10 -0
  94. package/dist/esm/hooks/doesRootSchemeMatchSystem.native.js.map +6 -0
  95. package/dist/esm/hooks/getThemeProxied.js +40 -0
  96. package/dist/esm/hooks/getThemeProxied.js.map +6 -0
  97. package/dist/esm/hooks/getThemeProxied.mjs +35 -0
  98. package/dist/esm/hooks/getThemeProxied.mjs.map +1 -0
  99. package/dist/esm/hooks/getThemeProxied.native.js +59 -0
  100. package/dist/esm/hooks/getThemeProxied.native.js.map +6 -0
  101. package/dist/esm/hooks/useComponentState.js +22 -15
  102. package/dist/esm/hooks/useComponentState.js.map +1 -1
  103. package/dist/esm/hooks/useComponentState.mjs +16 -16
  104. package/dist/esm/hooks/useComponentState.mjs.map +1 -1
  105. package/dist/esm/hooks/useComponentState.native.js +15 -15
  106. package/dist/esm/hooks/useComponentState.native.js.map +2 -2
  107. package/dist/esm/hooks/useProps.js +2 -2
  108. package/dist/esm/hooks/useProps.js.map +1 -1
  109. package/dist/esm/hooks/useProps.mjs +2 -2
  110. package/dist/esm/hooks/useProps.mjs.map +1 -1
  111. package/dist/esm/hooks/useProps.native.js +2 -2
  112. package/dist/esm/hooks/useProps.native.js.map +2 -2
  113. package/dist/esm/hooks/useTheme.js +9 -220
  114. package/dist/esm/hooks/useTheme.js.map +2 -2
  115. package/dist/esm/hooks/useTheme.mjs +10 -205
  116. package/dist/esm/hooks/useTheme.mjs.map +1 -1
  117. package/dist/esm/hooks/useTheme.native.js +11 -257
  118. package/dist/esm/hooks/useTheme.native.js.map +2 -2
  119. package/dist/esm/hooks/useThemeName.js +4 -12
  120. package/dist/esm/hooks/useThemeName.js.map +2 -2
  121. package/dist/esm/hooks/useThemeName.mjs +11 -12
  122. package/dist/esm/hooks/useThemeName.mjs.map +1 -1
  123. package/dist/esm/hooks/useThemeName.native.js +15 -14
  124. package/dist/esm/hooks/useThemeName.native.js.map +2 -2
  125. package/dist/esm/hooks/useThemeState.js +151 -0
  126. package/dist/esm/hooks/useThemeState.js.map +6 -0
  127. package/dist/esm/hooks/useThemeState.mjs +159 -0
  128. package/dist/esm/hooks/useThemeState.mjs.map +1 -0
  129. package/dist/esm/hooks/useThemeState.native.js +182 -0
  130. package/dist/esm/hooks/useThemeState.native.js.map +6 -0
  131. package/dist/esm/index.js +2 -0
  132. package/dist/esm/index.js.map +1 -1
  133. package/dist/esm/index.mjs +2 -1
  134. package/dist/esm/index.mjs.map +1 -1
  135. package/dist/esm/index.native.js +2 -0
  136. package/dist/esm/index.native.js.map +2 -2
  137. package/dist/esm/views/TamaguiProvider.js.map +1 -1
  138. package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
  139. package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
  140. package/dist/esm/views/Theme.js +57 -54
  141. package/dist/esm/views/Theme.js.map +2 -2
  142. package/dist/esm/views/Theme.mjs +81 -85
  143. package/dist/esm/views/Theme.mjs.map +1 -1
  144. package/dist/esm/views/Theme.native.js +61 -61
  145. package/dist/esm/views/Theme.native.js.map +2 -2
  146. package/dist/esm/views/ThemeDebug.js +16 -29
  147. package/dist/esm/views/ThemeDebug.js.map +1 -1
  148. package/dist/esm/views/ThemeDebug.mjs +16 -27
  149. package/dist/esm/views/ThemeDebug.mjs.map +1 -1
  150. package/dist/esm/views/ThemeProvider.js +2 -2
  151. package/dist/esm/views/ThemeProvider.js.map +1 -1
  152. package/dist/esm/views/ThemeProvider.mjs +2 -2
  153. package/dist/esm/views/ThemeProvider.mjs.map +1 -1
  154. package/dist/esm/views/ThemeProvider.native.js +2 -2
  155. package/dist/esm/views/ThemeProvider.native.js.map +2 -2
  156. package/package.json +11 -11
  157. package/src/Tamagui.ts +0 -6
  158. package/src/createComponent.tsx +19 -28
  159. package/src/helpers/createShallowSetState.tsx +17 -8
  160. package/src/hooks/doesRootSchemeMatchSystem.native.ts +7 -0
  161. package/src/hooks/doesRootSchemeMatchSystem.ts +4 -0
  162. package/src/hooks/getThemeProxied.ts +165 -0
  163. package/src/hooks/useComponentState.ts +26 -21
  164. package/src/hooks/useProps.tsx +2 -2
  165. package/src/hooks/useTheme.tsx +22 -633
  166. package/src/hooks/useThemeName.tsx +6 -18
  167. package/src/hooks/useThemeState.ts +341 -0
  168. package/src/index.ts +1 -0
  169. package/src/types.tsx +2 -2
  170. package/src/views/TamaguiProvider.tsx +1 -1
  171. package/src/views/Theme.tsx +129 -132
  172. package/src/views/ThemeDebug.native.tsx +2 -2
  173. package/src/views/ThemeDebug.tsx +17 -39
  174. package/src/views/ThemeProvider.tsx +2 -2
  175. package/types/Tamagui.d.ts +0 -2
  176. package/types/Tamagui.d.ts.map +1 -1
  177. package/types/createComponent.d.ts.map +1 -1
  178. package/types/helpers/createShallowSetState.d.ts +1 -1
  179. package/types/helpers/createShallowSetState.d.ts.map +1 -1
  180. package/types/hooks/doesRootSchemeMatchSystem.d.ts +2 -0
  181. package/types/hooks/doesRootSchemeMatchSystem.d.ts.map +1 -0
  182. package/types/hooks/doesRootSchemeMatchSystem.native.d.ts +2 -0
  183. package/types/hooks/doesRootSchemeMatchSystem.native.d.ts.map +1 -0
  184. package/types/hooks/getThemeProxied.d.ts +25 -0
  185. package/types/hooks/getThemeProxied.d.ts.map +1 -0
  186. package/types/hooks/useComponentState.d.ts.map +1 -1
  187. package/types/hooks/useConfiguration.d.ts.map +1 -1
  188. package/types/hooks/useTheme.d.ts +9 -36
  189. package/types/hooks/useTheme.d.ts.map +1 -1
  190. package/types/hooks/useThemeName.d.ts +1 -3
  191. package/types/hooks/useThemeName.d.ts.map +1 -1
  192. package/types/hooks/useThemeState.d.ts +22 -0
  193. package/types/hooks/useThemeState.d.ts.map +1 -0
  194. package/types/index.d.ts +1 -0
  195. package/types/index.d.ts.map +1 -1
  196. package/types/types.d.ts +2 -2
  197. package/types/types.d.ts.map +1 -1
  198. package/types/views/Theme.d.ts +3 -3
  199. package/types/views/Theme.d.ts.map +1 -1
  200. package/types/views/ThemeDebug.d.ts +2 -2
  201. package/types/views/ThemeDebug.d.ts.map +1 -1
  202. package/types/views/ThemeDebug.native.d.ts +2 -2
  203. package/types/views/ThemeDebug.native.d.ts.map +1 -1
  204. package/dist/cjs/helpers/ThemeManager.cjs +0 -202
  205. package/dist/cjs/helpers/ThemeManager.js +0 -183
  206. package/dist/cjs/helpers/ThemeManager.js.map +0 -6
  207. package/dist/cjs/helpers/ThemeManager.native.js +0 -282
  208. package/dist/cjs/helpers/ThemeManager.native.js.map +0 -6
  209. package/dist/cjs/helpers/ThemeManagerContext.cjs +0 -38
  210. package/dist/cjs/helpers/ThemeManagerContext.js +0 -30
  211. package/dist/cjs/helpers/ThemeManagerContext.js.map +0 -6
  212. package/dist/cjs/helpers/ThemeManagerContext.native.js +0 -34
  213. package/dist/cjs/helpers/ThemeManagerContext.native.js.map +0 -6
  214. package/dist/cjs/hooks/shouldDeoptDueToParentScheme.js.map +0 -6
  215. package/dist/cjs/hooks/shouldDeoptDueToParentScheme.native.js +0 -50
  216. package/dist/cjs/hooks/shouldDeoptDueToParentScheme.native.js.map +0 -6
  217. package/dist/esm/helpers/ThemeManager.js +0 -169
  218. package/dist/esm/helpers/ThemeManager.js.map +0 -6
  219. package/dist/esm/helpers/ThemeManager.mjs +0 -177
  220. package/dist/esm/helpers/ThemeManager.mjs.map +0 -1
  221. package/dist/esm/helpers/ThemeManager.native.js +0 -261
  222. package/dist/esm/helpers/ThemeManager.native.js.map +0 -6
  223. package/dist/esm/helpers/ThemeManagerContext.js +0 -6
  224. package/dist/esm/helpers/ThemeManagerContext.js.map +0 -6
  225. package/dist/esm/helpers/ThemeManagerContext.mjs +0 -4
  226. package/dist/esm/helpers/ThemeManagerContext.mjs.map +0 -1
  227. package/dist/esm/helpers/ThemeManagerContext.native.js +0 -6
  228. package/dist/esm/helpers/ThemeManagerContext.native.js.map +0 -6
  229. package/dist/esm/hooks/shouldDeoptDueToParentScheme.js +0 -7
  230. package/dist/esm/hooks/shouldDeoptDueToParentScheme.js.map +0 -6
  231. package/dist/esm/hooks/shouldDeoptDueToParentScheme.mjs +0 -5
  232. package/dist/esm/hooks/shouldDeoptDueToParentScheme.mjs.map +0 -1
  233. package/dist/esm/hooks/shouldDeoptDueToParentScheme.native.js +0 -29
  234. package/dist/esm/hooks/shouldDeoptDueToParentScheme.native.js.map +0 -6
  235. package/src/helpers/ThemeManager.tsx +0 -405
  236. package/src/helpers/ThemeManagerContext.tsx +0 -4
  237. package/src/hooks/shouldDeoptDueToParentScheme.native.tsx +0 -37
  238. package/src/hooks/shouldDeoptDueToParentScheme.tsx +0 -6
  239. package/types/helpers/ThemeManager.d.ts +0 -45
  240. package/types/helpers/ThemeManager.d.ts.map +0 -1
  241. package/types/helpers/ThemeManagerContext.d.ts +0 -4
  242. package/types/helpers/ThemeManagerContext.d.ts.map +0 -1
  243. package/types/hooks/shouldDeoptDueToParentScheme.d.ts +0 -3
  244. package/types/hooks/shouldDeoptDueToParentScheme.d.ts.map +0 -1
  245. package/types/hooks/shouldDeoptDueToParentScheme.native.d.ts +0 -3
  246. package/types/hooks/shouldDeoptDueToParentScheme.native.d.ts.map +0 -1
@@ -14,222 +14,22 @@ var __export = (target, all) => {
14
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
15
  var useTheme_exports = {};
16
16
  __export(useTheme_exports, {
17
- activeThemeManagers: () => activeThemeManagers,
18
- getThemeManager: () => getThemeManager,
19
- useChangeThemeEffect: () => useChangeThemeEffect,
20
17
  useTheme: () => useTheme,
21
18
  useThemeWithState: () => useThemeWithState
22
19
  });
23
20
  module.exports = __toCommonJS(useTheme_exports);
24
- var import_constants = require("@tamagui/constants"), import_react = require("react"), import_config = require("../config"), import_createVariable = require("../createVariable"), import_ThemeManager = require("../helpers/ThemeManager"), import_ThemeManagerContext = require("../helpers/ThemeManagerContext"), import_createShallowSetState = require("../helpers/createShallowSetState"), import_shouldDeoptDueToParentScheme = require("./shouldDeoptDueToParentScheme");
25
- const emptyProps = { name: null }, useTheme = (props = emptyProps) => {
26
- const [_, theme] = useThemeWithState(props);
21
+ var import_react = require("react"), import_getThemeProxied = require("./getThemeProxied"), import_useThemeState = require("./useThemeState");
22
+ const useTheme = (props = {}) => {
23
+ const [theme] = useThemeWithState(props);
27
24
  return theme;
28
- }, useThemeWithState = (props) => {
29
- const keys = (0, import_react.useRef)(null), changedThemeState = useChangeThemeEffect(props, !1, keys);
30
- process.env.NODE_ENV === "development" && globalThis.time && time`theme-change-effect`;
31
- const { themeManager, state } = changedThemeState;
32
- process.env.NODE_ENV === "development" && (state?.theme || process.env.TAMAGUI_DISABLE_NO_THEME_WARNING !== "1" && console.error(
25
+ }, useThemeWithState = (props, isRoot = !1) => {
26
+ const keys = (0, import_react.useRef)(null), themeState = (0, import_useThemeState.useThemeState)(props, isRoot, keys);
27
+ return process.env.NODE_ENV === "development" && (themeState?.theme || process.env.TAMAGUI_DISABLE_NO_THEME_WARNING !== "1" && console.error(
33
28
  `[tamagui] No theme found, this could be due to an invalid theme name (given theme props ${JSON.stringify(
34
29
  props
35
30
  )}).
36
31
 
37
32
  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`
38
- ));
39
- const themeProxied = getThemeProxied(props, state, keys, themeManager);
40
- return process.env.NODE_ENV === "development" && props.debug === "verbose" && (console.groupCollapsed(` \u{1F539} [${themeManager?.id}] useTheme =>`, state?.name), console.info(
41
- "returning state",
42
- changedThemeState.state,
43
- changedThemeState.isNewTheme,
44
- "from props",
45
- props
46
- ), console.groupEnd()), [changedThemeState, themeProxied];
47
- }, emptyObject = {}, ProxiedThemes = /* @__PURE__ */ new Map();
48
- let curKeys, curProps, curThemeManger;
49
- function getThemeProxied(_props, state, _keys, _themeManager) {
50
- const theme = state?.theme;
51
- if (!theme || !_themeManager)
52
- return emptyObject;
53
- if (curKeys = _keys, curProps = _props, curThemeManger = _themeManager, ProxiedThemes.has(theme))
54
- return ProxiedThemes.get(theme);
55
- const { name, scheme } = state, config = (0, import_config.getConfig)();
56
- function track(key) {
57
- 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}`));
58
- }
59
- const proxied = Object.fromEntries(
60
- Object.entries(theme).flatMap(([key, value]) => {
61
- const proxied2 = {
62
- ...value,
63
- get val() {
64
- return globalThis.tamaguiAvoidTracking || track(key), value.val;
65
- },
66
- get(platform) {
67
- return (0, import_createVariable.getVariable)(value);
68
- }
69
- };
70
- return [
71
- [key, proxied2],
72
- [`$${key}`, proxied2]
73
- ];
74
- })
75
- );
76
- return ProxiedThemes.set(theme, proxied), proxied;
77
- }
78
- const activeThemeManagers = /* @__PURE__ */ new Set(), _uidToManager = /* @__PURE__ */ new WeakMap(), _idToUID = {}, getId = (id) => _idToUID[id], getThemeManager = (id) => _uidToManager.get(getId(id)), registerThemeManager = (t) => {
79
- if (!_idToUID[t.id]) {
80
- const id = _idToUID[t.id] = {};
81
- _uidToManager.set(id, t);
82
- }
83
- }, ogLog = console.error, preventWarnSetState = process.env.NODE_ENV === "production" ? ogLog : (
84
- // temporary fix for logs, they are harmless in that i've tried to rewrite this
85
- // a few times using the "right" ways, but they are always slower. maybe skill issue
86
- (a, ...args) => {
87
- if (!(typeof a == "string" && a.includes("Cannot update a component")))
88
- return ogLog(a, ...args);
89
- }
90
- );
91
- function getShouldUpdateTheme(props, parentManager, keys, themeState, nextState, forceShouldChange = !1) {
92
- if (import_constants.isServer || !forceShouldChange && !keys?.current && (!themeState || !themeState.isNewTheme) && !(0, import_ThemeManager.getHasThemeUpdatingProps)(props))
93
- return;
94
- const next = nextState || themeState?.themeManager?.getState(props, parentManager);
95
- if (forceShouldChange)
96
- return next;
97
- if (!(!next || next.theme === themeState?.state?.theme))
98
- return next;
99
- }
100
- const useChangeThemeEffect = (props, isRoot = !1, keys) => {
101
- const { disable } = props, parentManager = (0, import_react.useContext)(import_ThemeManagerContext.ThemeManagerContext), shouldAlwaysUpdate = props.needsUpdate?.() === !0 ? !0 : void 0;
102
- if (!isRoot && !parentManager || disable)
103
- return {
104
- isNewTheme: !1,
105
- state: parentManager?.state,
106
- themeManager: parentManager
107
- };
108
- const [themeState, setThemeState] = (0, import_react.useState)(createState), { state, mounted, isNewTheme, themeManager, prevState } = themeState, isInversingOnMount = !!(!themeState.mounted && props.inverse);
109
- if (import_constants.isServer || ((0, import_react.useLayoutEffect)(() => {
110
- themeManager && state && prevState && state !== prevState && themeManager.notify();
111
- }, [state]), (0, import_react.useEffect)(() => {
112
- if (!themeManager) return;
113
- if (props.inverse && !mounted) {
114
- setThemeState((prev) => createState({
115
- ...prev,
116
- mounted: !0
117
- }));
118
- return;
119
- }
120
- (isNewTheme || isRoot) && (activeThemeManagers.add(themeManager), process.env.NODE_ENV === "development" && isRoot && (globalThis.TamaguiRootThemeManager ||= themeManager));
121
- const updated = getShouldUpdateTheme(
122
- props,
123
- parentManager,
124
- keys,
125
- themeState,
126
- void 0,
127
- shouldAlwaysUpdate
128
- );
129
- updated && setThemeState((prev) => createState(prev, void 0, updated));
130
- const selfListenerDispose = themeManager.onChangeTheme((_a, _b, forced) => {
131
- forced && setThemeState((prev) => createState(prev, forced !== "self"));
132
- }, !0), disposeChangeListener = parentManager?.onChangeTheme(
133
- (name, manager, forced) => {
134
- const force = forced || (import_constants.isServer ? void 0 : keys?.current ? !0 : void 0) || props.deopt || void 0, shouldTryUpdate = force ?? !!(keys?.current || isNewTheme);
135
- process.env.NODE_ENV === "development" && props.debug === "verbose" && console.info(" \u{1F538} onChange", {
136
- id: themeManager.id,
137
- force,
138
- shouldTryUpdate,
139
- props,
140
- name,
141
- keys
142
- }), shouldTryUpdate && setThemeState((prev) => createState(prev, !0));
143
- },
144
- themeManager.id
145
- );
146
- return () => {
147
- selfListenerDispose(), disposeChangeListener?.(), isNewTheme && activeThemeManagers.delete(themeManager);
148
- };
149
- }, [
150
- themeManager,
151
- parentManager,
152
- isNewTheme,
153
- props.componentName,
154
- props.inverse,
155
- props.name,
156
- props.reset,
157
- mounted
158
- ]), process.env.NODE_ENV === "development" && props.debug !== "profile" && (0, import_react.useEffect)(() => (globalThis.TamaguiThemeManagers ??= /* @__PURE__ */ new Set(), globalThis.TamaguiThemeManagers.add(themeManager), () => {
159
- globalThis.TamaguiThemeManagers.delete(themeManager);
160
- }), [themeManager])), import_constants.isWeb && isInversingOnMount)
161
- return {
162
- isNewTheme: !1,
163
- inversed: !1,
164
- themeManager: parentManager,
165
- state: {
166
- name: "",
167
- ...parentManager?.state,
168
- className: ""
169
- }
170
- };
171
- return {
172
- state,
173
- isNewTheme,
174
- inversed: !!props.inverse,
175
- themeManager
176
- };
177
- function createState(prev, force = !1, foundNextState) {
178
- if (prev && !foundNextState && !keys?.current && !force)
179
- return prev;
180
- let themeManager2 = parentManager, state2;
181
- if ((0, import_ThemeManager.getHasThemeUpdatingProps)(props)) {
182
- const parentManagerProp = isRoot ? "root" : parentManager;
183
- if (prev?.themeManager) {
184
- themeManager2 = prev.themeManager;
185
- const forceChange = force || shouldAlwaysUpdate || (keys?.current ? !0 : void 0);
186
- let nextState = null;
187
- if (foundNextState)
188
- nextState = foundNextState;
189
- else {
190
- const next = themeManager2.getState(props, parentManager);
191
- nextState = getShouldUpdateTheme(
192
- props,
193
- parentManager,
194
- keys,
195
- prev,
196
- next,
197
- forceChange
198
- );
199
- }
200
- nextState ? (state2 = nextState, !prev.isNewTheme && !isRoot ? themeManager2 = new import_ThemeManager.ThemeManager(props, parentManagerProp) : themeManager2.updateState(nextState)) : prev.isNewTheme && parentManager && !nextState && (themeManager2 = parentManager);
201
- } else
202
- themeManager2 = new import_ThemeManager.ThemeManager(props, parentManagerProp), state2 = { ...themeManager2.state };
203
- }
204
- const isNewTheme2 = !!(themeManager2 !== parentManager || props.inverse);
205
- isNewTheme2 && registerThemeManager(themeManager2);
206
- const mounted2 = (import_constants.isWeb ? !(0, import_config.getSetting)("disableSSR") : !1) ? isRoot || prev?.mounted : !0;
207
- state2 || (isNewTheme2 ? state2 = themeManager2.state : (state2 = parentManager.state, themeManager2 = parentManager));
208
- const response = {
209
- themeManager: themeManager2,
210
- isNewTheme: isNewTheme2,
211
- mounted: mounted2
212
- };
213
- props.inverse && (response.inversed = !0);
214
- const shouldReturnPrev = prev && !force && // isEqualShallow uses the second arg as the keys so this should compare without state first...
215
- (0, import_createShallowSetState.isEqualShallow)(prev, response) && // ... and then compare just the state, because we make a new state obj but is likely the same
216
- (0, import_createShallowSetState.isEqualShallow)(prev.state, state2);
217
- if (prev && shouldReturnPrev)
218
- return prev;
219
- if (response.state = state2, response.prevState = prev?.state, process.env.NODE_ENV === "development" && props.debug && import_constants.isClient) {
220
- console.groupCollapsed(`\u{1F537} [${themeManager2.id}] useChangeThemeEffect createState`);
221
- const parentState = { ...parentManager?.state }, parentId = parentManager?.id, themeManagerState = { ...themeManager2.state };
222
- console.info({
223
- props,
224
- parentState,
225
- parentId,
226
- themeManager: themeManager2,
227
- prev,
228
- response,
229
- themeManagerState
230
- }), console.groupEnd();
231
- }
232
- return response;
233
- }
33
+ )), [(0, import_getThemeProxied.getThemeProxied)(props, themeState, keys), themeState];
234
34
  };
235
35
  //# sourceMappingURL=useTheme.js.map
@@ -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": ["proxied", "themeManager", "state", "isNewTheme", "mounted"]
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAuB,kBAEvB,yBAAmD,8BAEnD,uBAA8B;AAEvB,MAAM,WAAW,CAAC,QAAoB,CAAC,MAAM;AAClD,QAAM,CAAC,KAAK,IAAI,kBAAkB,KAAK;AAEvC,SADY;AAEd,GAOa,oBAAoB,CAC/B,OACA,SAAS,OACU;AACnB,QAAM,WAAO,qBAA2B,IAAI,GACtC,iBAAa,oCAAc,OAAO,QAAQ,IAAI;AAEpD,SAAI,QAAQ,IAAI,aAAa,kBACtB,YAAY,SACX,QAAQ,IAAI,qCAAqC,OACnD,QAAQ;AAAA,IACN,2FAA2F,KAAK;AAAA,MAC9F;AAAA,IACF,CAAC;AAAA;AAAA;AAAA,EACH,IAOC,KAFc,wCAAgB,OAAO,YAAY,IAAI,GAEtC,UAAU;AAClC;",
5
+ "names": []
6
6
  }
@@ -15,270 +15,26 @@ var __export = (target, all) => {
15
15
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
16
  var useTheme_exports = {};
17
17
  __export(useTheme_exports, {
18
- activeThemeManagers: () => activeThemeManagers,
19
- getThemeManager: () => getThemeManager,
20
- useChangeThemeEffect: () => useChangeThemeEffect,
21
18
  useTheme: () => useTheme,
22
19
  useThemeWithState: () => useThemeWithState
23
20
  });
24
21
  module.exports = __toCommonJS(useTheme_exports);
25
- var import_constants = require("@tamagui/constants"), import_react = require("react"), import_config = require("../config"), import_createVariable = require("../createVariable"), import_ThemeManager = require("../helpers/ThemeManager"), import_ThemeManagerContext = require("../helpers/ThemeManagerContext"), import_createShallowSetState = require("../helpers/createShallowSetState"), import_shouldDeoptDueToParentScheme = require("./shouldDeoptDueToParentScheme"), emptyProps = {
26
- name: null
27
- }, useTheme = function() {
28
- var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : emptyProps, [_, theme] = useThemeWithState(props), res = theme;
22
+ var import_react = require("react"), import_getThemeProxied = require("./getThemeProxied"), import_useThemeState = require("./useThemeState"), useTheme = function() {
23
+ var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, [theme] = useThemeWithState(props), res = theme;
29
24
  return res;
30
25
  }, useThemeWithState = function(props) {
31
- var keys = (0, import_react.useRef)(null), changedThemeState = useChangeThemeEffect(props, !1, keys);
32
- process.env.NODE_ENV === "development" && globalThis.time && time`theme-change-effect`;
33
- var { themeManager, state } = changedThemeState;
34
- process.env.NODE_ENV === "development" && (state != null && 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)}).
26
+ var isRoot = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, keys = (0, import_react.useRef)(null), themeState = (0, import_useThemeState.useThemeState)(props, isRoot, keys);
27
+ process.env.NODE_ENV === "development" && (themeState != null && themeState.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)}).
35
28
 
36
29
  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`));
37
- var themeProxied = getThemeProxied(props, state, keys, themeManager);
38
- return process.env.NODE_ENV === "development" && props.debug === "verbose" && (console.groupCollapsed(` \u{1F539} [${themeManager == null ? void 0 : themeManager.id}] useTheme =>`, state == null ? void 0 : state.name), console.info("returning state", changedThemeState.state, changedThemeState.isNewTheme, "from props", props), console.groupEnd()), [
39
- changedThemeState,
40
- themeProxied
30
+ var themeProxied = (0, import_getThemeProxied.getThemeProxied)(props, themeState, keys);
31
+ return [
32
+ themeProxied,
33
+ themeState
41
34
  ];
42
- }, emptyObject = {}, ProxiedThemes = /* @__PURE__ */ new Map(), curKeys, curProps, curThemeManger;
43
- function getThemeProxied(_props, state, _keys, _themeManager) {
44
- var theme = state == null ? void 0 : state.theme;
45
- if (!theme || !_themeManager)
46
- return emptyObject;
47
- if (curKeys = _keys, curProps = _props, curThemeManger = _themeManager, ProxiedThemes.has(theme)) {
48
- var proxied = ProxiedThemes.get(theme);
49
- return proxied;
50
- }
51
- var { name, scheme } = state, config = (0, import_config.getConfig)();
52
- function track(key) {
53
- 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}`));
54
- }
55
- var proxied1 = Object.fromEntries(Object.entries(theme).flatMap(function(param) {
56
- var [key, value] = param, proxied2 = {
57
- ...value,
58
- get val() {
59
- return globalThis.tamaguiAvoidTracking || track(key), value.val;
60
- },
61
- get(platform) {
62
- var outVal = (0, import_createVariable.getVariable)(value);
63
- if (platform !== "web" && import_constants.isIos && !curProps.deopt && (0, import_config.getSetting)("fastSchemeChange") && !(0, import_shouldDeoptDueToParentScheme.shouldDeoptDueToParentScheme)(curThemeManger) && scheme) {
64
- var _config_themes_name, _config_themes_oppositeName, oppositeScheme = scheme === "dark" ? "light" : "dark", oppositeName = name.replace(scheme, oppositeScheme), color = (0, import_createVariable.getVariable)((_config_themes_name = config.themes[name]) === null || _config_themes_name === void 0 ? void 0 : _config_themes_name[key]), oppositeColor = (0, import_createVariable.getVariable)((_config_themes_oppositeName = config.themes[oppositeName]) === null || _config_themes_oppositeName === void 0 ? void 0 : _config_themes_oppositeName[key]), dynamicVal = {
65
- dynamic: {
66
- [scheme]: color,
67
- [oppositeScheme]: oppositeColor
68
- }
69
- };
70
- return dynamicVal;
71
- }
72
- return process.env.NODE_ENV === "development" && curProps.debug && console.info(` \u{1F3A8} useTheme() tracking new key because of:
73
- not web: ${platform !== "web"}
74
- isIOS: ${import_constants.isIos}
75
- deopt: ${curProps.deopt}
76
- fastScheme: ${(0, import_config.getSetting)("fastSchemeChange")}
77
- inversed: ${getIsInversed(curThemeManger)}
78
- `), track(key), outVal;
79
- }
80
- };
81
- return [
82
- [
83
- key,
84
- proxied2
85
- ],
86
- [
87
- `$${key}`,
88
- proxied2
89
- ]
90
- ];
91
- }));
92
- return ProxiedThemes.set(theme, proxied1), proxied1;
93
- }
94
- function getIsInversed(manager) {
95
- for (var isInversed = !1, cur = manager; cur; ) {
96
- if (!cur.parentManager) return isInversed;
97
- cur.parentManager.state.scheme !== cur.state.scheme && (isInversed = !isInversed), cur = cur.parentManager;
98
- }
99
- return !1;
100
- }
101
- var activeThemeManagers = /* @__PURE__ */ new Set(), _uidToManager = /* @__PURE__ */ new WeakMap(), _idToUID = {}, getId = function(id) {
102
- return _idToUID[id];
103
- }, getThemeManager = function(id) {
104
- return _uidToManager.get(getId(id));
105
- }, registerThemeManager = function(t) {
106
- if (!_idToUID[t.id]) {
107
- var id = _idToUID[t.id] = {};
108
- _uidToManager.set(id, t);
109
- }
110
- }, ogLog = console.error, preventWarnSetState = process.env.NODE_ENV === "production" ? ogLog : (
111
- // temporary fix for logs, they are harmless in that i've tried to rewrite this
112
- // a few times using the "right" ways, but they are always slower. maybe skill issue
113
- function(a) {
114
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++)
115
- args[_key - 1] = arguments[_key];
116
- if (!(typeof a == "string" && a.includes("Cannot update a component")))
117
- return ogLog(a, ...args);
118
- }
119
- );
120
- function getShouldUpdateTheme(props, parentManager, keys, themeState, nextState) {
121
- var forceShouldChange = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !1, _themeState_themeManager, _themeState_state;
122
- if (!import_constants.isServer && !(!forceShouldChange && !(keys != null && keys.current) && (!themeState || !themeState.isNewTheme) && !(0, import_ThemeManager.getHasThemeUpdatingProps)(props))) {
123
- var next = nextState || (themeState == null || (_themeState_themeManager = themeState.themeManager) === null || _themeState_themeManager === void 0 ? void 0 : _themeState_themeManager.getState(props, parentManager));
124
- if (forceShouldChange)
125
- return next;
126
- if (!(!next || next.theme === (themeState == null || (_themeState_state = themeState.state) === null || _themeState_state === void 0 ? void 0 : _themeState_state.theme)))
127
- return next;
128
- }
129
- }
130
- var useChangeThemeEffect = function(props) {
131
- var isRoot = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, keys = arguments.length > 2 ? arguments[2] : void 0, _props_needsUpdate, { disable } = props, parentManager = (0, import_react.useContext)(import_ThemeManagerContext.ThemeManagerContext), shouldAlwaysUpdate = ((_props_needsUpdate = props.needsUpdate) === null || _props_needsUpdate === void 0 ? void 0 : _props_needsUpdate.call(props)) === !0 ? !0 : void 0;
132
- if (!isRoot && !parentManager || disable)
133
- return {
134
- isNewTheme: !1,
135
- state: parentManager == null ? void 0 : parentManager.state,
136
- themeManager: parentManager
137
- };
138
- var [themeState, setThemeState] = (0, import_react.useState)(createState), { state, mounted, isNewTheme, themeManager, prevState } = themeState, isInversingOnMount = !!(!themeState.mounted && props.inverse);
139
- if (themeManager) {
140
- var nextState = getShouldUpdateTheme(props, parentManager, keys, themeState, void 0, shouldAlwaysUpdate);
141
- if (nextState) {
142
- var _next_state, _themeState_state, next = createState(themeState, void 0, nextState);
143
- ((_next_state = next.state) === null || _next_state === void 0 ? void 0 : _next_state.name) !== ((_themeState_state = themeState.state) === null || _themeState_state === void 0 ? void 0 : _themeState_state.name) && (setThemeState(next), console.error = preventWarnSetState, themeManager.notify(), console.error = ogLog);
144
- }
145
- }
146
- if (import_constants.isServer || ((0, import_react.useEffect)(function() {
147
- if (themeManager) {
148
- if (props.inverse && !mounted) {
149
- setThemeState(function(prev) {
150
- return createState({
151
- ...prev,
152
- mounted: !0
153
- });
154
- });
155
- return;
156
- }
157
- if ((isNewTheme || isRoot) && (activeThemeManagers.add(themeManager), process.env.NODE_ENV === "development" && isRoot)) {
158
- var _globalThis, _TamaguiRootThemeManager;
159
- (_globalThis = globalThis)[_TamaguiRootThemeManager = "TamaguiRootThemeManager"] || (_globalThis[_TamaguiRootThemeManager] = themeManager);
160
- }
161
- var updated = getShouldUpdateTheme(props, parentManager, keys, themeState, void 0, shouldAlwaysUpdate);
162
- updated && setThemeState(function(prev) {
163
- return createState(prev, void 0, updated);
164
- });
165
- var selfListenerDispose = themeManager.onChangeTheme(function(_a, _b, forced) {
166
- forced && setThemeState(function(prev) {
167
- var next2 = createState(prev, forced !== "self");
168
- return next2;
169
- });
170
- }, !0), disposeChangeListener = parentManager == null ? void 0 : parentManager.onChangeTheme(function(name, manager, forced) {
171
- var force = forced || (import_constants.isServer ? void 0 : keys != null && keys.current ? !0 : void 0) || props.deopt || props["disable-child-theme"], shouldTryUpdate = force ?? !!(keys != null && keys.current || isNewTheme);
172
- process.env.NODE_ENV === "development" && props.debug === "verbose" && console.info(" \u{1F538} onChange", {
173
- id: themeManager.id,
174
- force,
175
- shouldTryUpdate,
176
- props,
177
- name,
178
- keys
179
- }), shouldTryUpdate && setThemeState(function(prev) {
180
- return createState(prev, !0);
181
- });
182
- }, themeManager.id);
183
- return function() {
184
- selfListenerDispose(), disposeChangeListener == null || disposeChangeListener(), isNewTheme && activeThemeManagers.delete(themeManager);
185
- };
186
- }
187
- }, [
188
- themeManager,
189
- parentManager,
190
- isNewTheme,
191
- props.componentName,
192
- props.inverse,
193
- props.name,
194
- props.reset,
195
- mounted
196
- ]), process.env.NODE_ENV === "development" && props.debug !== "profile" && (0, import_react.useEffect)(function() {
197
- var _globalThis, _TamaguiThemeManagers, _;
198
- return (_ = (_globalThis = globalThis)[_TamaguiThemeManagers = "TamaguiThemeManagers"]) !== null && _ !== void 0 || (_globalThis[_TamaguiThemeManagers] = /* @__PURE__ */ new Set()), globalThis.TamaguiThemeManagers.add(themeManager), function() {
199
- globalThis.TamaguiThemeManagers.delete(themeManager);
200
- };
201
- }, [
202
- themeManager
203
- ])), import_constants.isWeb && isInversingOnMount)
204
- return {
205
- isNewTheme: !1,
206
- inversed: !1,
207
- themeManager: parentManager,
208
- state: {
209
- name: "",
210
- ...parentManager == null ? void 0 : parentManager.state,
211
- className: ""
212
- }
213
- };
214
- return {
215
- state,
216
- isNewTheme,
217
- inversed: !!props.inverse,
218
- themeManager
219
- };
220
- function createState(prev) {
221
- var force = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, foundNextState = arguments.length > 2 ? arguments[2] : void 0;
222
- if (prev && !foundNextState && !(keys != null && keys.current) && !force)
223
- return prev;
224
- var themeManager2 = parentManager, state2, hasThemeUpdatingProps = (0, import_ThemeManager.getHasThemeUpdatingProps)(props);
225
- if (hasThemeUpdatingProps) {
226
- var parentManagerProp = isRoot ? "root" : parentManager;
227
- if (prev != null && prev.themeManager) {
228
- themeManager2 = prev.themeManager;
229
- var forceChange = force || shouldAlwaysUpdate || (keys != null && keys.current ? !0 : void 0), nextState2 = null;
230
- if (foundNextState)
231
- nextState2 = foundNextState;
232
- else {
233
- var next2 = themeManager2.getState(props, parentManager);
234
- nextState2 = getShouldUpdateTheme(props, parentManager, keys, prev, next2, forceChange);
235
- }
236
- nextState2 ? (state2 = nextState2, !prev.isNewTheme && !isRoot ? themeManager2 = new import_ThemeManager.ThemeManager(props, parentManagerProp) : themeManager2.updateState(nextState2)) : prev.isNewTheme && parentManager && !nextState2 && (themeManager2 = parentManager);
237
- } else
238
- themeManager2 = new import_ThemeManager.ThemeManager(props, parentManagerProp), state2 = {
239
- ...themeManager2.state
240
- };
241
- }
242
- var isNewTheme2 = !!(themeManager2 !== parentManager || props.inverse);
243
- isNewTheme2 && registerThemeManager(themeManager2);
244
- var isWebSSR = import_constants.isWeb ? !(0, import_config.getSetting)("disableSSR") : !1, mounted2 = isWebSSR ? isRoot || (prev == null ? void 0 : prev.mounted) : !0;
245
- state2 || (isNewTheme2 ? state2 = themeManager2.state : (state2 = parentManager.state, themeManager2 = parentManager));
246
- var response = {
247
- themeManager: themeManager2,
248
- isNewTheme: isNewTheme2,
249
- mounted: mounted2
250
- };
251
- props.inverse && (response.inversed = !0);
252
- var shouldReturnPrev = prev && !force && // isEqualShallow uses the second arg as the keys so this should compare without state first...
253
- (0, import_createShallowSetState.isEqualShallow)(prev, response) && // ... and then compare just the state, because we make a new state obj but is likely the same
254
- (0, import_createShallowSetState.isEqualShallow)(prev.state, state2);
255
- if (prev && shouldReturnPrev)
256
- return prev;
257
- if (response.state = state2, response.prevState = prev == null ? void 0 : prev.state, process.env.NODE_ENV === "development" && props.debug && import_constants.isClient) {
258
- console.groupCollapsed(`\u{1F537} [${themeManager2.id}] useChangeThemeEffect createState`);
259
- var parentState = {
260
- ...parentManager == null ? void 0 : parentManager.state
261
- }, parentId = parentManager == null ? void 0 : parentManager.id, themeManagerState = {
262
- ...themeManager2.state
263
- };
264
- console.info({
265
- props,
266
- parentState,
267
- parentId,
268
- themeManager: themeManager2,
269
- prev,
270
- response,
271
- themeManagerState
272
- }), console.groupEnd();
273
- }
274
- return response;
275
- }
276
35
  };
277
36
  // Annotate the CommonJS export names for ESM import in node:
278
37
  0 && (module.exports = {
279
- activeThemeManagers,
280
- getThemeManager,
281
- useChangeThemeEffect,
282
38
  useTheme,
283
39
  useThemeWithState
284
40
  });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/Users/n8/tamagui/code/core/web/src/hooks/useTheme.tsx"],
4
- "mappings": "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",
5
- "names": ["emptyProps", "name", "useTheme", "props", "_", "theme", "useThemeWithState", "res", "keys", "useRef", "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", "proxied", "get", "scheme", "config", "getConfig", "track", "key", "current", "push", "Object", "fromEntries", "entries", "flatMap", "value", "val", "tamaguiAvoidTracking", "platform", "outVal", "getVariable", "isIos", "deopt", "getSetting", "shouldDeoptDueToParentScheme", "oppositeScheme", "oppositeName", "replace", "color", "themes", "oppositeColor", "dynamicVal", "dynamic", "getIsInversed", "set", "manager", "isInversed", "cur", "parentManager", "activeThemeManagers", "Set", "_uidToManager", "WeakMap", "_idToUID", "getId", "getThemeManager", "registerThemeManager", "t", "ogLog", "preventWarnSetState", "a", "args", "includes", "getShouldUpdateTheme", "themeState", "nextState", "forceShouldChange", "isServer", "getHasThemeUpdatingProps", "next", "getState", "isRoot", "disable", "useContext", "ThemeManagerContext", "shouldAlwaysUpdate", "needsUpdate", "undefined", "setThemeState", "useState", "createState", "mounted", "prevState", "isInversingOnMount", "Boolean", "inverse", "notify", "useEffect", "prev", "add", "updated", "selfListenerDispose", "onChangeTheme", "_a", "_b", "forced", "disposeChangeListener", "force", "shouldTryUpdate", "delete", "componentName", "reset", "isWeb", "inversed", "className", "foundNextState", "hasThemeUpdatingProps", "parentManagerProp", "forceChange", "ThemeManager", "updateState", "isWebSSR", "response", "shouldReturnPrev", "isEqualShallow", "isClient", "parentState", "parentId", "themeManagerState"]
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;;;;;;mBAAuB,kBAEvB,yBAAmD,8BAEnD,uBAA8B,4BAEjBA,WAAW,WAAA;MAACC,QAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAAoB,CAAC,GACtC,CAACC,KAAAA,IAASC,kBAAkBF,KAAAA,GAC5BG,MAAMF;AACZ,SAAOE;AACT,GAOaD,oBAAoB,SAC/BF,OAAAA;MACAI,SAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAAS,IAEHC,WAAOC,qBAA2B,IAAA,GAClCC,iBAAaC,oCAAcR,OAAOI,QAAQC,IAAAA;AAEhD,EAAII,QAAQC,IAAIC,aAAa,kBACtBJ,cAAAA,QAAAA,WAAYN,SACXQ,QAAQC,IAAIE,qCAAqC,OACnDC,QAAQC,MACN,2FAA2FC,KAAKC,UAC9FhB,KAAAA,CAAAA;;sKAC4K;AAMtL,MAAMiB,mBAAeC,wCAAgBlB,OAAOO,YAAYF,IAAAA;AAExD,SAAO;IAACY;IAAcV;;AACxB;",
5
+ "names": ["useTheme", "props", "theme", "useThemeWithState", "res", "isRoot", "keys", "useRef", "themeState", "useThemeState", "process", "env", "NODE_ENV", "TAMAGUI_DISABLE_NO_THEME_WARNING", "console", "error", "JSON", "stringify", "themeProxied", "getThemeProxied"]
6
6
  }
@@ -1,9 +1,7 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf,
6
- __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
5
  var __export = (target, all) => {
8
6
  for (var name in all) __defProp(target, name, {
9
7
  get: all[name],
@@ -17,33 +15,23 @@ var __export = (target, all) => {
17
15
  });
18
16
  return to;
19
17
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
- value: mod,
27
- enumerable: !0
28
- }) : target, mod)),
29
- __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
30
- value: !0
31
- }), mod);
18
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
+ value: !0
20
+ }), mod);
32
21
  var useThemeName_exports = {};
33
22
  __export(useThemeName_exports, {
34
23
  useThemeName: () => useThemeName
35
24
  });
36
25
  module.exports = __toCommonJS(useThemeName_exports);
37
- var import_constants = require("@tamagui/constants"),
38
- import_react = __toESM(require("react")),
39
- import_ThemeManagerContext = require("../helpers/ThemeManagerContext.cjs");
40
- function useThemeName(opts) {
41
- const manager = import_react.default.useContext(import_ThemeManagerContext.ThemeManagerContext),
42
- [name, setName] = import_react.default.useState(manager?.state.name || "");
43
- return (0, import_constants.useIsomorphicLayoutEffect)(() => {
44
- if (manager) return setName(manager.state.name), manager.onChangeTheme((next, manager2) => {
45
- const name2 = opts?.parent && manager2.state.parentName || next;
46
- name2 && setName(name2);
47
- });
48
- }, [manager?.state.name]), name;
26
+ var import_useThemeState = require("./useThemeState.cjs");
27
+ const forceUpdateState = {
28
+ forceClassName: !0,
29
+ deopt: !0,
30
+ needsUpdate: () => !0
31
+ },
32
+ forceKeys = {
33
+ current: /* @__PURE__ */new Set([""])
34
+ };
35
+ function useThemeName() {
36
+ return (0, import_useThemeState.useThemeState)(forceUpdateState, !1, forceKeys)?.name || "";
49
37
  }