@tamagui/web 3.0.18 → 3.1.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 (339) hide show
  1. package/dist/cjs/Tamagui.cjs +2 -1
  2. package/dist/cjs/Tamagui.native.cjs +2 -1
  3. package/dist/cjs/Tamagui.native.js +2 -1
  4. package/dist/cjs/Tamagui.native.js.map +1 -1
  5. package/dist/cjs/_withStableStyle.cjs +2 -1
  6. package/dist/cjs/_withStableStyle.native.cjs +2 -1
  7. package/dist/cjs/_withStableStyle.native.js +2 -1
  8. package/dist/cjs/_withStableStyle.native.js.map +1 -1
  9. package/dist/cjs/config.cjs +8 -7
  10. package/dist/cjs/config.native.cjs +8 -7
  11. package/dist/cjs/config.native.js +8 -7
  12. package/dist/cjs/config.native.js.map +1 -1
  13. package/dist/cjs/constants/constants.cjs +2 -1
  14. package/dist/cjs/constants/constants.native.cjs +2 -1
  15. package/dist/cjs/constants/constants.native.js +2 -1
  16. package/dist/cjs/constants/constants.native.js.map +1 -1
  17. package/dist/cjs/constants/isDevTools.cjs +2 -1
  18. package/dist/cjs/constants/isDevTools.native.cjs +2 -1
  19. package/dist/cjs/constants/isDevTools.native.js +2 -1
  20. package/dist/cjs/constants/isDevTools.native.js.map +1 -1
  21. package/dist/cjs/createComponent.cjs +40 -39
  22. package/dist/cjs/createComponent.native.cjs +39 -38
  23. package/dist/cjs/createComponent.native.js +39 -38
  24. package/dist/cjs/createComponent.native.js.map +1 -1
  25. package/dist/cjs/createTamagui.cjs +2 -1
  26. package/dist/cjs/createTamagui.native.cjs +2 -1
  27. package/dist/cjs/createTamagui.native.js +2 -1
  28. package/dist/cjs/createTamagui.native.js.map +1 -1
  29. package/dist/cjs/createTokens.cjs +2 -1
  30. package/dist/cjs/createTokens.native.cjs +2 -1
  31. package/dist/cjs/createTokens.native.js +2 -1
  32. package/dist/cjs/createTokens.native.js.map +1 -1
  33. package/dist/cjs/createVariable.cjs +2 -1
  34. package/dist/cjs/createVariable.native.cjs +2 -1
  35. package/dist/cjs/createVariable.native.js +2 -1
  36. package/dist/cjs/createVariable.native.js.map +1 -1
  37. package/dist/cjs/helpers/createDesignSystem.cjs +3 -2
  38. package/dist/cjs/helpers/createDesignSystem.native.cjs +2 -1
  39. package/dist/cjs/helpers/createDesignSystem.native.js +2 -1
  40. package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
  41. package/dist/cjs/helpers/formatDiagnostic.cjs +2 -1
  42. package/dist/cjs/helpers/formatDiagnostic.native.cjs +2 -1
  43. package/dist/cjs/helpers/formatDiagnostic.native.js +2 -1
  44. package/dist/cjs/helpers/formatDiagnostic.native.js.map +1 -1
  45. package/dist/cjs/helpers/getSplitStyles.cjs +37 -36
  46. package/dist/cjs/helpers/getSplitStyles.native.cjs +40 -39
  47. package/dist/cjs/helpers/getSplitStyles.native.js +40 -39
  48. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  49. package/dist/cjs/helpers/getThemeCSSRules.cjs +4 -3
  50. package/dist/cjs/helpers/insertStyleRule.cjs +4 -3
  51. package/dist/cjs/helpers/insertStyleRule.native.cjs +4 -3
  52. package/dist/cjs/helpers/insertStyleRule.native.js +4 -3
  53. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  54. package/dist/cjs/helpers/log.cjs +2 -1
  55. package/dist/cjs/helpers/log.native.cjs +2 -1
  56. package/dist/cjs/helpers/log.native.js +2 -1
  57. package/dist/cjs/helpers/log.native.js.map +1 -1
  58. package/dist/cjs/helpers/matchMedia.native.cjs +3 -2
  59. package/dist/cjs/helpers/matchMedia.native.js +3 -2
  60. package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
  61. package/dist/cjs/helpers/noteOnce.cjs +2 -1
  62. package/dist/cjs/helpers/noteOnce.native.cjs +2 -1
  63. package/dist/cjs/helpers/noteOnce.native.js +2 -1
  64. package/dist/cjs/helpers/noteOnce.native.js.map +1 -1
  65. package/dist/cjs/helpers/resolveSafeAreaVariable.native.cjs +2 -1
  66. package/dist/cjs/helpers/resolveSafeAreaVariable.native.js +2 -1
  67. package/dist/cjs/helpers/resolveSafeAreaVariable.native.js.map +1 -1
  68. package/dist/cjs/helpers/resolveSizing.cjs +2 -1
  69. package/dist/cjs/helpers/resolveSizing.native.cjs +2 -1
  70. package/dist/cjs/helpers/resolveSizing.native.js +2 -1
  71. package/dist/cjs/helpers/resolveSizing.native.js.map +1 -1
  72. package/dist/cjs/helpers/skipProps.cjs +3 -2
  73. package/dist/cjs/helpers/skipProps.native.cjs +3 -2
  74. package/dist/cjs/helpers/skipProps.native.js +3 -2
  75. package/dist/cjs/helpers/skipProps.native.js.map +1 -1
  76. package/dist/cjs/helpers/styledDynamic.cjs +2 -1
  77. package/dist/cjs/helpers/styledDynamic.native.cjs +2 -1
  78. package/dist/cjs/helpers/styledDynamic.native.js +2 -1
  79. package/dist/cjs/helpers/styledDynamic.native.js.map +1 -1
  80. package/dist/cjs/helpers/subscribeToContextGroup.cjs +2 -1
  81. package/dist/cjs/helpers/subscribeToContextGroup.native.cjs +2 -1
  82. package/dist/cjs/helpers/subscribeToContextGroup.native.js +2 -1
  83. package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
  84. package/dist/cjs/helpers/variableValue.cjs +2 -1
  85. package/dist/cjs/helpers/variableValue.native.cjs +2 -1
  86. package/dist/cjs/helpers/variableValue.native.js +2 -1
  87. package/dist/cjs/helpers/variableValue.native.js.map +1 -1
  88. package/dist/cjs/helpers/variables.cjs +5 -4
  89. package/dist/cjs/helpers/variables.native.cjs +5 -4
  90. package/dist/cjs/helpers/variables.native.js +5 -4
  91. package/dist/cjs/helpers/variables.native.js.map +1 -1
  92. package/dist/cjs/helpers/warnOnce.cjs +4 -3
  93. package/dist/cjs/helpers/warnOnce.native.cjs +4 -3
  94. package/dist/cjs/helpers/warnOnce.native.js +4 -3
  95. package/dist/cjs/helpers/warnOnce.native.js.map +1 -1
  96. package/dist/cjs/hooks/getThemeProxied.cjs +2 -1
  97. package/dist/cjs/hooks/getThemeProxied.native.cjs +5 -4
  98. package/dist/cjs/hooks/getThemeProxied.native.js +5 -4
  99. package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -1
  100. package/dist/cjs/hooks/useAnimationDriver.cjs +3 -2
  101. package/dist/cjs/hooks/useAnimationDriver.native.cjs +3 -2
  102. package/dist/cjs/hooks/useAnimationDriver.native.js +3 -2
  103. package/dist/cjs/hooks/useAnimationDriver.native.js.map +1 -1
  104. package/dist/cjs/hooks/useMedia.cjs +3 -2
  105. package/dist/cjs/hooks/useMedia.native.cjs +3 -2
  106. package/dist/cjs/hooks/useMedia.native.js +3 -2
  107. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  108. package/dist/cjs/hooks/useTheme.cjs +2 -1
  109. package/dist/cjs/hooks/useTheme.native.cjs +2 -1
  110. package/dist/cjs/hooks/useTheme.native.js +2 -1
  111. package/dist/cjs/hooks/useTheme.native.js.map +1 -1
  112. package/dist/cjs/hooks/useThemeState.cjs +2 -1
  113. package/dist/cjs/hooks/useThemeState.native.cjs +2 -1
  114. package/dist/cjs/hooks/useThemeState.native.js +2 -1
  115. package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
  116. package/dist/cjs/style.cjs +2 -1
  117. package/dist/cjs/style.native.cjs +2 -1
  118. package/dist/cjs/style.native.js +2 -1
  119. package/dist/cjs/style.native.js.map +1 -1
  120. package/dist/cjs/styled.cjs +3 -2
  121. package/dist/cjs/styled.native.cjs +2 -1
  122. package/dist/cjs/styled.native.js +2 -1
  123. package/dist/cjs/styled.native.js.map +1 -1
  124. package/dist/cjs/views/TamaguiProvider.cjs +2 -1
  125. package/dist/cjs/views/TamaguiProvider.native.cjs +2 -1
  126. package/dist/cjs/views/TamaguiProvider.native.js +2 -1
  127. package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
  128. package/dist/cjs/views/Theme.cjs +5 -4
  129. package/dist/cjs/views/Theme.native.cjs +5 -4
  130. package/dist/cjs/views/Theme.native.js +5 -4
  131. package/dist/cjs/views/Theme.native.js.map +1 -1
  132. package/dist/cjs/views/ThemeDebug.cjs +3 -2
  133. package/dist/esm/Tamagui.mjs +2 -1
  134. package/dist/esm/Tamagui.mjs.map +1 -1
  135. package/dist/esm/Tamagui.native.js +2 -1
  136. package/dist/esm/Tamagui.native.js.map +1 -1
  137. package/dist/esm/_withStableStyle.mjs +2 -1
  138. package/dist/esm/_withStableStyle.mjs.map +1 -1
  139. package/dist/esm/_withStableStyle.native.js +2 -1
  140. package/dist/esm/_withStableStyle.native.js.map +1 -1
  141. package/dist/esm/config.mjs +8 -7
  142. package/dist/esm/config.mjs.map +1 -1
  143. package/dist/esm/config.native.js +8 -7
  144. package/dist/esm/config.native.js.map +1 -1
  145. package/dist/esm/constants/constants.mjs +2 -1
  146. package/dist/esm/constants/constants.mjs.map +1 -1
  147. package/dist/esm/constants/constants.native.js +2 -1
  148. package/dist/esm/constants/constants.native.js.map +1 -1
  149. package/dist/esm/constants/isDevTools.mjs +2 -1
  150. package/dist/esm/constants/isDevTools.mjs.map +1 -1
  151. package/dist/esm/constants/isDevTools.native.js +2 -1
  152. package/dist/esm/constants/isDevTools.native.js.map +1 -1
  153. package/dist/esm/createComponent.mjs +40 -39
  154. package/dist/esm/createComponent.mjs.map +1 -1
  155. package/dist/esm/createComponent.native.js +39 -38
  156. package/dist/esm/createComponent.native.js.map +1 -1
  157. package/dist/esm/createTamagui.mjs +2 -1
  158. package/dist/esm/createTamagui.mjs.map +1 -1
  159. package/dist/esm/createTamagui.native.js +2 -1
  160. package/dist/esm/createTamagui.native.js.map +1 -1
  161. package/dist/esm/createTokens.mjs +2 -1
  162. package/dist/esm/createTokens.mjs.map +1 -1
  163. package/dist/esm/createTokens.native.js +2 -1
  164. package/dist/esm/createTokens.native.js.map +1 -1
  165. package/dist/esm/createVariable.mjs +2 -1
  166. package/dist/esm/createVariable.mjs.map +1 -1
  167. package/dist/esm/createVariable.native.js +2 -1
  168. package/dist/esm/createVariable.native.js.map +1 -1
  169. package/dist/esm/helpers/createDesignSystem.mjs +3 -2
  170. package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
  171. package/dist/esm/helpers/createDesignSystem.native.js +2 -1
  172. package/dist/esm/helpers/createDesignSystem.native.js.map +1 -1
  173. package/dist/esm/helpers/formatDiagnostic.mjs +2 -1
  174. package/dist/esm/helpers/formatDiagnostic.mjs.map +1 -1
  175. package/dist/esm/helpers/formatDiagnostic.native.js +2 -1
  176. package/dist/esm/helpers/formatDiagnostic.native.js.map +1 -1
  177. package/dist/esm/helpers/getSplitStyles.mjs +37 -36
  178. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  179. package/dist/esm/helpers/getSplitStyles.native.js +40 -39
  180. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  181. package/dist/esm/helpers/getThemeCSSRules.mjs +4 -3
  182. package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
  183. package/dist/esm/helpers/insertStyleRule.mjs +4 -3
  184. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
  185. package/dist/esm/helpers/insertStyleRule.native.js +4 -3
  186. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
  187. package/dist/esm/helpers/log.mjs +2 -1
  188. package/dist/esm/helpers/log.mjs.map +1 -1
  189. package/dist/esm/helpers/log.native.js +2 -1
  190. package/dist/esm/helpers/log.native.js.map +1 -1
  191. package/dist/esm/helpers/matchMedia.native.js +3 -2
  192. package/dist/esm/helpers/matchMedia.native.js.map +1 -1
  193. package/dist/esm/helpers/noteOnce.mjs +2 -1
  194. package/dist/esm/helpers/noteOnce.mjs.map +1 -1
  195. package/dist/esm/helpers/noteOnce.native.js +2 -1
  196. package/dist/esm/helpers/noteOnce.native.js.map +1 -1
  197. package/dist/esm/helpers/resolveSafeAreaVariable.native.js +2 -1
  198. package/dist/esm/helpers/resolveSafeAreaVariable.native.js.map +1 -1
  199. package/dist/esm/helpers/resolveSizing.mjs +2 -1
  200. package/dist/esm/helpers/resolveSizing.mjs.map +1 -1
  201. package/dist/esm/helpers/resolveSizing.native.js +2 -1
  202. package/dist/esm/helpers/resolveSizing.native.js.map +1 -1
  203. package/dist/esm/helpers/skipProps.mjs +3 -2
  204. package/dist/esm/helpers/skipProps.mjs.map +1 -1
  205. package/dist/esm/helpers/skipProps.native.js +3 -2
  206. package/dist/esm/helpers/skipProps.native.js.map +1 -1
  207. package/dist/esm/helpers/styledDynamic.mjs +2 -1
  208. package/dist/esm/helpers/styledDynamic.mjs.map +1 -1
  209. package/dist/esm/helpers/styledDynamic.native.js +2 -1
  210. package/dist/esm/helpers/styledDynamic.native.js.map +1 -1
  211. package/dist/esm/helpers/subscribeToContextGroup.mjs +2 -1
  212. package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -1
  213. package/dist/esm/helpers/subscribeToContextGroup.native.js +2 -1
  214. package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
  215. package/dist/esm/helpers/variableValue.mjs +2 -1
  216. package/dist/esm/helpers/variableValue.mjs.map +1 -1
  217. package/dist/esm/helpers/variableValue.native.js +2 -1
  218. package/dist/esm/helpers/variableValue.native.js.map +1 -1
  219. package/dist/esm/helpers/variables.mjs +5 -4
  220. package/dist/esm/helpers/variables.mjs.map +1 -1
  221. package/dist/esm/helpers/variables.native.js +5 -4
  222. package/dist/esm/helpers/variables.native.js.map +1 -1
  223. package/dist/esm/helpers/warnOnce.mjs +4 -3
  224. package/dist/esm/helpers/warnOnce.mjs.map +1 -1
  225. package/dist/esm/helpers/warnOnce.native.js +4 -3
  226. package/dist/esm/helpers/warnOnce.native.js.map +1 -1
  227. package/dist/esm/hooks/getThemeProxied.mjs +2 -1
  228. package/dist/esm/hooks/getThemeProxied.mjs.map +1 -1
  229. package/dist/esm/hooks/getThemeProxied.native.js +5 -4
  230. package/dist/esm/hooks/getThemeProxied.native.js.map +1 -1
  231. package/dist/esm/hooks/useAnimationDriver.mjs +3 -2
  232. package/dist/esm/hooks/useAnimationDriver.mjs.map +1 -1
  233. package/dist/esm/hooks/useAnimationDriver.native.js +3 -2
  234. package/dist/esm/hooks/useAnimationDriver.native.js.map +1 -1
  235. package/dist/esm/hooks/useMedia.mjs +3 -2
  236. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  237. package/dist/esm/hooks/useMedia.native.js +3 -2
  238. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  239. package/dist/esm/hooks/useTheme.mjs +2 -1
  240. package/dist/esm/hooks/useTheme.mjs.map +1 -1
  241. package/dist/esm/hooks/useTheme.native.js +2 -1
  242. package/dist/esm/hooks/useTheme.native.js.map +1 -1
  243. package/dist/esm/hooks/useThemeState.mjs +2 -1
  244. package/dist/esm/hooks/useThemeState.mjs.map +1 -1
  245. package/dist/esm/hooks/useThemeState.native.js +2 -1
  246. package/dist/esm/hooks/useThemeState.native.js.map +1 -1
  247. package/dist/esm/style.mjs +2 -1
  248. package/dist/esm/style.mjs.map +1 -1
  249. package/dist/esm/style.native.js +2 -1
  250. package/dist/esm/style.native.js.map +1 -1
  251. package/dist/esm/styled.mjs +3 -2
  252. package/dist/esm/styled.mjs.map +1 -1
  253. package/dist/esm/styled.native.js +2 -1
  254. package/dist/esm/styled.native.js.map +1 -1
  255. package/dist/esm/views/TamaguiProvider.mjs +2 -1
  256. package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
  257. package/dist/esm/views/TamaguiProvider.native.js +2 -1
  258. package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
  259. package/dist/esm/views/Theme.mjs +5 -4
  260. package/dist/esm/views/Theme.mjs.map +1 -1
  261. package/dist/esm/views/Theme.native.js +5 -4
  262. package/dist/esm/views/Theme.native.js.map +1 -1
  263. package/dist/esm/views/ThemeDebug.mjs +3 -2
  264. package/dist/esm/views/ThemeDebug.mjs.map +1 -1
  265. package/package.json +20 -20
  266. package/src/Tamagui.ts +3 -1
  267. package/src/_withStableStyle.tsx +3 -1
  268. package/src/config.ts +9 -6
  269. package/src/constants/constants.ts +3 -1
  270. package/src/constants/isDevTools.ts +2 -1
  271. package/src/createComponent.tsx +55 -37
  272. package/src/createTamagui.ts +3 -1
  273. package/src/createTokens.ts +3 -1
  274. package/src/createVariable.ts +3 -1
  275. package/src/helpers/createDesignSystem.ts +4 -2
  276. package/src/helpers/formatDiagnostic.ts +2 -1
  277. package/src/helpers/getSplitStyles.tsx +56 -29
  278. package/src/helpers/getThemeCSSRules.ts +5 -3
  279. package/src/helpers/insertStyleRule.tsx +5 -3
  280. package/src/helpers/log.ts +3 -1
  281. package/src/helpers/matchMedia.native.ts +4 -2
  282. package/src/helpers/noteOnce.ts +2 -1
  283. package/src/helpers/resolveSafeAreaVariable.native.ts +3 -1
  284. package/src/helpers/resolveSizing.ts +3 -1
  285. package/src/helpers/skipProps.ts +4 -2
  286. package/src/helpers/styledDynamic.ts +3 -1
  287. package/src/helpers/subscribeToContextGroup.tsx +3 -1
  288. package/src/helpers/variableValue.ts +3 -1
  289. package/src/helpers/variables.ts +6 -4
  290. package/src/helpers/warnOnce.ts +4 -3
  291. package/src/hooks/getThemeProxied.ts +14 -4
  292. package/src/hooks/useAnimationDriver.ts +4 -2
  293. package/src/hooks/useMedia.tsx +4 -2
  294. package/src/hooks/useTheme.tsx +3 -1
  295. package/src/hooks/useThemeState.ts +3 -1
  296. package/src/index.ts +1 -0
  297. package/src/style.ts +3 -1
  298. package/src/styled.tsx +14 -26
  299. package/src/views/TamaguiProvider.tsx +4 -1
  300. package/src/views/Theme.tsx +6 -4
  301. package/src/views/ThemeDebug.tsx +8 -2
  302. package/types/Tamagui.d.ts.map +1 -1
  303. package/types/_withStableStyle.d.ts.map +1 -1
  304. package/types/config.d.ts.map +1 -1
  305. package/types/constants/constants.d.ts.map +1 -1
  306. package/types/constants/isDevTools.d.ts.map +1 -1
  307. package/types/createComponent.d.ts.map +1 -1
  308. package/types/createTamagui.d.ts.map +1 -1
  309. package/types/createTokens.d.ts.map +1 -1
  310. package/types/createVariable.d.ts.map +1 -1
  311. package/types/helpers/createDesignSystem.d.ts.map +1 -1
  312. package/types/helpers/formatDiagnostic.d.ts.map +1 -1
  313. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  314. package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
  315. package/types/helpers/insertStyleRule.d.ts.map +1 -1
  316. package/types/helpers/log.d.ts.map +1 -1
  317. package/types/helpers/matchMedia.native.d.ts.map +1 -1
  318. package/types/helpers/noteOnce.d.ts.map +1 -1
  319. package/types/helpers/resolveSafeAreaVariable.native.d.ts.map +1 -1
  320. package/types/helpers/resolveSizing.d.ts.map +1 -1
  321. package/types/helpers/skipProps.d.ts.map +1 -1
  322. package/types/helpers/styledDynamic.d.ts.map +1 -1
  323. package/types/helpers/subscribeToContextGroup.d.ts.map +1 -1
  324. package/types/helpers/variableValue.d.ts.map +1 -1
  325. package/types/helpers/variables.d.ts.map +1 -1
  326. package/types/helpers/warnOnce.d.ts.map +1 -1
  327. package/types/hooks/getThemeProxied.d.ts.map +1 -1
  328. package/types/hooks/useAnimationDriver.d.ts.map +1 -1
  329. package/types/hooks/useMedia.d.ts.map +1 -1
  330. package/types/hooks/useTheme.d.ts.map +1 -1
  331. package/types/hooks/useThemeState.d.ts.map +1 -1
  332. package/types/index.d.ts +1 -1
  333. package/types/index.d.ts.map +1 -1
  334. package/types/style.d.ts.map +1 -1
  335. package/types/styled.d.ts +1 -2
  336. package/types/styled.d.ts.map +1 -1
  337. package/types/views/TamaguiProvider.d.ts.map +1 -1
  338. package/types/views/Theme.d.ts.map +1 -1
  339. package/types/views/ThemeDebug.d.ts.map +1 -1
@@ -111,11 +111,14 @@ export type {
111
111
  StyleTokenBinding,
112
112
  StyleTokenProvenance,
113
113
  } from './styleProvenance'
114
+
115
+ const isProd = process.env.NODE_ENV === 'production'
114
116
  export { styleOriginalValues }
115
117
 
116
118
  export type SplitStyles = ReturnType<typeof getSplitStyles>
117
119
 
118
120
  const shouldTrackStyleTokenProvenance =
121
+ !isProd &&
119
122
  process.env.NODE_ENV === 'development' &&
120
123
  process.env.TAMAGUI_ENABLE_STYLE_TOKEN_PROVENANCE === '1'
121
124
  export type SplitStyleResult = ReturnType<typeof getSplitStyles>
@@ -185,7 +188,7 @@ function createCondition(parent?: Condition | null): Condition {
185
188
 
186
189
  function setConditionUnresolved(condition: Condition, name = '') {
187
190
  condition[conditionValue] &= ~conditionResolvedFlag
188
- if (process.env.NODE_ENV !== 'production') condition.problem ||= name
191
+ if (!isProd && process.env.NODE_ENV !== 'production') condition.problem ||= name
189
192
  }
190
193
 
191
194
  function appendConditionWrapper(condition: Condition, wrapper: string) {
@@ -273,6 +276,7 @@ function resolveConditionModifier(
273
276
  const component = state.componentState.group?.[groupName]
274
277
  const context = state.flatGroupContext?.[groupName]
275
278
  if (
279
+ !isProd &&
276
280
  process.env.NODE_ENV === 'development' &&
277
281
  containerName &&
278
282
  !component &&
@@ -368,7 +372,7 @@ function commitCondition(condition: Condition): number {
368
372
  const ranks = condition[conditionRanks]
369
373
  const depth = ranks.length
370
374
  if (depth > 5) {
371
- if (process.env.NODE_ENV !== 'production') {
375
+ if (!isProd && process.env.NODE_ENV !== 'production') {
372
376
  throw new Error(
373
377
  `a flat value clause supports at most 5 non-platform conditions; received ${depth} in "${condition[conditionKey]}:"`
374
378
  )
@@ -565,6 +569,7 @@ function contributeProp(
565
569
  }
566
570
 
567
571
  if (
572
+ !isProd &&
568
573
  process.env.NODE_ENV === 'development' &&
569
574
  (debug === 'profile' || (globalThis as any).time)
570
575
  ) {
@@ -572,7 +577,7 @@ function contributeProp(
572
577
  time`before-prop-${keyInit}`
573
578
  }
574
579
 
575
- if (process.env.NODE_ENV === 'test' && keyInit === 'jestAnimatedStyle') {
580
+ if (!isProd && process.env.NODE_ENV === 'test' && keyInit === 'jestAnimatedStyle') {
576
581
  return
577
582
  }
578
583
 
@@ -619,7 +624,7 @@ function contributeProp(
619
624
  if (condition !== undefined) {
620
625
  if (isValidStyleKey(property, validStyles)) {
621
626
  contributeValue(styleState, property, entry[1], undefined, false, condition)
622
- } else if (process.env.NODE_ENV === 'development') {
627
+ } else if (!isProd && process.env.NODE_ENV === 'development') {
623
628
  console.warn(
624
629
  `[tamagui] "${property}" is not a valid style on this component; the frontend value is dropped.`
625
630
  )
@@ -645,7 +650,7 @@ function contributeProp(
645
650
  ? resolveClassName(candidate, conf, sink)
646
651
  : true
647
652
  if (preserveRaw === null) {
648
- if (process.env.NODE_ENV === 'development') {
653
+ if (!isProd && process.env.NODE_ENV === 'development') {
649
654
  warnOnce(
650
655
  `[tamagui] frontend candidate "${candidate}" is unavailable on this platform and was dropped.`
651
656
  )
@@ -829,7 +834,7 @@ function contributeProp(
829
834
  }
830
835
  }
831
836
 
832
- if (process.env.NODE_ENV === 'development') {
837
+ if (!isProd && process.env.NODE_ENV === 'development') {
833
838
  if (
834
839
  !isValidStyleKey(keyInit, validStyles) &&
835
840
  (keyInit === 'animation' || !(keyInit in stylePropsAll)) &&
@@ -942,7 +947,7 @@ function contributeProp(
942
947
  !styledContextKeys?.has(keyInit) &&
943
948
  !(styledContext && keyInit in styledContext)
944
949
  ) {
945
- if (process.env.NODE_ENV === 'development') {
950
+ if (!isProd && process.env.NODE_ENV === 'development') {
946
951
  warnOnce(
947
952
  `variant-non-style:${keyInit}`,
948
953
  `a variant set "${keyInit}", which is not a style. Variants hold styles and aria/data attributes only: set "${keyInit}" on the component one level up.`
@@ -1020,7 +1025,7 @@ function contributeProp(
1020
1025
 
1021
1026
  const shouldPassThrough = shouldPassProp || isHOCShouldPassThrough
1022
1027
 
1023
- if (process.env.NODE_ENV === 'development' && debug === 'verbose') {
1028
+ if (!isProd && process.env.NODE_ENV === 'development' && debug === 'verbose') {
1024
1029
  // console.groupEnd() // react native was not nesting right
1025
1030
  console.groupCollapsed(
1026
1031
  ` 🔑 ${keyOg}${
@@ -1044,7 +1049,7 @@ function contributeProp(
1044
1049
  if (keyInit in viewProps) delete viewProps[keyInit]
1045
1050
  viewProps[keyInit] = valInit
1046
1051
 
1047
- if (process.env.NODE_ENV === 'development' && debug === 'verbose') {
1052
+ if (!isProd && process.env.NODE_ENV === 'development' && debug === 'verbose') {
1048
1053
  console.groupEnd()
1049
1054
  }
1050
1055
 
@@ -1067,7 +1072,7 @@ function contributeProp(
1067
1072
  !getTransitionResolver()?.resolve(valInit, { animations: driverAnimations }).fused
1068
1073
  )
1069
1074
  ) {
1070
- if (process.env.NODE_ENV === 'development' && debug === 'verbose') {
1075
+ if (!isProd && process.env.NODE_ENV === 'development' && debug === 'verbose') {
1071
1076
  console.groupEnd()
1072
1077
  }
1073
1078
  return
@@ -1158,7 +1163,7 @@ function contributeProp(
1158
1163
  : { default: previous }
1159
1164
  transport[condition[conditionKey]] = valInit
1160
1165
  viewProps[keyInit] = transport
1161
- } else if (process.env.NODE_ENV === 'development') {
1166
+ } else if (!isProd && process.env.NODE_ENV === 'development') {
1162
1167
  console.warn(
1163
1168
  `[tamagui] "${keyInit}" is not a valid style on this component; the conditional variant value is dropped.`
1164
1169
  )
@@ -1168,7 +1173,11 @@ function contributeProp(
1168
1173
 
1169
1174
  if (keyInit in stylePropsAll || isRemovedVendorStyleProp(keyInit)) {
1170
1175
  // shared css authoring intentionally drops unsupported keys on native.
1171
- if (process.env.NODE_ENV === 'development' && process.env.TAMAGUI_TARGET === 'web') {
1176
+ if (
1177
+ !isProd &&
1178
+ process.env.NODE_ENV === 'development' &&
1179
+ process.env.TAMAGUI_TARGET === 'web'
1180
+ ) {
1172
1181
  console.warn(
1173
1182
  `[tamagui] "${keyInit}" is a text style prop and this component is not text — it would render on neither platform. Use a Text-based component, or html.* for raw web elements.`
1174
1183
  )
@@ -1177,7 +1186,7 @@ function contributeProp(
1177
1186
  }
1178
1187
  viewProps[keyInit] = valInit
1179
1188
 
1180
- if (process.env.NODE_ENV === 'development' && debug === 'verbose') {
1189
+ if (!isProd && process.env.NODE_ENV === 'development' && debug === 'verbose') {
1181
1190
  try {
1182
1191
  log(` ✔️ expand complete`, keyInit)
1183
1192
  log('style', { ...styleState.style })
@@ -1266,6 +1275,7 @@ export const getSplitStyles: StyleSplitter = (
1266
1275
  : validStylesView)
1267
1276
 
1268
1277
  if (
1278
+ !isProd &&
1269
1279
  process.env.NODE_ENV === 'development' &&
1270
1280
  (debug === 'profile' || (globalThis as any).time)
1271
1281
  ) {
@@ -1311,6 +1321,7 @@ export const getSplitStyles: StyleSplitter = (
1311
1321
  }
1312
1322
 
1313
1323
  if (
1324
+ !isProd &&
1314
1325
  process.env.NODE_ENV === 'development' &&
1315
1326
  (debug === 'profile' || (globalThis as any).time)
1316
1327
  ) {
@@ -1318,7 +1329,12 @@ export const getSplitStyles: StyleSplitter = (
1318
1329
  time`style-state`
1319
1330
  }
1320
1331
 
1321
- if (process.env.NODE_ENV === 'development' && debug === 'verbose' && isClient) {
1332
+ if (
1333
+ !isProd &&
1334
+ process.env.NODE_ENV === 'development' &&
1335
+ debug === 'verbose' &&
1336
+ isClient
1337
+ ) {
1322
1338
  if (isDevTools) {
1323
1339
  console.groupCollapsed('🔹 getSplitStyles 👇')
1324
1340
  log({
@@ -1395,7 +1411,7 @@ export const getSplitStyles: StyleSplitter = (
1395
1411
  styledContextKeys,
1396
1412
  stylePassFlags,
1397
1413
  debug,
1398
- process.env.NODE_ENV === 'development' ? parentStaticConfig : undefined,
1414
+ !isProd && process.env.NODE_ENV === 'development' ? parentStaticConfig : undefined,
1399
1415
  defaultProps,
1400
1416
  driverAnimations,
1401
1417
  driverOutputStyle,
@@ -1523,6 +1539,7 @@ export const getSplitStyles: StyleSplitter = (
1523
1539
  }
1524
1540
 
1525
1541
  if (
1542
+ !isProd &&
1526
1543
  process.env.NODE_ENV === 'development' &&
1527
1544
  (debug === 'profile' || (globalThis as any).time)
1528
1545
  ) {
@@ -1714,7 +1731,12 @@ export const getSplitStyles: StyleSplitter = (
1714
1731
  delete style.fontStyle
1715
1732
  }
1716
1733
  }
1717
- if (process.env.NODE_ENV === 'development' && debug && debug !== 'profile') {
1734
+ if (
1735
+ !isProd &&
1736
+ process.env.NODE_ENV === 'development' &&
1737
+ debug &&
1738
+ debug !== 'profile'
1739
+ ) {
1718
1740
  log(`Found fontFamily native: ${style.fontFamily}`, faceInfo)
1719
1741
  }
1720
1742
  }
@@ -1724,6 +1746,7 @@ export const getSplitStyles: StyleSplitter = (
1724
1746
  }
1725
1747
 
1726
1748
  if (
1749
+ !isProd &&
1727
1750
  process.env.NODE_ENV === 'development' &&
1728
1751
  (debug === 'profile' || (globalThis as any).time)
1729
1752
  ) {
@@ -1897,7 +1920,7 @@ export const getSplitStyles: StyleSplitter = (
1897
1920
  }
1898
1921
  }
1899
1922
 
1900
- if (process.env.NODE_ENV === 'development' && debug === 'verbose') {
1923
+ if (!isProd && process.env.NODE_ENV === 'development' && debug === 'verbose') {
1901
1924
  if (isClient && isDevTools) {
1902
1925
  // end collapsed log above
1903
1926
  console.groupEnd()
@@ -1927,6 +1950,7 @@ export const getSplitStyles: StyleSplitter = (
1927
1950
  }
1928
1951
 
1929
1952
  if (
1953
+ !isProd &&
1930
1954
  process.env.NODE_ENV === 'development' &&
1931
1955
  (debug === 'profile' || (globalThis as any).time)
1932
1956
  ) {
@@ -2698,7 +2722,7 @@ function emitUnderCondition(
2698
2722
  ): number {
2699
2723
  const condition = cursor[conditionValue]
2700
2724
  if (!(condition & conditionResolvedFlag)) {
2701
- if (warnMode && process.env.NODE_ENV !== 'production') {
2725
+ if (warnMode && !isProd && process.env.NODE_ENV !== 'production') {
2702
2726
  warnRefusedValue(property!, warnSource, `unknown modifier "${cursor.problem}"`)
2703
2727
  }
2704
2728
  return 0
@@ -2744,7 +2768,7 @@ const warnScanFailure = (
2744
2768
  failure: string | undefined | null,
2745
2769
  failureIndex: number
2746
2770
  ) => {
2747
- if (process.env.NODE_ENV === 'development') {
2771
+ if (!isProd && process.env.NODE_ENV === 'development') {
2748
2772
  warnRefusedValue(property, source, formatScanFailure(failure, source, failureIndex))
2749
2773
  }
2750
2774
  }
@@ -2904,7 +2928,7 @@ function configuredValue(
2904
2928
  }
2905
2929
  }
2906
2930
 
2907
- if (process.env.NODE_ENV === 'development') {
2931
+ if (!isProd && process.env.NODE_ENV === 'development') {
2908
2932
  const category =
2909
2933
  grammar.tokenCategory(property) ||
2910
2934
  grammar.tokenCategory(state.conf.shorthands[property] || property)
@@ -3172,7 +3196,7 @@ function emitProperty(
3172
3196
  !condition &&
3173
3197
  property === 'transform'
3174
3198
  ) {
3175
- if (process.env.NODE_ENV === 'development' && state.transformAccumulator) {
3199
+ if (!isProd && process.env.NODE_ENV === 'development' && state.transformAccumulator) {
3176
3200
  for (const part of getTransformPartKeys(state.transformAccumulator)) {
3177
3201
  warnOnce(
3178
3202
  `legacy transform part "${part}" is dropped because "transform" owns the property`
@@ -3243,7 +3267,7 @@ function emitBorder(
3243
3267
  process.env.TAMAGUI_TARGET === 'native' &&
3244
3268
  (property === 'borderBlock' || property === 'borderInline')
3245
3269
  ) {
3246
- if (process.env.NODE_ENV === 'development') {
3270
+ if (!isProd && process.env.NODE_ENV === 'development') {
3247
3271
  warnOnce(`RN has no logical border shorthand "${property}"; dropping it`)
3248
3272
  }
3249
3273
  return
@@ -3524,7 +3548,7 @@ function emitValue(
3524
3548
  return
3525
3549
  }
3526
3550
  if (process.env.TAMAGUI_TARGET === 'native') {
3527
- if (process.env.NODE_ENV === 'development') {
3551
+ if (!isProd && process.env.NODE_ENV === 'development') {
3528
3552
  warnOnce(`native background cannot represent "${raw}"; dropping it`)
3529
3553
  }
3530
3554
  return
@@ -3550,7 +3574,7 @@ function emitValue(
3550
3574
  !isFinite(numericUnitValue(value, 'deg', 'rad')) &&
3551
3575
  (process.env.TAMAGUI_TARGET === 'native' || !startsValueFunction(value))
3552
3576
  ) {
3553
- if (process.env.NODE_ENV === 'development') {
3577
+ if (!isProd && process.env.NODE_ENV === 'development') {
3554
3578
  warnOnce(
3555
3579
  `native transform "${property}" cannot represent "${value}"; dropping it`
3556
3580
  )
@@ -3810,7 +3834,7 @@ export function walkConditionalValue(
3810
3834
  if (typeof value === 'string') {
3811
3835
  const parsed = getConfigRevisionState(state.conf).parseFlatValue(value)
3812
3836
  const [segments, failure, failureIndex] = parsed
3813
- if (process.env.NODE_ENV === 'development') {
3837
+ if (!isProd && process.env.NODE_ENV === 'development') {
3814
3838
  const syntax = getSetting('styleValueSyntax')
3815
3839
  if (syntax === 'object') {
3816
3840
  const hasClause =
@@ -3861,6 +3885,7 @@ export function walkConditionalValue(
3861
3885
  )
3862
3886
  hasBase = true
3863
3887
  } else if (
3888
+ !isProd &&
3864
3889
  process.env.NODE_ENV !== 'production' &&
3865
3890
  warnMode &&
3866
3891
  !chainCount &&
@@ -3893,7 +3918,7 @@ export function walkConditionalValue(
3893
3918
  }
3894
3919
  lastPayloadStart = start
3895
3920
  if (start === end) {
3896
- if (warnMode && process.env.NODE_ENV === 'development') {
3921
+ if (warnMode && !isProd && process.env.NODE_ENV === 'development') {
3897
3922
  warnRefusedValue(property, value, 'a conditional clause has no value')
3898
3923
  }
3899
3924
  continue
@@ -3917,7 +3942,8 @@ export function walkConditionalValue(
3917
3942
  )
3918
3943
  }
3919
3944
  }
3920
- if (process.env.NODE_ENV !== 'production') lastPayload = value.slice(lastPayloadStart)
3945
+ if (!isProd && process.env.NODE_ENV !== 'production')
3946
+ lastPayload = value.slice(lastPayloadStart)
3921
3947
  } else {
3922
3948
  if (
3923
3949
  !value ||
@@ -3928,7 +3954,7 @@ export function walkConditionalValue(
3928
3954
  ) {
3929
3955
  return false
3930
3956
  }
3931
- if (process.env.NODE_ENV === 'development') {
3957
+ if (!isProd && process.env.NODE_ENV === 'development') {
3932
3958
  const syntax = getSetting('styleValueSyntax')
3933
3959
  if (syntax === 'string') {
3934
3960
  warnOnce(
@@ -3971,6 +3997,7 @@ export function walkConditionalValue(
3971
3997
 
3972
3998
  if (
3973
3999
  warnMode &&
4000
+ !isProd &&
3974
4001
  process.env.NODE_ENV === 'development' &&
3975
4002
  typeof value === 'string' &&
3976
4003
  !hasBase &&
@@ -4120,7 +4147,7 @@ function contributeValue(
4120
4147
  !isVariable(value) &&
4121
4148
  classifyConditionalObject(value, state)))
4122
4149
  ) {
4123
- if (process.env.NODE_ENV === 'development') {
4150
+ if (!isProd && process.env.NODE_ENV === 'development') {
4124
4151
  warnOnce(`conditional "${property}" needs its composite property; dropping it`)
4125
4152
  }
4126
4153
  return true
@@ -7,6 +7,8 @@ import { getOrCreateVariable, getOrCreateMutatedVariable } from './registerCSSVa
7
7
  import { sortString } from './sortString'
8
8
  import { getAuthoredThemeScheme, themeSchemeSelectorPrefix } from './themes'
9
9
 
10
+ const isProd = process.env.NODE_ENV === 'production'
11
+
10
12
  const darkLight = ['dark', 'light']
11
13
  const lightDark = ['light', 'dark']
12
14
 
@@ -30,9 +32,9 @@ export function getThemeCSSRules(props: {
30
32
  ) {
31
33
  const cssRuleSets: string[] = []
32
34
  const { config, themeName, theme, names } = props
33
- const whitespace = process.env.NODE_ENV === 'development' ? ' ' : ''
34
- const mediaIndent = process.env.NODE_ENV === 'development' ? '\n ' : ''
35
- const mediaClose = process.env.NODE_ENV === 'development' ? '\n ' : ''
35
+ const whitespace = !isProd && process.env.NODE_ENV === 'development' ? ' ' : ''
36
+ const mediaIndent = !isProd && process.env.NODE_ENV === 'development' ? '\n ' : ''
37
+ const mediaClose = !isProd && process.env.NODE_ENV === 'development' ? '\n ' : ''
36
38
 
37
39
  // special case for SSR
38
40
  const hasDarkLight =
@@ -10,6 +10,8 @@ import type {
10
10
  TokensParsed,
11
11
  } from '../types'
12
12
 
13
+ const isProd = process.env.NODE_ENV === 'production'
14
+
13
15
  // only cache tamagui styles
14
16
  // kept separate: allSelectors stores rule text for inspection, totalSelectorsInserted counts stylesheet insertions
15
17
  const scannedCache = new WeakMap<CSSStyleSheet, string>()
@@ -62,7 +64,7 @@ export function scanAllSheets(
62
64
  // runtime components still emit styles alongside the config CSS artifact.
63
65
  // an island only scans when rebuilding empty client themes from that artifact
64
66
  if (process.env.TAMAGUI_RUNTIME !== 'island' || collectThemes) {
65
- if (process.env.NODE_ENV === 'test') return
67
+ if (!isProd && process.env.NODE_ENV === 'test') return
66
68
  if (process.env.TAMAGUI_TARGET !== 'web') return
67
69
  if (typeof document === 'undefined') return
68
70
 
@@ -405,7 +407,7 @@ export function insertStyleRules(rulesToInsert: RulesToInsert) {
405
407
  sheet.insertRule(rule, sheet.cssRules.length)
406
408
  }
407
409
  } catch (err) {
408
- if (process.env.NODE_ENV === 'development') {
410
+ if (!isProd && process.env.NODE_ENV === 'development') {
409
411
  const rule = rules[0] || ''
410
412
  const selectorEnd = rule.indexOf('{')
411
413
  const owner =
@@ -444,7 +446,7 @@ export function shouldInsertStyleRules(identifier: string) {
444
446
  return true
445
447
  }
446
448
  const total = totalSelectorsInserted.get(identifier) || 0
447
- if (process.env.NODE_ENV === 'development') {
449
+ if (!isProd && process.env.NODE_ENV === 'development') {
448
450
  if (total > +(process.env.TAMAGUI_STYLE_INSERTION_WARNING_LIMIT || 10)) {
449
451
  console.warn(
450
452
  `Warning: inserting many CSS rules, you may be animating something and generating many CSS insertions, which can degrade performance. Instead, try using the "disableClassName" property on elements that change styles often. To disable this warning set TAMAGUI_STYLE_INSERTION_WARNING_LIMIT from 50000 to something higher`
@@ -1,7 +1,9 @@
1
1
  import { _disableMediaTouch } from '../hooks/useMedia'
2
2
 
3
+ const isProd = process.env.NODE_ENV === 'production'
4
+
3
5
  export function log(...args: any[]) {
4
- if (process.env.NODE_ENV === 'development') {
6
+ if (!isProd && process.env.NODE_ENV === 'development') {
5
7
  _disableMediaTouch(true)
6
8
  try {
7
9
  if (process.env.TAMAGUI_TARGET === 'web') {
@@ -3,12 +3,14 @@ import { formatDiagnostic } from './formatDiagnostic'
3
3
  import { mediaObjectToString } from './mediaObjectToString'
4
4
  import { mediaQueryConfig } from './mediaState'
5
5
 
6
+ const isProd = process.env.NODE_ENV === 'production'
7
+
6
8
  let matchMediaImpl: MatchMedia = matchMediaFallback
7
9
 
8
10
  export const matchMedia: MatchMedia = (...args) => matchMediaImpl(...args)
9
11
 
10
12
  function matchMediaFallback(query: string): MediaQueryList {
11
- if (!process.env.IS_STATIC && process.env.NODE_ENV === 'development') {
13
+ if (!process.env.IS_STATIC && !isProd && process.env.NODE_ENV === 'development') {
12
14
  const keys = Object.keys(mediaQueryConfig).filter(
13
15
  (key) => mediaObjectToString(mediaQueryConfig[key]) === query
14
16
  )
@@ -32,7 +34,7 @@ function matchMediaFallback(query: string): MediaQueryList {
32
34
  }
33
35
 
34
36
  export function setupMatchMedia(_: MatchMedia) {
35
- if (process.env.NODE_ENV === 'development') {
37
+ if (!isProd && process.env.NODE_ENV === 'development') {
36
38
  if (typeof _ !== 'function') {
37
39
  if (!process.env.IS_STATIC) {
38
40
  console.trace(
@@ -1,7 +1,8 @@
1
+ const isProd = process.env.NODE_ENV === 'production'
1
2
  const noted = new Set<string>()
2
3
 
3
4
  export function noteOnce(message: string): void {
4
- if (process.env.NODE_ENV === 'development' && !noted.has(message)) {
5
+ if (!isProd && process.env.NODE_ENV === 'development' && !noted.has(message)) {
5
6
  if (noted.size > 1000) noted.clear()
6
7
  noted.add(message)
7
8
  console.warn(message)
@@ -1,5 +1,7 @@
1
1
  import { getSafeArea } from '@tamagui/native'
2
2
 
3
+ const isProd = process.env.NODE_ENV === 'production'
4
+
3
5
  let didWarnMissingSetup = false
4
6
 
5
7
  export function resolveSafeAreaVariable(name: string): number | undefined {
@@ -11,7 +13,7 @@ export function resolveSafeAreaVariable(name: string): number | undefined {
11
13
  const safeArea = getSafeArea()
12
14
  const state = safeArea.state
13
15
  if (!state.didSetup) {
14
- if (process.env.NODE_ENV !== 'production' && !didWarnMissingSetup) {
16
+ if (!isProd && process.env.NODE_ENV !== 'production' && !didWarnMissingSetup) {
15
17
  didWarnMissingSetup = true
16
18
  console.warn(
17
19
  '[tamagui] safe-area variables on native require importing @tamagui/native/setup-safe-area and wrapping the app in the SafeAreaProvider from react-native-safe-area-context.'
@@ -9,6 +9,8 @@ import type {
9
9
  TokensParsed,
10
10
  } from '../types'
11
11
 
12
+ const isProd = process.env.NODE_ENV === 'production'
13
+
12
14
  /** the env slice resolveSizing reads: a styled.dynamic env or hand-built */
13
15
  export type SizingEnv = {
14
16
  sizing: GenericSizing
@@ -149,7 +151,7 @@ export function resolveSizing(
149
151
  paddingBlock: toPx(getVariableValue(tokens?.space?.[rung.paddingBlock])),
150
152
  }
151
153
  if (!Object.values(px).every(Number.isFinite)) {
152
- if (process.env.NODE_ENV === 'development') {
154
+ if (!isProd && process.env.NODE_ENV === 'development') {
153
155
  console.warn(
154
156
  `[tamagui] size "${name}" references a missing token (fontSize "${rung.fontSize}", controlFontSize "${rung.controlFontSize}", paddingBlock "${rung.paddingBlock}"); resolving to no styles`
155
157
  )
@@ -1,6 +1,8 @@
1
1
  import { nativeOnlyProps } from './nativeOnlyProps'
2
2
  import { webPropsToSkip } from './webPropsToSkip'
3
3
 
4
+ const isProd = process.env.NODE_ENV === 'production'
5
+
4
6
  export const HOC_CLASSNAME_MARKER = 'data-tamagui-hoc-class'
5
7
 
6
8
  /**
@@ -24,11 +26,11 @@ export const skipProps = {
24
26
  animatePresence: 1,
25
27
  }
26
28
 
27
- if (process.env.NODE_ENV === 'test') {
29
+ if (!isProd && process.env.NODE_ENV === 'test') {
28
30
  skipProps['data-test-renders'] = 1
29
31
  }
30
32
 
31
- if (process.env.NODE_ENV === 'development') {
33
+ if (!isProd && process.env.NODE_ENV === 'development') {
32
34
  skipProps['__tamaguiStyleDebugReceipt'] = 1
33
35
  }
34
36
 
@@ -12,6 +12,8 @@ import type {
12
12
  } from '../types'
13
13
  import { styledDynamicSymbol } from '../types'
14
14
 
15
+ const isProd = process.env.NODE_ENV === 'production'
16
+
15
17
  // built per call: insertFont adds variants to the same fonts object, and a
16
18
  // language without a variant for a font keeps that font
17
19
  export function getFontsForLanguage(fonts: GenericFonts, language: LanguageContextType) {
@@ -143,7 +145,7 @@ export function styledDynamic<Val>(
143
145
  ): StyledDynamicFn<Val>
144
146
  export function styledDynamic(fn?: any) {
145
147
  if (!fn) return bareStyledDynamic
146
- if (process.env.NODE_ENV === 'development') validateDynamicShape(fn)
148
+ if (!isProd && process.env.NODE_ENV === 'development') validateDynamicShape(fn)
147
149
  fn[styledDynamicSymbol] = true
148
150
  return fn
149
151
  }
@@ -3,6 +3,8 @@ import { useRef } from 'react'
3
3
  import { getMediaState } from '../hooks/useMedia'
4
4
  import type { ComponentSetStateShallow, DisposeFn, AllGroupContexts } from '../types'
5
5
 
6
+ const isProd = process.env.NODE_ENV === 'production'
7
+
6
8
  type SubscribeToContextGroupProps = {
7
9
  setStateShallow: ComponentSetStateShallow
8
10
  pseudoGroups?: Set<string>
@@ -42,7 +44,7 @@ const setsEqual = (a: Set<string> | undefined, b: Set<string> | undefined) => {
42
44
  export const subscribeToContextGroup = (props: SubscribeToContextGroupProps) => {
43
45
  const { pseudoGroups, mediaGroups, groupContext } = props
44
46
  if (pseudoGroups || mediaGroups) {
45
- if (process.env.NODE_ENV === 'development' && !groupContext) {
47
+ if (!isProd && process.env.NODE_ENV === 'development' && !groupContext) {
46
48
  console.debug(`No context group found`)
47
49
  }
48
50
 
@@ -1,6 +1,8 @@
1
1
  import type { TokensParsed, Variable } from '../types'
2
2
  import { warnOnce } from './warnOnce'
3
3
 
4
+ const isProd = process.env.NODE_ENV === 'production'
5
+
4
6
  const unitlessSuffixes = [
5
7
  'opacity',
6
8
  'scale',
@@ -24,7 +26,7 @@ export const findVariableToken = (
24
26
  tokensParsed: TokensParsed,
25
27
  name: string
26
28
  ): Variable | undefined => {
27
- if (process.env.NODE_ENV === 'development') {
29
+ if (!isProd && process.env.NODE_ENV === 'development') {
28
30
  let found: Variable | undefined
29
31
  let foundCategory: string | undefined
30
32
  for (const category of tokenCategoryOrder) {
@@ -23,6 +23,8 @@ import type {
23
23
  VariableValIn,
24
24
  } from '../types'
25
25
 
26
+ const isProd = process.env.NODE_ENV === 'production'
27
+
26
28
  export type InlineValues = {
27
29
  values?: { [Key in ThemeKeys]?: VariableValIn }
28
30
  themes?: {
@@ -42,7 +44,7 @@ export const getThemeKeySet = (conf: TamaguiInternalConfig): Set<string> => {
42
44
  set.add(key)
43
45
  }
44
46
  }
45
- if (process.env.NODE_ENV === 'development') {
47
+ if (!isProd && process.env.NODE_ENV === 'development') {
46
48
  // <ThemeUpdate> reads every non-reserved prop as a theme key, so a theme key or
47
49
  // config variable sharing a name with one of Theme's own props could never
48
50
  // be set inline. Caught once per config, at the source.
@@ -251,7 +253,7 @@ const getCycleDroppedKeys = (props: InlineValues): Set<string> | null => {
251
253
  checkWithSchemes(merged)
252
254
  }
253
255
 
254
- if (dropped && process.env.NODE_ENV === 'development') {
256
+ if (dropped && !isProd && process.env.NODE_ENV === 'development') {
255
257
  const names = [...dropped]
256
258
  warnOnce(
257
259
  `cycle:${names.join(',')}`,
@@ -292,7 +294,7 @@ export function getVariablesCSSRules(
292
294
  // within a prefix chain (blue, blue_surface1) the more specific name wins
293
295
  const themed: [string, ResolvedDeclarations][] = []
294
296
  for (const name of getThemedBucketNames(props.themes)) {
295
- if (process.env.NODE_ENV === 'development') {
297
+ if (!isProd && process.env.NODE_ENV === 'development') {
296
298
  warnOnUnknownThemeBucket(name, conf)
297
299
  }
298
300
  const declarations = resolveDeclarations(themes![name], conf, cycleDropped)
@@ -708,7 +710,7 @@ export function getMergedInlineTheme(
708
710
  if (bucketNames.length) {
709
711
  const baseName = name.replace(schemePrefix, '')
710
712
  for (const bucketName of bucketNames) {
711
- if (process.env.NODE_ENV === 'development') {
713
+ if (!isProd && process.env.NODE_ENV === 'development') {
712
714
  warnOnUnknownThemeBucket(bucketName, conf)
713
715
  }
714
716
  if (baseName === bucketName || baseName.startsWith(`${bucketName}_`)) {
@@ -1,3 +1,4 @@
1
+ const isProd = process.env.NODE_ENV === 'production'
1
2
  // One development warning per key, for the whole runtime.
2
3
  //
3
4
  // The set is BOUNDED rather than trusted to stay small, and that bound is what
@@ -12,10 +13,10 @@
12
13
  // signal back at a fixed cost. Past it the console already holds hundreds of
13
14
  // distinct warnings and one more is not what is missing.
14
15
  const warnLimit = 500
15
- const warned = process.env.NODE_ENV !== 'production' ? new Set<string>() : null
16
+ const warned = !isProd && process.env.NODE_ENV !== 'production' ? new Set<string>() : null
16
17
 
17
18
  export function warnOnce(key: string, message = key) {
18
- if (process.env.NODE_ENV === 'development') {
19
+ if (!isProd && process.env.NODE_ENV === 'development') {
19
20
  if (warned?.has(key) || (warned?.size ?? 0) >= warnLimit) return
20
21
  warned?.add(key)
21
22
  console.warn(`[tamagui] ${message}`)
@@ -23,7 +24,7 @@ export function warnOnce(key: string, message = key) {
23
24
  }
24
25
 
25
26
  export function resetWarned() {
26
- if (process.env.NODE_ENV !== 'production') {
27
+ if (!isProd && process.env.NODE_ENV !== 'production') {
27
28
  warned?.clear()
28
29
  }
29
30
  }