@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
@@ -1,20 +1,22 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { isWeb } from "@tamagui/constants";
3
3
  import React, { Children, cloneElement, forwardRef, isValidElement, useRef } from "react";
4
+ import { getSetting } from "../config";
4
5
  import { variableToString } from "../createVariable";
5
- import { log } from "../helpers/log";
6
- import { ThemeManagerContext } from "../helpers/ThemeManagerContext";
7
- import { useChangeThemeEffect } from "../hooks/useTheme";
6
+ import { useThemeWithState } from "../hooks/useTheme";
7
+ import { getThemeState, hasThemeUpdatingProps, ThemeStateContext } from "../hooks/useThemeState";
8
8
  import { ThemeDebug } from "./ThemeDebug";
9
- var Theme = /* @__PURE__ */ forwardRef(function(param, ref) {
10
- var { children, ...props } = param;
9
+ var empty = {
10
+ className: "",
11
+ style: {}
12
+ }, Theme = /* @__PURE__ */ forwardRef(function(props, ref) {
11
13
  if (props.disable)
12
- return children;
13
- var isRoot = !!props._isRoot, themeState = useChangeThemeEffect(props, isRoot), disableDirectChildTheme = props["disable-child-theme"], finalChildren = disableDirectChildTheme ? Children.map(children, function(child) {
14
+ return props.children;
15
+ var isRoot = !!props._isRoot, [_, themeState] = useThemeWithState(props, isRoot), disableDirectChildTheme = props["disable-child-theme"], finalChildren = disableDirectChildTheme ? Children.map(props.children, function(child) {
14
16
  return /* @__PURE__ */ cloneElement(child, {
15
17
  "data-disable-theme": !0
16
18
  });
17
- }) : children;
19
+ }) : props.children;
18
20
  if (ref)
19
21
  try {
20
22
  React.Children.only(finalChildren), finalChildren = /* @__PURE__ */ cloneElement(finalChildren, {
@@ -22,11 +24,6 @@ var Theme = /* @__PURE__ */ forwardRef(function(param, ref) {
22
24
  });
23
25
  } catch {
24
26
  }
25
- process.env.NODE_ENV === "development" && props.debug === "visualize" && (finalChildren = /* @__PURE__ */ _jsx(ThemeDebug, {
26
- themeState,
27
- themeProps: props,
28
- children: finalChildren
29
- }));
30
27
  var stateRef = useRef({
31
28
  hasEverThemed: !1
32
29
  });
@@ -34,65 +31,68 @@ var Theme = /* @__PURE__ */ forwardRef(function(param, ref) {
34
31
  });
35
32
  Theme.avoidForwardRef = !0;
36
33
  function getThemedChildren(themeState, children, props) {
37
- var isRoot = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1, stateRef = arguments.length > 4 ? arguments[4] : void 0, { themeManager, isNewTheme } = themeState;
38
- if (!themeManager)
39
- return children;
40
- var { shallow, forceClassName } = props, shouldRenderChildrenWithTheme = isNewTheme || isRoot || "inverse" in props || "name" in props || "reset" in props || "forceClassName" in props || stateRef.current.hasEverThemed;
41
- if (shouldRenderChildrenWithTheme && (stateRef.current.hasEverThemed = !0), !shouldRenderChildrenWithTheme)
42
- return children;
43
- process.env.NODE_ENV === "development" && shouldRenderChildrenWithTheme && props.debug === "verbose" && log(`adding theme: isRoot ${isRoot}, inverse ${"inverse" in props}, isNewTheme ${isNewTheme}, hasEver ${stateRef.current.hasEverThemed}`, props);
44
- var next = children;
45
- shallow && (next = Children.toArray(children).map(function(child) {
46
- return /* @__PURE__ */ isValidElement(child) ? /* @__PURE__ */ cloneElement(child, void 0, /* @__PURE__ */ _jsx(Theme, {
47
- name: themeManager.state.parentName,
48
- children: child.props.children
49
- })) : child;
50
- }));
51
- var elementsWithContext = /* @__PURE__ */ _jsx(ThemeManagerContext.Provider, {
52
- value: themeManager,
53
- children: next
54
- });
55
- return forceClassName === !1 ? elementsWithContext : isWeb ? wrapThemeElements({
56
- children: elementsWithContext,
57
- themeState,
58
- forceClassName,
59
- isRoot
60
- }) : elementsWithContext;
61
- }
62
- function wrapThemeElements(param) {
63
- var { children, themeState, forceClassName, isRoot } = param;
64
- if (isRoot && forceClassName === !1)
34
+ var isRoot = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1, stateRef = arguments.length > 4 ? arguments[4] : void 0, { shallow, forceClassName } = props, state = stateRef.current, hasEverThemed = state.hasEverThemed, shouldRenderChildrenWithTheme = hasEverThemed || themeState.isNew || isRoot || hasThemeUpdatingProps(props);
35
+ if (!shouldRenderChildrenWithTheme)
65
36
  return children;
66
- var inverse = themeState.inversed, requiresExtraWrapper = typeof inverse == "boolean" || forceClassName, { className, style } = getThemeClassNameAndStyle(themeState, isRoot), themedChildren = /* @__PURE__ */ _jsx("span", {
67
- className: `${className} _dsp_contents is_Theme`,
68
- style,
37
+ children = /* @__PURE__ */ _jsx(ThemeStateContext.Provider, {
38
+ value: themeState.id,
69
39
  children
70
40
  });
71
- if (requiresExtraWrapper) {
72
- var _themeState_state, name = ((_themeState_state = themeState.state) === null || _themeState_state === void 0 ? void 0 : _themeState_state.name) || "", inverseClassName = name.startsWith("light") ? "t_light is_inversed" : name.startsWith("dark") ? "t_dark is_inversed" : "";
73
- themedChildren = /* @__PURE__ */ _jsx("span", {
74
- className: `${inverse ? inverseClassName : ""} _dsp_contents`,
75
- children: themedChildren
41
+ var { isInverse, name } = themeState, requiresExtraWrapper = isInverse || forceClassName;
42
+ if (state.hasEverThemed || (state.hasEverThemed = !0), (requiresExtraWrapper || // if the theme is exactly dark or light, its likely to change between dark/light
43
+ // and that would require wrapping which would re-parent, so to avoid re-parenting do this
44
+ themeState.name === "dark" || themeState.name === "light") && (state.hasEverThemed = "wrapped"), shallow && themeState.parentId) {
45
+ var parentState = getThemeState(themeState.isNew ? themeState.id : themeState.parentId);
46
+ if (!parentState) throw new Error("\u203C\uFE0F010");
47
+ children = Children.toArray(children).map(function(child) {
48
+ return /* @__PURE__ */ isValidElement(child) ? /* @__PURE__ */ cloneElement(child, void 0, /* @__PURE__ */ _jsx(Theme, {
49
+ name: parentState.name,
50
+ children: child.props.children
51
+ })) : child;
76
52
  });
77
53
  }
78
- return themedChildren;
54
+ if (process.env.NODE_ENV === "development" && props.debug && (console.warn(" getThemedChildren", {
55
+ requiresExtraWrapper,
56
+ forceClassName,
57
+ themeState,
58
+ state,
59
+ ...getThemeClassNameAndStyle(themeState, props, isRoot)
60
+ }), children = /* @__PURE__ */ _jsx(ThemeDebug, {
61
+ themeState,
62
+ themeProps: props,
63
+ children
64
+ })), forceClassName === !1)
65
+ return children;
66
+ if (isWeb) {
67
+ var { className, style } = getThemeClassNameAndStyle(themeState, props, isRoot);
68
+ if (children = /* @__PURE__ */ _jsx("span", {
69
+ className: `${className} _dsp_contents is_Theme`,
70
+ style,
71
+ children
72
+ }), state.hasEverThemed === "wrapped") {
73
+ var className1 = requiresExtraWrapper ? `${isInverse ? name.startsWith("light") ? "t_light is_inversed" : name.startsWith("dark") ? "t_dark is_inversed" : "" : ""} _dsp_contents` : "_dsp_contents";
74
+ children = /* @__PURE__ */ _jsx("span", {
75
+ className: className1,
76
+ children
77
+ });
78
+ }
79
+ return children;
80
+ }
81
+ return children;
79
82
  }
80
- var emptyObj = {};
81
- function getThemeClassNameAndStyle(themeState) {
82
- var isRoot = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, _themeState_state, _themeState_state1;
83
- if (!themeState.isNewTheme)
84
- return {
85
- className: "",
86
- style: emptyObj
87
- };
88
- var themeColor = !((_themeState_state = themeState.state) === null || _themeState_state === void 0) && _themeState_state.theme && themeState.isNewTheme ? variableToString(themeState.state.theme.color) : "", style = themeColor ? {
83
+ function getThemeClassNameAndStyle(themeState, props) {
84
+ var isRoot = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1;
85
+ if (!themeState.isNew && !props.forceClassName)
86
+ return empty;
87
+ var themeColor = themeState?.theme && themeState.isNew ? variableToString(themeState.theme.color) : "", style = themeColor ? {
89
88
  color: themeColor
90
- } : void 0, className = ((_themeState_state1 = themeState.state) === null || _themeState_state1 === void 0 ? void 0 : _themeState_state1.className) || "";
91
- return isRoot && (className = className.replace("t_sub_theme", "")), {
89
+ } : void 0, maxInverses = getSetting("maxDarkLightNesting") || 3, themeClassName = themeState.inverses >= maxInverses ? themeState.name : themeState.name.replace(schemePrefix, ""), className = `${isRoot ? "" : "t_sub_theme"} t_${themeClassName}`;
90
+ return {
92
91
  style,
93
92
  className
94
93
  };
95
94
  }
95
+ var schemePrefix = /^(dark|light)_/;
96
96
  export {
97
97
  Theme,
98
98
  getThemedChildren
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/Users/n8/tamagui/code/core/web/src/views/Theme.tsx"],
4
- "mappings": "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",
5
- "names": ["isWeb", "React", "Children", "cloneElement", "forwardRef", "isValidElement", "useRef", "variableToString", "log", "ThemeManagerContext", "useChangeThemeEffect", "ThemeDebug", "Theme", "ref", "children", "props", "disable", "isRoot", "themeState", "disableDirectChildTheme", "finalChildren", "map", "child", "only", "process", "env", "NODE_ENV", "debug", "themeProps", "stateRef", "hasEverThemed", "getThemedChildren", "themeManager", "isNewTheme", "shallow", "forceClassName", "shouldRenderChildrenWithTheme", "current", "next", "toArray", "undefined", "name", "state", "parentName", "elementsWithContext", "Provider", "value", "wrapThemeElements", "inverse", "inversed", "requiresExtraWrapper", "className", "style", "getThemeClassNameAndStyle", "themedChildren", "span", "inverseClassName", "startsWith", "emptyObj", "themeColor", "theme", "color", "replace"]
4
+ "mappings": ";AAAA,SAASA,aAAa;AAEtB,OAAOC,SACLC,UACAC,cACAC,YACAC,gBAEAC,cACK;AACP,SAASC,kBAAkB;AAC3B,SAASC,wBAAwB;AACjC,SAASC,yBAAyB;AAClC,SACEC,eACAC,uBACAC,yBAEK;AAEP,SAASC,kBAAkB;AAE3B,IAAMC,QAAQ;EAAEC,WAAW;EAAIC,OAAO,CAAC;AAAE,GAE5BC,QAAQb,2BAAW,SAAec,OAAmBC,KAAG;AAEnE,MAAID,MAAME;AACR,WAAOF,MAAMG;AAGf,MAAMC,SAAS,CAAC,CAACJ,MAAM,SACjB,CAACK,GAAGC,UAAAA,IAAcf,kBAAkBS,OAAOI,MAAAA,GAE3CG,0BAA0BP,MAAM,qBAAA,GAElCQ,gBAAgBD,0BAChBvB,SAASyB,IAAIT,MAAMG,UAAU,SAACO,OAAAA;WAC5BzB,6BAAayB,OAAO;MAAG,sBAAuB;IAAK,CAAA;OAErDV,MAAMG;AAEV,MAAIF;AACF,QAAI;AACFlB,YAAMC,SAAS2B,KAAKH,aAAAA,GACpBA,gBAAgBvB,6BAAauB,eAAe;QAAEP;MAAI,CAAA;IACpD,QAAQ;IAER;AAGF,MAAMW,WAAWxB,OAAO;IACtByB,eAAe;EACjB,CAAA;AAEA,SAAOC,kBAAkBR,YAAYE,eAAeR,OAAOI,QAAQQ,QAAAA;AACrE,CAAA;AAEAb,MAAM,kBAAqB;AAEpB,SAASe,kBACdR,YACAH,UACAH,OAAiB;MACjBI,SAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAAS,IACTQ,WAAAA,UAAAA,SAAAA,IAAAA,UAAAA,CAAAA,IAAAA,QAEM,EAAEG,SAASC,eAAc,IAAKhB,OAG9BiB,QAAQL,SAASM,SACnBL,gBAAgBI,MAAMJ,eAEtBM,gCACFN,iBAAiBP,WAAWc,SAAShB,UAAUX,sBAAsBO,KAAAA;AAEvE,MAAI,CAACmB;AACH,WAAOhB;AAKTA,aACE,qBAACT,kBAAkB2B,UAAQ;IAACC,OAAOhB,WAAWiB;;;AAKhD,MAAM,EAAEC,WAAWC,KAAI,IAAKnB,YACtBoB,uBAAuBF,aAAaR;AAiB1C,MAdKC,MAAMJ,kBACTI,MAAMJ,gBAAgB,MAGtBa;;EAGApB,WAAWmB,SAAS,UACpBnB,WAAWmB,SAAS,aAEpBR,MAAMJ,gBAAgB,YAIpBE,WACGT,WAAWqB,UAET;AACL,QAAMC,cAAcpC,cAClBc,WAAWc,QAAQd,WAAWiB,KAAKjB,WAAWqB,QAAQ;AAExD,QAAI,CAACC,YAAa,OAAM,IAAIC,MAAM,iBAAO;AACzC1B,eAAWnB,SAAS8C,QAAQ3B,QAAAA,EAAUM,IAAI,SAACC,OAAAA;AACzC,aAAOvB,+BAAeuB,KAAAA,IAClBzB,6BACEyB,OACAqB,QACA,qBAAChC,OAAAA;QAAM0B,MAAMG,YAAYH;kBAAQf,MAAcV,MAAMG;YAEvDO;IACN,CAAA;EACF;AAoBF,MAjBIsB,QAAQC,IAAIC,aAAa,iBACvBlC,MAAMmC,UACRC,QAAQC,KAAK,sBAAsB;IACjCX;IACAV;IACAV;IACAW;IACA,GAAGqB,0BAA0BhC,YAAYN,OAAOI,MAAAA;EAClD,CAAA,GACAD,WACE,qBAACR,YAAAA;IAAWW;IAAwBiC,YAAYvC;;OAOlDgB,mBAAmB;AACrB,WAAOb;AAGT,MAAIrB,OAAO;AACT,QAAM,EAAEe,WAAWC,MAAK,IAAKwC,0BAA0BhC,YAAYN,OAAOI,MAAAA;AAS1E,QAPAD,WACE,qBAACqC,QAAAA;MAAK3C,WAAW,GAAGA,SAAAA;MAAoCC;;QAMtDmB,MAAMJ,kBAAkB,WAAW;AAErC,UAAMhB,aAAY6B,uBACd,GACEF,YACIC,KAAKgB,WAAW,OAAA,IACd,wBACAhB,KAAKgB,WAAW,MAAA,IACd,uBACA,KACJ,EAAA,mBAEN;AACJtC,iBAAW,qBAACqC,QAAAA;QAAK3C,WAAWA;;;IAC9B;AAEA,WAAOM;EACT;AAEA,SAAOA;AACT;AAEA,SAASmC,0BACPhC,YACAN,OAAiB;MACjBI,SAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAAS;AAET,MAAI,CAACE,WAAWc,SAAS,CAACpB,MAAMgB;AAC9B,WAAOpB;AAIT,MAAM8C,aACJpC,YAAYqC,SAASrC,WAAWc,QAAQ9B,iBAAiBgB,WAAWqC,MAAMC,KAAK,IAAI,IAE/E9C,QAAQ4C,aACV;IACEE,OAAOF;EACT,IACAX,QAEEc,cAAcxD,WAAW,qBAAA,KAA0B,GACnDyD,iBACJxC,WAAWyC,YAAYF,cACnBvC,WAAWmB,OACXnB,WAAWmB,KAAKuB,QAAQC,cAAc,EAAA,GAEtCpD,YAAY,GAAGO,SAAS,KAAK,aAAA,MAAmB0C,cAAAA;AAEtD,SAAO;IAAEhD;IAAOD;EAAU;AAC5B;AAEA,IAAMoD,eAAe;",
5
+ "names": ["isWeb", "React", "Children", "cloneElement", "forwardRef", "isValidElement", "useRef", "getSetting", "variableToString", "useThemeWithState", "getThemeState", "hasThemeUpdatingProps", "ThemeStateContext", "ThemeDebug", "empty", "className", "style", "Theme", "props", "ref", "disable", "children", "isRoot", "_", "themeState", "disableDirectChildTheme", "finalChildren", "map", "child", "only", "stateRef", "hasEverThemed", "getThemedChildren", "shallow", "forceClassName", "state", "current", "shouldRenderChildrenWithTheme", "isNew", "Provider", "value", "id", "isInverse", "name", "requiresExtraWrapper", "parentId", "parentState", "Error", "toArray", "undefined", "process", "env", "NODE_ENV", "debug", "console", "warn", "getThemeClassNameAndStyle", "themeProps", "span", "startsWith", "themeColor", "theme", "color", "maxInverses", "themeClassName", "inverses", "replace", "schemePrefix"]
6
6
  }
@@ -1,6 +1,5 @@
1
- import React from "react";
2
1
  import { useDidFinishSSR } from "@tamagui/use-did-finish-ssr";
3
- import { useForceUpdate } from "@tamagui/use-force-update";
2
+ import { useEffect } from "react";
4
3
  import { createPortal } from "react-dom";
5
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
5
  let node;
@@ -10,17 +9,9 @@ function ThemeDebug({
10
9
  children
11
10
  }) {
12
11
  if (process.env.NODE_ENV === "development") {
13
- const isHydrated = useDidFinishSSR(), [onChangeCount, setOnChangeCount] = React.useState(0), rerender = useForceUpdate(), id = React.useId();
14
- return process.env.NODE_ENV === "development" && typeof document < "u" && (node || (node = document.createElement("div"), node.style.height = "200px", node.style.overflowY = "scroll", node.style.position = "fixed", node.style.zIndex = 1e7, node.style.bottom = "30px", node.style.left = "30px", node.style.right = "30px", node.style.display = "flex", node.style.border = "1px solid #888", node.style.flexDirection = "row", node.style.background = "var(--background)", document.body.appendChild(node))), React.useEffect(() => {
15
- themeState.themeManager?.parentManager?.onChangeTheme((name, manager) => {
16
- setOnChangeCount((p) => ++p), console.warn(
17
- `theme changed for ${themeState.themeManager?.id} from parent ${themeState.themeManager?.parentManager?.id} to new name`,
18
- name
19
- );
20
- });
21
- }, [themeState.themeManager]), React.useEffect(() => {
22
- const tm = setInterval(rerender, 1e3);
23
- return () => clearTimeout(tm);
12
+ const isHydrated = useDidFinishSSR();
13
+ return process.env.NODE_ENV === "development" && typeof document < "u" && (node || (node = document.createElement("div"), node.style.height = "200px", node.style.overflowY = "scroll", node.style.position = "fixed", node.style.zIndex = 1e7, node.style.bottom = "30px", node.style.left = "30px", node.style.right = "30px", node.style.display = "flex", node.style.border = "1px solid #888", node.style.flexDirection = "row", node.style.background = "var(--background)")), useEffect(() => {
14
+ document.body.appendChild(node);
24
15
  }, []), themeProps["disable-child-theme"] || !isHydrated ? children : /* @__PURE__ */ jsxs(Fragment, { children: [
25
16
  createPortal(
26
17
  /* @__PURE__ */ jsxs(
@@ -34,24 +25,20 @@ function ThemeDebug({
34
25
  },
35
26
  children: [
36
27
  "<Theme ",
37
- id,
28
+ themeState.id,
38
29
  " />\xA0",
39
30
  JSON.stringify(
40
31
  {
41
- propsName: themeProps.name,
42
- name: themeState?.state?.name,
43
- className: themeState?.state?.className,
44
- inverse: themeProps.inverse,
45
- forceClassName: themeProps.forceClassName,
46
- parent: themeState.themeManager?.state.parentName,
47
- id: themeState.themeManager?.id,
48
- parentId: themeState.themeManager?.parentManager?.id,
49
- isNew: themeState.isNewTheme,
50
- onChangeCount,
51
- listening: [...themeState.themeManager?._listeningIds || []].join(
52
- ","
53
- ),
54
- _numChangeEventsSent: themeState.themeManager?._numChangeEventsSent
32
+ name: themeState.name,
33
+ parentId: themeState.parentId,
34
+ inverses: themeState.inverses,
35
+ isNew: themeState.isNew,
36
+ themeProps: {
37
+ name: themeProps.name,
38
+ componentName: themeProps.componentName,
39
+ reset: themeProps.reset,
40
+ inverse: themeProps.inverse
41
+ }
55
42
  },
56
43
  null,
57
44
  2
@@ -61,7 +48,7 @@ function ThemeDebug({
61
48
  ),
62
49
  node
63
50
  ),
64
- /* @__PURE__ */ jsx("div", { style: { color: "red" }, children: id }),
51
+ /* @__PURE__ */ jsx("div", { style: { color: "red" }, children: themeState.id }),
65
52
  children
66
53
  ] });
67
54
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/ThemeDebug.tsx"],
4
- "mappings": "AAAA,OAAO,WAAW;AAClB,SAAS,uBAAuB;AAChC,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAyDvB,mBAmCE,KAjCE,YAFJ;AApDN,IAAI;AAEG,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AACF,GAAgF;AAC9E,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,UAAM,aAAa,gBAAgB,GAC7B,CAAC,eAAe,gBAAgB,IAAI,MAAM,SAAS,CAAC,GACpD,WAAW,eAAe,GAC1B,KAAK,MAAM,MAAM;AAoCvB,WAlCI,QAAQ,IAAI,aAAa,iBAAiB,OAAO,WAAa,QAC3D,SACH,OAAO,SAAS,cAAc,KAAK,GACnC,KAAK,MAAM,SAAS,SACpB,KAAK,MAAM,YAAY,UACvB,KAAK,MAAM,WAAW,SACtB,KAAK,MAAM,SAAS,KACpB,KAAK,MAAM,SAAS,QACpB,KAAK,MAAM,OAAO,QAClB,KAAK,MAAM,QAAQ,QACnB,KAAK,MAAM,UAAU,QACrB,KAAK,MAAM,SAAS,kBACpB,KAAK,MAAM,gBAAgB,OAC3B,KAAK,MAAM,aAAa,qBACxB,SAAS,KAAK,YAAY,IAAI,KAIlC,MAAM,UAAU,MAAM;AACpB,iBAAW,cAAc,eAAe,cAAc,CAAC,MAAM,YAAY;AACvE,yBAAiB,CAAC,MAAM,EAAE,CAAC,GAC3B,QAAQ;AAAA,UACN,qBAAqB,WAAW,cAAc,EAAE,gBAAgB,WAAW,cAAc,eAAe,EAAE;AAAA,UAC1G;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH,GAAG,CAAC,WAAW,YAAY,CAAC,GAE5B,MAAM,UAAU,MAAM;AAEpB,YAAM,KAAK,YAAY,UAAU,GAAI;AACrC,aAAO,MAAM,aAAa,EAAS;AAAA,IACrC,GAAG,CAAC,CAAC,GAED,WAAW,qBAAqB,KAAK,CAAC,aACjC,WAIP,iCACG;AAAA;AAAA,QACC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,cACL,YAAY;AAAA,cACZ,UAAU;AAAA,cACV,UAAU;AAAA,cACV,SAAS;AAAA,YACX;AAAA,YACD;AAAA;AAAA,cACY;AAAA,cAAG;AAAA,cACb,KAAK;AAAA,gBACJ;AAAA,kBACE,WAAW,WAAW;AAAA,kBACtB,MAAM,YAAY,OAAO;AAAA,kBACzB,WAAW,YAAY,OAAO;AAAA,kBAC9B,SAAS,WAAW;AAAA,kBACpB,gBAAgB,WAAW;AAAA,kBAC3B,QAAQ,WAAW,cAAc,MAAM;AAAA,kBACvC,IAAI,WAAW,cAAc;AAAA,kBAC7B,UAAU,WAAW,cAAc,eAAe;AAAA,kBAClD,OAAO,WAAW;AAAA,kBAClB;AAAA,kBACA,WAAW,CAAC,GAAI,WAAW,cAAe,iBAAoB,CAAC,CAAE,EAAE;AAAA,oBACjE;AAAA,kBACF;AAAA,kBACA,sBAAsB,WAAW,cAAe;AAAA,gBAClD;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA;AAAA;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,MAEA,oBAAC,SAAI,OAAO,EAAE,OAAO,MAAM,GAAI,cAAG;AAAA,MAEjC;AAAA,OACH;AAAA,EAEJ;AACA,SAAO;AACT;AAEA,WAAW,cAAiB;",
4
+ "mappings": "AAAA,SAAS,uBAAuB;AAChC,SAAS,iBAAiB;AAC1B,SAAS,oBAAoB;AAwCvB,mBA+BE,KA7BE,YAFJ;AApCN,IAAI;AAEG,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AACF,GAAsE;AACpE,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,UAAM,aAAa,gBAAgB;AAuBnC,WArBI,QAAQ,IAAI,aAAa,iBAAiB,OAAO,WAAa,QAC3D,SACH,OAAO,SAAS,cAAc,KAAK,GACnC,KAAK,MAAM,SAAS,SACpB,KAAK,MAAM,YAAY,UACvB,KAAK,MAAM,WAAW,SACtB,KAAK,MAAM,SAAS,KACpB,KAAK,MAAM,SAAS,QACpB,KAAK,MAAM,OAAO,QAClB,KAAK,MAAM,QAAQ,QACnB,KAAK,MAAM,UAAU,QACrB,KAAK,MAAM,SAAS,kBACpB,KAAK,MAAM,gBAAgB,OAC3B,KAAK,MAAM,aAAa,uBAI5B,UAAU,MAAM;AACd,eAAS,KAAK,YAAY,IAAI;AAAA,IAChC,GAAG,CAAC,CAAC,GAED,WAAW,qBAAqB,KAAK,CAAC,aACjC,WAIP,iCACG;AAAA;AAAA,QACC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,cACL,YAAY;AAAA,cACZ,UAAU;AAAA,cACV,UAAU;AAAA,cACV,SAAS;AAAA,YACX;AAAA,YACD;AAAA;AAAA,cACY,WAAW;AAAA,cAAG;AAAA,cACxB,KAAK;AAAA,gBACJ;AAAA,kBACE,MAAM,WAAW;AAAA,kBACjB,UAAU,WAAW;AAAA,kBACrB,UAAU,WAAW;AAAA,kBACrB,OAAO,WAAW;AAAA,kBAClB,YAAY;AAAA,oBACV,MAAM,WAAW;AAAA,oBACjB,eAAe,WAAW;AAAA,oBAC1B,OAAO,WAAW;AAAA,oBAClB,SAAS,WAAW;AAAA,kBACtB;AAAA,gBACF;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA;AAAA;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,MAEA,oBAAC,SAAI,OAAO,EAAE,OAAO,MAAM,GAAI,qBAAW,IAAG;AAAA,MAE5C;AAAA,OACH;AAAA,EAEJ;AACA,SAAO;AACT;AAEA,WAAW,cAAiB;",
5
5
  "names": []
6
6
  }
@@ -1,6 +1,5 @@
1
- import React from "react";
2
1
  import { useDidFinishSSR } from "@tamagui/use-did-finish-ssr";
3
- import { useForceUpdate } from "@tamagui/use-force-update";
2
+ import { useEffect } from "react";
4
3
  import { createPortal } from "react-dom";
5
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
5
  let node;
@@ -10,17 +9,9 @@ function ThemeDebug({
10
9
  children
11
10
  }) {
12
11
  if (process.env.NODE_ENV === "development") {
13
- const isHydrated = useDidFinishSSR(),
14
- [onChangeCount, setOnChangeCount] = React.useState(0),
15
- rerender = useForceUpdate(),
16
- id = React.useId();
17
- return process.env.NODE_ENV === "development" && typeof document < "u" && (node || (node = document.createElement("div"), node.style.height = "200px", node.style.overflowY = "scroll", node.style.position = "fixed", node.style.zIndex = 1e7, node.style.bottom = "30px", node.style.left = "30px", node.style.right = "30px", node.style.display = "flex", node.style.border = "1px solid #888", node.style.flexDirection = "row", node.style.background = "var(--background)", document.body.appendChild(node))), React.useEffect(() => {
18
- themeState.themeManager?.parentManager?.onChangeTheme((name, manager) => {
19
- setOnChangeCount(p => ++p), console.warn(`theme changed for ${themeState.themeManager?.id} from parent ${themeState.themeManager?.parentManager?.id} to new name`, name);
20
- });
21
- }, [themeState.themeManager]), React.useEffect(() => {
22
- const tm = setInterval(rerender, 1e3);
23
- return () => clearTimeout(tm);
12
+ const isHydrated = useDidFinishSSR();
13
+ return process.env.NODE_ENV === "development" && typeof document < "u" && (node || (node = document.createElement("div"), node.style.height = "200px", node.style.overflowY = "scroll", node.style.position = "fixed", node.style.zIndex = 1e7, node.style.bottom = "30px", node.style.left = "30px", node.style.right = "30px", node.style.display = "flex", node.style.border = "1px solid #888", node.style.flexDirection = "row", node.style.background = "var(--background)")), useEffect(() => {
14
+ document.body.appendChild(node);
24
15
  }, []), themeProps["disable-child-theme"] || !isHydrated ? children : /* @__PURE__ */jsxs(Fragment, {
25
16
  children: [createPortal(/* @__PURE__ */jsxs("code", {
26
17
  style: {
@@ -29,25 +20,23 @@ function ThemeDebug({
29
20
  overflow: "auto",
30
21
  padding: 5
31
22
  },
32
- children: ["<Theme ", id, " />\xA0", JSON.stringify({
33
- propsName: themeProps.name,
34
- name: themeState?.state?.name,
35
- className: themeState?.state?.className,
36
- inverse: themeProps.inverse,
37
- forceClassName: themeProps.forceClassName,
38
- parent: themeState.themeManager?.state.parentName,
39
- id: themeState.themeManager?.id,
40
- parentId: themeState.themeManager?.parentManager?.id,
41
- isNew: themeState.isNewTheme,
42
- onChangeCount,
43
- listening: [...(themeState.themeManager?._listeningIds || [])].join(","),
44
- _numChangeEventsSent: themeState.themeManager?._numChangeEventsSent
23
+ children: ["<Theme ", themeState.id, " />\xA0", JSON.stringify({
24
+ name: themeState.name,
25
+ parentId: themeState.parentId,
26
+ inverses: themeState.inverses,
27
+ isNew: themeState.isNew,
28
+ themeProps: {
29
+ name: themeProps.name,
30
+ componentName: themeProps.componentName,
31
+ reset: themeProps.reset,
32
+ inverse: themeProps.inverse
33
+ }
45
34
  }, null, 2)]
46
35
  }), node), /* @__PURE__ */jsx("div", {
47
36
  style: {
48
37
  color: "red"
49
38
  },
50
- children: id
39
+ children: themeState.id
51
40
  }), children]
52
41
  });
53
42
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","useDidFinishSSR","useForceUpdate","createPortal","Fragment","jsx","jsxs","node","ThemeDebug","themeState","themeProps","children","process","env","NODE_ENV","isHydrated","onChangeCount","setOnChangeCount","useState","rerender","id","useId","document","createElement","style","height","overflowY","position","zIndex","bottom","left","right","display","border","flexDirection","background","body","appendChild","useEffect","themeManager","parentManager","onChangeTheme","name","manager","p","console","warn","tm","setInterval","clearTimeout","whiteSpace","maxWidth","overflow","padding","JSON","stringify","propsName","state","className","inverse","forceClassName","parent","parentName","parentId","isNew","isNewTheme","listening","_listeningIds","join","_numChangeEventsSent","color","displayName"],"sources":["../../../src/views/ThemeDebug.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAClB,SAASC,eAAA,QAAuB;AAChC,SAASC,cAAA,QAAsB;AAC/B,SAASC,YAAA,QAAoB;AAyDvB,SAAAC,QAAA,EAmCEC,GAAA,EAjCEC,IAAA,QAFJ;AApDN,IAAIC,IAAA;AAEG,SAASC,WAAW;EACzBC,UAAA;EACAC,UAAA;EACAC;AACF,GAAgF;EAC9E,IAAIC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,eAAe;IAC1C,MAAMC,UAAA,GAAad,eAAA,CAAgB;MAC7B,CAACe,aAAA,EAAeC,gBAAgB,IAAIjB,KAAA,CAAMkB,QAAA,CAAS,CAAC;MACpDC,QAAA,GAAWjB,cAAA,CAAe;MAC1BkB,EAAA,GAAKpB,KAAA,CAAMqB,KAAA,CAAM;IAoCvB,OAlCIT,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,iBAAiB,OAAOQ,QAAA,GAAa,QAC3Df,IAAA,KACHA,IAAA,GAAOe,QAAA,CAASC,aAAA,CAAc,KAAK,GACnChB,IAAA,CAAKiB,KAAA,CAAMC,MAAA,GAAS,SACpBlB,IAAA,CAAKiB,KAAA,CAAME,SAAA,GAAY,UACvBnB,IAAA,CAAKiB,KAAA,CAAMG,QAAA,GAAW,SACtBpB,IAAA,CAAKiB,KAAA,CAAMI,MAAA,GAAS,KACpBrB,IAAA,CAAKiB,KAAA,CAAMK,MAAA,GAAS,QACpBtB,IAAA,CAAKiB,KAAA,CAAMM,IAAA,GAAO,QAClBvB,IAAA,CAAKiB,KAAA,CAAMO,KAAA,GAAQ,QACnBxB,IAAA,CAAKiB,KAAA,CAAMQ,OAAA,GAAU,QACrBzB,IAAA,CAAKiB,KAAA,CAAMS,MAAA,GAAS,kBACpB1B,IAAA,CAAKiB,KAAA,CAAMU,aAAA,GAAgB,OAC3B3B,IAAA,CAAKiB,KAAA,CAAMW,UAAA,GAAa,qBACxBb,QAAA,CAASc,IAAA,CAAKC,WAAA,CAAY9B,IAAI,KAIlCP,KAAA,CAAMsC,SAAA,CAAU,MAAM;MACpB7B,UAAA,CAAW8B,YAAA,EAAcC,aAAA,EAAeC,aAAA,CAAc,CAACC,IAAA,EAAMC,OAAA,KAAY;QACvE1B,gBAAA,CAAkB2B,CAAA,IAAM,EAAEA,CAAC,GAC3BC,OAAA,CAAQC,IAAA,CACN,qBAAqBrC,UAAA,CAAW8B,YAAA,EAAcnB,EAAE,gBAAgBX,UAAA,CAAW8B,YAAA,EAAcC,aAAA,EAAepB,EAAE,gBAC1GsB,IACF;MACF,CAAC;IACH,GAAG,CAACjC,UAAA,CAAW8B,YAAY,CAAC,GAE5BvC,KAAA,CAAMsC,SAAA,CAAU,MAAM;MAEpB,MAAMS,EAAA,GAAKC,WAAA,CAAY7B,QAAA,EAAU,GAAI;MACrC,OAAO,MAAM8B,YAAA,CAAaF,EAAS;IACrC,GAAG,EAAE,GAEDrC,UAAA,CAAW,qBAAqB,KAAK,CAACK,UAAA,GACjCJ,QAAA,GAIP,eAAAL,IAAA,CAAAF,QAAA;MACGO,QAAA,GAAAR,YAAA,CACC,eAAAG,IAAA,CAAC;QACCkB,KAAA,EAAO;UACL0B,UAAA,EAAY;UACZC,QAAA,EAAU;UACVC,QAAA,EAAU;UACVC,OAAA,EAAS;QACX;QACD1C,QAAA,cACYS,EAAA,EAAG,WACbkC,IAAA,CAAKC,SAAA,CACJ;UACEC,SAAA,EAAW9C,UAAA,CAAWgC,IAAA;UACtBA,IAAA,EAAMjC,UAAA,EAAYgD,KAAA,EAAOf,IAAA;UACzBgB,SAAA,EAAWjD,UAAA,EAAYgD,KAAA,EAAOC,SAAA;UAC9BC,OAAA,EAASjD,UAAA,CAAWiD,OAAA;UACpBC,cAAA,EAAgBlD,UAAA,CAAWkD,cAAA;UAC3BC,MAAA,EAAQpD,UAAA,CAAW8B,YAAA,EAAckB,KAAA,CAAMK,UAAA;UACvC1C,EAAA,EAAIX,UAAA,CAAW8B,YAAA,EAAcnB,EAAA;UAC7B2C,QAAA,EAAUtD,UAAA,CAAW8B,YAAA,EAAcC,aAAA,EAAepB,EAAA;UAClD4C,KAAA,EAAOvD,UAAA,CAAWwD,UAAA;UAClBjD,aAAA;UACAkD,SAAA,EAAW,CAAC,IAAIzD,UAAA,CAAW8B,YAAA,EAAe4B,aAAA,IAAoB,EAAG,GAAEC,IAAA,CACjE,GACF;UACAC,oBAAA,EAAsB5D,UAAA,CAAW8B,YAAA,EAAe8B;QAClD,GACA,MACA,CACF;MAAA,CACF,GACA9D,IACF,GAEA,eAAAF,GAAA,CAAC;QAAImB,KAAA,EAAO;UAAE8C,KAAA,EAAO;QAAM;QAAI3D,QAAA,EAAAS;MAAA,CAAG,GAEjCT,QAAA;IAAA,CACH;EAEJ;EACA,OAAOA,QAAA;AACT;AAEAH,UAAA,CAAW+D,WAAA,GAAiB","ignoreList":[]}
1
+ {"version":3,"names":["useDidFinishSSR","useEffect","createPortal","Fragment","jsx","jsxs","node","ThemeDebug","themeState","themeProps","children","process","env","NODE_ENV","isHydrated","document","createElement","style","height","overflowY","position","zIndex","bottom","left","right","display","border","flexDirection","background","body","appendChild","whiteSpace","maxWidth","overflow","padding","id","JSON","stringify","name","parentId","inverses","isNew","componentName","reset","inverse","color","displayName"],"sources":["../../../src/views/ThemeDebug.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAA,QAAuB;AAChC,SAASC,SAAA,QAAiB;AAC1B,SAASC,YAAA,QAAoB;AAwCvB,SAAAC,QAAA,EA+BEC,GAAA,EA7BEC,IAAA,QAFJ;AApCN,IAAIC,IAAA;AAEG,SAASC,WAAW;EACzBC,UAAA;EACAC,UAAA;EACAC;AACF,GAAsE;EACpE,IAAIC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,eAAe;IAC1C,MAAMC,UAAA,GAAad,eAAA,CAAgB;IAuBnC,OArBIW,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,iBAAiB,OAAOE,QAAA,GAAa,QAC3DT,IAAA,KACHA,IAAA,GAAOS,QAAA,CAASC,aAAA,CAAc,KAAK,GACnCV,IAAA,CAAKW,KAAA,CAAMC,MAAA,GAAS,SACpBZ,IAAA,CAAKW,KAAA,CAAME,SAAA,GAAY,UACvBb,IAAA,CAAKW,KAAA,CAAMG,QAAA,GAAW,SACtBd,IAAA,CAAKW,KAAA,CAAMI,MAAA,GAAS,KACpBf,IAAA,CAAKW,KAAA,CAAMK,MAAA,GAAS,QACpBhB,IAAA,CAAKW,KAAA,CAAMM,IAAA,GAAO,QAClBjB,IAAA,CAAKW,KAAA,CAAMO,KAAA,GAAQ,QACnBlB,IAAA,CAAKW,KAAA,CAAMQ,OAAA,GAAU,QACrBnB,IAAA,CAAKW,KAAA,CAAMS,MAAA,GAAS,kBACpBpB,IAAA,CAAKW,KAAA,CAAMU,aAAA,GAAgB,OAC3BrB,IAAA,CAAKW,KAAA,CAAMW,UAAA,GAAa,uBAI5B3B,SAAA,CAAU,MAAM;MACdc,QAAA,CAASc,IAAA,CAAKC,WAAA,CAAYxB,IAAI;IAChC,GAAG,EAAE,GAEDG,UAAA,CAAW,qBAAqB,KAAK,CAACK,UAAA,GACjCJ,QAAA,GAIP,eAAAL,IAAA,CAAAF,QAAA;MACGO,QAAA,GAAAR,YAAA,CACC,eAAAG,IAAA,CAAC;QACCY,KAAA,EAAO;UACLc,UAAA,EAAY;UACZC,QAAA,EAAU;UACVC,QAAA,EAAU;UACVC,OAAA,EAAS;QACX;QACDxB,QAAA,cACYF,UAAA,CAAW2B,EAAA,EAAG,WACxBC,IAAA,CAAKC,SAAA,CACJ;UACEC,IAAA,EAAM9B,UAAA,CAAW8B,IAAA;UACjBC,QAAA,EAAU/B,UAAA,CAAW+B,QAAA;UACrBC,QAAA,EAAUhC,UAAA,CAAWgC,QAAA;UACrBC,KAAA,EAAOjC,UAAA,CAAWiC,KAAA;UAClBhC,UAAA,EAAY;YACV6B,IAAA,EAAM7B,UAAA,CAAW6B,IAAA;YACjBI,aAAA,EAAejC,UAAA,CAAWiC,aAAA;YAC1BC,KAAA,EAAOlC,UAAA,CAAWkC,KAAA;YAClBC,OAAA,EAASnC,UAAA,CAAWmC;UACtB;QACF,GACA,MACA,CACF;MAAA,CACF,GACAtC,IACF,GAEA,eAAAF,GAAA,CAAC;QAAIa,KAAA,EAAO;UAAE4B,KAAA,EAAO;QAAM;QAAInC,QAAA,EAAAF,UAAA,CAAW2B;MAAA,CAAG,GAE5CzB,QAAA;IAAA,CACH;EAEJ;EACA,OAAOA,QAAA;AACT;AAEAH,UAAA,CAAWuC,WAAA,GAAiB","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ import React, { useId } from "react";
2
2
  import { isClient } from "@tamagui/constants";
3
3
  import { THEME_CLASSNAME_PREFIX } from "../constants/constants";
4
4
  import { Theme } from "./Theme";
@@ -18,7 +18,7 @@ const ThemeProvider = (props) => {
18
18
  className: props.className,
19
19
  name: props.defaultTheme,
20
20
  forceClassName: !disableRootThemeClass && !themeClassNameOnRoot,
21
- _isRoot: !0,
21
+ _isRoot: useId,
22
22
  children: props.children
23
23
  }
24
24
  );
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/ThemeProvider.tsx"],
4
- "mappings": "AAAA,OAAO,WAAW;AAClB,SAAS,gBAAgB;AAEzB,SAAS,8BAA8B;AACvC,SAAS,aAAa;AACtB,SAAS,kBAAkB;AAiCvB;AApBG,MAAM,gBAAgB,CAAC,UAA8B;AAC1D,QAAM,wBACJ,MAAM,yBAAyB,WAAW,uBAAuB,GAC7D,uBACJ,MAAM,wBAAwB,WAAW,sBAAsB;AAGjE,SAAI,YACF,MAAM,gBAAgB,MAAM;AAC1B,QAAI,sBAAuB;AAC3B,UAAM,KAAK,GAAG,sBAAsB,GAAG,MAAM,YAAY,IACnD,SAAS,uBAAuB,SAAS,kBAAkB,SAAS;AAC1E,kBAAO,UAAU,IAAI,EAAE,GAChB,MAAM;AACX,aAAO,UAAU,OAAO,EAAE;AAAA,IAC5B;AAAA,EACF,GAAG,CAAC,MAAM,cAAc,uBAAuB,oBAAoB,CAAC,GAIpE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,MAAM;AAAA,MACjB,MAAM,MAAM;AAAA,MAEZ,gBAAgB,CAAC,yBAAyB,CAAC;AAAA,MAE3C,SAAO;AAAA,MAEN,gBAAM;AAAA;AAAA,EACT;AAEJ;",
4
+ "mappings": "AAAA,OAAO,SAAS,aAAa;AAC7B,SAAS,gBAAgB;AAEzB,SAAS,8BAA8B;AACvC,SAAS,aAAa;AACtB,SAAS,kBAAkB;AAiCvB;AApBG,MAAM,gBAAgB,CAAC,UAA8B;AAC1D,QAAM,wBACJ,MAAM,yBAAyB,WAAW,uBAAuB,GAC7D,uBACJ,MAAM,wBAAwB,WAAW,sBAAsB;AAGjE,SAAI,YACF,MAAM,gBAAgB,MAAM;AAC1B,QAAI,sBAAuB;AAC3B,UAAM,KAAK,GAAG,sBAAsB,GAAG,MAAM,YAAY,IACnD,SAAS,uBAAuB,SAAS,kBAAkB,SAAS;AAC1E,kBAAO,UAAU,IAAI,EAAE,GAChB,MAAM;AACX,aAAO,UAAU,OAAO,EAAE;AAAA,IAC5B;AAAA,EACF,GAAG,CAAC,MAAM,cAAc,uBAAuB,oBAAoB,CAAC,GAIpE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,MAAM;AAAA,MACjB,MAAM,MAAM;AAAA,MAEZ,gBAAgB,CAAC,yBAAyB,CAAC;AAAA,MAE3C,SAAS;AAAA,MAER,gBAAM;AAAA;AAAA,EACT;AAEJ;",
5
5
  "names": []
6
6
  }
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ import React, { useId } from "react";
2
2
  import { isClient } from "@tamagui/constants";
3
3
  import { THEME_CLASSNAME_PREFIX } from "../constants/constants.mjs";
4
4
  import { Theme } from "./Theme.mjs";
@@ -18,7 +18,7 @@ const ThemeProvider = props => {
18
18
  className: props.className,
19
19
  name: props.defaultTheme,
20
20
  forceClassName: !disableRootThemeClass && !themeClassNameOnRoot,
21
- _isRoot: !0,
21
+ _isRoot: useId,
22
22
  children: props.children
23
23
  });
24
24
  };
@@ -1 +1 @@
1
- {"version":3,"names":["React","isClient","THEME_CLASSNAME_PREFIX","Theme","getSetting","jsx","ThemeProvider","props","disableRootThemeClass","themeClassNameOnRoot","useLayoutEffect","cn","defaultTheme","target","document","documentElement","body","classList","add","remove","className","name","forceClassName","_isRoot","children"],"sources":["../../../src/views/ThemeProvider.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAClB,SAASC,QAAA,QAAgB;AAEzB,SAASC,sBAAA,QAA8B;AACvC,SAASC,KAAA,QAAa;AACtB,SAASC,UAAA,QAAkB;AAiCvB,SAAAC,GAAA;AApBG,MAAMC,aAAA,GAAiBC,KAAA,IAA8B;EAC1D,MAAMC,qBAAA,GACJD,KAAA,CAAMC,qBAAA,IAAyBJ,UAAA,CAAW,uBAAuB;IAC7DK,oBAAA,GACJF,KAAA,CAAME,oBAAA,IAAwBL,UAAA,CAAW,sBAAsB;EAGjE,OAAIH,QAAA,IACFD,KAAA,CAAMU,eAAA,CAAgB,MAAM;IAC1B,IAAIF,qBAAA,EAAuB;IAC3B,MAAMG,EAAA,GAAK,GAAGT,sBAAsB,GAAGK,KAAA,CAAMK,YAAY;MACnDC,MAAA,GAASJ,oBAAA,GAAuBK,QAAA,CAASC,eAAA,GAAkBD,QAAA,CAASE,IAAA;IAC1E,OAAAH,MAAA,CAAOI,SAAA,CAAUC,GAAA,CAAIP,EAAE,GAChB,MAAM;MACXE,MAAA,CAAOI,SAAA,CAAUE,MAAA,CAAOR,EAAE;IAC5B;EACF,GAAG,CAACJ,KAAA,CAAMK,YAAA,EAAcJ,qBAAA,EAAuBC,oBAAoB,CAAC,GAIpE,eAAAJ,GAAA,CAACF,KAAA;IACCiB,SAAA,EAAWb,KAAA,CAAMa,SAAA;IACjBC,IAAA,EAAMd,KAAA,CAAMK,YAAA;IAEZU,cAAA,EAAgB,CAACd,qBAAA,IAAyB,CAACC,oBAAA;IAE3Cc,OAAA,EAAO;IAENC,QAAA,EAAAjB,KAAA,CAAMiB;EAAA,CACT;AAEJ","ignoreList":[]}
1
+ {"version":3,"names":["React","useId","isClient","THEME_CLASSNAME_PREFIX","Theme","getSetting","jsx","ThemeProvider","props","disableRootThemeClass","themeClassNameOnRoot","useLayoutEffect","cn","defaultTheme","target","document","documentElement","body","classList","add","remove","className","name","forceClassName","_isRoot","children"],"sources":["../../../src/views/ThemeProvider.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,IAASC,KAAA,QAAa;AAC7B,SAASC,QAAA,QAAgB;AAEzB,SAASC,sBAAA,QAA8B;AACvC,SAASC,KAAA,QAAa;AACtB,SAASC,UAAA,QAAkB;AAiCvB,SAAAC,GAAA;AApBG,MAAMC,aAAA,GAAiBC,KAAA,IAA8B;EAC1D,MAAMC,qBAAA,GACJD,KAAA,CAAMC,qBAAA,IAAyBJ,UAAA,CAAW,uBAAuB;IAC7DK,oBAAA,GACJF,KAAA,CAAME,oBAAA,IAAwBL,UAAA,CAAW,sBAAsB;EAGjE,OAAIH,QAAA,IACFF,KAAA,CAAMW,eAAA,CAAgB,MAAM;IAC1B,IAAIF,qBAAA,EAAuB;IAC3B,MAAMG,EAAA,GAAK,GAAGT,sBAAsB,GAAGK,KAAA,CAAMK,YAAY;MACnDC,MAAA,GAASJ,oBAAA,GAAuBK,QAAA,CAASC,eAAA,GAAkBD,QAAA,CAASE,IAAA;IAC1E,OAAAH,MAAA,CAAOI,SAAA,CAAUC,GAAA,CAAIP,EAAE,GAChB,MAAM;MACXE,MAAA,CAAOI,SAAA,CAAUE,MAAA,CAAOR,EAAE;IAC5B;EACF,GAAG,CAACJ,KAAA,CAAMK,YAAA,EAAcJ,qBAAA,EAAuBC,oBAAoB,CAAC,GAIpE,eAAAJ,GAAA,CAACF,KAAA;IACCiB,SAAA,EAAWb,KAAA,CAAMa,SAAA;IACjBC,IAAA,EAAMd,KAAA,CAAMK,YAAA;IAEZU,cAAA,EAAgB,CAACd,qBAAA,IAAyB,CAACC,oBAAA;IAE3Cc,OAAA,EAASvB,KAAA;IAERwB,QAAA,EAAAjB,KAAA,CAAMiB;EAAA,CACT;AAEJ","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import React from "react";
2
+ import React, { useId } from "react";
3
3
  import { isClient } from "@tamagui/constants";
4
4
  import { THEME_CLASSNAME_PREFIX } from "../constants/constants";
5
5
  import { Theme } from "./Theme";
@@ -23,7 +23,7 @@ var ThemeProvider = function(props) {
23
23
  // if root class disabled, force class here
24
24
  forceClassName: !disableRootThemeClass && !themeClassNameOnRoot,
25
25
  // @ts-expect-error
26
- _isRoot: !0,
26
+ _isRoot: useId,
27
27
  children: props.children
28
28
  });
29
29
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/Users/n8/tamagui/code/core/web/src/views/ThemeProvider.tsx"],
4
- "mappings": ";AAAA,OAAOA,WAAW;AAClB,SAASC,gBAAgB;AAEzB,SAASC,8BAA8B;AACvC,SAASC,aAAa;AACtB,SAASC,kBAAkB;AAapB,IAAMC,gBAAgB,SAACC,OAAAA;MAE1BA,8BADIC,yBACJD,+BAAAA,MAAMC,2BAAqB,QAA3BD,iCAAAA,SAAAA,+BAA+BF,WAAW,uBAAA,GAE1CE,6BADIE,wBACJF,8BAAAA,MAAME,0BAAoB,QAA1BF,gCAAAA,SAAAA,8BAA8BF,WAAW,sBAAA;AAG3C,SAAIH,YACFD,MAAMS,gBAAgB,WAAA;AACpB,QAAIF,wBACJ;UAAMG,KAAK,GAAGR,sBAAAA,GAAyBI,MAAMK,YAAY,IACnDC,SAASJ,uBAAuBK,SAASC,kBAAkBD,SAASE;AAC1EH,oBAAOI,UAAUC,IAAIP,EAAAA,GACd,WAAA;AACLE,eAAOI,UAAUE,OAAOR,EAAAA;MAC1B;;EACF,GAAG;IAACJ,MAAMK;IAAcJ;IAAuBC;GAAqB,GAIpE,qBAACL,OAAAA;IACCgB,WAAWb,MAAMa;IACjBC,MAAMd,MAAMK;;IAEZU,gBAAgB,CAACd,yBAAyB,CAACC;;IAE3Cc,SAAO;cAENhB,MAAMiB;;AAGb;",
5
- "names": ["React", "isClient", "THEME_CLASSNAME_PREFIX", "Theme", "getSetting", "ThemeProvider", "props", "disableRootThemeClass", "themeClassNameOnRoot", "useLayoutEffect", "cn", "defaultTheme", "target", "document", "documentElement", "body", "classList", "add", "remove", "className", "name", "forceClassName", "_isRoot", "children"]
4
+ "mappings": ";AAAA,OAAOA,SAASC,aAAa;AAC7B,SAASC,gBAAgB;AAEzB,SAASC,8BAA8B;AACvC,SAASC,aAAa;AACtB,SAASC,kBAAkB;AAapB,IAAMC,gBAAgB,SAACC,OAAAA;MAE1BA,8BADIC,yBACJD,+BAAAA,MAAMC,2BAAqB,QAA3BD,iCAAAA,SAAAA,+BAA+BF,WAAW,uBAAA,GAE1CE,6BADIE,wBACJF,8BAAAA,MAAME,0BAAoB,QAA1BF,gCAAAA,SAAAA,8BAA8BF,WAAW,sBAAA;AAG3C,SAAIH,YACFF,MAAMU,gBAAgB,WAAA;AACpB,QAAIF,wBACJ;UAAMG,KAAK,GAAGR,sBAAAA,GAAyBI,MAAMK,YAAY,IACnDC,SAASJ,uBAAuBK,SAASC,kBAAkBD,SAASE;AAC1EH,oBAAOI,UAAUC,IAAIP,EAAAA,GACd,WAAA;AACLE,eAAOI,UAAUE,OAAOR,EAAAA;MAC1B;;EACF,GAAG;IAACJ,MAAMK;IAAcJ;IAAuBC;GAAqB,GAIpE,qBAACL,OAAAA;IACCgB,WAAWb,MAAMa;IACjBC,MAAMd,MAAMK;;IAEZU,gBAAgB,CAACd,yBAAyB,CAACC;;IAE3Cc,SAAStB;cAERM,MAAMiB;;AAGb;",
5
+ "names": ["React", "useId", "isClient", "THEME_CLASSNAME_PREFIX", "Theme", "getSetting", "ThemeProvider", "props", "disableRootThemeClass", "themeClassNameOnRoot", "useLayoutEffect", "cn", "defaultTheme", "target", "document", "documentElement", "body", "classList", "add", "remove", "className", "name", "forceClassName", "_isRoot", "children"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/web",
3
- "version": "1.123.17",
3
+ "version": "1.124.0",
4
4
  "source": "src/index.ts",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -27,22 +27,22 @@
27
27
  "reset.css"
28
28
  ],
29
29
  "dependencies": {
30
- "@tamagui/compose-refs": "1.123.17",
31
- "@tamagui/constants": "1.123.17",
32
- "@tamagui/helpers": "1.123.17",
33
- "@tamagui/normalize-css-color": "1.123.17",
34
- "@tamagui/timer": "1.123.17",
35
- "@tamagui/types": "1.123.17",
36
- "@tamagui/use-did-finish-ssr": "1.123.17",
37
- "@tamagui/use-event": "1.123.17",
38
- "@tamagui/use-force-update": "1.123.17"
30
+ "@tamagui/compose-refs": "1.124.0",
31
+ "@tamagui/constants": "1.124.0",
32
+ "@tamagui/helpers": "1.124.0",
33
+ "@tamagui/normalize-css-color": "1.124.0",
34
+ "@tamagui/timer": "1.124.0",
35
+ "@tamagui/types": "1.124.0",
36
+ "@tamagui/use-did-finish-ssr": "1.124.0",
37
+ "@tamagui/use-event": "1.124.0",
38
+ "@tamagui/use-force-update": "1.124.0"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "react": "*",
42
42
  "react-dom": "*"
43
43
  },
44
44
  "devDependencies": {
45
- "@tamagui/build": "1.123.17",
45
+ "@tamagui/build": "1.124.0",
46
46
  "@testing-library/react": "^16.1.0",
47
47
  "csstype": "^3.0.10",
48
48
  "react": "*",
package/src/Tamagui.ts CHANGED
@@ -3,7 +3,6 @@ import * as Helpers from '@tamagui/helpers'
3
3
  import { getConfig } from './config'
4
4
  import { getAllRules, getAllSelectors, getAllTransforms } from './helpers/insertStyleRule'
5
5
  import { mediaState } from './hooks/useMedia'
6
- import { activeThemeManagers, getThemeManager } from './hooks/useTheme'
7
6
 
8
7
  // easy introspection
9
8
  // only included in dev mode
@@ -12,11 +11,6 @@ export const Tamagui = (() => {
12
11
  if (process.env.NODE_ENV === 'development') {
13
12
  class TamaguiManager {
14
13
  Helpers = Helpers
15
- getThemeManager = getThemeManager
16
-
17
- get activeThemeManagers() {
18
- return activeThemeManagers
19
- }
20
14
 
21
15
  get mediaState() {
22
16
  return { ...mediaState }