@tamagui/web 3.0.0-beta.807.1 → 3.0.0-beta.881.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 (587) hide show
  1. package/dist/cjs/config.cjs +1 -1
  2. package/dist/cjs/config.native.cjs +1 -1
  3. package/dist/cjs/config.native.js +1 -1
  4. package/dist/cjs/config.native.js.map +1 -1
  5. package/dist/cjs/createComponent.cjs +40 -19
  6. package/dist/cjs/createComponent.native.cjs +42 -21
  7. package/dist/cjs/createComponent.native.js +42 -21
  8. package/dist/cjs/createComponent.native.js.map +1 -1
  9. package/dist/cjs/createStyledHOC.cjs +54 -4
  10. package/dist/cjs/createStyledHOC.native.cjs +55 -4
  11. package/dist/cjs/createStyledHOC.native.js +55 -4
  12. package/dist/cjs/createStyledHOC.native.js.map +1 -1
  13. package/dist/cjs/createTokens.cjs +1 -1
  14. package/dist/cjs/createTokens.native.cjs +1 -1
  15. package/dist/cjs/createTokens.native.js +1 -1
  16. package/dist/cjs/createTokens.native.js.map +1 -1
  17. package/dist/cjs/createVariable.cjs +0 -10
  18. package/dist/cjs/createVariable.native.cjs +0 -10
  19. package/dist/cjs/createVariable.native.js +0 -10
  20. package/dist/cjs/createVariable.native.js.map +1 -1
  21. package/dist/cjs/dom/html.cjs +147 -99
  22. package/dist/cjs/dom/htmlRuntime.native.cjs +6 -2
  23. package/dist/cjs/dom/htmlRuntime.native.js +6 -2
  24. package/dist/cjs/dom/htmlRuntime.native.js.map +1 -1
  25. package/dist/cjs/dom/primitives.native.cjs +16 -13
  26. package/dist/cjs/dom/primitives.native.js +16 -13
  27. package/dist/cjs/dom/primitives.native.js.map +1 -1
  28. package/dist/cjs/helpers/borderComponents.cjs +62 -0
  29. package/dist/cjs/helpers/borderComponents.native.cjs +82 -0
  30. package/dist/cjs/helpers/borderComponents.native.js +84 -0
  31. package/dist/cjs/helpers/borderComponents.native.js.map +1 -0
  32. package/dist/cjs/helpers/componentDisplayName.cjs +1 -11
  33. package/dist/cjs/helpers/componentDisplayName.native.cjs +1 -11
  34. package/dist/cjs/helpers/componentDisplayName.native.js +1 -11
  35. package/dist/cjs/helpers/componentDisplayName.native.js.map +1 -1
  36. package/dist/cjs/helpers/createDesignSystem.cjs +0 -2
  37. package/dist/cjs/helpers/createStyledContext.cjs +10 -18
  38. package/dist/cjs/helpers/createStyledContext.native.cjs +14 -18
  39. package/dist/cjs/helpers/createStyledContext.native.js +14 -18
  40. package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
  41. package/dist/cjs/helpers/formatDiagnostic.cjs +8 -10
  42. package/dist/cjs/helpers/formatDiagnostic.native.cjs +8 -10
  43. package/dist/cjs/helpers/formatDiagnostic.native.js +8 -10
  44. package/dist/cjs/helpers/formatDiagnostic.native.js.map +1 -1
  45. package/dist/cjs/helpers/getCSSStylesAtomic.cjs +133 -114
  46. package/dist/cjs/helpers/getCSSStylesAtomic.native.cjs +11 -3
  47. package/dist/cjs/helpers/getCSSStylesAtomic.native.js +11 -3
  48. package/dist/cjs/helpers/getCSSStylesAtomic.native.js.map +1 -1
  49. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.cjs +13 -1
  50. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.cjs +15 -1
  51. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js +15 -1
  52. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -1
  53. package/dist/cjs/helpers/getDynamicVal.cjs +5 -1
  54. package/dist/cjs/helpers/getDynamicVal.native.cjs +5 -1
  55. package/dist/cjs/helpers/getDynamicVal.native.js +5 -1
  56. package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -1
  57. package/dist/cjs/helpers/getSplitStyles.cjs +1063 -2168
  58. package/dist/cjs/helpers/getSplitStyles.native.cjs +1115 -2515
  59. package/dist/cjs/helpers/getSplitStyles.native.js +1115 -2515
  60. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  61. package/dist/cjs/helpers/grammarConfig.cjs +163 -1
  62. package/dist/cjs/helpers/grammarConfig.native.cjs +186 -1
  63. package/dist/cjs/helpers/grammarConfig.native.js +186 -1
  64. package/dist/cjs/helpers/grammarConfig.native.js.map +1 -1
  65. package/dist/cjs/helpers/insertStyleRule.cjs +5 -1
  66. package/dist/cjs/helpers/insertStyleRule.native.cjs +7 -1
  67. package/dist/cjs/helpers/insertStyleRule.native.js +7 -1
  68. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  69. package/dist/cjs/helpers/log.cjs +9 -8
  70. package/dist/cjs/helpers/log.native.cjs +9 -8
  71. package/dist/cjs/helpers/log.native.js +9 -8
  72. package/dist/cjs/helpers/log.native.js.map +1 -1
  73. package/dist/cjs/helpers/mergeVariants.cjs +44 -13
  74. package/dist/cjs/helpers/mergeVariants.native.cjs +79 -14
  75. package/dist/cjs/helpers/mergeVariants.native.js +79 -14
  76. package/dist/cjs/helpers/mergeVariants.native.js.map +1 -1
  77. package/dist/cjs/helpers/nativeOnlyProps.cjs +0 -1
  78. package/dist/cjs/helpers/nativeOnlyProps.native.cjs +0 -1
  79. package/dist/cjs/helpers/nativeOnlyProps.native.js +0 -1
  80. package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
  81. package/dist/cjs/helpers/nativeStyleEngine.cjs +34 -14
  82. package/dist/cjs/helpers/nativeStyleEngine.native.cjs +36 -14
  83. package/dist/cjs/helpers/nativeStyleEngine.native.js +36 -14
  84. package/dist/cjs/helpers/nativeStyleEngine.native.js.map +1 -1
  85. package/dist/cjs/helpers/normalizeValueWithProperty.cjs +7 -8
  86. package/dist/cjs/helpers/normalizeValueWithProperty.native.cjs +9 -8
  87. package/dist/cjs/helpers/normalizeValueWithProperty.native.js +9 -8
  88. package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
  89. package/dist/cjs/helpers/parseBorderShorthand.native.cjs +25 -56
  90. package/dist/cjs/helpers/parseBorderShorthand.native.js +25 -56
  91. package/dist/cjs/helpers/parseBorderShorthand.native.js.map +1 -1
  92. package/dist/cjs/helpers/parseOutlineShorthand.native.cjs +9 -49
  93. package/dist/cjs/helpers/parseOutlineShorthand.native.js +9 -49
  94. package/dist/cjs/helpers/parseOutlineShorthand.native.js.map +1 -1
  95. package/dist/cjs/helpers/resolveSafeArea.cjs +35 -100
  96. package/dist/cjs/helpers/resolveVariantStyle.cjs +57 -0
  97. package/dist/cjs/helpers/resolveVariantStyle.native.cjs +67 -0
  98. package/dist/cjs/helpers/resolveVariantStyle.native.js +69 -0
  99. package/dist/cjs/helpers/resolveVariantStyle.native.js.map +1 -0
  100. package/dist/cjs/helpers/splitStyleProps.cjs +46 -0
  101. package/dist/cjs/helpers/splitStyleProps.native.cjs +49 -0
  102. package/dist/cjs/helpers/splitStyleProps.native.js +51 -0
  103. package/dist/cjs/helpers/splitStyleProps.native.js.map +1 -0
  104. package/dist/cjs/helpers/{getDefaultProps.native.cjs → styleStaticConfig.cjs} +7 -8
  105. package/dist/cjs/helpers/{getDefaultProps.native.js → styleStaticConfig.native.cjs} +7 -8
  106. package/dist/cjs/helpers/styleStaticConfig.native.js +31 -0
  107. package/dist/cjs/helpers/styleStaticConfig.native.js.map +1 -0
  108. package/dist/cjs/helpers/styleStaticConfigCore.cjs +107 -0
  109. package/dist/cjs/helpers/styleStaticConfigCore.native.cjs +127 -0
  110. package/dist/cjs/helpers/styleStaticConfigCore.native.js +129 -0
  111. package/dist/cjs/helpers/styleStaticConfigCore.native.js.map +1 -0
  112. package/dist/cjs/helpers/styledDynamic.cjs +160 -0
  113. package/dist/cjs/helpers/styledDynamic.native.cjs +195 -0
  114. package/dist/cjs/helpers/styledDynamic.native.js +197 -0
  115. package/dist/cjs/helpers/styledDynamic.native.js.map +1 -0
  116. package/dist/cjs/helpers/tokenCategories.cjs +12 -74
  117. package/dist/cjs/helpers/tokenCategories.native.cjs +12 -76
  118. package/dist/cjs/helpers/tokenCategories.native.js +12 -76
  119. package/dist/cjs/helpers/tokenCategories.native.js.map +1 -1
  120. package/dist/cjs/helpers/variableValue.cjs +17 -12
  121. package/dist/cjs/helpers/variableValue.native.cjs +46 -23
  122. package/dist/cjs/helpers/variableValue.native.js +46 -23
  123. package/dist/cjs/helpers/variableValue.native.js.map +1 -1
  124. package/dist/cjs/helpers/warnOnce.cjs +5 -4
  125. package/dist/cjs/helpers/warnOnce.native.cjs +6 -4
  126. package/dist/cjs/helpers/warnOnce.native.js +6 -4
  127. package/dist/cjs/helpers/warnOnce.native.js.map +1 -1
  128. package/dist/cjs/hooks/useAnimationDriver.cjs +2 -2
  129. package/dist/cjs/hooks/useAnimationDriver.native.cjs +2 -2
  130. package/dist/cjs/hooks/useAnimationDriver.native.js +2 -2
  131. package/dist/cjs/hooks/useAnimationDriver.native.js.map +1 -1
  132. package/dist/cjs/hooks/useComponentState.cjs +41 -82
  133. package/dist/cjs/hooks/useComponentState.native.cjs +45 -84
  134. package/dist/cjs/hooks/useComponentState.native.js +45 -84
  135. package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
  136. package/dist/cjs/hooks/useMedia.cjs +2 -2
  137. package/dist/cjs/hooks/useMedia.native.cjs +2 -2
  138. package/dist/cjs/hooks/useMedia.native.js +2 -2
  139. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  140. package/dist/cjs/hooks/useSplitStyles.cjs +2 -2
  141. package/dist/cjs/hooks/useSplitStyles.native.cjs +2 -2
  142. package/dist/cjs/hooks/useSplitStyles.native.js +2 -2
  143. package/dist/cjs/hooks/useSplitStyles.native.js.map +1 -1
  144. package/dist/cjs/{helpers/getDefaultProps.cjs → hooks/useStyle.cjs} +10 -4
  145. package/dist/cjs/{helpers/directStyleCSS.native.js → hooks/useStyle.native.cjs} +16 -6
  146. package/dist/cjs/hooks/useStyle.native.js +34 -0
  147. package/dist/cjs/hooks/useStyle.native.js.map +1 -0
  148. package/dist/cjs/hooks/useThemeState.cjs +25 -90
  149. package/dist/cjs/hooks/useThemeState.native.cjs +34 -94
  150. package/dist/cjs/hooks/useThemeState.native.js +34 -94
  151. package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
  152. package/dist/cjs/index.cjs +9 -12
  153. package/dist/cjs/index.native.cjs +9 -12
  154. package/dist/cjs/index.native.js +9 -12
  155. package/dist/cjs/index.native.js.map +1 -1
  156. package/dist/cjs/internal-runtime.cjs +8 -7
  157. package/dist/cjs/internal-runtime.native.cjs +8 -7
  158. package/dist/cjs/internal-runtime.native.js +8 -7
  159. package/dist/cjs/internal-runtime.native.js.map +1 -1
  160. package/dist/cjs/static-resolve.cjs +8 -7
  161. package/dist/cjs/static-resolve.native.cjs +8 -7
  162. package/dist/cjs/static-resolve.native.js +8 -7
  163. package/dist/cjs/static-resolve.native.js.map +1 -1
  164. package/dist/cjs/style.cjs +91 -0
  165. package/dist/cjs/style.native.cjs +98 -0
  166. package/dist/cjs/style.native.js +100 -0
  167. package/dist/cjs/style.native.js.map +1 -0
  168. package/dist/cjs/styled.cjs +15 -62
  169. package/dist/cjs/styled.native.cjs +15 -64
  170. package/dist/cjs/styled.native.js +15 -64
  171. package/dist/cjs/styled.native.js.map +1 -1
  172. package/dist/cjs/types.cjs +4 -22
  173. package/dist/cjs/types.native.cjs +4 -22
  174. package/dist/cjs/types.native.js +4 -22
  175. package/dist/cjs/types.native.js.map +1 -1
  176. package/dist/cjs/views/TamaguiProvider.cjs +1 -2
  177. package/dist/cjs/views/TamaguiProvider.native.cjs +1 -2
  178. package/dist/cjs/views/TamaguiProvider.native.js +1 -2
  179. package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
  180. package/dist/cjs/views/Text.cjs +21 -14
  181. package/dist/cjs/views/Text.native.cjs +5 -2
  182. package/dist/cjs/views/Text.native.js +5 -2
  183. package/dist/cjs/views/Text.native.js.map +1 -1
  184. package/dist/cjs/views/Theme.cjs +2 -2
  185. package/dist/cjs/views/Theme.native.cjs +2 -2
  186. package/dist/cjs/views/Theme.native.js +2 -2
  187. package/dist/cjs/views/Theme.native.js.map +1 -1
  188. package/dist/cjs/views/ThemeDebug.cjs +1 -4
  189. package/dist/cjs/views/View.cjs +4 -2
  190. package/dist/cjs/views/View.native.cjs +4 -2
  191. package/dist/cjs/views/View.native.js +4 -2
  192. package/dist/cjs/views/View.native.js.map +1 -1
  193. package/dist/esm/config.mjs +1 -1
  194. package/dist/esm/config.mjs.map +1 -1
  195. package/dist/esm/config.native.js +1 -1
  196. package/dist/esm/config.native.js.map +1 -1
  197. package/dist/esm/createComponent.mjs +41 -20
  198. package/dist/esm/createComponent.mjs.map +1 -1
  199. package/dist/esm/createComponent.native.js +43 -22
  200. package/dist/esm/createComponent.native.js.map +1 -1
  201. package/dist/esm/createStyledHOC.mjs +55 -5
  202. package/dist/esm/createStyledHOC.mjs.map +1 -1
  203. package/dist/esm/createStyledHOC.native.js +56 -5
  204. package/dist/esm/createStyledHOC.native.js.map +1 -1
  205. package/dist/esm/createTokens.mjs +1 -1
  206. package/dist/esm/createTokens.mjs.map +1 -1
  207. package/dist/esm/createTokens.native.js +1 -1
  208. package/dist/esm/createTokens.native.js.map +1 -1
  209. package/dist/esm/createVariable.mjs +1 -9
  210. package/dist/esm/createVariable.mjs.map +1 -1
  211. package/dist/esm/createVariable.native.js +1 -9
  212. package/dist/esm/createVariable.native.js.map +1 -1
  213. package/dist/esm/dom/html.mjs +147 -99
  214. package/dist/esm/dom/html.mjs.map +1 -1
  215. package/dist/esm/dom/htmlRuntime.native.js +7 -3
  216. package/dist/esm/dom/htmlRuntime.native.js.map +1 -1
  217. package/dist/esm/dom/primitives.native.js +16 -13
  218. package/dist/esm/dom/primitives.native.js.map +1 -1
  219. package/dist/esm/helpers/borderComponents.mjs +37 -0
  220. package/dist/esm/helpers/borderComponents.mjs.map +1 -0
  221. package/dist/esm/helpers/borderComponents.native.js +55 -0
  222. package/dist/esm/helpers/borderComponents.native.js.map +1 -0
  223. package/dist/esm/helpers/componentDisplayName.mjs +1 -8
  224. package/dist/esm/helpers/componentDisplayName.mjs.map +1 -1
  225. package/dist/esm/helpers/componentDisplayName.native.js +1 -8
  226. package/dist/esm/helpers/componentDisplayName.native.js.map +1 -1
  227. package/dist/esm/helpers/createDesignSystem.mjs +0 -2
  228. package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
  229. package/dist/esm/helpers/createStyledContext.mjs +10 -18
  230. package/dist/esm/helpers/createStyledContext.mjs.map +1 -1
  231. package/dist/esm/helpers/createStyledContext.native.js +14 -18
  232. package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
  233. package/dist/esm/helpers/formatDiagnostic.mjs +8 -10
  234. package/dist/esm/helpers/formatDiagnostic.mjs.map +1 -1
  235. package/dist/esm/helpers/formatDiagnostic.native.js +8 -10
  236. package/dist/esm/helpers/formatDiagnostic.native.js.map +1 -1
  237. package/dist/esm/helpers/getCSSStylesAtomic.mjs +131 -114
  238. package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
  239. package/dist/esm/helpers/getCSSStylesAtomic.native.js +7 -4
  240. package/dist/esm/helpers/getCSSStylesAtomic.native.js.map +1 -1
  241. package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs +8 -1
  242. package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs.map +1 -1
  243. package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js +10 -1
  244. package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -1
  245. package/dist/esm/helpers/getDynamicVal.mjs +5 -1
  246. package/dist/esm/helpers/getDynamicVal.mjs.map +1 -1
  247. package/dist/esm/helpers/getDynamicVal.native.js +5 -1
  248. package/dist/esm/helpers/getDynamicVal.native.js.map +1 -1
  249. package/dist/esm/helpers/getSplitStyles.mjs +1052 -2151
  250. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  251. package/dist/esm/helpers/getSplitStyles.native.js +1090 -2481
  252. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  253. package/dist/esm/helpers/grammarConfig.mjs +164 -2
  254. package/dist/esm/helpers/grammarConfig.mjs.map +1 -1
  255. package/dist/esm/helpers/grammarConfig.native.js +187 -2
  256. package/dist/esm/helpers/grammarConfig.native.js.map +1 -1
  257. package/dist/esm/helpers/insertStyleRule.mjs +5 -2
  258. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
  259. package/dist/esm/helpers/insertStyleRule.native.js +7 -2
  260. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
  261. package/dist/esm/helpers/log.mjs +9 -8
  262. package/dist/esm/helpers/log.mjs.map +1 -1
  263. package/dist/esm/helpers/log.native.js +9 -8
  264. package/dist/esm/helpers/log.native.js.map +1 -1
  265. package/dist/esm/helpers/mergeVariants.mjs +44 -13
  266. package/dist/esm/helpers/mergeVariants.mjs.map +1 -1
  267. package/dist/esm/helpers/mergeVariants.native.js +79 -14
  268. package/dist/esm/helpers/mergeVariants.native.js.map +1 -1
  269. package/dist/esm/helpers/nativeOnlyProps.mjs +0 -1
  270. package/dist/esm/helpers/nativeOnlyProps.mjs.map +1 -1
  271. package/dist/esm/helpers/nativeOnlyProps.native.js +0 -1
  272. package/dist/esm/helpers/nativeOnlyProps.native.js.map +1 -1
  273. package/dist/esm/helpers/nativeStyleEngine.mjs +34 -15
  274. package/dist/esm/helpers/nativeStyleEngine.mjs.map +1 -1
  275. package/dist/esm/helpers/nativeStyleEngine.native.js +36 -15
  276. package/dist/esm/helpers/nativeStyleEngine.native.js.map +1 -1
  277. package/dist/esm/helpers/normalizeValueWithProperty.mjs +7 -8
  278. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
  279. package/dist/esm/helpers/normalizeValueWithProperty.native.js +9 -8
  280. package/dist/esm/helpers/normalizeValueWithProperty.native.js.map +1 -1
  281. package/dist/esm/helpers/parseBorderShorthand.native.js +23 -56
  282. package/dist/esm/helpers/parseBorderShorthand.native.js.map +1 -1
  283. package/dist/esm/helpers/parseOutlineShorthand.native.js +10 -49
  284. package/dist/esm/helpers/parseOutlineShorthand.native.js.map +1 -1
  285. package/dist/esm/helpers/resolveSafeArea.mjs +35 -97
  286. package/dist/esm/helpers/resolveSafeArea.mjs.map +1 -1
  287. package/dist/esm/helpers/resolveVariantStyle.mjs +38 -0
  288. package/dist/esm/helpers/resolveVariantStyle.mjs.map +1 -0
  289. package/dist/esm/helpers/resolveVariantStyle.native.js +46 -0
  290. package/dist/esm/helpers/resolveVariantStyle.native.js.map +1 -0
  291. package/dist/esm/helpers/splitStyleProps.mjs +27 -0
  292. package/dist/esm/helpers/splitStyleProps.mjs.map +1 -0
  293. package/dist/esm/helpers/splitStyleProps.native.js +28 -0
  294. package/dist/esm/helpers/splitStyleProps.native.js.map +1 -0
  295. package/dist/esm/helpers/styleStaticConfig.mjs +8 -0
  296. package/dist/esm/helpers/styleStaticConfig.mjs.map +1 -0
  297. package/dist/esm/helpers/styleStaticConfig.native.js +8 -0
  298. package/dist/esm/helpers/styleStaticConfig.native.js.map +1 -0
  299. package/dist/esm/helpers/styleStaticConfigCore.mjs +88 -0
  300. package/dist/esm/helpers/styleStaticConfigCore.mjs.map +1 -0
  301. package/dist/esm/helpers/styleStaticConfigCore.native.js +106 -0
  302. package/dist/esm/helpers/styleStaticConfigCore.native.js.map +1 -0
  303. package/dist/esm/helpers/styledDynamic.mjs +136 -0
  304. package/dist/esm/helpers/styledDynamic.mjs.map +1 -0
  305. package/dist/esm/helpers/styledDynamic.native.js +169 -0
  306. package/dist/esm/helpers/styledDynamic.native.js.map +1 -0
  307. package/dist/esm/helpers/tokenCategories.mjs +12 -72
  308. package/dist/esm/helpers/tokenCategories.mjs.map +1 -1
  309. package/dist/esm/helpers/tokenCategories.native.js +12 -74
  310. package/dist/esm/helpers/tokenCategories.native.js.map +1 -1
  311. package/dist/esm/helpers/variableValue.mjs +17 -12
  312. package/dist/esm/helpers/variableValue.mjs.map +1 -1
  313. package/dist/esm/helpers/variableValue.native.js +46 -23
  314. package/dist/esm/helpers/variableValue.native.js.map +1 -1
  315. package/dist/esm/helpers/warnOnce.mjs +5 -4
  316. package/dist/esm/helpers/warnOnce.mjs.map +1 -1
  317. package/dist/esm/helpers/warnOnce.native.js +6 -4
  318. package/dist/esm/helpers/warnOnce.native.js.map +1 -1
  319. package/dist/esm/hooks/useAnimationDriver.mjs +2 -2
  320. package/dist/esm/hooks/useAnimationDriver.mjs.map +1 -1
  321. package/dist/esm/hooks/useAnimationDriver.native.js +2 -2
  322. package/dist/esm/hooks/useAnimationDriver.native.js.map +1 -1
  323. package/dist/esm/hooks/useComponentState.mjs +41 -82
  324. package/dist/esm/hooks/useComponentState.mjs.map +1 -1
  325. package/dist/esm/hooks/useComponentState.native.js +45 -84
  326. package/dist/esm/hooks/useComponentState.native.js.map +1 -1
  327. package/dist/esm/hooks/useMedia.mjs +2 -2
  328. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  329. package/dist/esm/hooks/useMedia.native.js +2 -2
  330. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  331. package/dist/esm/hooks/useSplitStyles.mjs +2 -2
  332. package/dist/esm/hooks/useSplitStyles.mjs.map +1 -1
  333. package/dist/esm/hooks/useSplitStyles.native.js +2 -2
  334. package/dist/esm/hooks/useSplitStyles.native.js.map +1 -1
  335. package/dist/esm/hooks/useStyle.mjs +11 -0
  336. package/dist/esm/hooks/useStyle.mjs.map +1 -0
  337. package/dist/esm/hooks/useStyle.native.js +11 -0
  338. package/dist/esm/hooks/useStyle.native.js.map +1 -0
  339. package/dist/esm/hooks/useThemeState.mjs +25 -90
  340. package/dist/esm/hooks/useThemeState.mjs.map +1 -1
  341. package/dist/esm/hooks/useThemeState.native.js +34 -94
  342. package/dist/esm/hooks/useThemeState.native.js.map +1 -1
  343. package/dist/esm/index.js +8 -8
  344. package/dist/esm/index.mjs +8 -8
  345. package/dist/esm/index.native.js +8 -8
  346. package/dist/esm/internal-runtime.mjs +8 -7
  347. package/dist/esm/internal-runtime.mjs.map +1 -1
  348. package/dist/esm/internal-runtime.native.js +8 -7
  349. package/dist/esm/internal-runtime.native.js.map +1 -1
  350. package/dist/esm/static-resolve.mjs +11 -9
  351. package/dist/esm/static-resolve.mjs.map +1 -1
  352. package/dist/esm/static-resolve.native.js +11 -9
  353. package/dist/esm/static-resolve.native.js.map +1 -1
  354. package/dist/esm/style.mjs +58 -0
  355. package/dist/esm/style.mjs.map +1 -0
  356. package/dist/esm/style.native.js +63 -0
  357. package/dist/esm/style.native.js.map +1 -0
  358. package/dist/esm/styled.mjs +17 -62
  359. package/dist/esm/styled.mjs.map +1 -1
  360. package/dist/esm/styled.native.js +17 -64
  361. package/dist/esm/styled.native.js.map +1 -1
  362. package/dist/esm/types.mjs +3 -21
  363. package/dist/esm/types.mjs.map +1 -1
  364. package/dist/esm/types.native.js +3 -21
  365. package/dist/esm/types.native.js.map +1 -1
  366. package/dist/esm/views/TamaguiProvider.mjs +1 -2
  367. package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
  368. package/dist/esm/views/TamaguiProvider.native.js +1 -2
  369. package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
  370. package/dist/esm/views/Text.mjs +21 -14
  371. package/dist/esm/views/Text.mjs.map +1 -1
  372. package/dist/esm/views/Text.native.js +4 -2
  373. package/dist/esm/views/Text.native.js.map +1 -1
  374. package/dist/esm/views/Theme.mjs +2 -2
  375. package/dist/esm/views/Theme.mjs.map +1 -1
  376. package/dist/esm/views/Theme.native.js +2 -2
  377. package/dist/esm/views/Theme.native.js.map +1 -1
  378. package/dist/esm/views/ThemeDebug.mjs +1 -4
  379. package/dist/esm/views/ThemeDebug.mjs.map +1 -1
  380. package/dist/esm/views/View.mjs +4 -2
  381. package/dist/esm/views/View.mjs.map +1 -1
  382. package/dist/esm/views/View.native.js +4 -2
  383. package/dist/esm/views/View.native.js.map +1 -1
  384. package/package.json +15 -15
  385. package/src/config.ts +1 -1
  386. package/src/createComponent.tsx +62 -31
  387. package/src/createStyledHOC.tsx +56 -9
  388. package/src/createTokens.ts +1 -1
  389. package/src/createVariable.ts +0 -10
  390. package/src/dom/html.tsx +778 -877
  391. package/src/dom/htmlRuntime.native.tsx +7 -3
  392. package/src/dom/primitives.native.tsx +30 -39
  393. package/src/helpers/borderComponents.ts +62 -0
  394. package/src/helpers/componentDisplayName.ts +0 -11
  395. package/src/helpers/createDesignSystem.ts +0 -2
  396. package/src/helpers/createStyledContext.tsx +15 -53
  397. package/src/helpers/formatDiagnostic.ts +11 -13
  398. package/src/helpers/getCSSStylesAtomic.native.ts +6 -3
  399. package/src/helpers/getCSSStylesAtomic.ts +197 -206
  400. package/src/helpers/getCSSStylesAtomicCompiled.ts +13 -1
  401. package/src/helpers/getDynamicVal.ts +4 -0
  402. package/src/helpers/getSplitStyles.tsx +2058 -4052
  403. package/src/helpers/grammarConfig.ts +218 -1
  404. package/src/helpers/insertStyleRule.tsx +4 -2
  405. package/src/helpers/log.ts +12 -11
  406. package/src/helpers/mergeVariants.ts +55 -18
  407. package/src/helpers/nativeOnlyProps.ts +0 -1
  408. package/src/helpers/nativeStyleEngine.ts +55 -14
  409. package/src/helpers/normalizeValueWithProperty.ts +10 -12
  410. package/src/helpers/parseBorderShorthand.native.ts +23 -45
  411. package/src/helpers/parseOutlineShorthand.native.ts +9 -40
  412. package/src/helpers/resolveSafeArea.ts +34 -101
  413. package/src/helpers/resolveVariantStyle.ts +77 -0
  414. package/src/helpers/splitStyleProps.ts +166 -0
  415. package/src/helpers/styleFrontend.ts +16 -9
  416. package/src/helpers/styleStaticConfig.ts +21 -0
  417. package/src/helpers/styleStaticConfigCore.ts +110 -0
  418. package/src/helpers/styledDynamic.ts +191 -0
  419. package/src/helpers/tokenCategories.ts +32 -88
  420. package/src/helpers/variableValue.ts +20 -15
  421. package/src/helpers/warnOnce.ts +5 -4
  422. package/src/hooks/useAnimationDriver.ts +6 -2
  423. package/src/hooks/useComponentState.ts +55 -183
  424. package/src/hooks/useMedia.tsx +10 -8
  425. package/src/hooks/useSplitStyles.tsx +17 -2
  426. package/src/hooks/useStyle.ts +10 -0
  427. package/src/hooks/useTheme.tsx +1 -1
  428. package/src/hooks/useThemeState.ts +51 -264
  429. package/src/index.ts +14 -10
  430. package/src/internal-runtime.ts +10 -9
  431. package/src/internalRuntimeTypes.ts +1 -0
  432. package/src/static-resolve.ts +25 -18
  433. package/src/style.ts +97 -0
  434. package/src/styled.tsx +46 -332
  435. package/src/types.tsx +107 -192
  436. package/src/views/TamaguiProvider.tsx +0 -2
  437. package/src/views/Text.tsx +26 -21
  438. package/src/views/Theme.tsx +10 -8
  439. package/src/views/ThemeDebug.tsx +0 -1
  440. package/src/views/View.tsx +6 -7
  441. package/types/createComponent.d.ts.map +1 -1
  442. package/types/createStyledHOC.d.ts.map +1 -1
  443. package/types/createVariable.d.ts +0 -2
  444. package/types/createVariable.d.ts.map +1 -1
  445. package/types/dom/html.d.ts.map +1 -1
  446. package/types/dom/htmlRuntime.native.d.ts.map +1 -1
  447. package/types/dom/primitives.native.d.ts.map +1 -1
  448. package/types/helpers/borderComponents.d.ts +10 -0
  449. package/types/helpers/borderComponents.d.ts.map +1 -0
  450. package/types/helpers/componentDisplayName.d.ts +0 -3
  451. package/types/helpers/componentDisplayName.d.ts.map +1 -1
  452. package/types/helpers/createDesignSystem.d.ts.map +1 -1
  453. package/types/helpers/createStyledContext.d.ts.map +1 -1
  454. package/types/helpers/formatDiagnostic.d.ts.map +1 -1
  455. package/types/helpers/getCSSStylesAtomic.d.ts +25 -22
  456. package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
  457. package/types/helpers/getCSSStylesAtomic.native.d.ts +5 -0
  458. package/types/helpers/getCSSStylesAtomic.native.d.ts.map +1 -1
  459. package/types/helpers/getCSSStylesAtomicCompiled.d.ts +6 -1
  460. package/types/helpers/getCSSStylesAtomicCompiled.d.ts.map +1 -1
  461. package/types/helpers/getDynamicVal.d.ts.map +1 -1
  462. package/types/helpers/getSplitStyles.d.ts +9 -11
  463. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  464. package/types/helpers/grammarConfig.d.ts +25 -2
  465. package/types/helpers/grammarConfig.d.ts.map +1 -1
  466. package/types/helpers/insertStyleRule.d.ts +1 -0
  467. package/types/helpers/insertStyleRule.d.ts.map +1 -1
  468. package/types/helpers/log.d.ts.map +1 -1
  469. package/types/helpers/mergeVariants.d.ts.map +1 -1
  470. package/types/helpers/nativeOnlyProps.d.ts +0 -1
  471. package/types/helpers/nativeOnlyProps.d.ts.map +1 -1
  472. package/types/helpers/nativeStyleEngine.d.ts +6 -0
  473. package/types/helpers/nativeStyleEngine.d.ts.map +1 -1
  474. package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -1
  475. package/types/helpers/parseBorderShorthand.native.d.ts +1 -0
  476. package/types/helpers/parseBorderShorthand.native.d.ts.map +1 -1
  477. package/types/helpers/parseOutlineShorthand.native.d.ts.map +1 -1
  478. package/types/helpers/resolveSafeArea.d.ts +0 -1
  479. package/types/helpers/resolveSafeArea.d.ts.map +1 -1
  480. package/types/helpers/resolveVariantStyle.d.ts +3 -0
  481. package/types/helpers/resolveVariantStyle.d.ts.map +1 -0
  482. package/types/helpers/splitStyleProps.d.ts +44 -0
  483. package/types/helpers/splitStyleProps.d.ts.map +1 -0
  484. package/types/helpers/styleFrontend.d.ts +7 -9
  485. package/types/helpers/styleFrontend.d.ts.map +1 -1
  486. package/types/helpers/styleStaticConfig.d.ts +14 -0
  487. package/types/helpers/styleStaticConfig.d.ts.map +1 -0
  488. package/types/helpers/styleStaticConfigCore.d.ts +4 -0
  489. package/types/helpers/styleStaticConfigCore.d.ts.map +1 -0
  490. package/types/helpers/styledDynamic.d.ts +18 -0
  491. package/types/helpers/styledDynamic.d.ts.map +1 -0
  492. package/types/helpers/tokenCategories.d.ts +0 -1
  493. package/types/helpers/tokenCategories.d.ts.map +1 -1
  494. package/types/helpers/variableValue.d.ts.map +1 -1
  495. package/types/helpers/warnOnce.d.ts.map +1 -1
  496. package/types/helpers/webPropsToSkip.native.d.ts +68 -68
  497. package/types/hooks/useAnimationDriver.d.ts.map +1 -1
  498. package/types/hooks/useComponentState.d.ts.map +1 -1
  499. package/types/hooks/useMedia.d.ts.map +1 -1
  500. package/types/hooks/useSplitStyles.d.ts.map +1 -1
  501. package/types/hooks/useStyle.d.ts +4 -0
  502. package/types/hooks/useStyle.d.ts.map +1 -0
  503. package/types/hooks/useThemeState.d.ts +1 -11
  504. package/types/hooks/useThemeState.d.ts.map +1 -1
  505. package/types/index.d.ts +8 -8
  506. package/types/index.d.ts.map +1 -1
  507. package/types/internal-runtime.d.ts.map +1 -1
  508. package/types/internalRuntimeTypes.d.ts +1 -1
  509. package/types/internalRuntimeTypes.d.ts.map +1 -1
  510. package/types/static-resolve.d.ts +2 -2
  511. package/types/static-resolve.d.ts.map +1 -1
  512. package/types/style.d.ts +18 -0
  513. package/types/style.d.ts.map +1 -0
  514. package/types/styled.d.ts +12 -48
  515. package/types/styled.d.ts.map +1 -1
  516. package/types/types.d.ts +75 -60
  517. package/types/types.d.ts.map +1 -1
  518. package/types/views/TamaguiProvider.d.ts +1 -1
  519. package/types/views/TamaguiProvider.d.ts.map +1 -1
  520. package/types/views/Text.d.ts.map +1 -1
  521. package/types/views/Theme.d.ts.map +1 -1
  522. package/types/views/ThemeDebug.d.ts.map +1 -1
  523. package/types/views/View.d.ts.map +1 -1
  524. package/dist/cjs/helpers/directStyleCSS.cjs +0 -348
  525. package/dist/cjs/helpers/directStyleCSS.native.cjs +0 -20
  526. package/dist/cjs/helpers/directStyleCSS.native.js.map +0 -1
  527. package/dist/cjs/helpers/directStyleCSSCompiled.cjs +0 -40
  528. package/dist/cjs/helpers/directStyleCSSCompiled.native.cjs +0 -46
  529. package/dist/cjs/helpers/directStyleCSSCompiled.native.js +0 -48
  530. package/dist/cjs/helpers/directStyleCSSCompiled.native.js.map +0 -1
  531. package/dist/cjs/helpers/getDefaultProps.native.js.map +0 -1
  532. package/dist/cjs/helpers/getVariantExtras.cjs +0 -91
  533. package/dist/cjs/helpers/getVariantExtras.native.cjs +0 -94
  534. package/dist/cjs/helpers/getVariantExtras.native.js +0 -96
  535. package/dist/cjs/helpers/getVariantExtras.native.js.map +0 -1
  536. package/dist/cjs/helpers/themeable.cjs +0 -92
  537. package/dist/cjs/helpers/themeable.native.cjs +0 -95
  538. package/dist/cjs/helpers/themeable.native.js +0 -97
  539. package/dist/cjs/helpers/themeable.native.js.map +0 -1
  540. package/dist/cjs/hooks/useProps.cjs +0 -129
  541. package/dist/cjs/hooks/useProps.native.cjs +0 -135
  542. package/dist/cjs/hooks/useProps.native.js +0 -137
  543. package/dist/cjs/hooks/useProps.native.js.map +0 -1
  544. package/dist/esm/helpers/directStyleCSS.mjs +0 -320
  545. package/dist/esm/helpers/directStyleCSS.mjs.map +0 -1
  546. package/dist/esm/helpers/directStyleCSS.native.js +0 -1
  547. package/dist/esm/helpers/directStyleCSSCompiled.mjs +0 -11
  548. package/dist/esm/helpers/directStyleCSSCompiled.mjs.map +0 -1
  549. package/dist/esm/helpers/directStyleCSSCompiled.native.js +0 -15
  550. package/dist/esm/helpers/directStyleCSSCompiled.native.js.map +0 -1
  551. package/dist/esm/helpers/getDefaultProps.mjs +0 -4
  552. package/dist/esm/helpers/getDefaultProps.mjs.map +0 -1
  553. package/dist/esm/helpers/getDefaultProps.native.js +0 -6
  554. package/dist/esm/helpers/getDefaultProps.native.js.map +0 -1
  555. package/dist/esm/helpers/getVariantExtras.mjs +0 -69
  556. package/dist/esm/helpers/getVariantExtras.mjs.map +0 -1
  557. package/dist/esm/helpers/getVariantExtras.native.js +0 -70
  558. package/dist/esm/helpers/getVariantExtras.native.js.map +0 -1
  559. package/dist/esm/helpers/themeable.mjs +0 -67
  560. package/dist/esm/helpers/themeable.mjs.map +0 -1
  561. package/dist/esm/helpers/themeable.native.js +0 -68
  562. package/dist/esm/helpers/themeable.native.js.map +0 -1
  563. package/dist/esm/hooks/useProps.mjs +0 -100
  564. package/dist/esm/hooks/useProps.mjs.map +0 -1
  565. package/dist/esm/hooks/useProps.native.js +0 -104
  566. package/dist/esm/hooks/useProps.native.js.map +0 -1
  567. package/src/helpers/directStyleCSS.native.ts +0 -1
  568. package/src/helpers/directStyleCSS.ts +0 -534
  569. package/src/helpers/directStyleCSSCompiled.ts +0 -32
  570. package/src/helpers/getDefaultProps.ts +0 -3
  571. package/src/helpers/getVariantExtras.tsx +0 -95
  572. package/src/helpers/themeable.tsx +0 -96
  573. package/src/hooks/useProps.tsx +0 -186
  574. package/types/helpers/directStyleCSS.d.ts +0 -28
  575. package/types/helpers/directStyleCSS.d.ts.map +0 -1
  576. package/types/helpers/directStyleCSS.native.d.ts +0 -2
  577. package/types/helpers/directStyleCSS.native.d.ts.map +0 -1
  578. package/types/helpers/directStyleCSSCompiled.d.ts +0 -10
  579. package/types/helpers/directStyleCSSCompiled.d.ts.map +0 -1
  580. package/types/helpers/getDefaultProps.d.ts +0 -3
  581. package/types/helpers/getDefaultProps.d.ts.map +0 -1
  582. package/types/helpers/getVariantExtras.d.ts +0 -4
  583. package/types/helpers/getVariantExtras.d.ts.map +0 -1
  584. package/types/helpers/themeable.d.ts +0 -3
  585. package/types/helpers/themeable.d.ts.map +0 -1
  586. package/types/hooks/useProps.d.ts +0 -39
  587. package/types/hooks/useProps.d.ts.map +0 -1
@@ -2,10 +2,12 @@ var warnLimit = 500;
2
2
  var warned = process.env.NODE_ENV !== "production" ? /* @__PURE__ */ new Set() : null;
3
3
  function warnOnce(key) {
4
4
  var message = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : key;
5
- if (process.env.NODE_ENV !== "development") return;
6
- if (warned.has(key) || warned.size >= warnLimit) return;
7
- warned.add(key);
8
- console.warn(`[tamagui] ${message}`);
5
+ if (process.env.NODE_ENV === "development") {
6
+ var _warned_size;
7
+ if ((warned === null || warned === void 0 ? void 0 : warned.has(key)) || ((_warned_size = warned === null || warned === void 0 ? void 0 : warned.size) !== null && _warned_size !== void 0 ? _warned_size : 0) >= warnLimit) return;
8
+ warned === null || warned === void 0 ? void 0 : warned.add(key);
9
+ console.warn(`[tamagui] ${message}`);
10
+ }
9
11
  }
10
12
  function warnRefusedValue(property, value, reason) {
11
13
  warnOnce(`refused:${property}=${value}`, `${property}="${value}" had a segment dropped: ${reason}`);
@@ -1 +1 @@
1
- {"version":3,"file":"warnOnce.native.js","names":[],"sources":["esm/helpers/warnOnce.native.js"],"sourcesContent":["var warnLimit = 500;\nvar warned = process.env.NODE_ENV !== \"production\" ? /* @__PURE__ */ new Set() : null;\nfunction warnOnce(key) {\n var message = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : key;\n if (process.env.NODE_ENV !== \"development\") return;\n if (warned.has(key) || warned.size >= warnLimit) return;\n warned.add(key);\n console.warn(`[tamagui] ${message}`);\n}\nfunction warnRefusedValue(property, value, reason) {\n warnOnce(`refused:${property}=${value}`, `${property}=\"${value}\" had a segment dropped: ${reason}`);\n}\nexport {\n warnOnce,\n warnRefusedValue\n};\n//# sourceMappingURL=warnOnce.js.map\n"],"mappings":";AAAA,IAAI,YAAY;AAChB,IAAI,SAAS,QAAQ,IAAI,aAAa,+BAA+B,IAAI,IAAI,IAAI;AACjF,SAAS,SAAS,KAAK;CACrB,IAAI,UAAU,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK;CAC/E,IAAI,QAAQ,IAAI,aAAa,eAAe;CAC5C,IAAI,OAAO,IAAI,GAAG,KAAK,OAAO,QAAQ,WAAW;CACjD,OAAO,IAAI,GAAG;CACd,QAAQ,KAAK,aAAa,SAAS;AACrC;AACA,SAAS,iBAAiB,UAAU,OAAO,QAAQ;CACjD,SAAS,WAAW,SAAS,GAAG,SAAS,GAAG,SAAS,IAAI,MAAM,2BAA2B,QAAQ;AACpG"}
1
+ {"version":3,"file":"warnOnce.native.js","names":[],"sources":["esm/helpers/warnOnce.native.js"],"sourcesContent":["var warnLimit = 500;\nvar warned = process.env.NODE_ENV !== \"production\" ? /* @__PURE__ */ new Set() : null;\nfunction warnOnce(key) {\n var message = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : key;\n if (process.env.NODE_ENV === \"development\") {\n var _warned_size;\n if ((warned === null || warned === void 0 ? void 0 : warned.has(key)) || ((_warned_size = warned === null || warned === void 0 ? void 0 : warned.size) !== null && _warned_size !== void 0 ? _warned_size : 0) >= warnLimit) return;\n warned === null || warned === void 0 ? void 0 : warned.add(key);\n console.warn(`[tamagui] ${message}`);\n }\n}\nfunction warnRefusedValue(property, value, reason) {\n warnOnce(`refused:${property}=${value}`, `${property}=\"${value}\" had a segment dropped: ${reason}`);\n}\nexport {\n warnOnce,\n warnRefusedValue\n};\n//# sourceMappingURL=warnOnce.js.map\n"],"mappings":";AAAA,IAAI,YAAY;AAChB,IAAI,SAAS,QAAQ,IAAI,aAAa,+BAA+B,IAAI,IAAI,IAAI;AACjF,SAAS,SAAS,KAAK;CACrB,IAAI,UAAU,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK;CAC/E,IAAI,QAAQ,IAAI,aAAa,eAAe;EAC1C,IAAI;EACJ,KAAK,WAAW,QAAQ,WAAW,KAAK,IAAI,KAAK,IAAI,OAAO,IAAI,GAAG,QAAQ,eAAe,WAAW,QAAQ,WAAW,KAAK,IAAI,KAAK,IAAI,OAAO,UAAU,QAAQ,iBAAiB,KAAK,IAAI,eAAe,MAAM,WAAW;EAC7N,WAAW,QAAQ,WAAW,KAAK,IAAI,KAAK,IAAI,OAAO,IAAI,GAAG;EAC9D,QAAQ,KAAK,aAAa,SAAS;CACrC;AACF;AACA,SAAS,iBAAiB,UAAU,OAAO,QAAQ;CACjD,SAAS,WAAW,SAAS,GAAG,SAAS,GAAG,SAAS,IAAI,MAAM,2BAA2B,QAAQ;AACpG"}
@@ -3,7 +3,7 @@ import { useConfiguration } from "../contexts/ComponentContext.mjs";
3
3
  function useAnimationDriver() {
4
4
  const { animationDriver } = useConfiguration();
5
5
  if (!animationDriver || animationDriver.isStub) {
6
- throw new Error(`No animation driver configured. Pass \`animations\` to createTamagui. See: https://tamagui.dev/docs/core/animations`);
6
+ throw new Error(process.env.NODE_ENV !== "production" ? `No animation driver configured. Pass \`animations\` to createTamagui. See: https://tamagui.dev/docs/core/animations` : "❌ Error 011");
7
7
  }
8
8
  return animationDriver;
9
9
  }
@@ -11,7 +11,7 @@ function useAnimatedNumberDriver() {
11
11
  const driver = useAnimationDriver();
12
12
  const animatedDriver = driver;
13
13
  if (typeof animatedDriver.useAnimatedNumber !== "function" || typeof animatedDriver.useAnimatedNumberStyle !== "function" || typeof animatedDriver.useAnimatedNumbersStyle !== "function" || typeof animatedDriver.useAnimatedNumberReaction !== "function") {
14
- throw new Error(`The configured animation driver does not include animated-number hooks. When using the CSS driver, import \`createAnimations\` from \`@tamagui/animations-css/extras\` instead of \`@tamagui/animations-css\`. See: https://tamagui.dev/docs/core/animations-css`);
14
+ throw new Error(process.env.NODE_ENV !== "production" ? `The configured animation driver does not include animated-number hooks. When using the CSS driver, import \`createAnimations\` from \`@tamagui/animations-css/extras\` instead of \`@tamagui/animations-css\`. See: https://tamagui.dev/docs/core/animations-css` : "❌ Error 012");
15
15
  }
16
16
  return animatedDriver;
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useAnimationDriver.js","names":[],"sources":["esm/hooks/useAnimationDriver.js"],"sourcesContent":["import { useConfiguration } from \"../contexts/ComponentContext\";\nfunction useAnimationDriver() {\n const { animationDriver } = useConfiguration();\n if (!animationDriver || animationDriver.isStub) {\n throw new Error(\n `No animation driver configured. Pass \\`animations\\` to createTamagui. See: https://tamagui.dev/docs/core/animations`\n );\n }\n return animationDriver;\n}\nfunction useAnimatedNumberDriver() {\n const driver = useAnimationDriver();\n const animatedDriver = driver;\n if (typeof animatedDriver.useAnimatedNumber !== \"function\" || typeof animatedDriver.useAnimatedNumberStyle !== \"function\" || typeof animatedDriver.useAnimatedNumbersStyle !== \"function\" || typeof animatedDriver.useAnimatedNumberReaction !== \"function\") {\n throw new Error(\n `The configured animation driver does not include animated-number hooks. When using the CSS driver, import \\`createAnimations\\` from \\`@tamagui/animations-css/extras\\` instead of \\`@tamagui/animations-css\\`. See: https://tamagui.dev/docs/core/animations-css`\n );\n }\n return animatedDriver;\n}\nfunction useAnimatedNumber(initial) {\n return useAnimatedNumberDriver().useAnimatedNumber(initial);\n}\nconst useAnimatedNumberStyle = (value, getStyle) => useAnimatedNumberDriver().useAnimatedNumberStyle(value, getStyle);\nconst useAnimatedNumbersStyle = (values, getStyle) => useAnimatedNumberDriver().useAnimatedNumbersStyle(values, getStyle);\nconst useAnimatedNumberReaction = (opts, onValue) => useAnimatedNumberDriver().useAnimatedNumberReaction(opts, onValue);\nexport {\n useAnimatedNumber,\n useAnimatedNumberReaction,\n useAnimatedNumberStyle,\n useAnimatedNumbersStyle,\n useAnimationDriver\n};\n//# sourceMappingURL=useAnimationDriver.js.map\n"],"mappings":";;;AACA,SAAS,qBAAqB;CAC5B,MAAM,EAAE,oBAAoB,iBAAiB;CAC7C,IAAI,CAAC,mBAAmB,gBAAgB,QAAQ;EAC9C,MAAM,IAAI,MACR,qHACF;CACF;CACA,OAAO;AACT;AACA,SAAS,0BAA0B;CACjC,MAAM,SAAS,mBAAmB;CAClC,MAAM,iBAAiB;CACvB,IAAI,OAAO,eAAe,sBAAsB,cAAc,OAAO,eAAe,2BAA2B,cAAc,OAAO,eAAe,4BAA4B,cAAc,OAAO,eAAe,8BAA8B,YAAY;EAC3P,MAAM,IAAI,MACR,kQACF;CACF;CACA,OAAO;AACT;AACA,SAAS,kBAAkB,SAAS;CAClC,OAAO,wBAAwB,CAAC,CAAC,kBAAkB,OAAO;AAC5D;AACA,MAAM,0BAA0B,OAAO,aAAa,wBAAwB,CAAC,CAAC,uBAAuB,OAAO,QAAQ;AACpH,MAAM,2BAA2B,QAAQ,aAAa,wBAAwB,CAAC,CAAC,wBAAwB,QAAQ,QAAQ;AACxH,MAAM,6BAA6B,MAAM,YAAY,wBAAwB,CAAC,CAAC,0BAA0B,MAAM,OAAO"}
1
+ {"version":3,"file":"useAnimationDriver.js","names":[],"sources":["esm/hooks/useAnimationDriver.js"],"sourcesContent":["import { useConfiguration } from \"../contexts/ComponentContext\";\nfunction useAnimationDriver() {\n const { animationDriver } = useConfiguration();\n if (!animationDriver || animationDriver.isStub) {\n throw new Error(\n process.env.NODE_ENV !== \"production\" ? `No animation driver configured. Pass \\`animations\\` to createTamagui. See: https://tamagui.dev/docs/core/animations` : \"\\u274C Error 011\"\n );\n }\n return animationDriver;\n}\nfunction useAnimatedNumberDriver() {\n const driver = useAnimationDriver();\n const animatedDriver = driver;\n if (typeof animatedDriver.useAnimatedNumber !== \"function\" || typeof animatedDriver.useAnimatedNumberStyle !== \"function\" || typeof animatedDriver.useAnimatedNumbersStyle !== \"function\" || typeof animatedDriver.useAnimatedNumberReaction !== \"function\") {\n throw new Error(\n process.env.NODE_ENV !== \"production\" ? `The configured animation driver does not include animated-number hooks. When using the CSS driver, import \\`createAnimations\\` from \\`@tamagui/animations-css/extras\\` instead of \\`@tamagui/animations-css\\`. See: https://tamagui.dev/docs/core/animations-css` : \"\\u274C Error 012\"\n );\n }\n return animatedDriver;\n}\nfunction useAnimatedNumber(initial) {\n return useAnimatedNumberDriver().useAnimatedNumber(initial);\n}\nconst useAnimatedNumberStyle = (value, getStyle) => useAnimatedNumberDriver().useAnimatedNumberStyle(value, getStyle);\nconst useAnimatedNumbersStyle = (values, getStyle) => useAnimatedNumberDriver().useAnimatedNumbersStyle(values, getStyle);\nconst useAnimatedNumberReaction = (opts, onValue) => useAnimatedNumberDriver().useAnimatedNumberReaction(opts, onValue);\nexport {\n useAnimatedNumber,\n useAnimatedNumberReaction,\n useAnimatedNumberStyle,\n useAnimatedNumbersStyle,\n useAnimationDriver\n};\n//# sourceMappingURL=useAnimationDriver.js.map\n"],"mappings":";;;AACA,SAAS,qBAAqB;CAC5B,MAAM,EAAE,oBAAoB,iBAAiB;CAC7C,IAAI,CAAC,mBAAmB,gBAAgB,QAAQ;EAC9C,MAAM,IAAI,MACR,QAAQ,IAAI,aAAa,eAAe,wHAAwH,aAClK;CACF;CACA,OAAO;AACT;AACA,SAAS,0BAA0B;CACjC,MAAM,SAAS,mBAAmB;CAClC,MAAM,iBAAiB;CACvB,IAAI,OAAO,eAAe,sBAAsB,cAAc,OAAO,eAAe,2BAA2B,cAAc,OAAO,eAAe,4BAA4B,cAAc,OAAO,eAAe,8BAA8B,YAAY;EAC3P,MAAM,IAAI,MACR,QAAQ,IAAI,aAAa,eAAe,qQAAqQ,aAC/S;CACF;CACA,OAAO;AACT;AACA,SAAS,kBAAkB,SAAS;CAClC,OAAO,wBAAwB,CAAC,CAAC,kBAAkB,OAAO;AAC5D;AACA,MAAM,0BAA0B,OAAO,aAAa,wBAAwB,CAAC,CAAC,uBAAuB,OAAO,QAAQ;AACpH,MAAM,2BAA2B,QAAQ,aAAa,wBAAwB,CAAC,CAAC,wBAAwB,QAAQ,QAAQ;AACxH,MAAM,6BAA6B,MAAM,YAAY,wBAAwB,CAAC,CAAC,0BAA0B,MAAM,OAAO"}
@@ -3,7 +3,7 @@ import { useConfiguration } from "../contexts/ComponentContext.native.js";
3
3
  function useAnimationDriver() {
4
4
  var { animationDriver } = useConfiguration();
5
5
  if (!animationDriver || animationDriver.isStub) {
6
- throw new Error(`No animation driver configured. Pass \`animations\` to createTamagui. See: https://tamagui.dev/docs/core/animations`);
6
+ throw new Error(process.env.NODE_ENV !== "production" ? `No animation driver configured. Pass \`animations\` to createTamagui. See: https://tamagui.dev/docs/core/animations` : "❌ Error 011");
7
7
  }
8
8
  return animationDriver;
9
9
  }
@@ -11,7 +11,7 @@ function useAnimatedNumberDriver() {
11
11
  var driver = useAnimationDriver();
12
12
  var animatedDriver = driver;
13
13
  if (typeof animatedDriver.useAnimatedNumber !== "function" || typeof animatedDriver.useAnimatedNumberStyle !== "function" || typeof animatedDriver.useAnimatedNumbersStyle !== "function" || typeof animatedDriver.useAnimatedNumberReaction !== "function") {
14
- throw new Error(`The configured animation driver does not include animated-number hooks. When using the CSS driver, import \`createAnimations\` from \`@tamagui/animations-css/extras\` instead of \`@tamagui/animations-css\`. See: https://tamagui.dev/docs/core/animations-css`);
14
+ throw new Error(process.env.NODE_ENV !== "production" ? `The configured animation driver does not include animated-number hooks. When using the CSS driver, import \`createAnimations\` from \`@tamagui/animations-css/extras\` instead of \`@tamagui/animations-css\`. See: https://tamagui.dev/docs/core/animations-css` : "❌ Error 012");
15
15
  }
16
16
  return animatedDriver;
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useAnimationDriver.native.js","names":[],"sources":["esm/hooks/useAnimationDriver.native.js"],"sourcesContent":["import { useConfiguration } from \"../contexts/ComponentContext\";\nfunction useAnimationDriver() {\n var { animationDriver } = useConfiguration();\n if (!animationDriver || animationDriver.isStub) {\n throw new Error(`No animation driver configured. Pass \\`animations\\` to createTamagui. See: https://tamagui.dev/docs/core/animations`);\n }\n return animationDriver;\n}\nfunction useAnimatedNumberDriver() {\n var driver = useAnimationDriver();\n var animatedDriver = driver;\n if (typeof animatedDriver.useAnimatedNumber !== \"function\" || typeof animatedDriver.useAnimatedNumberStyle !== \"function\" || typeof animatedDriver.useAnimatedNumbersStyle !== \"function\" || typeof animatedDriver.useAnimatedNumberReaction !== \"function\") {\n throw new Error(`The configured animation driver does not include animated-number hooks. When using the CSS driver, import \\`createAnimations\\` from \\`@tamagui/animations-css/extras\\` instead of \\`@tamagui/animations-css\\`. See: https://tamagui.dev/docs/core/animations-css`);\n }\n return animatedDriver;\n}\nfunction useAnimatedNumber(initial) {\n return useAnimatedNumberDriver().useAnimatedNumber(initial);\n}\nvar useAnimatedNumberStyle = function(value, getStyle) {\n return useAnimatedNumberDriver().useAnimatedNumberStyle(value, getStyle);\n};\nvar useAnimatedNumbersStyle = function(values, getStyle) {\n return useAnimatedNumberDriver().useAnimatedNumbersStyle(values, getStyle);\n};\nvar useAnimatedNumberReaction = function(opts, onValue) {\n return useAnimatedNumberDriver().useAnimatedNumberReaction(opts, onValue);\n};\nexport {\n useAnimatedNumber,\n useAnimatedNumberReaction,\n useAnimatedNumberStyle,\n useAnimatedNumbersStyle,\n useAnimationDriver\n};\n//# sourceMappingURL=useAnimationDriver.js.map\n"],"mappings":";;;AACA,SAAS,qBAAqB;CAC5B,IAAI,EAAE,oBAAoB,iBAAiB;CAC3C,IAAI,CAAC,mBAAmB,gBAAgB,QAAQ;EAC9C,MAAM,IAAI,MAAM,qHAAqH;CACvI;CACA,OAAO;AACT;AACA,SAAS,0BAA0B;CACjC,IAAI,SAAS,mBAAmB;CAChC,IAAI,iBAAiB;CACrB,IAAI,OAAO,eAAe,sBAAsB,cAAc,OAAO,eAAe,2BAA2B,cAAc,OAAO,eAAe,4BAA4B,cAAc,OAAO,eAAe,8BAA8B,YAAY;EAC3P,MAAM,IAAI,MAAM,kQAAkQ;CACpR;CACA,OAAO;AACT;AACA,SAAS,kBAAkB,SAAS;CAClC,OAAO,wBAAwB,CAAC,CAAC,kBAAkB,OAAO;AAC5D;AACA,IAAI,yBAAyB,SAAS,OAAO,UAAU;CACrD,OAAO,wBAAwB,CAAC,CAAC,uBAAuB,OAAO,QAAQ;AACzE;AACA,IAAI,0BAA0B,SAAS,QAAQ,UAAU;CACvD,OAAO,wBAAwB,CAAC,CAAC,wBAAwB,QAAQ,QAAQ;AAC3E;AACA,IAAI,4BAA4B,SAAS,MAAM,SAAS;CACtD,OAAO,wBAAwB,CAAC,CAAC,0BAA0B,MAAM,OAAO;AAC1E"}
1
+ {"version":3,"file":"useAnimationDriver.native.js","names":[],"sources":["esm/hooks/useAnimationDriver.native.js"],"sourcesContent":["import { useConfiguration } from \"../contexts/ComponentContext\";\nfunction useAnimationDriver() {\n var { animationDriver } = useConfiguration();\n if (!animationDriver || animationDriver.isStub) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `No animation driver configured. Pass \\`animations\\` to createTamagui. See: https://tamagui.dev/docs/core/animations` : \"\\u274C Error 011\");\n }\n return animationDriver;\n}\nfunction useAnimatedNumberDriver() {\n var driver = useAnimationDriver();\n var animatedDriver = driver;\n if (typeof animatedDriver.useAnimatedNumber !== \"function\" || typeof animatedDriver.useAnimatedNumberStyle !== \"function\" || typeof animatedDriver.useAnimatedNumbersStyle !== \"function\" || typeof animatedDriver.useAnimatedNumberReaction !== \"function\") {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `The configured animation driver does not include animated-number hooks. When using the CSS driver, import \\`createAnimations\\` from \\`@tamagui/animations-css/extras\\` instead of \\`@tamagui/animations-css\\`. See: https://tamagui.dev/docs/core/animations-css` : \"\\u274C Error 012\");\n }\n return animatedDriver;\n}\nfunction useAnimatedNumber(initial) {\n return useAnimatedNumberDriver().useAnimatedNumber(initial);\n}\nvar useAnimatedNumberStyle = function(value, getStyle) {\n return useAnimatedNumberDriver().useAnimatedNumberStyle(value, getStyle);\n};\nvar useAnimatedNumbersStyle = function(values, getStyle) {\n return useAnimatedNumberDriver().useAnimatedNumbersStyle(values, getStyle);\n};\nvar useAnimatedNumberReaction = function(opts, onValue) {\n return useAnimatedNumberDriver().useAnimatedNumberReaction(opts, onValue);\n};\nexport {\n useAnimatedNumber,\n useAnimatedNumberReaction,\n useAnimatedNumberStyle,\n useAnimatedNumbersStyle,\n useAnimationDriver\n};\n//# sourceMappingURL=useAnimationDriver.js.map\n"],"mappings":";;;AACA,SAAS,qBAAqB;CAC5B,IAAI,EAAE,oBAAoB,iBAAiB;CAC3C,IAAI,CAAC,mBAAmB,gBAAgB,QAAQ;EAC9C,MAAM,IAAI,MAAM,QAAQ,IAAI,aAAa,eAAe,wHAAwH,aAAkB;CACpM;CACA,OAAO;AACT;AACA,SAAS,0BAA0B;CACjC,IAAI,SAAS,mBAAmB;CAChC,IAAI,iBAAiB;CACrB,IAAI,OAAO,eAAe,sBAAsB,cAAc,OAAO,eAAe,2BAA2B,cAAc,OAAO,eAAe,4BAA4B,cAAc,OAAO,eAAe,8BAA8B,YAAY;EAC3P,MAAM,IAAI,MAAM,QAAQ,IAAI,aAAa,eAAe,qQAAqQ,aAAkB;CACjV;CACA,OAAO;AACT;AACA,SAAS,kBAAkB,SAAS;CAClC,OAAO,wBAAwB,CAAC,CAAC,kBAAkB,OAAO;AAC5D;AACA,IAAI,yBAAyB,SAAS,OAAO,UAAU;CACrD,OAAO,wBAAwB,CAAC,CAAC,uBAAuB,OAAO,QAAQ;AACzE;AACA,IAAI,0BAA0B,SAAS,QAAQ,UAAU;CACvD,OAAO,wBAAwB,CAAC,CAAC,wBAAwB,QAAQ,QAAQ;AAC3E;AACA,IAAI,4BAA4B,SAAS,MAAM,SAAS;CACtD,OAAO,wBAAwB,CAAC,CAAC,0BAA0B,MAAM,OAAO;AAC1E"}
@@ -3,11 +3,9 @@ import { mergeIfNotShallowEqual } from "@tamagui/is-equal-shallow";
3
3
  import { useDidFinishSSR, useIsClientOnly } from "@tamagui/use-did-finish-ssr";
4
4
  import { useRef, useState } from "react";
5
5
  import { getSetting } from "../config.mjs";
6
- import { formatDiagnostic } from "../helpers/formatDiagnostic.mjs";
7
6
  import { isOptimizedForFirstRender } from "./isOptimizedForFirstRender.mjs";
8
7
  import { defaultComponentStateMounted } from "../defaultComponentState.mjs";
9
8
  import { isObj } from "../helpers/isObj.mjs";
10
- import { log } from "../helpers/log.mjs";
11
9
 
12
10
  const useComponentState = (props, animationDriver, staticConfig, config) => {
13
11
  "use no memo";
@@ -16,48 +14,42 @@ const useComponentState = (props, animationDriver, staticConfig, config) => {
16
14
  const useAnimations = animationDriver?.isStub ? void 0 : animationDriver?.useAnimations;
17
15
  const { isHOC } = staticConfig;
18
16
  const stateRef = useRef(void 0);
19
- if (!stateRef.current) {
20
- stateRef.current = {
21
- startedUnhydrated: needsHydration && !isHydrated,
22
- optimizeForFirstRender: isOptimizedForFirstRender()
23
- };
24
- }
17
+ const curStateRef = stateRef.current ||= {
18
+ startedUnhydrated: needsHydration && !isHydrated,
19
+ optimizeForFirstRender: isOptimizedForFirstRender()
20
+ };
25
21
  const hasAnimationProp = Boolean(!isHOC && "transition" in props || props.style && hasAnimatedStyleValue(props.style));
26
22
  const inputStyle = animationDriver?.inputStyle ?? "css";
27
23
  const outputStyle = animationDriver?.outputStyle ?? "css";
28
- const curStateRef = stateRef.current;
29
24
  if (!needsHydration && hasAnimationProp) {
30
25
  curStateRef.hasAnimated = true;
31
26
  }
32
27
  const platformPseudoPossible = Boolean(!isHOC && useAnimations && animationDriver?.avoidReRenders && getPlatformDriver()?.pseudo);
33
- let willBeAnimatedClient = (() => {
34
- const next = !!((hasAnimationProp || platformPseudoPossible) && !isHOC && useAnimations);
35
- return Boolean(next || curStateRef.hasAnimated);
36
- })();
37
- let willBeAnimated = !isServer && willBeAnimatedClient;
28
+ const willBeAnimatedClient = Boolean((hasAnimationProp || platformPseudoPossible) && !isHOC && useAnimations || curStateRef.hasAnimated);
29
+ const willBeAnimated = !isServer && willBeAnimatedClient;
38
30
  if (willBeAnimated && hasAnimationProp && !curStateRef.hasAnimated) {
39
31
  curStateRef.hasAnimated = true;
40
32
  }
41
33
  const { disableClassName } = props;
42
- if (willBeAnimated && !isHOC && props["animatePresence"] !== false) {
34
+ const animatePresenceOptIn = willBeAnimated && !isHOC && props["animatePresence"] !== false;
35
+ if (animatePresenceOptIn) {
43
36
  curStateRef.shouldRegisterPresence = true;
44
37
  } else {
45
38
  curStateRef.shouldRegisterPresence ??= false;
46
39
  }
47
40
  const presenceResult = animationDriver?.usePresence?.(curStateRef) || null;
48
- const presence = !isHOC && willBeAnimated && props["animatePresence"] !== false ? presenceResult : null;
41
+ const presence = animatePresenceOptIn ? presenceResult : null;
49
42
  const presenceState = presence?.[2];
50
43
  const isExiting = presenceState?.isPresent === false;
51
44
  const isEntering = presenceState?.isPresent === true && presenceState.initial !== false;
52
45
  const hasAnimationThatNeedsHydrate = hasAnimationProp && !isHydrated && inputStyle !== "css";
53
- const initialState = { ...defaultComponentStateMounted };
54
46
  const disabled = isDisabled(props);
55
- if (disabled != null) {
56
- initialState.disabled = disabled;
57
- }
58
- const states = useState(initialState);
47
+ const [componentState, reactSetState] = useState(() => disabled != null ? {
48
+ ...defaultComponentStateMounted,
49
+ disabled
50
+ } : defaultComponentStateMounted);
59
51
  const initialStyleFrameUnmounted = curStateRef.initialStyleFrameUnmounted;
60
- let state = !curStateRef.didFinalizeInitialStyleFrame && !isHOC || initialStyleFrameUnmounted !== void 0 ? { ...states[0] } : states[0];
52
+ let state = !curStateRef.didFinalizeInitialStyleFrame && !isHOC || initialStyleFrameUnmounted !== void 0 ? { ...componentState } : componentState;
61
53
  if (!curStateRef.didFinalizeInitialStyleFrame && !isHOC) {
62
54
  state.unmounted = true;
63
55
  }
@@ -65,26 +57,22 @@ const useComponentState = (props, animationDriver, staticConfig, config) => {
65
57
  state.unmounted = initialStyleFrameUnmounted;
66
58
  }
67
59
  if (props.forceStyle) {
68
- if (state === states[0]) state = { ...state };
60
+ if (state === componentState) state = { ...state };
69
61
  state[props.forceStyle] = true;
70
62
  }
71
- if (!curStateRef.setState) {
72
- const reactSetState = states[1];
73
- curStateRef.setState = (stateOrGetState) => {
74
- const pendingUnmounted = curStateRef.initialStyleFrameUnmounted;
75
- curStateRef.initialStyleFrameUnmounted = void 0;
76
- reactSetState((previous) => {
77
- const current = pendingUnmounted !== void 0 && previous.unmounted !== pendingUnmounted ? {
78
- ...previous,
79
- unmounted: pendingUnmounted
80
- } : previous;
81
- return typeof stateOrGetState === "function" ? stateOrGetState(current) : stateOrGetState;
82
- });
83
- };
84
- }
85
- const setState = curStateRef.setState;
63
+ const setState = curStateRef.setState ||= (stateOrGetState) => {
64
+ const pendingUnmounted = curStateRef.initialStyleFrameUnmounted;
65
+ curStateRef.initialStyleFrameUnmounted = void 0;
66
+ reactSetState((previous) => {
67
+ const current = pendingUnmounted !== void 0 && previous.unmounted !== pendingUnmounted ? {
68
+ ...previous,
69
+ unmounted: pendingUnmounted
70
+ } : previous;
71
+ return typeof stateOrGetState === "function" ? stateOrGetState(current) : stateOrGetState;
72
+ });
73
+ };
86
74
  let isAnimated = willBeAnimated;
87
- if (isWeb && hasAnimationThatNeedsHydrate && !staticConfig.isHOC && !isHydrated) {
75
+ if (isWeb && hasAnimationThatNeedsHydrate && !isHOC && !isHydrated) {
88
76
  isAnimated = false;
89
77
  curStateRef.willHydrate = true;
90
78
  }
@@ -96,36 +84,14 @@ const useComponentState = (props, animationDriver, staticConfig, config) => {
96
84
  setState((_) => ({ ...state }));
97
85
  }
98
86
  const groupName = props.group;
99
- if (!stateRef.current.baseSetStateShallow) {
100
- const r = stateRef.current;
101
- r.baseSetStateShallow = (stateOrGetState) => {
102
- setState((prev) => {
103
- const next = typeof stateOrGetState === "function" ? stateOrGetState(prev) : stateOrGetState;
104
- const update = mergeIfNotShallowEqual(prev, next);
105
- if (process.env.NODE_ENV === "development") {
106
- const dbg = r.__debug;
107
- if (dbg && update !== prev) {
108
- console.groupCollapsed(`setStateShallow CHANGE`, "=>", update);
109
- console.info(`previously`, prev);
110
- console.trace();
111
- console.groupEnd();
112
- }
113
- }
114
- return update;
115
- });
116
- };
117
- }
118
- if (process.env.NODE_ENV === "development") {
119
- ;
120
- stateRef.current.__debug = props.debug;
121
- }
122
- const setStateShallow = stateRef.current.baseSetStateShallow;
123
- if (process.env.NODE_ENV === "development" && globalThis.time) globalThis.time`state-useCreateShallowSetState`;
87
+ const setStateShallow = curStateRef.baseSetStateShallow ||= (stateOrGetState) => {
88
+ setState((prev) => {
89
+ const next = typeof stateOrGetState === "function" ? stateOrGetState(prev) : stateOrGetState;
90
+ return mergeIfNotShallowEqual(prev, next);
91
+ });
92
+ };
124
93
  let outProps = props;
125
94
  if (presenceState && isAnimated && isHydrated && staticConfig.variants) {
126
- if (process.env.NODE_ENV === "development" && props.debug === "verbose") {
127
- console.warn(formatDiagnostic("TAMAGUI_PRESENCE_STATE", staticConfig.Component?.displayName || staticConfig.Component?.name || "TamaguiComponent", "AnimatePresence supplied lifecycle state to an animated component", "Remove debug=\"verbose\" after inspecting the animation state", "presenceState", presenceState));
128
- }
129
95
  const { custom } = presenceState;
130
96
  if (isObj(custom)) {
131
97
  outProps = {
@@ -134,23 +100,16 @@ const useComponentState = (props, animationDriver, staticConfig, config) => {
134
100
  };
135
101
  }
136
102
  }
137
- let noClass = !isWeb || !!props.forceStyle;
138
- if (!isHydrated) {
139
- noClass = false;
140
- } else {
141
- if (isWeb && isHydrated) {
142
- const isAnimatedAndHydrated = !!((hasAnimationProp || curStateRef.hasAnimated) && useAnimations && !isHOC) && isHydrated;
103
+ let noClass = !isWeb || Boolean(props.forceStyle);
104
+ if (isWeb) {
105
+ if (!isHydrated) {
106
+ noClass = false;
107
+ } else {
108
+ const isAnimatedAndHydrated = Boolean((hasAnimationProp || curStateRef.hasAnimated) && useAnimations && !isHOC);
143
109
  const isClassNameDisabled = !staticConfig.acceptsClassName && (getSetting("disableSSR") || !state.unmounted);
144
- const isDisabledManually = disableClassName && !state.unmounted;
110
+ const isDisabledManually = Boolean(disableClassName && !state.unmounted);
145
111
  if (isAnimatedAndHydrated && outputStyle !== "css" || isDisabledManually || isClassNameDisabled) {
146
112
  noClass = true;
147
- if (process.env.NODE_ENV === "development" && props.debug === "verbose") {
148
- log(`avoiding className`, {
149
- isAnimatedAndHydrated,
150
- isDisabledManually,
151
- isClassNameDisabled
152
- });
153
- }
154
113
  }
155
114
  }
156
115
  }
@@ -195,7 +154,7 @@ const useComponentState = (props, animationDriver, staticConfig, config) => {
195
154
  result.platformPseudo = platformPseudo;
196
155
  result.willBeAnimatedClient = nextWillBeAnimatedClient;
197
156
  result.willBeAnimated = nextWillBeAnimated;
198
- result.isAnimated = isWeb && hasAnimationThatNeedsHydrate && !staticConfig.isHOC && !isHydrated ? false : nextWillBeAnimated;
157
+ result.isAnimated = isWeb && hasAnimationThatNeedsHydrate && !isHOC && !isHydrated ? false : nextWillBeAnimated;
199
158
  if (nextWillBeAnimated && !isHOC && props["animatePresence"] !== false) {
200
159
  curStateRef.shouldRegisterPresence = true;
201
160
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useComponentState.js","names":[],"sources":["esm/hooks/useComponentState.js"],"sourcesContent":["import { getPlatformDriver, isServer, isWeb } from \"@tamagui/constants\";\nimport { mergeIfNotShallowEqual } from \"@tamagui/is-equal-shallow\";\nimport { useDidFinishSSR, useIsClientOnly } from \"@tamagui/use-did-finish-ssr\";\nimport { useRef, useState } from \"react\";\nimport { getSetting } from \"../config\";\nimport { formatDiagnostic } from \"../helpers/formatDiagnostic\";\nimport { isOptimizedForFirstRender } from \"./isOptimizedForFirstRender\";\nimport {\n defaultComponentStateMounted\n} from \"../defaultComponentState\";\nimport { isObj } from \"../helpers/isObj\";\nimport { log } from \"../helpers/log\";\nconst useComponentState = (props, animationDriver, staticConfig, config) => {\n \"use no memo\";\n const isHydrated = useDidFinishSSR();\n const needsHydration = !useIsClientOnly();\n const useAnimations = animationDriver?.isStub ? void 0 : animationDriver?.useAnimations;\n const { isHOC } = staticConfig;\n const stateRef = useRef(\n // performance: avoid creating object every render\n void 0\n );\n if (!stateRef.current) {\n stateRef.current = {\n startedUnhydrated: needsHydration && !isHydrated,\n optimizeForFirstRender: isOptimizedForFirstRender()\n };\n }\n const hasAnimationProp = Boolean(\n !isHOC && \"transition\" in props || props.style && hasAnimatedStyleValue(props.style)\n );\n const inputStyle = animationDriver?.inputStyle ?? \"css\";\n const outputStyle = animationDriver?.outputStyle ?? \"css\";\n const curStateRef = stateRef.current;\n if (!needsHydration && hasAnimationProp) {\n curStateRef.hasAnimated = true;\n }\n const platformPseudoPossible = Boolean(\n !isHOC && useAnimations && animationDriver?.avoidReRenders && getPlatformDriver()?.pseudo\n );\n let willBeAnimatedClient = (() => {\n const next = !!((hasAnimationProp || platformPseudoPossible) && !isHOC && useAnimations);\n return Boolean(next || curStateRef.hasAnimated);\n })();\n let willBeAnimated = !isServer && willBeAnimatedClient;\n if (willBeAnimated && hasAnimationProp && !curStateRef.hasAnimated) {\n curStateRef.hasAnimated = true;\n }\n const { disableClassName } = props;\n if (willBeAnimated && !isHOC && props[\"animatePresence\"] !== false) {\n curStateRef.shouldRegisterPresence = true;\n } else {\n curStateRef.shouldRegisterPresence ??= false;\n }\n const presenceResult = animationDriver?.usePresence?.(curStateRef) || null;\n const presence = !isHOC && willBeAnimated && props[\"animatePresence\"] !== false ? presenceResult : null;\n const presenceState = presence?.[2];\n const isExiting = presenceState?.isPresent === false;\n const isEntering = presenceState?.isPresent === true && presenceState.initial !== false;\n const hasAnimationThatNeedsHydrate = hasAnimationProp && !isHydrated && inputStyle !== \"css\";\n const initialState = { ...defaultComponentStateMounted };\n const disabled = isDisabled(props);\n if (disabled != null) {\n initialState.disabled = disabled;\n }\n const states = useState(initialState);\n const initialStyleFrameUnmounted = curStateRef.initialStyleFrameUnmounted;\n let state = !curStateRef.didFinalizeInitialStyleFrame && !isHOC || initialStyleFrameUnmounted !== void 0 ? { ...states[0] } : states[0];\n if (!curStateRef.didFinalizeInitialStyleFrame && !isHOC) {\n state.unmounted = true;\n }\n if (initialStyleFrameUnmounted !== void 0) {\n state.unmounted = initialStyleFrameUnmounted;\n }\n if (props.forceStyle) {\n if (state === states[0]) state = { ...state };\n state[props.forceStyle] = true;\n }\n if (!curStateRef.setState) {\n const reactSetState = states[1];\n curStateRef.setState = (stateOrGetState) => {\n const pendingUnmounted = curStateRef.initialStyleFrameUnmounted;\n curStateRef.initialStyleFrameUnmounted = void 0;\n reactSetState((previous) => {\n const current = pendingUnmounted !== void 0 && previous.unmounted !== pendingUnmounted ? { ...previous, unmounted: pendingUnmounted } : previous;\n return typeof stateOrGetState === \"function\" ? stateOrGetState(current) : stateOrGetState;\n });\n };\n }\n const setState = curStateRef.setState;\n let isAnimated = willBeAnimated;\n if (isWeb && hasAnimationThatNeedsHydrate && !staticConfig.isHOC && !isHydrated) {\n isAnimated = false;\n curStateRef.willHydrate = true;\n }\n if (disabled !== state.disabled) {\n if (disabled) {\n Object.assign(state, defaultComponentStateMounted);\n }\n state.disabled = disabled;\n setState((_) => ({ ...state }));\n }\n const groupName = props.group;\n if (!stateRef.current.baseSetStateShallow) {\n const r = stateRef.current;\n r.baseSetStateShallow = (stateOrGetState) => {\n setState((prev) => {\n const next = typeof stateOrGetState === \"function\" ? stateOrGetState(prev) : stateOrGetState;\n const update = mergeIfNotShallowEqual(prev, next);\n if (process.env.NODE_ENV === \"development\") {\n const dbg = r.__debug;\n if (dbg && update !== prev) {\n console.groupCollapsed(`setStateShallow CHANGE`, \"=>\", update);\n console.info(`previously`, prev);\n console.trace();\n console.groupEnd();\n }\n }\n return update;\n });\n };\n }\n if (process.env.NODE_ENV === \"development\") {\n ;\n stateRef.current.__debug = props.debug;\n }\n const setStateShallow = stateRef.current.baseSetStateShallow;\n if (process.env.NODE_ENV === \"development\" && globalThis.time)\n globalThis.time`state-useCreateShallowSetState`;\n let outProps = props;\n if (presenceState && isAnimated && isHydrated && staticConfig.variants) {\n if (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n console.warn(\n formatDiagnostic(\n \"TAMAGUI_PRESENCE_STATE\",\n staticConfig.Component?.displayName || staticConfig.Component?.name || \"TamaguiComponent\",\n \"AnimatePresence supplied lifecycle state to an animated component\",\n 'Remove debug=\"verbose\" after inspecting the animation state',\n \"presenceState\",\n presenceState\n )\n );\n }\n const { custom } = presenceState;\n if (isObj(custom)) {\n outProps = { ...props, ...custom };\n }\n }\n let noClass = !isWeb || !!props.forceStyle;\n if (!isHydrated) {\n noClass = false;\n } else {\n if (isWeb && isHydrated) {\n const isAnimatedAndHydrated = !!((hasAnimationProp || curStateRef.hasAnimated) && useAnimations && !isHOC) && isHydrated;\n const isClassNameDisabled = !staticConfig.acceptsClassName && (getSetting(\"disableSSR\") || !state.unmounted);\n const isDisabledManually = disableClassName && !state.unmounted;\n if (\n // Only disable className for animation drivers that output inline styles (not css)\n isAnimatedAndHydrated && outputStyle !== \"css\" || isDisabledManually || isClassNameDisabled\n ) {\n noClass = true;\n if (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n log(`avoiding className`, {\n isAnimatedAndHydrated,\n isDisabledManually,\n isClassNameDisabled\n });\n }\n }\n }\n }\n const result = {\n props: outProps,\n startedUnhydrated: curStateRef.startedUnhydrated,\n curStateRef,\n disabled,\n groupName,\n hasAnimationProp,\n hasEnterStyle: false,\n isAnimated,\n isExiting,\n isHydrated,\n presence,\n presenceState,\n setState,\n setStateShallow,\n noClass,\n state,\n stateRef,\n inputStyle,\n outputStyle,\n willBeAnimated,\n willBeAnimatedClient,\n platformPseudo: platformPseudoPossible,\n finalizeStyleFlags(hasEnterStyle, hasPlatformPseudo) {\n const platformPseudo = platformPseudoPossible && hasPlatformPseudo;\n const nextWillBeAnimatedClient = Boolean(\n (hasAnimationProp || platformPseudo) && !isHOC && useAnimations || curStateRef.hasAnimated\n );\n const nextWillBeAnimated = !isServer && nextWillBeAnimatedClient;\n if (nextWillBeAnimated && !curStateRef.hasAnimated) {\n curStateRef.hasAnimated = true;\n }\n if (!curStateRef.didFinalizeInitialStyleFrame) {\n curStateRef.didFinalizeInitialStyleFrame = true;\n const shouldEnter = !isHOC && (hasEnterStyle || isEntering || hasAnimationThatNeedsHydrate || disableClassName);\n const unmounted = shouldEnter ? hasEnterStyle || isEntering ? \"should-enter\" : true : false;\n state.unmounted = unmounted;\n curStateRef.initialStyleFrameUnmounted = unmounted || void 0;\n }\n result.hasEnterStyle = hasEnterStyle;\n result.platformPseudo = platformPseudo;\n result.willBeAnimatedClient = nextWillBeAnimatedClient;\n result.willBeAnimated = nextWillBeAnimated;\n result.isAnimated = isWeb && hasAnimationThatNeedsHydrate && !staticConfig.isHOC && !isHydrated ? false : nextWillBeAnimated;\n if (nextWillBeAnimated && !isHOC && props[\"animatePresence\"] !== false) {\n curStateRef.shouldRegisterPresence = true;\n }\n return result;\n }\n };\n return result;\n};\nfunction hasAnimatedStyleValue(style) {\n for (const k in style) {\n const val = style[k];\n if (val && typeof val === \"object\" && \"_animation\" in val) {\n return true;\n }\n }\n return false;\n}\nconst isDisabled = (props) => {\n return props.disabled || props.passThrough || props.accessibilityState?.disabled || props[\"aria-disabled\"] || props.accessibilityDisabled || false;\n};\nexport {\n useComponentState\n};\n//# sourceMappingURL=useComponentState.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"useComponentState.js","names":[],"sources":["esm/hooks/useComponentState.js"],"sourcesContent":["import { getPlatformDriver, isServer, isWeb } from \"@tamagui/constants\";\nimport { mergeIfNotShallowEqual } from \"@tamagui/is-equal-shallow\";\nimport { useDidFinishSSR, useIsClientOnly } from \"@tamagui/use-did-finish-ssr\";\nimport { useRef, useState } from \"react\";\nimport { getSetting } from \"../config\";\nimport { isOptimizedForFirstRender } from \"./isOptimizedForFirstRender\";\nimport { defaultComponentStateMounted } from \"../defaultComponentState\";\nimport { isObj } from \"../helpers/isObj\";\nconst useComponentState = (props, animationDriver, staticConfig, config) => {\n \"use no memo\";\n const isHydrated = useDidFinishSSR();\n const needsHydration = !useIsClientOnly();\n const useAnimations = animationDriver?.isStub ? void 0 : animationDriver?.useAnimations;\n const { isHOC } = staticConfig;\n const stateRef = useRef(\n void 0\n );\n const curStateRef = stateRef.current ||= {\n startedUnhydrated: needsHydration && !isHydrated,\n optimizeForFirstRender: isOptimizedForFirstRender()\n };\n const hasAnimationProp = Boolean(\n !isHOC && \"transition\" in props || props.style && hasAnimatedStyleValue(props.style)\n );\n const inputStyle = animationDriver?.inputStyle ?? \"css\";\n const outputStyle = animationDriver?.outputStyle ?? \"css\";\n if (!needsHydration && hasAnimationProp) {\n curStateRef.hasAnimated = true;\n }\n const platformPseudoPossible = Boolean(\n !isHOC && useAnimations && animationDriver?.avoidReRenders && getPlatformDriver()?.pseudo\n );\n const willBeAnimatedClient = Boolean(\n (hasAnimationProp || platformPseudoPossible) && !isHOC && useAnimations || curStateRef.hasAnimated\n );\n const willBeAnimated = !isServer && willBeAnimatedClient;\n if (willBeAnimated && hasAnimationProp && !curStateRef.hasAnimated) {\n curStateRef.hasAnimated = true;\n }\n const { disableClassName } = props;\n const animatePresenceOptIn = willBeAnimated && !isHOC && props[\"animatePresence\"] !== false;\n if (animatePresenceOptIn) {\n curStateRef.shouldRegisterPresence = true;\n } else {\n curStateRef.shouldRegisterPresence ??= false;\n }\n const presenceResult = animationDriver?.usePresence?.(curStateRef) || null;\n const presence = animatePresenceOptIn ? presenceResult : null;\n const presenceState = presence?.[2];\n const isExiting = presenceState?.isPresent === false;\n const isEntering = presenceState?.isPresent === true && presenceState.initial !== false;\n const hasAnimationThatNeedsHydrate = hasAnimationProp && !isHydrated && inputStyle !== \"css\";\n const disabled = isDisabled(props);\n const [componentState, reactSetState] = useState(\n () => disabled != null ? { ...defaultComponentStateMounted, disabled } : defaultComponentStateMounted\n );\n const initialStyleFrameUnmounted = curStateRef.initialStyleFrameUnmounted;\n let state = !curStateRef.didFinalizeInitialStyleFrame && !isHOC || initialStyleFrameUnmounted !== void 0 ? { ...componentState } : componentState;\n if (!curStateRef.didFinalizeInitialStyleFrame && !isHOC) {\n state.unmounted = true;\n }\n if (initialStyleFrameUnmounted !== void 0) {\n state.unmounted = initialStyleFrameUnmounted;\n }\n if (props.forceStyle) {\n if (state === componentState) state = { ...state };\n state[props.forceStyle] = true;\n }\n const setState = curStateRef.setState ||= (stateOrGetState) => {\n const pendingUnmounted = curStateRef.initialStyleFrameUnmounted;\n curStateRef.initialStyleFrameUnmounted = void 0;\n reactSetState((previous) => {\n const current = pendingUnmounted !== void 0 && previous.unmounted !== pendingUnmounted ? { ...previous, unmounted: pendingUnmounted } : previous;\n return typeof stateOrGetState === \"function\" ? stateOrGetState(current) : stateOrGetState;\n });\n };\n let isAnimated = willBeAnimated;\n if (isWeb && hasAnimationThatNeedsHydrate && !isHOC && !isHydrated) {\n isAnimated = false;\n curStateRef.willHydrate = true;\n }\n if (disabled !== state.disabled) {\n if (disabled) {\n Object.assign(state, defaultComponentStateMounted);\n }\n state.disabled = disabled;\n setState((_) => ({ ...state }));\n }\n const groupName = props.group;\n const setStateShallow = curStateRef.baseSetStateShallow ||= (stateOrGetState) => {\n setState((prev) => {\n const next = typeof stateOrGetState === \"function\" ? stateOrGetState(prev) : stateOrGetState;\n return mergeIfNotShallowEqual(prev, next);\n });\n };\n let outProps = props;\n if (presenceState && isAnimated && isHydrated && staticConfig.variants) {\n const { custom } = presenceState;\n if (isObj(custom)) {\n outProps = { ...props, ...custom };\n }\n }\n let noClass = !isWeb || Boolean(props.forceStyle);\n if (isWeb) {\n if (!isHydrated) {\n noClass = false;\n } else {\n const isAnimatedAndHydrated = Boolean(\n (hasAnimationProp || curStateRef.hasAnimated) && useAnimations && !isHOC\n );\n const isClassNameDisabled = !staticConfig.acceptsClassName && (getSetting(\"disableSSR\") || !state.unmounted);\n const isDisabledManually = Boolean(disableClassName && !state.unmounted);\n if (isAnimatedAndHydrated && outputStyle !== \"css\" || isDisabledManually || isClassNameDisabled) {\n noClass = true;\n }\n }\n }\n const result = {\n props: outProps,\n startedUnhydrated: curStateRef.startedUnhydrated,\n curStateRef,\n disabled,\n groupName,\n hasAnimationProp,\n hasEnterStyle: false,\n isAnimated,\n isExiting,\n isHydrated,\n presence,\n presenceState,\n setState,\n setStateShallow,\n noClass,\n state,\n stateRef,\n inputStyle,\n outputStyle,\n willBeAnimated,\n willBeAnimatedClient,\n platformPseudo: platformPseudoPossible,\n finalizeStyleFlags(hasEnterStyle, hasPlatformPseudo) {\n const platformPseudo = platformPseudoPossible && hasPlatformPseudo;\n const nextWillBeAnimatedClient = Boolean(\n (hasAnimationProp || platformPseudo) && !isHOC && useAnimations || curStateRef.hasAnimated\n );\n const nextWillBeAnimated = !isServer && nextWillBeAnimatedClient;\n if (nextWillBeAnimated && !curStateRef.hasAnimated) {\n curStateRef.hasAnimated = true;\n }\n if (!curStateRef.didFinalizeInitialStyleFrame) {\n curStateRef.didFinalizeInitialStyleFrame = true;\n const shouldEnter = !isHOC && (hasEnterStyle || isEntering || hasAnimationThatNeedsHydrate || disableClassName);\n const unmounted = shouldEnter ? hasEnterStyle || isEntering ? \"should-enter\" : true : false;\n state.unmounted = unmounted;\n curStateRef.initialStyleFrameUnmounted = unmounted || void 0;\n }\n result.hasEnterStyle = hasEnterStyle;\n result.platformPseudo = platformPseudo;\n result.willBeAnimatedClient = nextWillBeAnimatedClient;\n result.willBeAnimated = nextWillBeAnimated;\n result.isAnimated = isWeb && hasAnimationThatNeedsHydrate && !isHOC && !isHydrated ? false : nextWillBeAnimated;\n if (nextWillBeAnimated && !isHOC && props[\"animatePresence\"] !== false) {\n curStateRef.shouldRegisterPresence = true;\n }\n return result;\n }\n };\n return result;\n};\nfunction hasAnimatedStyleValue(style) {\n for (const k in style) {\n const val = style[k];\n if (val && typeof val === \"object\" && \"_animation\" in val) {\n return true;\n }\n }\n return false;\n}\nconst isDisabled = (props) => {\n return props.disabled || props.passThrough || props.accessibilityState?.disabled || props[\"aria-disabled\"] || props.accessibilityDisabled || false;\n};\nexport {\n useComponentState\n};\n//# sourceMappingURL=useComponentState.js.map\n"],"mappings":"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"}
@@ -3,11 +3,9 @@ import { mergeIfNotShallowEqual } from "@tamagui/is-equal-shallow";
3
3
  import { useDidFinishSSR, useIsClientOnly } from "@tamagui/use-did-finish-ssr";
4
4
  import { useRef, useState } from "react";
5
5
  import { getSetting } from "../config.native.js";
6
- import { formatDiagnostic } from "../helpers/formatDiagnostic.native.js";
7
6
  import { isOptimizedForFirstRender } from "./isOptimizedForFirstRender.native.js";
8
7
  import { defaultComponentStateMounted } from "../defaultComponentState.native.js";
9
8
  import { isObj } from "../helpers/isObj.native.js";
10
- import { log } from "../helpers/log.native.js";
11
9
 
12
10
  function _type_of(obj) {
13
11
  "@swc/helpers - typeof";
@@ -16,57 +14,54 @@ function _type_of(obj) {
16
14
  var useComponentState = function(props, animationDriver, staticConfig, config) {
17
15
  "use no memo";
18
16
  var _getPlatformDriver, _animationDriver_usePresence;
17
+ var _stateRef, _curStateRef, _curStateRef1;
19
18
  var isHydrated = useDidFinishSSR();
20
19
  var needsHydration = !useIsClientOnly();
21
20
  var useAnimations = (animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.isStub) ? void 0 : animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.useAnimations;
22
21
  var { isHOC } = staticConfig;
23
22
  var stateRef = useRef(void 0);
24
- if (!stateRef.current) {
25
- stateRef.current = {
26
- startedUnhydrated: needsHydration && !isHydrated,
27
- optimizeForFirstRender: isOptimizedForFirstRender()
28
- };
29
- }
23
+ var curStateRef = (_stateRef = stateRef).current || (_stateRef.current = {
24
+ startedUnhydrated: needsHydration && !isHydrated,
25
+ optimizeForFirstRender: isOptimizedForFirstRender()
26
+ });
30
27
  var hasAnimationProp = Boolean(!isHOC && "transition" in props || props.style && hasAnimatedStyleValue(props.style));
31
28
  var _animationDriver_inputStyle;
32
29
  var inputStyle = (_animationDriver_inputStyle = animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.inputStyle) !== null && _animationDriver_inputStyle !== void 0 ? _animationDriver_inputStyle : "css";
33
30
  var _animationDriver_outputStyle;
34
31
  var outputStyle = (_animationDriver_outputStyle = animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.outputStyle) !== null && _animationDriver_outputStyle !== void 0 ? _animationDriver_outputStyle : "css";
35
- var curStateRef = stateRef.current;
36
32
  if (!needsHydration && hasAnimationProp) {
37
33
  curStateRef.hasAnimated = true;
38
34
  }
39
35
  var platformPseudoPossible = Boolean(!isHOC && useAnimations && (animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.avoidReRenders) && ((_getPlatformDriver = getPlatformDriver()) === null || _getPlatformDriver === void 0 ? void 0 : _getPlatformDriver.pseudo));
40
- var willBeAnimatedClient = (function() {
41
- var next = !!((hasAnimationProp || platformPseudoPossible) && !isHOC && useAnimations);
42
- return Boolean(next || curStateRef.hasAnimated);
43
- })();
36
+ var willBeAnimatedClient = Boolean((hasAnimationProp || platformPseudoPossible) && !isHOC && useAnimations || curStateRef.hasAnimated);
44
37
  var willBeAnimated = !isServer && willBeAnimatedClient;
45
38
  if (willBeAnimated && hasAnimationProp && !curStateRef.hasAnimated) {
46
39
  curStateRef.hasAnimated = true;
47
40
  }
48
41
  var { disableClassName } = props;
49
- if (willBeAnimated && !isHOC && props["animatePresence"] !== false) {
42
+ var animatePresenceOptIn = willBeAnimated && !isHOC && props["animatePresence"] !== false;
43
+ if (animatePresenceOptIn) {
50
44
  curStateRef.shouldRegisterPresence = true;
51
45
  } else {
52
- var _curStateRef;
46
+ var _curStateRef2;
53
47
  var _shouldRegisterPresence;
54
- (_shouldRegisterPresence = (_curStateRef = curStateRef).shouldRegisterPresence) !== null && _shouldRegisterPresence !== void 0 ? _shouldRegisterPresence : _curStateRef.shouldRegisterPresence = false;
48
+ (_shouldRegisterPresence = (_curStateRef2 = curStateRef).shouldRegisterPresence) !== null && _shouldRegisterPresence !== void 0 ? _shouldRegisterPresence : _curStateRef2.shouldRegisterPresence = false;
55
49
  }
56
50
  var presenceResult = (animationDriver === null || animationDriver === void 0 ? void 0 : (_animationDriver_usePresence = animationDriver.usePresence) === null || _animationDriver_usePresence === void 0 ? void 0 : _animationDriver_usePresence.call(animationDriver, curStateRef)) || null;
57
- var presence = !isHOC && willBeAnimated && props["animatePresence"] !== false ? presenceResult : null;
51
+ var presence = animatePresenceOptIn ? presenceResult : null;
58
52
  var presenceState = presence === null || presence === void 0 ? void 0 : presence[2];
59
53
  var isExiting = (presenceState === null || presenceState === void 0 ? void 0 : presenceState.isPresent) === false;
60
54
  var isEntering = (presenceState === null || presenceState === void 0 ? void 0 : presenceState.isPresent) === true && presenceState.initial !== false;
61
55
  var hasAnimationThatNeedsHydrate = hasAnimationProp && !isHydrated && inputStyle !== "css";
62
- var initialState = { ...defaultComponentStateMounted };
63
56
  var disabled = isDisabled(props);
64
- if (disabled != null) {
65
- initialState.disabled = disabled;
66
- }
67
- var states = useState(initialState);
57
+ var [componentState, reactSetState] = useState(function() {
58
+ return disabled != null ? {
59
+ ...defaultComponentStateMounted,
60
+ disabled
61
+ } : defaultComponentStateMounted;
62
+ });
68
63
  var initialStyleFrameUnmounted = curStateRef.initialStyleFrameUnmounted;
69
- var state = !curStateRef.didFinalizeInitialStyleFrame && !isHOC || initialStyleFrameUnmounted !== void 0 ? { ...states[0] } : states[0];
64
+ var state = !curStateRef.didFinalizeInitialStyleFrame && !isHOC || initialStyleFrameUnmounted !== void 0 ? { ...componentState } : componentState;
70
65
  if (!curStateRef.didFinalizeInitialStyleFrame && !isHOC) {
71
66
  state.unmounted = true;
72
67
  }
@@ -74,26 +69,22 @@ var useComponentState = function(props, animationDriver, staticConfig, config) {
74
69
  state.unmounted = initialStyleFrameUnmounted;
75
70
  }
76
71
  if (props.forceStyle) {
77
- if (state === states[0]) state = { ...state };
72
+ if (state === componentState) state = { ...state };
78
73
  state[props.forceStyle] = true;
79
74
  }
80
- if (!curStateRef.setState) {
81
- var reactSetState = states[1];
82
- curStateRef.setState = function(stateOrGetState) {
83
- var pendingUnmounted = curStateRef.initialStyleFrameUnmounted;
84
- curStateRef.initialStyleFrameUnmounted = void 0;
85
- reactSetState(function(previous) {
86
- var current = pendingUnmounted !== void 0 && previous.unmounted !== pendingUnmounted ? {
87
- ...previous,
88
- unmounted: pendingUnmounted
89
- } : previous;
90
- return typeof stateOrGetState === "function" ? stateOrGetState(current) : stateOrGetState;
91
- });
92
- };
93
- }
94
- var setState = curStateRef.setState;
75
+ var setState = (_curStateRef = curStateRef).setState || (_curStateRef.setState = function(stateOrGetState) {
76
+ var pendingUnmounted = curStateRef.initialStyleFrameUnmounted;
77
+ curStateRef.initialStyleFrameUnmounted = void 0;
78
+ reactSetState(function(previous) {
79
+ var current = pendingUnmounted !== void 0 && previous.unmounted !== pendingUnmounted ? {
80
+ ...previous,
81
+ unmounted: pendingUnmounted
82
+ } : previous;
83
+ return typeof stateOrGetState === "function" ? stateOrGetState(current) : stateOrGetState;
84
+ });
85
+ });
95
86
  var isAnimated = willBeAnimated;
96
- if (isWeb && hasAnimationThatNeedsHydrate && !staticConfig.isHOC && !isHydrated) {
87
+ if (isWeb && hasAnimationThatNeedsHydrate && !isHOC && !isHydrated) {
97
88
  isAnimated = false;
98
89
  curStateRef.willHydrate = true;
99
90
  }
@@ -107,37 +98,14 @@ var useComponentState = function(props, animationDriver, staticConfig, config) {
107
98
  });
108
99
  }
109
100
  var groupName = props.group;
110
- if (!stateRef.current.baseSetStateShallow) {
111
- var r = stateRef.current;
112
- r.baseSetStateShallow = function(stateOrGetState) {
113
- setState(function(prev) {
114
- var next = typeof stateOrGetState === "function" ? stateOrGetState(prev) : stateOrGetState;
115
- var update = mergeIfNotShallowEqual(prev, next);
116
- if (process.env.NODE_ENV === "development") {
117
- var dbg = r.__debug;
118
- if (dbg && update !== prev) {
119
- console.groupCollapsed(`setStateShallow CHANGE`, "=>", update);
120
- console.info(`previously`, prev);
121
- console.trace();
122
- console.groupEnd();
123
- }
124
- }
125
- return update;
126
- });
127
- };
128
- }
129
- if (process.env.NODE_ENV === "development") {
130
- ;
131
- stateRef.current.__debug = props.debug;
132
- }
133
- var setStateShallow = stateRef.current.baseSetStateShallow;
134
- if (process.env.NODE_ENV === "development" && globalThis.time) globalThis.time`state-useCreateShallowSetState`;
101
+ var setStateShallow = (_curStateRef1 = curStateRef).baseSetStateShallow || (_curStateRef1.baseSetStateShallow = function(stateOrGetState) {
102
+ setState(function(prev) {
103
+ var next = typeof stateOrGetState === "function" ? stateOrGetState(prev) : stateOrGetState;
104
+ return mergeIfNotShallowEqual(prev, next);
105
+ });
106
+ });
135
107
  var outProps = props;
136
108
  if (presenceState && isAnimated && isHydrated && staticConfig.variants) {
137
- if (process.env.NODE_ENV === "development" && props.debug === "verbose") {
138
- var _staticConfig_Component, _staticConfig_Component1;
139
- console.warn(formatDiagnostic("TAMAGUI_PRESENCE_STATE", ((_staticConfig_Component = staticConfig.Component) === null || _staticConfig_Component === void 0 ? void 0 : _staticConfig_Component.displayName) || ((_staticConfig_Component1 = staticConfig.Component) === null || _staticConfig_Component1 === void 0 ? void 0 : _staticConfig_Component1.name) || "TamaguiComponent", "AnimatePresence supplied lifecycle state to an animated component", "Remove debug=\"verbose\" after inspecting the animation state", "presenceState", presenceState));
140
- }
141
109
  var { custom } = presenceState;
142
110
  if (isObj(custom)) {
143
111
  outProps = {
@@ -146,23 +114,16 @@ var useComponentState = function(props, animationDriver, staticConfig, config) {
146
114
  };
147
115
  }
148
116
  }
149
- var noClass = !isWeb || !!props.forceStyle;
150
- if (!isHydrated) {
151
- noClass = false;
152
- } else {
153
- if (isWeb && isHydrated) {
154
- var isAnimatedAndHydrated = !!((hasAnimationProp || curStateRef.hasAnimated) && useAnimations && !isHOC) && isHydrated;
117
+ var noClass = !isWeb || Boolean(props.forceStyle);
118
+ if (isWeb) {
119
+ if (!isHydrated) {
120
+ noClass = false;
121
+ } else {
122
+ var isAnimatedAndHydrated = Boolean((hasAnimationProp || curStateRef.hasAnimated) && useAnimations && !isHOC);
155
123
  var isClassNameDisabled = !staticConfig.acceptsClassName && (getSetting("disableSSR") || !state.unmounted);
156
- var isDisabledManually = disableClassName && !state.unmounted;
124
+ var isDisabledManually = Boolean(disableClassName && !state.unmounted);
157
125
  if (isAnimatedAndHydrated && outputStyle !== "css" || isDisabledManually || isClassNameDisabled) {
158
126
  noClass = true;
159
- if (process.env.NODE_ENV === "development" && props.debug === "verbose") {
160
- log(`avoiding className`, {
161
- isAnimatedAndHydrated,
162
- isDisabledManually,
163
- isClassNameDisabled
164
- });
165
- }
166
127
  }
167
128
  }
168
129
  }
@@ -207,7 +168,7 @@ var useComponentState = function(props, animationDriver, staticConfig, config) {
207
168
  result.platformPseudo = platformPseudo;
208
169
  result.willBeAnimatedClient = nextWillBeAnimatedClient;
209
170
  result.willBeAnimated = nextWillBeAnimated;
210
- result.isAnimated = isWeb && hasAnimationThatNeedsHydrate && !staticConfig.isHOC && !isHydrated ? false : nextWillBeAnimated;
171
+ result.isAnimated = isWeb && hasAnimationThatNeedsHydrate && !isHOC && !isHydrated ? false : nextWillBeAnimated;
211
172
  if (nextWillBeAnimated && !isHOC && props["animatePresence"] !== false) {
212
173
  curStateRef.shouldRegisterPresence = true;
213
174
  }