@tamagui/web 1.123.17 → 1.124.1

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
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: !0 });
9
+ }, __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from == "object" || typeof from == "function")
11
+ for (let key of __getOwnPropNames(from))
12
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ return to;
14
+ };
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
+ var useThemeState_exports = {};
17
+ __export(useThemeState_exports, {
18
+ ThemeStateContext: () => ThemeStateContext,
19
+ forceUpdateThemes: () => forceUpdateThemes,
20
+ getRootThemeState: () => getRootThemeState,
21
+ getThemeState: () => getThemeState,
22
+ hasThemeUpdatingProps: () => hasThemeUpdatingProps,
23
+ useThemeState: () => useThemeState
24
+ });
25
+ module.exports = __toCommonJS(useThemeState_exports);
26
+ var import_react = require("react"), import_config = require("../config"), ThemeStateContext = (0, import_react.createContext)(""), allListeners = /* @__PURE__ */ new Map(), listenersByParent = {}, states = /* @__PURE__ */ new Map(), forceUpdateThemes = function() {
27
+ allListeners.forEach(function(cb) {
28
+ return cb();
29
+ });
30
+ }, getThemeState = function(id) {
31
+ return states.get(id);
32
+ }, rootThemeState = null, getRootThemeState = function() {
33
+ return rootThemeState;
34
+ }, HasRenderedOnce = /* @__PURE__ */ new WeakMap(), useThemeState = function(props) {
35
+ var isRoot = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, keys = arguments.length > 2 ? arguments[2] : void 0, { disable } = props, parentId = (0, import_react.useContext)(ThemeStateContext);
36
+ if (disable)
37
+ return states.get(parentId) || {
38
+ id: "",
39
+ name: "light",
40
+ theme: (0, import_config.getConfig)().themes.light,
41
+ inverses: 0
42
+ };
43
+ var id = (0, import_react.useId)(), subscribe = (0, import_react.useCallback)(function(cb) {
44
+ var _listenersByParent, _parentId;
45
+ return (_listenersByParent = listenersByParent)[_parentId = parentId] || (_listenersByParent[_parentId] = /* @__PURE__ */ new Set()), listenersByParent[parentId].add(id), allListeners.set(id, cb), function() {
46
+ allListeners.delete(id), listenersByParent[parentId].delete(id);
47
+ };
48
+ }, [
49
+ id,
50
+ parentId,
51
+ keys
52
+ ]), propsKey = getPropsKey(props), getSnapshot = function() {
53
+ return getSnapshotFrom(props, propsKey, isRoot, id, parentId, keys);
54
+ };
55
+ process.env.NODE_ENV === "development" && globalThis.time && globalThis.time`theme-prep-uses`;
56
+ var state = (0, import_react.useSyncExternalStore)(subscribe, getSnapshot, getSnapshot);
57
+ return (0, import_react.useLayoutEffect)(function() {
58
+ if (propsKey) {
59
+ if (!HasRenderedOnce.has(keys)) {
60
+ HasRenderedOnce.set(keys, !0);
61
+ return;
62
+ }
63
+ if (process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile") {
64
+ var _states_get;
65
+ console.warn(` \xB7 useTheme(${id}) scheduleUpdate`, propsKey, (_states_get = states.get(id)) === null || _states_get === void 0 ? void 0 : _states_get.name);
66
+ }
67
+ scheduleUpdate(id);
68
+ }
69
+ }, [
70
+ keys,
71
+ propsKey
72
+ ]), process.env.NODE_ENV === "development" && props.debug && (console.groupCollapsed(` \xB7 useTheme(${id}) =>`, state.name, id === state.id ? "\u{1F389}" : "\u23ED\uFE0F"), console.info({
73
+ state,
74
+ parentId,
75
+ props,
76
+ propsKey,
77
+ id,
78
+ parentState: states.get(parentId)
79
+ }), console.groupEnd()), state.id === id ? {
80
+ ...state,
81
+ isNew: !0
82
+ } : state;
83
+ }, themes = null, getSnapshotFrom = function(props, propsKey) {
84
+ var isRoot = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1, id = arguments.length > 3 ? arguments[3] : void 0, parentId = arguments.length > 4 ? arguments[4] : void 0, keys = arguments.length > 5 ? arguments[5] : void 0, _keys_current, _props_needsUpdate, needsUpdate = (keys == null || (_keys_current = keys.current) === null || _keys_current === void 0 ? void 0 : _keys_current.size) || ((_props_needsUpdate = props.needsUpdate) === null || _props_needsUpdate === void 0 ? void 0 : _props_needsUpdate.call(props)), parentState = states.get(parentId);
85
+ themes || (themes = (0, import_config.getConfig)().themes);
86
+ var lastState = states.get(id), name = propsKey ? getNewThemeName(parentState == null ? void 0 : parentState.name, props, !!needsUpdate) : null;
87
+ if (process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile") {
88
+ var message = ` \xB7 useTheme(${id}) snapshot ${name}, parent ${parentState == null ? void 0 : parentState.id} needsUpdate ${needsUpdate}`;
89
+ console.info(message);
90
+ }
91
+ var isSameAsParent = !name && propsKey;
92
+ if (parentState && isSameAsParent)
93
+ return parentState;
94
+ if (!name)
95
+ return lastState && !needsUpdate ? lastState : (states.set(id, parentState), parentState);
96
+ if (lastState && lastState.name === name)
97
+ return lastState;
98
+ var scheme = getScheme(name), _parentState_inverses, parentInverses = (_parentState_inverses = parentState == null ? void 0 : parentState.inverses) !== null && _parentState_inverses !== void 0 ? _parentState_inverses : 0, isInverse = parentState && scheme !== parentState.scheme, inverses = parentInverses + (isInverse ? 1 : 0), nextState = {
99
+ id,
100
+ name,
101
+ theme: themes[name],
102
+ scheme,
103
+ parentId,
104
+ parentName: parentState == null ? void 0 : parentState.name,
105
+ inverses,
106
+ isInverse
107
+ };
108
+ return process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && (console.groupCollapsed(` \xB7 useTheme(${id}) \u23ED\uFE0F ${name}`), console.info("state", nextState), console.groupEnd()), states.set(id, nextState), isRoot && (rootThemeState = nextState), nextState;
109
+ };
110
+ function scheduleUpdate(id) {
111
+ for (var queue = [
112
+ id
113
+ ], visited = /* @__PURE__ */ new Set(); queue.length; ) {
114
+ var parent = queue.shift(), children = listenersByParent[parent];
115
+ if (children) {
116
+ var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
117
+ try {
118
+ for (var _iterator = children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
119
+ var childId = _step.value;
120
+ visited.has(childId) || (visited.add(childId), queue.push(childId));
121
+ }
122
+ } catch (err) {
123
+ _didIteratorError = !0, _iteratorError = err;
124
+ } finally {
125
+ try {
126
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
127
+ } finally {
128
+ if (_didIteratorError)
129
+ throw _iteratorError;
130
+ }
131
+ }
132
+ }
133
+ }
134
+ visited.forEach(function(childId2) {
135
+ var cb = allListeners.get(childId2);
136
+ cb == null || cb();
137
+ });
138
+ }
139
+ var validSchemes = {
140
+ light: "light",
141
+ dark: "dark"
142
+ };
143
+ function getScheme(name) {
144
+ return validSchemes[name.split("_")[0]];
145
+ }
146
+ function getNewThemeName() {
147
+ var parentName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "", { name, reset, componentName, inverse } = arguments.length > 1 ? arguments[1] : void 0, forceUpdate = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1;
148
+ if (name && reset)
149
+ throw new Error(process.env.NODE_ENV === "production" ? "\u274C004" : "Cannot reset and set a new name at the same time.");
150
+ if (reset) {
151
+ if (!parentName) throw new Error("\u203C\uFE0F");
152
+ var lastPartIndex = parentName.lastIndexOf("_");
153
+ return lastPartIndex <= 0 ? parentName : parentName.slice(lastPartIndex);
154
+ }
155
+ var { themes: themes2 } = (0, import_config.getConfig)(), parentParts = parentName.split("_"), lastName = parentParts[parentParts.length - 1];
156
+ lastName && lastName[0].toLowerCase() !== lastName[0] && parentParts.pop();
157
+ for (var subNames = [
158
+ name && componentName ? `${name}_${componentName}` : void 0,
159
+ name,
160
+ componentName
161
+ ].filter(Boolean), found = null, max = parentParts.length, i = 0; i <= max; i++) {
162
+ var base = (i === 0 ? parentParts : parentParts.slice(0, -i)).join("_"), _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
163
+ try {
164
+ for (var _iterator = subNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
165
+ var subName = _step.value, potential = base ? `${base}_${subName}` : subName;
166
+ if (potential in themes2) {
167
+ found = potential;
168
+ break;
169
+ }
170
+ }
171
+ } catch (err) {
172
+ _didIteratorError = !0, _iteratorError = err;
173
+ } finally {
174
+ try {
175
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
176
+ } finally {
177
+ if (_didIteratorError)
178
+ throw _iteratorError;
179
+ }
180
+ }
181
+ if (found) break;
182
+ }
183
+ if (found && inverse) {
184
+ var scheme = found.split("_")[0];
185
+ found = found.replace(new RegExp(`^${scheme}`), scheme === "light" ? "dark" : "light");
186
+ }
187
+ return !forceUpdate && found === parentName && // if its a scheme only sub-theme, we always consider it "new" because it likely inverses
188
+ // and we want to avoid reparenting
189
+ !validSchemes[found] ? null : found;
190
+ }
191
+ var getPropsKey = function(param) {
192
+ var { name, reset, inverse, forceClassName, componentName } = param;
193
+ return `${name || ""}${inverse || ""}${reset || ""}${forceClassName || ""}${componentName || ""}`;
194
+ }, hasThemeUpdatingProps = function(props) {
195
+ return "inverse" in props || "name" in props || "reset" in props || "forceClassName" in props;
196
+ };
197
+ // Annotate the CommonJS export names for ESM import in node:
198
+ 0 && (module.exports = {
199
+ ThemeStateContext,
200
+ forceUpdateThemes,
201
+ getRootThemeState,
202
+ getThemeState,
203
+ hasThemeUpdatingProps,
204
+ useThemeState
205
+ });
206
+ //# sourceMappingURL=useThemeState.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/Users/n8/tamagui/code/core/web/src/hooks/useThemeState.ts"],
4
+ "mappings": "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",
5
+ "names": ["ThemeStateContext", "createContext", "allListeners", "Map", "listenersByParent", "states", "forceUpdateThemes", "forEach", "cb", "getThemeState", "id", "get", "rootThemeState", "getRootThemeState", "HasRenderedOnce", "WeakMap", "useThemeState", "props", "isRoot", "keys", "disable", "parentId", "useContext", "name", "theme", "getConfig", "themes", "light", "inverses", "useId", "subscribe", "useCallback", "Set", "add", "set", "delete", "propsKey", "getPropsKey", "getSnapshot", "getSnapshotFrom", "process", "env", "NODE_ENV", "globalThis", "time", "state", "useSyncExternalStore", "useLayoutEffect", "has", "debug", "console", "warn", "scheduleUpdate", "groupCollapsed", "info", "parentState", "groupEnd", "isNew", "needsUpdate", "current", "size", "lastState", "getNewThemeName", "message", "isSameAsParent", "scheme", "getScheme", "parentInverses", "isInverse", "nextState", "parentName", "queue", "visited", "length", "parent", "shift", "children", "childId", "push", "validSchemes", "dark", "split", "reset", "componentName", "inverse", "forceUpdate", "Error", "lastPartIndex", "lastIndexOf", "slice", "parentParts", "lastName", "toLowerCase", "pop", "subNames", "undefined", "filter", "Boolean", "found", "max", "i", "base", "join", "subName", "potential", "replace", "RegExp", "forceClassName", "hasThemeUpdatingProps"]
6
+ }
@@ -23,6 +23,7 @@ var index_exports = {};
23
23
  __export(index_exports, {
24
24
  _disableMediaTouch: () => import_useMedia._disableMediaTouch,
25
25
  configureMedia: () => import_useMedia.configureMedia,
26
+ forceUpdateThemes: () => import_useThemeState.forceUpdateThemes,
26
27
  getConfig: () => import_config.getConfig,
27
28
  getMedia: () => import_useMedia.getMedia,
28
29
  getSetting: () => import_config.getSetting,
@@ -87,6 +88,7 @@ __reExport(index_exports, require("./helpers/transformsToString.cjs"), module.ex
87
88
  __reExport(index_exports, require("./helpers/wrapStyleTags.cjs"), module.exports);
88
89
  var import_useMedia = require("./hooks/useMedia.cjs");
89
90
  __reExport(index_exports, require("./hooks/useTheme.cjs"), module.exports);
91
+ var import_useThemeState = require("./hooks/useThemeState.cjs");
90
92
  __reExport(index_exports, require("./hooks/useThemeName.cjs"), module.exports);
91
93
  __reExport(index_exports, require("./hooks/useConfiguration.cjs"), module.exports);
92
94
  __reExport(index_exports, require("./hooks/useIsTouchDevice.cjs"), module.exports);
package/dist/cjs/index.js CHANGED
@@ -16,6 +16,7 @@ var index_exports = {};
16
16
  __export(index_exports, {
17
17
  _disableMediaTouch: () => import_useMedia._disableMediaTouch,
18
18
  configureMedia: () => import_useMedia.configureMedia,
19
+ forceUpdateThemes: () => import_useThemeState.forceUpdateThemes,
19
20
  getConfig: () => import_config.getConfig,
20
21
  getMedia: () => import_useMedia.getMedia,
21
22
  getSetting: () => import_config.getSetting,
@@ -79,6 +80,7 @@ __reExport(index_exports, require("./helpers/transformsToString"), module.export
79
80
  __reExport(index_exports, require("./helpers/wrapStyleTags"), module.exports);
80
81
  var import_useMedia = require("./hooks/useMedia");
81
82
  __reExport(index_exports, require("./hooks/useTheme"), module.exports);
83
+ var import_useThemeState = require("./hooks/useThemeState");
82
84
  __reExport(index_exports, require("./hooks/useThemeName"), module.exports);
83
85
  __reExport(index_exports, require("./hooks/useConfiguration"), module.exports);
84
86
  __reExport(index_exports, require("./hooks/useIsTouchDevice"), module.exports);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAc,sBAAd;AACA,0BAAc,8BADd;AAEA,0BAAc,+BAFd;AAGA,0BAAc,0BAHd;AAIA,0BAAc,4BAJd;AAKA,0BAAc,yBALd;AAMA,0BAAc,2BANd;AAOA,0BAAc,6BAPd;AAQA,0BAAc,8BARd;AASA,0BAAc,yBATd;AAUA,0BAAc,qBAVd;AAWA,0BAAc,+BAXd;AAoBA,0BAAc,gCApBd;AAsBA,oBAUO,qBAEP,yBAAyB;AAEzB,0BAAc,kCApCd;AAsCA,0BAAc,wCAtCd;AAwCA,0BAAc,+BAxCd;AAyCA,0BAAc,uCAzCd;AA0CA,0BAAc,wCA1Cd;AA2CA,0BAAc,4CA3Cd;AA4CA,0BAAc,0CA5Cd;AA6CA,0BAAc,mCA7Cd;AA8CA,0BAAc,4CA9Cd;AA+CA,0BAAc,qCA/Cd;AAgDA,0BAAc,yCAhDd;AAiDA,0BAAc,8BAjDd;AAkDA,0BAAc,uCAlDd;AAmDA,0BAAc,uCAnDd;AAoDA,0BAAc,yCApDd;AAqDA,0BAAc,uCArDd;AAsDA,0BAAc,iCAtDd;AAuDA,0BAAc,iCAvDd;AAwDA,0BAAc,qCAxDd;AAyDA,0BAAc,qCAzDd;AA0DA,0BAAc,iDA1Dd;AA2DA,0BAAc,iCA3Dd;AA4DA,0BAAc,0CA5Dd;AA6DA,0BAAc,0CA7Dd;AA8DA,0BAAc,wCA9Dd;AA+DA,0BAAc,gCA/Dd;AAgEA,0BAAc,6BAhEd;AAiEA,0BAAc,yCAjEd;AAkEA,0BAAc,oCAlEd;AAoEA,sBASO;AACP,0BAAc,6BA9Ed;AA+EA,0BAAc,iCA/Ed;AAgFA,0BAAc,qCAhFd;AAiFA,0BAAc,qCAjFd;AAkFA,0BAAc,6BAlFd;AAmFA,0BAAc,qCAnFd;AAqFA,0BAAc,yBArFd;AAsFA,0BAAc,0BAtFd;AAuFA,0BAAc,yBAvFd;AAwFA,0BAAc,yBAxFd;AAyFA,0BAAc,0BAzFd;AA0FA,0BAAc,kCA1Fd;AA2FA,0BAAc,iCA3Fd;AA4FA,0BAAc,oCA5Fd;AA6FA,0BAAc,kCA7Fd;AA+FA,0BAAc,wCA/Fd;AAgGA,0BAAc,+BAhGd;AAiGA,0BAAc,kCAjGd;AAkGA,0BAAc,6BAlGd;AAmGA,0BAAc,+BAnGd;AAqGA,0BAAc,yBArGd;",
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAc,sBAAd;AACA,0BAAc,8BADd;AAEA,0BAAc,+BAFd;AAGA,0BAAc,0BAHd;AAIA,0BAAc,4BAJd;AAKA,0BAAc,yBALd;AAMA,0BAAc,2BANd;AAOA,0BAAc,6BAPd;AAQA,0BAAc,8BARd;AASA,0BAAc,yBATd;AAUA,0BAAc,qBAVd;AAWA,0BAAc,+BAXd;AAoBA,0BAAc,gCApBd;AAsBA,oBAUO,qBAEP,yBAAyB;AAEzB,0BAAc,kCApCd;AAsCA,0BAAc,wCAtCd;AAwCA,0BAAc,+BAxCd;AAyCA,0BAAc,uCAzCd;AA0CA,0BAAc,wCA1Cd;AA2CA,0BAAc,4CA3Cd;AA4CA,0BAAc,0CA5Cd;AA6CA,0BAAc,mCA7Cd;AA8CA,0BAAc,4CA9Cd;AA+CA,0BAAc,qCA/Cd;AAgDA,0BAAc,yCAhDd;AAiDA,0BAAc,8BAjDd;AAkDA,0BAAc,uCAlDd;AAmDA,0BAAc,uCAnDd;AAoDA,0BAAc,yCApDd;AAqDA,0BAAc,uCArDd;AAsDA,0BAAc,iCAtDd;AAuDA,0BAAc,iCAvDd;AAwDA,0BAAc,qCAxDd;AAyDA,0BAAc,qCAzDd;AA0DA,0BAAc,iDA1Dd;AA2DA,0BAAc,iCA3Dd;AA4DA,0BAAc,0CA5Dd;AA6DA,0BAAc,0CA7Dd;AA8DA,0BAAc,wCA9Dd;AA+DA,0BAAc,gCA/Dd;AAgEA,0BAAc,6BAhEd;AAiEA,0BAAc,yCAjEd;AAkEA,0BAAc,oCAlEd;AAoEA,sBASO;AACP,0BAAc,6BA9Ed;AA+EA,2BAAkC;AAClC,0BAAc,iCAhFd;AAiFA,0BAAc,qCAjFd;AAkFA,0BAAc,qCAlFd;AAmFA,0BAAc,6BAnFd;AAoFA,0BAAc,qCApFd;AAsFA,0BAAc,yBAtFd;AAuFA,0BAAc,0BAvFd;AAwFA,0BAAc,yBAxFd;AAyFA,0BAAc,yBAzFd;AA0FA,0BAAc,0BA1Fd;AA2FA,0BAAc,kCA3Fd;AA4FA,0BAAc,iCA5Fd;AA6FA,0BAAc,oCA7Fd;AA8FA,0BAAc,kCA9Fd;AAgGA,0BAAc,wCAhGd;AAiGA,0BAAc,+BAjGd;AAkGA,0BAAc,kCAlGd;AAmGA,0BAAc,6BAnGd;AAoGA,0BAAc,+BApGd;AAsGA,0BAAc,yBAtGd;",
5
5
  "names": []
6
6
  }
@@ -17,6 +17,7 @@ var index_exports = {};
17
17
  __export(index_exports, {
18
18
  _disableMediaTouch: () => import_useMedia._disableMediaTouch,
19
19
  configureMedia: () => import_useMedia.configureMedia,
20
+ forceUpdateThemes: () => import_useThemeState.forceUpdateThemes,
20
21
  getConfig: () => import_config.getConfig,
21
22
  getMedia: () => import_useMedia.getMedia,
22
23
  getSetting: () => import_config.getSetting,
@@ -80,6 +81,7 @@ __reExport(index_exports, require("./helpers/transformsToString"), module.export
80
81
  __reExport(index_exports, require("./helpers/wrapStyleTags"), module.exports);
81
82
  var import_useMedia = require("./hooks/useMedia");
82
83
  __reExport(index_exports, require("./hooks/useTheme"), module.exports);
84
+ var import_useThemeState = require("./hooks/useThemeState");
83
85
  __reExport(index_exports, require("./hooks/useThemeName"), module.exports);
84
86
  __reExport(index_exports, require("./hooks/useConfiguration"), module.exports);
85
87
  __reExport(index_exports, require("./hooks/useIsTouchDevice"), module.exports);
@@ -104,6 +106,7 @@ __reExport(index_exports, require("./setupHooks"), module.exports);
104
106
  0 && (module.exports = {
105
107
  _disableMediaTouch,
106
108
  configureMedia,
109
+ forceUpdateThemes,
107
110
  getConfig,
108
111
  getMedia,
109
112
  getSetting,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Users/n8/tamagui/code/core/web/src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;0BAAc,sBAAd;AACA,0BAAc,8BADd;AAEA,0BAAc,+BAFd;AAGA,0BAAc,0BAHd;AAIA,0BAAc,4BAJd;AAKA,0BAAc,yBALd;AAMA,0BAAc,2BANd;AAOA,0BAAc,6BAPd;AAQA,0BAAc,8BARd;AASA,0BAAc,yBATd;AAUA,0BAAc,qBAVd;AAWA,0BAAc,+BAXd;AAoBA,0BAAc,gCApBd;AAsBA,oBAUO,qBAEP,yBAAyB;AAEzB,0BAAc,kCApCd;AAsCA,0BAAc,wCAtCd;AAwCA,0BAAc,+BAxCd;AAyCA,0BAAc,uCAzCd;AA0CA,0BAAc,wCA1Cd;AA2CA,0BAAc,4CA3Cd;AA4CA,0BAAc,0CA5Cd;AA6CA,0BAAc,mCA7Cd;AA8CA,0BAAc,4CA9Cd;AA+CA,0BAAc,qCA/Cd;AAgDA,0BAAc,yCAhDd;AAiDA,0BAAc,8BAjDd;AAkDA,0BAAc,uCAlDd;AAmDA,0BAAc,uCAnDd;AAoDA,0BAAc,yCApDd;AAqDA,0BAAc,uCArDd;AAsDA,0BAAc,iCAtDd;AAuDA,0BAAc,iCAvDd;AAwDA,0BAAc,qCAxDd;AAyDA,0BAAc,qCAzDd;AA0DA,0BAAc,iDA1Dd;AA2DA,0BAAc,iCA3Dd;AA4DA,0BAAc,0CA5Dd;AA6DA,0BAAc,0CA7Dd;AA8DA,0BAAc,wCA9Dd;AA+DA,0BAAc,gCA/Dd;AAgEA,0BAAc,6BAhEd;AAiEA,0BAAc,yCAjEd;AAkEA,0BAAc,oCAlEd;AAoEA,sBASO;AACP,0BAAc,6BA9Ed;AA+EA,0BAAc,iCA/Ed;AAgFA,0BAAc,qCAhFd;AAiFA,0BAAc,qCAjFd;AAkFA,0BAAc,6BAlFd;AAmFA,0BAAc,qCAnFd;AAqFA,0BAAc,yBArFd;AAsFA,0BAAc,0BAtFd;AAuFA,0BAAc,yBAvFd;AAwFA,0BAAc,yBAxFd;AAyFA,0BAAc,0BAzFd;AA0FA,0BAAc,kCA1Fd;AA2FA,0BAAc,iCA3Fd;AA4FA,0BAAc,oCA5Fd;AA6FA,0BAAc,kCA7Fd;AA+FA,0BAAc,wCA/Fd;AAgGA,0BAAc,+BAhGd;AAiGA,0BAAc,kCAjGd;AAkGA,0BAAc,6BAlGd;AAmGA,0BAAc,+BAnGd;AAqGA,0BAAc,yBArGd;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;0BAAc,sBAAd;AACA,0BAAc,8BADd;AAEA,0BAAc,+BAFd;AAGA,0BAAc,0BAHd;AAIA,0BAAc,4BAJd;AAKA,0BAAc,yBALd;AAMA,0BAAc,2BANd;AAOA,0BAAc,6BAPd;AAQA,0BAAc,8BARd;AASA,0BAAc,yBATd;AAUA,0BAAc,qBAVd;AAWA,0BAAc,+BAXd;AAoBA,0BAAc,gCApBd;AAsBA,oBAUO,qBAEP,yBAAyB;AAEzB,0BAAc,kCApCd;AAsCA,0BAAc,wCAtCd;AAwCA,0BAAc,+BAxCd;AAyCA,0BAAc,uCAzCd;AA0CA,0BAAc,wCA1Cd;AA2CA,0BAAc,4CA3Cd;AA4CA,0BAAc,0CA5Cd;AA6CA,0BAAc,mCA7Cd;AA8CA,0BAAc,4CA9Cd;AA+CA,0BAAc,qCA/Cd;AAgDA,0BAAc,yCAhDd;AAiDA,0BAAc,8BAjDd;AAkDA,0BAAc,uCAlDd;AAmDA,0BAAc,uCAnDd;AAoDA,0BAAc,yCApDd;AAqDA,0BAAc,uCArDd;AAsDA,0BAAc,iCAtDd;AAuDA,0BAAc,iCAvDd;AAwDA,0BAAc,qCAxDd;AAyDA,0BAAc,qCAzDd;AA0DA,0BAAc,iDA1Dd;AA2DA,0BAAc,iCA3Dd;AA4DA,0BAAc,0CA5Dd;AA6DA,0BAAc,0CA7Dd;AA8DA,0BAAc,wCA9Dd;AA+DA,0BAAc,gCA/Dd;AAgEA,0BAAc,6BAhEd;AAiEA,0BAAc,yCAjEd;AAkEA,0BAAc,oCAlEd;AAoEA,sBASO;AACP,0BAAc,6BA9Ed;AA+EA,2BAAkC;AAClC,0BAAc,iCAhFd;AAiFA,0BAAc,qCAjFd;AAkFA,0BAAc,qCAlFd;AAmFA,0BAAc,6BAnFd;AAoFA,0BAAc,qCApFd;AAsFA,0BAAc,yBAtFd;AAuFA,0BAAc,0BAvFd;AAwFA,0BAAc,yBAxFd;AAyFA,0BAAc,yBAzFd;AA0FA,0BAAc,0BA1Fd;AA2FA,0BAAc,kCA3Fd;AA4FA,0BAAc,iCA5Fd;AA6FA,0BAAc,oCA7Fd;AA8FA,0BAAc,kCA9Fd;AAgGA,0BAAc,wCAhGd;AAiGA,0BAAc,+BAjGd;AAkGA,0BAAc,kCAlGd;AAmGA,0BAAc,6BAnGd;AAoGA,0BAAc,+BApGd;AAsGA,0BAAc,yBAtGd;",
5
5
  "names": []
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/TamaguiProvider.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA2D,+BAC3D,eAAkB,2BAClB,gBAA2B,sBAC3B,0BAAiC,yCAEjC,uBAA8B,4BA8B1B;AA5BG,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAyB;AACvB,SAAK,QAAQ,IAAI,oBACX,iCAEF,4CAA0B,MAAM;AAC9B,QAAK,UACD,CAAC,kBAAkB;AACrB,YAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,mBAAM,YAAY,SAAS,eAAe,OAAO,OAAO,CAAC,CAAC,GAC1D,SAAS,KAAK,YAAY,KAAK,GACxB,MAAM;AACX,iBAAS,KAAK,YAAY,KAAK;AAAA,MACjC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,gBAAgB,CAAC,GAK/B,4EACE;AAAA,gDAAC,sBACC,sDAAC,yCAAiB,UAAjB,EAA0B,iBAAiB,QAAQ,YAClD;AAAA,MAAC;AAAA;AAAA,QACC,sBACE,4BAAwB,0BAAW,sBAAsB;AAAA,QAE3D,uBACE,6BAAyB,0BAAW,uBAAuB;AAAA,QAE7D,cAAc,iBAAiB,SAAS,OAAO,KAAK,OAAO,MAAM,EAAE,CAAC,IAAI;AAAA,QACxE;AAAA,QACA;AAAA,QAEC;AAAA;AAAA,IACH,GACF,GACF;AAAA,IAGE,QAAQ,IAAI,oBACZ,UACA,CAAC,oBACC;AAAA,MAAC;AAAA;AAAA,QAIC,YAAW;AAAA,QACX,MAAK;AAAA,QAGJ,iBAAO,OAAO;AAAA;AAAA,MAFX;AAAA,IAGN;AAAA,KAEN;AAEJ;AAGA,SAAS,mBAAmB,OAAsC;AAChE,QAAM,CAAC,SAAS,UAAU,IAAI,aAAAA,QAAM,SAAS,EAAK;AAMlD,SAJA,aAAAA,QAAM,UAAU,MAAM;AACpB,eAAW,EAAI;AAAA,EACjB,GAAG,CAAC,CAAC,GAEA,yBAKH,4CAAC,UAAK,OAAO,EAAE,SAAS,WAAW,GAAG,WAAW,UAAU,KAAK,eAC7D,gBAAM,UACT,IANO,MAAM;AAQjB;AAEA,gBAAgB,cAAiB;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA2D,+BAC3D,eAA6B,2BAC7B,gBAA2B,sBAC3B,0BAAiC,yCAEjC,uBAA8B,4BA8B1B;AA5BG,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAyB;AACvB,SAAK,QAAQ,IAAI,oBACX,iCAEF,4CAA0B,MAAM;AAC9B,QAAK,UACD,CAAC,kBAAkB;AACrB,YAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,mBAAM,YAAY,SAAS,eAAe,OAAO,OAAO,CAAC,CAAC,GAC1D,SAAS,KAAK,YAAY,KAAK,GACxB,MAAM;AACX,iBAAS,KAAK,YAAY,KAAK;AAAA,MACjC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,gBAAgB,CAAC,GAK/B,4EACE;AAAA,gDAAC,sBACC,sDAAC,yCAAiB,UAAjB,EAA0B,iBAAiB,QAAQ,YAClD;AAAA,MAAC;AAAA;AAAA,QACC,sBACE,4BAAwB,0BAAW,sBAAsB;AAAA,QAE3D,uBACE,6BAAyB,0BAAW,uBAAuB;AAAA,QAE7D,cAAc,iBAAiB,SAAS,OAAO,KAAK,OAAO,MAAM,EAAE,CAAC,IAAI;AAAA,QACxE;AAAA,QACA;AAAA,QAEC;AAAA;AAAA,IACH,GACF,GACF;AAAA,IAGE,QAAQ,IAAI,oBACZ,UACA,CAAC,oBACC;AAAA,MAAC;AAAA;AAAA,QAIC,YAAW;AAAA,QACX,MAAK;AAAA,QAGJ,iBAAO,OAAO;AAAA;AAAA,MAFX;AAAA,IAGN;AAAA,KAEN;AAEJ;AAGA,SAAS,mBAAmB,OAAsC;AAChE,QAAM,CAAC,SAAS,UAAU,IAAI,aAAAA,QAAM,SAAS,EAAK;AAMlD,SAJA,aAAAA,QAAM,UAAU,MAAM;AACpB,eAAW,EAAI;AAAA,EACjB,GAAG,CAAC,CAAC,GAEA,yBAKH,4CAAC,UAAK,OAAO,EAAE,SAAS,WAAW,GAAG,WAAW,UAAU,KAAK,eAC7D,gBAAM,UACT,IANO,MAAM;AAQjB;AAEA,gBAAgB,cAAiB;",
5
5
  "names": ["React"]
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/Users/n8/tamagui/code/core/web/src/views/TamaguiProvider.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;uDAAA,mBAA2D,+BAC3D,eAAkB,2BAClB,gBAA2B,sBAC3B,0BAAiC,yCAEjC,uBAA8B;AAEvB,SAASA,gBAAgB,OAST;MATS,EAC9BC,UACAC,kBACAC,QACAC,WACAC,cACAC,uBACAC,OACAC,qBAAoB,IARU;AAU9B,SAAKC,QAAQC,IAAIC,oBACXC,iCAEFC,4CAA0B,WAAA;AACxB,QAAKV,UACD,CAACD,kBAAkB;AACrB,UAAMY,QAAQC,SAASC,cAAc,OAAA;AACrCF,mBAAMG,YAAYF,SAASG,eAAef,OAAOgB,OAAM,CAAA,CAAA,GACvDJ,SAASK,KAAKH,YAAYH,KAAAA,GACnB,WAAA;AACLC,iBAASK,KAAKC,YAAYP,KAAAA;MAC5B;IACF;EACF,GAAG;IAACX;IAAQD;GAAiB,GAK/B,uCAAAoB,MAAA,mBAAAC,UAAA;;MACE,uCAAAC,KAACC,oBAAAA;kBACC,uCAAAD,KAACE,yCAAiBC,UAAQ;UAACC,iBAAiBzB,UAAAA,OAAAA,SAAAA,OAAQ0B;oBAClD,uCAAAL,KAACM,oCAAAA;YACCtB,sBACEA,4BAAwBuB,0BAAW,sBAAA;YAErCzB,uBACEA,6BAAyByB,0BAAW,uBAAA;YAEtC1B,cAAcA,iBAAiBF,SAAS6B,OAAOC,KAAK9B,OAAO+B,MAAM,EAAE,CAAA,IAAK;YACxE3B;YACAH;;;;;MAOLK;;;AAiBP;AAGA,SAASgB,mBAAmBU,OAAoC;AAC9D,MAAM,CAACC,SAASC,UAAAA,IAAcC,aAAAA,QAAMC,SAAS,EAAA;AAM7C,SAJAD,aAAAA,QAAME,UAAU,WAAA;AACdH,eAAW,EAAA;EACb,GAAG,CAAA,CAAE,GAEAI,yBAKH,uCAAAjB,KAACkB,QAAAA;IAAK5B,OAAO;MAAE6B,SAAS;IAAW;IAAGvC,WAAWgC,UAAU,KAAK;cAC7DD,MAAMlC;OALFkC,MAAMlC;AAQjB;AAEAD,gBAAgB,cAAiB;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;uDAAA,mBAA2D,+BAC3D,eAA6B,2BAC7B,gBAA2B,sBAC3B,0BAAiC,yCAEjC,uBAA8B;AAEvB,SAASA,gBAAgB,OAST;MATS,EAC9BC,UACAC,kBACAC,QACAC,WACAC,cACAC,uBACAC,OACAC,qBAAoB,IARU;AAU9B,SAAKC,QAAQC,IAAIC,oBACXC,iCAEFC,4CAA0B,WAAA;AACxB,QAAKV,UACD,CAACD,kBAAkB;AACrB,UAAMY,QAAQC,SAASC,cAAc,OAAA;AACrCF,mBAAMG,YAAYF,SAASG,eAAef,OAAOgB,OAAM,CAAA,CAAA,GACvDJ,SAASK,KAAKH,YAAYH,KAAAA,GACnB,WAAA;AACLC,iBAASK,KAAKC,YAAYP,KAAAA;MAC5B;IACF;EACF,GAAG;IAACX;IAAQD;GAAiB,GAK/B,uCAAAoB,MAAA,mBAAAC,UAAA;;MACE,uCAAAC,KAACC,oBAAAA;kBACC,uCAAAD,KAACE,yCAAiBC,UAAQ;UAACC,iBAAiBzB,UAAAA,OAAAA,SAAAA,OAAQ0B;oBAClD,uCAAAL,KAACM,oCAAAA;YACCtB,sBACEA,4BAAwBuB,0BAAW,sBAAA;YAErCzB,uBACEA,6BAAyByB,0BAAW,uBAAA;YAEtC1B,cAAcA,iBAAiBF,SAAS6B,OAAOC,KAAK9B,OAAO+B,MAAM,EAAE,CAAA,IAAK;YACxE3B;YACAH;;;;;MAOLK;;;AAiBP;AAGA,SAASgB,mBAAmBU,OAAoC;AAC9D,MAAM,CAACC,SAASC,UAAAA,IAAcC,aAAAA,QAAMC,SAAS,EAAA;AAM7C,SAJAD,aAAAA,QAAME,UAAU,WAAA;AACdH,eAAW,EAAA;EACb,GAAG,CAAA,CAAE,GAEAI,yBAKH,uCAAAjB,KAACkB,QAAAA;IAAK5B,OAAO;MAAE6B,SAAS;IAAW;IAAGvC,WAAWgC,UAAU,KAAK;cAC7DD,MAAMlC;OALFkC,MAAMlC;AAQjB;AAEAD,gBAAgB,cAAiB;",
5
5
  "names": ["TamaguiProvider", "children", "disableInjectCSS", "config", "className", "defaultTheme", "disableRootThemeClass", "reset", "themeClassNameOnRoot", "process", "env", "TAMAGUI_REACT_19", "isClient", "useIsomorphicLayoutEffect", "style", "document", "createElement", "appendChild", "createTextNode", "getCSS", "head", "removeChild", "_jsxs", "_Fragment", "_jsx", "UnmountedClassName", "ComponentContext", "Provider", "animationDriver", "animations", "ThemeProvider", "getSetting", "Object", "keys", "themes", "props", "mounted", "setMounted", "React", "useState", "useEffect", "isWeb", "span", "display"]
6
6
  }
@@ -37,108 +37,104 @@ __export(Theme_exports, {
37
37
  module.exports = __toCommonJS(Theme_exports);
38
38
  var import_constants = require("@tamagui/constants"),
39
39
  import_react = __toESM(require("react")),
40
+ import_config = require("../config.cjs"),
40
41
  import_createVariable = require("../createVariable.cjs"),
41
- import_log = require("../helpers/log.cjs"),
42
- import_ThemeManagerContext = require("../helpers/ThemeManagerContext.cjs"),
43
42
  import_useTheme = require("../hooks/useTheme.cjs"),
43
+ import_useThemeState = require("../hooks/useThemeState.cjs"),
44
44
  import_ThemeDebug = require("./ThemeDebug.cjs"),
45
45
  import_jsx_runtime = require("react/jsx-runtime");
46
- const Theme = (0, import_react.forwardRef)(function ({
47
- children,
48
- ...props
49
- }, ref) {
50
- if (props.disable) return children;
51
- const isRoot = !!props._isRoot,
52
- themeState = (0, import_useTheme.useChangeThemeEffect)(props, isRoot);
53
- let finalChildren = props["disable-child-theme"] ? import_react.Children.map(children, child => (0, import_react.cloneElement)(child, {
54
- "data-disable-theme": !0
55
- })) : children;
56
- if (ref) try {
57
- import_react.default.Children.only(finalChildren), finalChildren = (0, import_react.cloneElement)(finalChildren, {
58
- ref
46
+ const empty = {
47
+ className: "",
48
+ style: {}
49
+ },
50
+ Theme = (0, import_react.forwardRef)(function (props, ref) {
51
+ if (props.disable) return props.children;
52
+ const isRoot = !!props._isRoot,
53
+ [_, themeState] = (0, import_useTheme.useThemeWithState)(props, isRoot);
54
+ let finalChildren = props["disable-child-theme"] ? import_react.Children.map(props.children, child => (0, import_react.cloneElement)(child, {
55
+ "data-disable-theme": !0
56
+ })) : props.children;
57
+ if (ref) try {
58
+ import_react.default.Children.only(finalChildren), finalChildren = (0, import_react.cloneElement)(finalChildren, {
59
+ ref
60
+ });
61
+ } catch {}
62
+ const stateRef = (0, import_react.useRef)({
63
+ hasEverThemed: !1
59
64
  });
60
- } catch {}
61
- process.env.NODE_ENV === "development" && props.debug === "visualize" && (finalChildren = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ThemeDebug.ThemeDebug, {
62
- themeState,
63
- themeProps: props,
64
- children: finalChildren
65
- }));
66
- const stateRef = (0, import_react.useRef)({
67
- hasEverThemed: !1
65
+ return getThemedChildren(themeState, finalChildren, props, isRoot, stateRef);
68
66
  });
69
- return getThemedChildren(themeState, finalChildren, props, isRoot, stateRef);
70
- });
71
67
  Theme.avoidForwardRef = !0;
72
68
  function getThemedChildren(themeState, children, props, isRoot = !1, stateRef) {
73
69
  const {
74
- themeManager,
75
- isNewTheme
76
- } = themeState;
77
- if (!themeManager) return children;
78
- const {
79
- shallow,
80
- forceClassName
81
- } = props;
82
- let shouldRenderChildrenWithTheme = isNewTheme || isRoot || "inverse" in props || "name" in props || "reset" in props || "forceClassName" in props || stateRef.current.hasEverThemed;
83
- if (shouldRenderChildrenWithTheme && (stateRef.current.hasEverThemed = !0), !shouldRenderChildrenWithTheme) return children;
84
- process.env.NODE_ENV === "development" && shouldRenderChildrenWithTheme && props.debug === "verbose" && (0, import_log.log)(`adding theme: isRoot ${isRoot}, inverse ${"inverse" in props}, isNewTheme ${isNewTheme}, hasEver ${stateRef.current.hasEverThemed}`, props);
85
- let next = children;
86
- shallow && (next = import_react.Children.toArray(children).map(child => (0, import_react.isValidElement)(child) ? (0, import_react.cloneElement)(child, void 0, /* @__PURE__ */(0, import_jsx_runtime.jsx)(Theme, {
87
- name: themeManager.state.parentName,
88
- children: child.props.children
89
- })) : child));
90
- const elementsWithContext = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ThemeManagerContext.ThemeManagerContext.Provider, {
91
- value: themeManager,
92
- children: next
70
+ shallow,
71
+ forceClassName
72
+ } = props,
73
+ state = stateRef.current;
74
+ if (!(state.hasEverThemed || themeState.isNew || isRoot || (0, import_useThemeState.hasThemeUpdatingProps)(props))) return children;
75
+ children = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_useThemeState.ThemeStateContext.Provider, {
76
+ value: themeState.id,
77
+ children
93
78
  });
94
- return forceClassName === !1 ? elementsWithContext : import_constants.isWeb ? wrapThemeElements({
95
- children: elementsWithContext,
96
- themeState,
79
+ const {
80
+ isInverse,
81
+ name
82
+ } = themeState,
83
+ requiresExtraWrapper = isInverse || forceClassName;
84
+ if (state.hasEverThemed || (state.hasEverThemed = !0), (requiresExtraWrapper ||
85
+ // if the theme is exactly dark or light, its likely to change between dark/light
86
+ // and that would require wrapping which would re-parent, so to avoid re-parenting do this
87
+ themeState.name === "dark" || themeState.name === "light") && (state.hasEverThemed = "wrapped"), shallow && themeState.parentId) {
88
+ const parentState = (0, import_useThemeState.getThemeState)(themeState.isNew ? themeState.id : themeState.parentId);
89
+ if (!parentState) throw new Error("\u203C\uFE0F010");
90
+ children = import_react.Children.toArray(children).map(child => (0, import_react.isValidElement)(child) ? (0, import_react.cloneElement)(child, void 0, /* @__PURE__ */(0, import_jsx_runtime.jsx)(Theme, {
91
+ name: parentState.name,
92
+ children: child.props.children
93
+ })) : child);
94
+ }
95
+ if (process.env.NODE_ENV === "development" && props.debug && (console.warn(" getThemedChildren", {
96
+ requiresExtraWrapper,
97
97
  forceClassName,
98
- isRoot
99
- }) : elementsWithContext;
100
- }
101
- function wrapThemeElements({
102
- children,
103
- themeState,
104
- forceClassName,
105
- isRoot
106
- }) {
107
- if (isRoot && forceClassName === !1) return children;
108
- const inverse = themeState.inversed,
109
- requiresExtraWrapper = typeof inverse == "boolean" || forceClassName,
110
- {
98
+ themeState,
99
+ state,
100
+ ...getThemeClassNameAndStyle(themeState, props, isRoot)
101
+ }), children = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ThemeDebug.ThemeDebug, {
102
+ themeState,
103
+ themeProps: props,
104
+ children
105
+ })), forceClassName === !1) return children;
106
+ if (import_constants.isWeb) {
107
+ const {
111
108
  className,
112
109
  style
113
- } = getThemeClassNameAndStyle(themeState, isRoot);
114
- let themedChildren = /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
115
- className: `${className} _dsp_contents is_Theme`,
116
- style,
117
- children
118
- });
119
- if (requiresExtraWrapper) {
120
- const name = themeState.state?.name || "",
121
- inverseClassName = name.startsWith("light") ? "t_light is_inversed" : name.startsWith("dark") ? "t_dark is_inversed" : "";
122
- themedChildren = /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
123
- className: `${inverse ? inverseClassName : ""} _dsp_contents`,
124
- children: themedChildren
125
- });
110
+ } = getThemeClassNameAndStyle(themeState, props, isRoot);
111
+ if (children = /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
112
+ className: `${className} _dsp_contents is_Theme`,
113
+ style,
114
+ children
115
+ }), state.hasEverThemed === "wrapped") {
116
+ const className2 = requiresExtraWrapper ? `${isInverse ? name.startsWith("light") ? "t_light is_inversed" : name.startsWith("dark") ? "t_dark is_inversed" : "" : ""} _dsp_contents` : "_dsp_contents";
117
+ children = /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
118
+ className: className2,
119
+ children
120
+ });
121
+ }
122
+ return children;
126
123
  }
127
- return themedChildren;
124
+ return children;
128
125
  }
129
- const emptyObj = {};
130
- function getThemeClassNameAndStyle(themeState, isRoot = !1) {
131
- if (!themeState.isNewTheme) return {
132
- className: "",
133
- style: emptyObj
134
- };
135
- const themeColor = themeState.state?.theme && themeState.isNewTheme ? (0, import_createVariable.variableToString)(themeState.state.theme.color) : "",
126
+ function getThemeClassNameAndStyle(themeState, props, isRoot = !1) {
127
+ if (!themeState.isNew && !props.forceClassName) return empty;
128
+ const themeColor = themeState?.theme && themeState.isNew ? (0, import_createVariable.variableToString)(themeState.theme.color) : "",
136
129
  style = themeColor ? {
137
130
  color: themeColor
138
- } : void 0;
139
- let className = themeState.state?.className || "";
140
- return isRoot && (className = className.replace("t_sub_theme", "")), {
131
+ } : void 0,
132
+ maxInverses = (0, import_config.getSetting)("maxDarkLightNesting") || 3,
133
+ themeClassName = themeState.inverses >= maxInverses ? themeState.name : themeState.name.replace(schemePrefix, ""),
134
+ className = `${isRoot ? "" : "t_sub_theme"} t_${themeClassName}`;
135
+ return {
141
136
  style,
142
137
  className
143
138
  };
144
- }
139
+ }
140
+ const schemePrefix = /^(dark|light)_/;