@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,8 +1,7 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
5
  var __export = (target, all) => {
7
6
  for (var name in all)
8
7
  __defProp(target, name, { get: all[name], enumerable: !0 });
@@ -12,28 +11,15 @@ var __export = (target, all) => {
12
11
  !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
12
  return to;
14
13
  };
15
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
16
- // If the importer is in node compatibility mode or this is not an ESM
17
- // file that has been converted to a CommonJS file using a Babel-
18
- // compatible transform (i.e. "__esModule" has not been set), then set
19
- // "default" to the CommonJS "module.exports" for node compatibility.
20
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
21
- mod
22
- )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
23
15
  var useThemeName_exports = {};
24
16
  __export(useThemeName_exports, {
25
17
  useThemeName: () => useThemeName
26
18
  });
27
19
  module.exports = __toCommonJS(useThemeName_exports);
28
- var import_constants = require("@tamagui/constants"), import_react = __toESM(require("react")), import_ThemeManagerContext = require("../helpers/ThemeManagerContext");
29
- function useThemeName(opts) {
30
- const manager = import_react.default.useContext(import_ThemeManagerContext.ThemeManagerContext), [name, setName] = import_react.default.useState(manager?.state.name || "");
31
- return (0, import_constants.useIsomorphicLayoutEffect)(() => {
32
- if (manager)
33
- return setName(manager.state.name), manager.onChangeTheme((next, manager2) => {
34
- const name2 = opts?.parent && manager2.state.parentName || next;
35
- name2 && setName(name2);
36
- });
37
- }, [manager?.state.name]), name;
20
+ var import_useThemeState = require("./useThemeState");
21
+ const forceUpdateState = { forceClassName: !0, deopt: !0, needsUpdate: () => !0 }, forceKeys = { current: /* @__PURE__ */ new Set([""]) };
22
+ function useThemeName() {
23
+ return (0, import_useThemeState.useThemeState)(forceUpdateState, !1, forceKeys)?.name || "";
38
24
  }
39
25
  //# sourceMappingURL=useThemeName.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/useThemeName.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA0C,+BAC1C,eAAkB,2BAClB,6BAAoC;AAG7B,SAAS,aAAa,MAAqC;AAChE,QAAM,UAAU,aAAAA,QAAM,WAAW,8CAAmB,GAC9C,CAAC,MAAM,OAAO,IAAI,aAAAA,QAAM,SAAS,SAAS,MAAM,QAAQ,EAAE;AAEhE,yDAA0B,MAAM;AAC9B,QAAK;AACL,qBAAQ,QAAQ,MAAM,IAAI,GACnB,QAAQ,cAAc,CAAC,MAAMC,aAAY;AAC9C,cAAMC,QAAO,MAAM,UAASD,SAAQ,MAAM,cAAc;AACxD,QAAKC,SAEL,QAAQA,KAAI;AAAA,MACd,CAAC;AAAA,EACH,GAAG,CAAC,SAAS,MAAM,IAAI,CAAC,GAEjB;AACT;",
5
- "names": ["React", "manager", "name"]
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,2BAA8B;AAG9B,MAAM,mBAAmB,EAAE,gBAAgB,IAAM,OAAO,IAAM,aAAa,MAAM,GAAK,GAChF,YAAY,EAAE,SAAS,oBAAI,IAAI,CAAC,EAAE,CAAC,EAAE;AAEpC,SAAS,eAA0B;AACxC,aAAO,oCAAc,kBAAkB,IAAO,SAAS,GAAG,QAAQ;AACpE;",
5
+ "names": []
6
6
  }
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
6
  var __export = (target, all) => {
8
7
  for (var name in all)
9
8
  __defProp(target, name, { get: all[name], enumerable: !0 });
@@ -13,31 +12,26 @@ var __export = (target, all) => {
13
12
  !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
13
  return to;
15
14
  };
16
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
- // If the importer is in node compatibility mode or this is not an ESM
18
- // file that has been converted to a CommonJS file using a Babel-
19
- // compatible transform (i.e. "__esModule" has not been set), then set
20
- // "default" to the CommonJS "module.exports" for node compatibility.
21
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
22
- mod
23
- )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
24
16
  var useThemeName_exports = {};
25
17
  __export(useThemeName_exports, {
26
18
  useThemeName: () => useThemeName
27
19
  });
28
20
  module.exports = __toCommonJS(useThemeName_exports);
29
- var import_constants = require("@tamagui/constants"), import_react = __toESM(require("react")), import_ThemeManagerContext = require("../helpers/ThemeManagerContext");
30
- function useThemeName(opts) {
31
- var manager = import_react.default.useContext(import_ThemeManagerContext.ThemeManagerContext), [name, setName] = import_react.default.useState((manager == null ? void 0 : manager.state.name) || "");
32
- return (0, import_constants.useIsomorphicLayoutEffect)(function() {
33
- if (manager)
34
- return setName(manager.state.name), manager.onChangeTheme(function(next, manager2) {
35
- var name2 = opts != null && opts.parent && manager2.state.parentName || next;
36
- name2 && setName(name2);
37
- });
38
- }, [
39
- manager == null ? void 0 : manager.state.name
40
- ]), name;
21
+ var import_useThemeState = require("./useThemeState"), forceUpdateState = {
22
+ forceClassName: !0,
23
+ deopt: !0,
24
+ needsUpdate: function() {
25
+ return !0;
26
+ }
27
+ }, forceKeys = {
28
+ current: /* @__PURE__ */ new Set([
29
+ ""
30
+ ])
31
+ };
32
+ function useThemeName() {
33
+ var _useThemeState;
34
+ return ((_useThemeState = (0, import_useThemeState.useThemeState)(forceUpdateState, !1, forceKeys)) === null || _useThemeState === void 0 ? void 0 : _useThemeState.name) || "";
41
35
  }
42
36
  // Annotate the CommonJS export names for ESM import in node:
43
37
  0 && (module.exports = {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/Users/n8/tamagui/code/core/web/src/hooks/useThemeName.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;uBAA0C,+BAC1C,eAAkB,2BAClB,6BAAoC;AAG7B,SAASA,aAAaC,MAAwB;AACnD,MAAMC,UAAUC,aAAAA,QAAMC,WAAWC,8CAAAA,GAC3B,CAACC,MAAMC,OAAAA,IAAWJ,aAAAA,QAAMK,UAASN,WAAAA,OAAAA,SAAAA,QAASO,MAAMH,SAAQ,EAAA;AAE9DI,yDAA0B,WAAA;AACxB,QAAKR;AACLK,qBAAQL,QAAQO,MAAMH,IAAI,GACnBJ,QAAQS,cAAc,SAACC,MAAMV,UAAAA;AAClC,YAAMI,QAAOL,QAAAA,QAAAA,KAAMY,UAASX,SAAQO,MAAMK,cAAcF;AACxD,QAAKN,SAELC,QAAQD,KAAAA;MACV,CAAA;EACF,GAAG;IAACJ,WAAAA,OAAAA,SAAAA,QAASO,MAAMH;GAAK,GAEjBA;AACT;",
5
- "names": ["useThemeName", "opts", "manager", "React", "useContext", "ThemeManagerContext", "name", "setName", "useState", "state", "useIsomorphicLayoutEffect", "onChangeTheme", "next", "parent", "parentName"]
4
+ "mappings": ";;;;;;;;;;;;;;;AACA;;;;;2BAA8B,4BAGxBA,mBAAmB;EAAEC,gBAAgB;EAAMC,OAAO;EAAMC,aAAa,WAAA;WAAM;;AAAK,GAChFC,YAAY;EAAEC,SAAS,oBAAIC,IAAI;IAAC;GAAG;AAAE;AAEpC,SAASC,eAAAA;MACPC;AAAP,WAAOA,qBAAAA,oCAAcR,kBAAkB,IAAOI,SAAAA,OAAAA,QAAvCI,mBAAAA,SAAAA,SAAAA,eAAmDC,SAAQ;AACpE;",
5
+ "names": ["forceUpdateState", "forceClassName", "deopt", "needsUpdate", "forceKeys", "current", "Set", "useThemeName", "useThemeState", "name"]
6
6
  }
@@ -0,0 +1,187 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: !0
9
+ });
10
+ },
11
+ __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
13
+ get: () => from[key],
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ return to;
17
+ };
18
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
+ value: !0
20
+ }), mod);
21
+ var useThemeState_exports = {};
22
+ __export(useThemeState_exports, {
23
+ ThemeStateContext: () => ThemeStateContext,
24
+ forceUpdateThemes: () => forceUpdateThemes,
25
+ getRootThemeState: () => getRootThemeState,
26
+ getThemeState: () => getThemeState,
27
+ hasThemeUpdatingProps: () => hasThemeUpdatingProps,
28
+ useThemeState: () => useThemeState
29
+ });
30
+ module.exports = __toCommonJS(useThemeState_exports);
31
+ var import_react = require("react"),
32
+ import_config = require("../config.cjs");
33
+ const ThemeStateContext = (0, import_react.createContext)(""),
34
+ allListeners = /* @__PURE__ */new Map(),
35
+ listenersByParent = {},
36
+ states = /* @__PURE__ */new Map(),
37
+ forceUpdateThemes = () => {
38
+ allListeners.forEach(cb => cb());
39
+ },
40
+ getThemeState = id => states.get(id);
41
+ let rootThemeState = null;
42
+ const getRootThemeState = () => rootThemeState,
43
+ HasRenderedOnce = /* @__PURE__ */new WeakMap(),
44
+ useThemeState = (props, isRoot = !1, keys) => {
45
+ const {
46
+ disable
47
+ } = props,
48
+ parentId = (0, import_react.useContext)(ThemeStateContext);
49
+ if (disable) return states.get(parentId) || {
50
+ id: "",
51
+ name: "light",
52
+ theme: (0, import_config.getConfig)().themes.light,
53
+ inverses: 0
54
+ };
55
+ const id = (0, import_react.useId)(),
56
+ subscribe = (0, import_react.useCallback)(cb => (listenersByParent[parentId] ||= /* @__PURE__ */new Set(), listenersByParent[parentId].add(id), allListeners.set(id, cb), () => {
57
+ allListeners.delete(id), listenersByParent[parentId].delete(id);
58
+ }), [id, parentId, keys]),
59
+ propsKey = getPropsKey(props),
60
+ getSnapshot = () => getSnapshotFrom(props, propsKey, isRoot, id, parentId, keys);
61
+ process.env.NODE_ENV === "development" && globalThis.time && globalThis.time`theme-prep-uses`;
62
+ const state = (0, import_react.useSyncExternalStore)(subscribe, getSnapshot, getSnapshot);
63
+ return (0, import_react.useLayoutEffect)(() => {
64
+ if (propsKey) {
65
+ if (!HasRenderedOnce.has(keys)) {
66
+ HasRenderedOnce.set(keys, !0);
67
+ return;
68
+ }
69
+ process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.warn(` \xB7 useTheme(${id}) scheduleUpdate`, propsKey, states.get(id)?.name), scheduleUpdate(id);
70
+ }
71
+ }, [keys, propsKey]), process.env.NODE_ENV === "development" && props.debug && (console.groupCollapsed(` \xB7 useTheme(${id}) =>`, state.name, id === state.id ? "\u{1F389}" : "\u23ED\uFE0F"), console.info({
72
+ state,
73
+ parentId,
74
+ props,
75
+ propsKey,
76
+ id,
77
+ parentState: states.get(parentId)
78
+ }), console.groupEnd()), state.id === id ? {
79
+ ...state,
80
+ isNew: !0
81
+ } : state;
82
+ };
83
+ let themes = null;
84
+ const getSnapshotFrom = (props, propsKey, isRoot = !1, id, parentId, keys) => {
85
+ const needsUpdate = keys?.current?.size || props.needsUpdate?.(),
86
+ parentState = states.get(parentId);
87
+ themes || (themes = (0, import_config.getConfig)().themes);
88
+ const lastState = states.get(id),
89
+ name = propsKey ? getNewThemeName(parentState?.name, props, !!needsUpdate) : null;
90
+ if (process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile") {
91
+ const message = ` \xB7 useTheme(${id}) snapshot ${name}, parent ${parentState?.id} needsUpdate ${needsUpdate}`;
92
+ console.groupCollapsed(message), console.info({
93
+ lastState,
94
+ parentState,
95
+ props,
96
+ propsKey,
97
+ id,
98
+ keys
99
+ }), console.groupEnd();
100
+ }
101
+ if (parentState && !name && propsKey) return parentState;
102
+ if (!name) return lastState && !needsUpdate ? lastState : (states.set(id, parentState), parentState);
103
+ if (lastState && lastState.name === name) return lastState;
104
+ const scheme = getScheme(name),
105
+ parentInverses = parentState?.inverses ?? 0,
106
+ isInverse = parentState && scheme !== parentState.scheme,
107
+ inverses = parentInverses + (isInverse ? 1 : 0),
108
+ nextState = {
109
+ id,
110
+ name,
111
+ theme: themes[name],
112
+ scheme,
113
+ parentId,
114
+ parentName: parentState?.name,
115
+ inverses,
116
+ isInverse
117
+ };
118
+ 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;
119
+ };
120
+ function scheduleUpdate(id) {
121
+ const queue = [id],
122
+ visited = /* @__PURE__ */new Set();
123
+ for (; queue.length;) {
124
+ const parent = queue.shift(),
125
+ children = listenersByParent[parent];
126
+ if (children) for (const childId of children) visited.has(childId) || (visited.add(childId), queue.push(childId));
127
+ }
128
+ visited.forEach(childId => {
129
+ allListeners.get(childId)?.();
130
+ });
131
+ }
132
+ const validSchemes = {
133
+ light: "light",
134
+ dark: "dark"
135
+ };
136
+ function getScheme(name) {
137
+ return validSchemes[name.split("_")[0]];
138
+ }
139
+ function getNewThemeName(parentName = "", {
140
+ name,
141
+ reset,
142
+ componentName,
143
+ inverse
144
+ }, forceUpdate = !1) {
145
+ if (name && reset) throw new Error(process.env.NODE_ENV === "production" ? "\u274C004" : "Cannot reset and set a new name at the same time.");
146
+ if (reset) {
147
+ if (!parentName) throw new Error("\u203C\uFE0F");
148
+ const lastPartIndex = parentName.lastIndexOf("_");
149
+ return lastPartIndex <= 0 ? parentName : parentName.slice(lastPartIndex);
150
+ }
151
+ const {
152
+ themes: themes2
153
+ } = (0, import_config.getConfig)(),
154
+ parentParts = parentName.split("_"),
155
+ lastName = parentParts[parentParts.length - 1];
156
+ lastName && lastName[0].toLowerCase() !== lastName[0] && parentParts.pop();
157
+ const subNames = [name && componentName ? `${name}_${componentName}` : void 0, name, componentName].filter(Boolean);
158
+ let found = null;
159
+ const max = parentParts.length;
160
+ for (let i = 0; i <= max; i++) {
161
+ const base = (i === 0 ? parentParts : parentParts.slice(0, -i)).join("_");
162
+ for (const subName of subNames) {
163
+ const potential = base ? `${base}_${subName}` : subName;
164
+ if (potential in themes2) {
165
+ found = potential;
166
+ break;
167
+ }
168
+ }
169
+ if (found) break;
170
+ }
171
+ if (found && inverse) {
172
+ const scheme = found.split("_")[0];
173
+ found = found.replace(new RegExp(`^${scheme}`), scheme === "light" ? "dark" : "light");
174
+ }
175
+ return !forceUpdate && found === parentName &&
176
+ // if its a scheme only sub-theme, we always consider it "new" because it likely inverses
177
+ // and we want to avoid reparenting
178
+ !validSchemes[found] ? null : found;
179
+ }
180
+ const getPropsKey = ({
181
+ name,
182
+ reset,
183
+ inverse,
184
+ forceClassName,
185
+ componentName
186
+ }) => `${name || ""}${inverse || ""}${reset || ""}${forceClassName || ""}${componentName || ""}`,
187
+ hasThemeUpdatingProps = props => "inverse" in props || "name" in props || "reset" in props || "forceClassName" in props;
@@ -0,0 +1,159 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: !0 });
8
+ }, __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from == "object" || typeof from == "function")
10
+ for (let key of __getOwnPropNames(from))
11
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ var useThemeState_exports = {};
16
+ __export(useThemeState_exports, {
17
+ ThemeStateContext: () => ThemeStateContext,
18
+ forceUpdateThemes: () => forceUpdateThemes,
19
+ getRootThemeState: () => getRootThemeState,
20
+ getThemeState: () => getThemeState,
21
+ hasThemeUpdatingProps: () => hasThemeUpdatingProps,
22
+ useThemeState: () => useThemeState
23
+ });
24
+ module.exports = __toCommonJS(useThemeState_exports);
25
+ var import_react = require("react"), import_config = require("../config");
26
+ const ThemeStateContext = (0, import_react.createContext)(""), allListeners = /* @__PURE__ */ new Map(), listenersByParent = {}, states = /* @__PURE__ */ new Map(), forceUpdateThemes = () => {
27
+ allListeners.forEach((cb) => cb());
28
+ }, getThemeState = (id) => states.get(id);
29
+ let rootThemeState = null;
30
+ const getRootThemeState = () => rootThemeState, HasRenderedOnce = /* @__PURE__ */ new WeakMap(), useThemeState = (props, isRoot = !1, keys) => {
31
+ const { disable } = props, parentId = (0, import_react.useContext)(ThemeStateContext);
32
+ if (disable)
33
+ return states.get(parentId) || {
34
+ id: "",
35
+ name: "light",
36
+ theme: (0, import_config.getConfig)().themes.light,
37
+ inverses: 0
38
+ };
39
+ const id = (0, import_react.useId)(), subscribe = (0, import_react.useCallback)(
40
+ (cb) => (listenersByParent[parentId] ||= /* @__PURE__ */ new Set(), listenersByParent[parentId].add(id), allListeners.set(id, cb), () => {
41
+ allListeners.delete(id), listenersByParent[parentId].delete(id);
42
+ }),
43
+ [id, parentId, keys]
44
+ ), propsKey = getPropsKey(props), getSnapshot = () => getSnapshotFrom(props, propsKey, isRoot, id, parentId, keys);
45
+ process.env.NODE_ENV === "development" && globalThis.time && globalThis.time`theme-prep-uses`;
46
+ const state = (0, import_react.useSyncExternalStore)(subscribe, getSnapshot, getSnapshot);
47
+ return (0, import_react.useLayoutEffect)(() => {
48
+ if (propsKey) {
49
+ if (!HasRenderedOnce.has(keys)) {
50
+ HasRenderedOnce.set(keys, !0);
51
+ return;
52
+ }
53
+ process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.warn(` \xB7 useTheme(${id}) scheduleUpdate`, propsKey, states.get(id)?.name), scheduleUpdate(id);
54
+ }
55
+ }, [keys, propsKey]), process.env.NODE_ENV === "development" && props.debug && (console.groupCollapsed(
56
+ ` \xB7 useTheme(${id}) =>`,
57
+ state.name,
58
+ id === state.id ? "\u{1F389}" : "\u23ED\uFE0F"
59
+ ), console.info({
60
+ state,
61
+ parentId,
62
+ props,
63
+ propsKey,
64
+ id,
65
+ parentState: states.get(parentId)
66
+ }), console.groupEnd()), state.id === id ? { ...state, isNew: !0 } : state;
67
+ };
68
+ let themes = null;
69
+ const getSnapshotFrom = (props, propsKey, isRoot = !1, id, parentId, keys) => {
70
+ const needsUpdate = keys?.current?.size || props.needsUpdate?.(), parentState = states.get(parentId);
71
+ themes || (themes = (0, import_config.getConfig)().themes);
72
+ const lastState = states.get(id), name = propsKey ? getNewThemeName(parentState?.name, props, !!needsUpdate) : null;
73
+ if (process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile") {
74
+ const message = ` \xB7 useTheme(${id}) snapshot ${name}, parent ${parentState?.id} needsUpdate ${needsUpdate}`;
75
+ console.groupCollapsed(message), console.info({ lastState, parentState, props, propsKey, id, keys }), console.groupEnd();
76
+ }
77
+ if (parentState && (!name && propsKey))
78
+ return parentState;
79
+ if (!name)
80
+ return lastState && !needsUpdate ? lastState : (states.set(id, parentState), parentState);
81
+ if (lastState && lastState.name === name)
82
+ return lastState;
83
+ const scheme = getScheme(name), parentInverses = parentState?.inverses ?? 0, isInverse = parentState && scheme !== parentState.scheme, inverses = parentInverses + (isInverse ? 1 : 0), nextState = {
84
+ id,
85
+ name,
86
+ theme: themes[name],
87
+ scheme,
88
+ parentId,
89
+ parentName: parentState?.name,
90
+ inverses,
91
+ isInverse
92
+ };
93
+ 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;
94
+ };
95
+ function scheduleUpdate(id) {
96
+ const queue = [id], visited = /* @__PURE__ */ new Set();
97
+ for (; queue.length; ) {
98
+ const parent = queue.shift(), children = listenersByParent[parent];
99
+ if (children)
100
+ for (const childId of children)
101
+ visited.has(childId) || (visited.add(childId), queue.push(childId));
102
+ }
103
+ visited.forEach((childId) => {
104
+ allListeners.get(childId)?.();
105
+ });
106
+ }
107
+ const validSchemes = {
108
+ light: "light",
109
+ dark: "dark"
110
+ };
111
+ function getScheme(name) {
112
+ return validSchemes[name.split("_")[0]];
113
+ }
114
+ function getNewThemeName(parentName = "", { name, reset, componentName, inverse }, forceUpdate = !1) {
115
+ if (name && reset)
116
+ throw new Error(
117
+ process.env.NODE_ENV === "production" ? "\u274C004" : "Cannot reset and set a new name at the same time."
118
+ );
119
+ if (reset) {
120
+ if (!parentName) throw new Error("\u203C\uFE0F");
121
+ const lastPartIndex = parentName.lastIndexOf("_");
122
+ return lastPartIndex <= 0 ? parentName : parentName.slice(lastPartIndex);
123
+ }
124
+ const { themes: themes2 } = (0, import_config.getConfig)(), parentParts = parentName.split("_"), lastName = parentParts[parentParts.length - 1];
125
+ lastName && lastName[0].toLowerCase() !== lastName[0] && parentParts.pop();
126
+ const subNames = [
127
+ name && componentName ? `${name}_${componentName}` : void 0,
128
+ name,
129
+ componentName
130
+ ].filter(Boolean);
131
+ let found = null;
132
+ const max = parentParts.length;
133
+ for (let i = 0; i <= max; i++) {
134
+ const base = (i === 0 ? parentParts : parentParts.slice(0, -i)).join("_");
135
+ for (const subName of subNames) {
136
+ const potential = base ? `${base}_${subName}` : subName;
137
+ if (potential in themes2) {
138
+ found = potential;
139
+ break;
140
+ }
141
+ }
142
+ if (found) break;
143
+ }
144
+ if (found && inverse) {
145
+ const scheme = found.split("_")[0];
146
+ found = found.replace(new RegExp(`^${scheme}`), scheme === "light" ? "dark" : "light");
147
+ }
148
+ return !forceUpdate && found === parentName && // if its a scheme only sub-theme, we always consider it "new" because it likely inverses
149
+ // and we want to avoid reparenting
150
+ !validSchemes[found] ? null : found;
151
+ }
152
+ const getPropsKey = ({
153
+ name,
154
+ reset,
155
+ inverse,
156
+ forceClassName,
157
+ componentName
158
+ }) => `${name || ""}${inverse || ""}${reset || ""}${forceClassName || ""}${componentName || ""}`, hasThemeUpdatingProps = (props) => "inverse" in props || "name" in props || "reset" in props || "forceClassName" in props;
159
+ //# sourceMappingURL=useThemeState.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useThemeState.ts"],
4
+ "mappings": "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",
5
+ "names": ["themes"]
6
+ }