@tamagui/web 3.0.0-beta.669.1 → 3.0.0-beta.719.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 (841) hide show
  1. package/dist/cjs/Tamagui.cjs +0 -1
  2. package/dist/cjs/Tamagui.native.cjs +0 -1
  3. package/dist/cjs/Tamagui.native.js +0 -1
  4. package/dist/cjs/Tamagui.native.js.map +1 -1
  5. package/dist/cjs/_withNativeStyle.cjs +0 -1
  6. package/dist/cjs/_withNativeStyle.native.cjs +0 -1
  7. package/dist/cjs/_withNativeStyle.native.js +0 -1
  8. package/dist/cjs/_withNativeStyle.native.js.map +1 -1
  9. package/dist/cjs/_withStableStyle.cjs +0 -1
  10. package/dist/cjs/_withStableStyle.native.cjs +0 -1
  11. package/dist/cjs/_withStableStyle.native.js +0 -1
  12. package/dist/cjs/_withStableStyle.native.js.map +1 -1
  13. package/dist/cjs/config.cjs +7 -1
  14. package/dist/cjs/config.native.cjs +7 -1
  15. package/dist/cjs/config.native.js +7 -1
  16. package/dist/cjs/config.native.js.map +1 -1
  17. package/dist/cjs/constants/accessibilityDirectMap.cjs +0 -1
  18. package/dist/cjs/constants/accessibilityDirectMap.native.cjs +0 -1
  19. package/dist/cjs/constants/accessibilityDirectMap.native.js +0 -1
  20. package/dist/cjs/constants/accessibilityDirectMap.native.js.map +1 -1
  21. package/dist/cjs/constants/constants.cjs +0 -1
  22. package/dist/cjs/constants/constants.native.cjs +0 -1
  23. package/dist/cjs/constants/constants.native.js +0 -1
  24. package/dist/cjs/constants/constants.native.js.map +1 -1
  25. package/dist/cjs/constants/isDevTools.cjs +0 -1
  26. package/dist/cjs/constants/isDevTools.native.cjs +0 -1
  27. package/dist/cjs/constants/isDevTools.native.js +0 -1
  28. package/dist/cjs/constants/isDevTools.native.js.map +1 -1
  29. package/dist/cjs/contexts/ComponentContext.cjs +0 -1
  30. package/dist/cjs/contexts/ComponentContext.native.cjs +0 -1
  31. package/dist/cjs/contexts/ComponentContext.native.js +0 -1
  32. package/dist/cjs/contexts/ComponentContext.native.js.map +1 -1
  33. package/dist/cjs/contexts/GroupContext.cjs +0 -1
  34. package/dist/cjs/contexts/GroupContext.native.cjs +0 -1
  35. package/dist/cjs/contexts/GroupContext.native.js +0 -1
  36. package/dist/cjs/contexts/GroupContext.native.js.map +1 -1
  37. package/dist/cjs/createComponent.cjs +1 -2
  38. package/dist/cjs/createComponent.native.cjs +1 -2
  39. package/dist/cjs/createComponent.native.js +1 -2
  40. package/dist/cjs/createComponent.native.js.map +1 -1
  41. package/dist/cjs/createFont.cjs +0 -1
  42. package/dist/cjs/createFont.native.cjs +0 -1
  43. package/dist/cjs/createFont.native.js +0 -1
  44. package/dist/cjs/createFont.native.js.map +1 -1
  45. package/dist/cjs/createShorthands.cjs +0 -1
  46. package/dist/cjs/createShorthands.native.cjs +0 -1
  47. package/dist/cjs/createShorthands.native.js +0 -1
  48. package/dist/cjs/createShorthands.native.js.map +1 -1
  49. package/dist/cjs/createStyledHOC.cjs +0 -1
  50. package/dist/cjs/createStyledHOC.native.cjs +0 -1
  51. package/dist/cjs/createStyledHOC.native.js +0 -1
  52. package/dist/cjs/createStyledHOC.native.js.map +1 -1
  53. package/dist/cjs/createTamagui.cjs +3 -4
  54. package/dist/cjs/createTamagui.native.cjs +3 -4
  55. package/dist/cjs/createTamagui.native.js +3 -4
  56. package/dist/cjs/createTamagui.native.js.map +1 -1
  57. package/dist/cjs/createTokens.cjs +0 -1
  58. package/dist/cjs/createTokens.native.cjs +0 -1
  59. package/dist/cjs/createTokens.native.js +0 -1
  60. package/dist/cjs/createTokens.native.js.map +1 -1
  61. package/dist/cjs/createVariable.cjs +0 -1
  62. package/dist/cjs/createVariable.native.cjs +0 -1
  63. package/dist/cjs/createVariable.native.js +0 -1
  64. package/dist/cjs/createVariable.native.js.map +1 -1
  65. package/dist/cjs/createVariables.cjs +0 -1
  66. package/dist/cjs/createVariables.native.cjs +0 -1
  67. package/dist/cjs/createVariables.native.js +0 -1
  68. package/dist/cjs/createVariables.native.js.map +1 -1
  69. package/dist/cjs/defaultComponentState.cjs +0 -1
  70. package/dist/cjs/defaultComponentState.native.cjs +0 -1
  71. package/dist/cjs/defaultComponentState.native.js +0 -1
  72. package/dist/cjs/defaultComponentState.native.js.map +1 -1
  73. package/dist/cjs/dom/adapters.cjs +0 -1
  74. package/dist/cjs/dom/adapters.native.cjs +0 -1
  75. package/dist/cjs/dom/adapters.native.js +0 -1
  76. package/dist/cjs/dom/adapters.native.js.map +1 -1
  77. package/dist/cjs/dom/contract.cjs +0 -1
  78. package/dist/cjs/dom/contract.native.cjs +0 -1
  79. package/dist/cjs/dom/contract.native.js +0 -1
  80. package/dist/cjs/dom/contract.native.js.map +1 -1
  81. package/dist/cjs/dom/domEventProps.native.cjs +0 -1
  82. package/dist/cjs/dom/domEventProps.native.js +0 -1
  83. package/dist/cjs/dom/domEventProps.native.js.map +1 -1
  84. package/dist/cjs/dom/html.cjs +0 -1
  85. package/dist/cjs/dom/html.native.cjs +0 -1
  86. package/dist/cjs/dom/html.native.js +0 -1
  87. package/dist/cjs/dom/html.native.js.map +1 -1
  88. package/dist/cjs/dom/htmlRuntime.native.cjs +0 -1
  89. package/dist/cjs/dom/htmlRuntime.native.js +0 -1
  90. package/dist/cjs/dom/htmlRuntime.native.js.map +1 -1
  91. package/dist/cjs/dom/index.cjs +0 -1
  92. package/dist/cjs/dom/index.native.cjs +0 -1
  93. package/dist/cjs/dom/index.native.js +0 -1
  94. package/dist/cjs/dom/index.native.js.map +1 -1
  95. package/dist/cjs/dom/primitives.native.cjs +2 -3
  96. package/dist/cjs/dom/primitives.native.js +2 -3
  97. package/dist/cjs/dom/primitives.native.js.map +1 -1
  98. package/dist/cjs/dom/standalone.cjs +0 -1
  99. package/dist/cjs/dom/standalone.native.cjs +0 -1
  100. package/dist/cjs/dom/standalone.native.js +0 -1
  101. package/dist/cjs/dom/standalone.native.js.map +1 -1
  102. package/dist/cjs/dom/standaloneHtml.cjs +0 -1
  103. package/dist/cjs/dom/standaloneHtml.native.cjs +0 -1
  104. package/dist/cjs/dom/standaloneHtml.native.js +0 -1
  105. package/dist/cjs/dom/standaloneHtml.native.js.map +1 -1
  106. package/dist/cjs/dom/styleTypes.cjs +0 -1
  107. package/dist/cjs/dom/styleTypes.native.cjs +0 -1
  108. package/dist/cjs/dom/styleTypes.native.js +0 -1
  109. package/dist/cjs/dom/styleTypes.native.js.map +1 -1
  110. package/dist/cjs/eventDetails.cjs +0 -1
  111. package/dist/cjs/eventDetails.native.cjs +0 -1
  112. package/dist/cjs/eventDetails.native.js +0 -1
  113. package/dist/cjs/eventDetails.native.js.map +1 -1
  114. package/dist/cjs/eventHandling.cjs +0 -1
  115. package/dist/cjs/eventHandling.native.cjs +0 -1
  116. package/dist/cjs/eventHandling.native.js +0 -1
  117. package/dist/cjs/eventHandling.native.js.map +1 -1
  118. package/dist/cjs/helpers/componentDisplayName.cjs +0 -1
  119. package/dist/cjs/helpers/componentDisplayName.native.cjs +0 -1
  120. package/dist/cjs/helpers/componentDisplayName.native.js +0 -1
  121. package/dist/cjs/helpers/componentDisplayName.native.js.map +1 -1
  122. package/dist/cjs/helpers/configVariables.cjs +79 -0
  123. package/dist/cjs/helpers/configVariables.native.cjs +86 -0
  124. package/dist/cjs/helpers/configVariables.native.js +88 -0
  125. package/dist/cjs/helpers/configVariables.native.js.map +1 -0
  126. package/dist/cjs/helpers/consoleLog.native.cjs +0 -1
  127. package/dist/cjs/helpers/consoleLog.native.js +0 -1
  128. package/dist/cjs/helpers/consoleLog.native.js.map +1 -1
  129. package/dist/cjs/helpers/createDesignSystem.cjs +0 -1
  130. package/dist/cjs/helpers/createDesignSystem.native.cjs +0 -1
  131. package/dist/cjs/helpers/createDesignSystem.native.js +0 -1
  132. package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
  133. package/dist/cjs/helpers/createStyledContext.cjs +0 -1
  134. package/dist/cjs/helpers/createStyledContext.native.cjs +0 -1
  135. package/dist/cjs/helpers/createStyledContext.native.js +0 -1
  136. package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
  137. package/dist/cjs/helpers/defaultAnimationDriver.cjs +1 -6
  138. package/dist/cjs/helpers/defaultAnimationDriver.native.cjs +0 -13
  139. package/dist/cjs/helpers/defaultAnimationDriver.native.js +0 -13
  140. package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -1
  141. package/dist/cjs/helpers/defaultOffset.cjs +0 -1
  142. package/dist/cjs/helpers/defaultOffset.native.cjs +0 -1
  143. package/dist/cjs/helpers/defaultOffset.native.js +0 -1
  144. package/dist/cjs/helpers/defaultOffset.native.js.map +1 -1
  145. package/dist/cjs/helpers/directStyle.cjs +258 -284
  146. package/dist/cjs/helpers/directStyle.native.cjs +274 -306
  147. package/dist/cjs/helpers/directStyle.native.js +274 -306
  148. package/dist/cjs/helpers/directStyle.native.js.map +1 -1
  149. package/dist/cjs/helpers/expandStyle.cjs +0 -1
  150. package/dist/cjs/helpers/expandStyle.native.cjs +0 -1
  151. package/dist/cjs/helpers/expandStyle.native.js +0 -1
  152. package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
  153. package/dist/cjs/helpers/expandStyles.cjs +0 -1
  154. package/dist/cjs/helpers/expandStyles.native.cjs +0 -1
  155. package/dist/cjs/helpers/expandStyles.native.js +0 -1
  156. package/dist/cjs/helpers/expandStyles.native.js.map +1 -1
  157. package/dist/cjs/helpers/extractPseudoState.cjs +0 -1
  158. package/dist/cjs/helpers/extractPseudoState.native.cjs +0 -1
  159. package/dist/cjs/helpers/extractPseudoState.native.js +0 -1
  160. package/dist/cjs/helpers/extractPseudoState.native.js.map +1 -1
  161. package/dist/cjs/helpers/formatDiagnostic.cjs +0 -1
  162. package/dist/cjs/helpers/formatDiagnostic.native.cjs +0 -1
  163. package/dist/cjs/helpers/formatDiagnostic.native.js +0 -1
  164. package/dist/cjs/helpers/formatDiagnostic.native.js.map +1 -1
  165. package/dist/cjs/helpers/frontendProgram.cjs +0 -1
  166. package/dist/cjs/helpers/frontendProgram.native.cjs +0 -1
  167. package/dist/cjs/helpers/frontendProgram.native.js +0 -1
  168. package/dist/cjs/helpers/frontendProgram.native.js.map +1 -1
  169. package/dist/cjs/helpers/getCSSStylesAtomic.cjs +5 -2
  170. package/dist/cjs/helpers/getCSSStylesAtomic.native.cjs +0 -1
  171. package/dist/cjs/helpers/getCSSStylesAtomic.native.js +0 -1
  172. package/dist/cjs/helpers/getCSSStylesAtomic.native.js.map +1 -1
  173. package/dist/cjs/helpers/getDefaultProps.cjs +0 -1
  174. package/dist/cjs/helpers/getDefaultProps.native.cjs +0 -1
  175. package/dist/cjs/helpers/getDefaultProps.native.js +0 -1
  176. package/dist/cjs/helpers/getDefaultProps.native.js.map +1 -1
  177. package/dist/cjs/helpers/getDynamicVal.cjs +0 -1
  178. package/dist/cjs/helpers/getDynamicVal.native.cjs +0 -1
  179. package/dist/cjs/helpers/getDynamicVal.native.js +0 -1
  180. package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -1
  181. package/dist/cjs/helpers/getExpandedShorthands.cjs +0 -1
  182. package/dist/cjs/helpers/getExpandedShorthands.native.cjs +0 -1
  183. package/dist/cjs/helpers/getExpandedShorthands.native.js +0 -1
  184. package/dist/cjs/helpers/getExpandedShorthands.native.js.map +1 -1
  185. package/dist/cjs/helpers/getFontLanguage.cjs +0 -1
  186. package/dist/cjs/helpers/getFontLanguage.native.cjs +0 -1
  187. package/dist/cjs/helpers/getFontLanguage.native.js +0 -1
  188. package/dist/cjs/helpers/getFontLanguage.native.js.map +1 -1
  189. package/dist/cjs/helpers/getShorthandValue.cjs +0 -1
  190. package/dist/cjs/helpers/getShorthandValue.native.cjs +0 -1
  191. package/dist/cjs/helpers/getShorthandValue.native.js +0 -1
  192. package/dist/cjs/helpers/getShorthandValue.native.js.map +1 -1
  193. package/dist/cjs/helpers/getSplitStyles.cjs +2 -10
  194. package/dist/cjs/helpers/getSplitStyles.native.cjs +2 -10
  195. package/dist/cjs/helpers/getSplitStyles.native.js +2 -10
  196. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  197. package/dist/cjs/helpers/getThemeCSSRules.cjs +0 -1
  198. package/dist/cjs/helpers/getThemeCSSRules.native.cjs +0 -1
  199. package/dist/cjs/helpers/getThemeCSSRules.native.js +0 -1
  200. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +1 -1
  201. package/dist/cjs/helpers/getVariantExtras.cjs +0 -1
  202. package/dist/cjs/helpers/getVariantExtras.native.cjs +0 -1
  203. package/dist/cjs/helpers/getVariantExtras.native.js +0 -1
  204. package/dist/cjs/helpers/getVariantExtras.native.js.map +1 -1
  205. package/dist/cjs/helpers/grammarConfig.cjs +63 -14
  206. package/dist/cjs/helpers/grammarConfig.native.cjs +84 -18
  207. package/dist/cjs/helpers/grammarConfig.native.js +84 -18
  208. package/dist/cjs/helpers/grammarConfig.native.js.map +1 -1
  209. package/dist/cjs/helpers/insertStyleRule.cjs +0 -1
  210. package/dist/cjs/helpers/insertStyleRule.native.cjs +0 -1
  211. package/dist/cjs/helpers/insertStyleRule.native.js +0 -1
  212. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  213. package/dist/cjs/helpers/isObj.cjs +0 -1
  214. package/dist/cjs/helpers/isObj.native.cjs +0 -1
  215. package/dist/cjs/helpers/isObj.native.js +0 -1
  216. package/dist/cjs/helpers/isObj.native.js.map +1 -1
  217. package/dist/cjs/helpers/isTamaguiComponent.cjs +0 -1
  218. package/dist/cjs/helpers/isTamaguiComponent.native.cjs +0 -1
  219. package/dist/cjs/helpers/isTamaguiComponent.native.js +0 -1
  220. package/dist/cjs/helpers/isTamaguiComponent.native.js.map +1 -1
  221. package/dist/cjs/helpers/isTamaguiElement.cjs +0 -1
  222. package/dist/cjs/helpers/isTamaguiElement.native.cjs +0 -1
  223. package/dist/cjs/helpers/isTamaguiElement.native.js +0 -1
  224. package/dist/cjs/helpers/isTamaguiElement.native.js.map +1 -1
  225. package/dist/cjs/helpers/log.cjs +0 -1
  226. package/dist/cjs/helpers/log.native.cjs +0 -1
  227. package/dist/cjs/helpers/log.native.js +0 -1
  228. package/dist/cjs/helpers/log.native.js.map +1 -1
  229. package/dist/cjs/helpers/mainThreadPressEvents.cjs +0 -1
  230. package/dist/cjs/helpers/mainThreadPressEvents.native.cjs +0 -1
  231. package/dist/cjs/helpers/mainThreadPressEvents.native.js +0 -1
  232. package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
  233. package/dist/cjs/helpers/matchMedia.cjs +0 -1
  234. package/dist/cjs/helpers/matchMedia.native.cjs +0 -1
  235. package/dist/cjs/helpers/matchMedia.native.js +0 -1
  236. package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
  237. package/dist/cjs/helpers/mediaObjectToString.cjs +0 -1
  238. package/dist/cjs/helpers/mediaObjectToString.native.cjs +0 -1
  239. package/dist/cjs/helpers/mediaObjectToString.native.js +0 -1
  240. package/dist/cjs/helpers/mediaObjectToString.native.js.map +1 -1
  241. package/dist/cjs/helpers/mediaState.cjs +0 -1
  242. package/dist/cjs/helpers/mediaState.native.cjs +0 -1
  243. package/dist/cjs/helpers/mediaState.native.js +0 -1
  244. package/dist/cjs/helpers/mediaState.native.js.map +1 -1
  245. package/dist/cjs/helpers/mergeProps.cjs +0 -1
  246. package/dist/cjs/helpers/mergeProps.native.cjs +0 -1
  247. package/dist/cjs/helpers/mergeProps.native.js +0 -1
  248. package/dist/cjs/helpers/mergeProps.native.js.map +1 -1
  249. package/dist/cjs/helpers/mergeRenderElementProps.cjs +0 -1
  250. package/dist/cjs/helpers/mergeRenderElementProps.native.cjs +0 -1
  251. package/dist/cjs/helpers/mergeRenderElementProps.native.js +0 -1
  252. package/dist/cjs/helpers/mergeRenderElementProps.native.js.map +1 -1
  253. package/dist/cjs/helpers/mergeSlotStyleProps.cjs +0 -1
  254. package/dist/cjs/helpers/mergeSlotStyleProps.native.cjs +0 -1
  255. package/dist/cjs/helpers/mergeSlotStyleProps.native.js +0 -1
  256. package/dist/cjs/helpers/mergeSlotStyleProps.native.js.map +1 -1
  257. package/dist/cjs/helpers/mergeVariants.cjs +1 -2
  258. package/dist/cjs/helpers/mergeVariants.native.cjs +1 -2
  259. package/dist/cjs/helpers/mergeVariants.native.js +1 -2
  260. package/dist/cjs/helpers/mergeVariants.native.js.map +1 -1
  261. package/dist/cjs/helpers/nativeOnlyProps.cjs +0 -1
  262. package/dist/cjs/helpers/nativeOnlyProps.native.cjs +0 -1
  263. package/dist/cjs/helpers/nativeOnlyProps.native.js +0 -1
  264. package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
  265. package/dist/cjs/helpers/nativeStyleEngine.cjs +0 -1
  266. package/dist/cjs/helpers/nativeStyleEngine.native.cjs +0 -1
  267. package/dist/cjs/helpers/nativeStyleEngine.native.js +0 -1
  268. package/dist/cjs/helpers/nativeStyleEngine.native.js.map +1 -1
  269. package/dist/cjs/helpers/nativeTransitionTarget.cjs +0 -1
  270. package/dist/cjs/helpers/nativeTransitionTarget.native.cjs +0 -1
  271. package/dist/cjs/helpers/nativeTransitionTarget.native.js +0 -1
  272. package/dist/cjs/helpers/nativeTransitionTarget.native.js.map +1 -1
  273. package/dist/cjs/helpers/normalizeColor.cjs +0 -1
  274. package/dist/cjs/helpers/normalizeColor.native.cjs +0 -1
  275. package/dist/cjs/helpers/normalizeColor.native.js +0 -1
  276. package/dist/cjs/helpers/normalizeColor.native.js.map +1 -1
  277. package/dist/cjs/helpers/normalizeShadow.cjs +0 -1
  278. package/dist/cjs/helpers/normalizeShadow.native.cjs +0 -1
  279. package/dist/cjs/helpers/normalizeShadow.native.js +0 -1
  280. package/dist/cjs/helpers/normalizeShadow.native.js.map +1 -1
  281. package/dist/cjs/helpers/normalizeStyle.cjs +0 -1
  282. package/dist/cjs/helpers/normalizeStyle.native.cjs +0 -1
  283. package/dist/cjs/helpers/normalizeStyle.native.js +0 -1
  284. package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -1
  285. package/dist/cjs/helpers/normalizeStylePropKeys.cjs +0 -1
  286. package/dist/cjs/helpers/normalizeStylePropKeys.native.cjs +0 -1
  287. package/dist/cjs/helpers/normalizeStylePropKeys.native.js +0 -1
  288. package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +1 -1
  289. package/dist/cjs/helpers/normalizeValueWithProperty.cjs +0 -1
  290. package/dist/cjs/helpers/normalizeValueWithProperty.native.cjs +0 -1
  291. package/dist/cjs/helpers/normalizeValueWithProperty.native.js +0 -1
  292. package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
  293. package/dist/cjs/helpers/noteOnce.cjs +0 -1
  294. package/dist/cjs/helpers/noteOnce.native.cjs +0 -1
  295. package/dist/cjs/helpers/noteOnce.native.js +0 -1
  296. package/dist/cjs/helpers/noteOnce.native.js.map +1 -1
  297. package/dist/cjs/helpers/objectIdentityKey.cjs +0 -1
  298. package/dist/cjs/helpers/objectIdentityKey.native.cjs +0 -1
  299. package/dist/cjs/helpers/objectIdentityKey.native.js +0 -1
  300. package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -1
  301. package/dist/cjs/helpers/parseBorderShorthand.cjs +0 -1
  302. package/dist/cjs/helpers/parseBorderShorthand.native.cjs +0 -1
  303. package/dist/cjs/helpers/parseBorderShorthand.native.js +0 -1
  304. package/dist/cjs/helpers/parseBorderShorthand.native.js.map +1 -1
  305. package/dist/cjs/helpers/parseNativeStyle.native.cjs +0 -1
  306. package/dist/cjs/helpers/parseNativeStyle.native.js +0 -1
  307. package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -1
  308. package/dist/cjs/helpers/parseNativeTransform.native.cjs +0 -1
  309. package/dist/cjs/helpers/parseNativeTransform.native.js +0 -1
  310. package/dist/cjs/helpers/parseNativeTransform.native.js.map +1 -1
  311. package/dist/cjs/helpers/parseOutlineShorthand.cjs +0 -1
  312. package/dist/cjs/helpers/parseOutlineShorthand.native.cjs +0 -1
  313. package/dist/cjs/helpers/parseOutlineShorthand.native.js +0 -1
  314. package/dist/cjs/helpers/parseOutlineShorthand.native.js.map +1 -1
  315. package/dist/cjs/helpers/pointerEvents.cjs +0 -1
  316. package/dist/cjs/helpers/pointerEvents.native.cjs +0 -1
  317. package/dist/cjs/helpers/pointerEvents.native.js +0 -1
  318. package/dist/cjs/helpers/pointerEvents.native.js.map +1 -1
  319. package/dist/cjs/helpers/propMapper.cjs +30 -39
  320. package/dist/cjs/helpers/propMapper.native.cjs +30 -39
  321. package/dist/cjs/helpers/propMapper.native.js +30 -39
  322. package/dist/cjs/helpers/propMapper.native.js.map +1 -1
  323. package/dist/cjs/helpers/proxyThemeToParents.cjs +0 -1
  324. package/dist/cjs/helpers/proxyThemeToParents.native.cjs +0 -1
  325. package/dist/cjs/helpers/proxyThemeToParents.native.js +0 -1
  326. package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -1
  327. package/dist/cjs/helpers/registerCSSVariable.cjs +0 -1
  328. package/dist/cjs/helpers/registerCSSVariable.native.cjs +0 -1
  329. package/dist/cjs/helpers/registerCSSVariable.native.js +0 -1
  330. package/dist/cjs/helpers/registerCSSVariable.native.js.map +1 -1
  331. package/dist/cjs/helpers/resolveAnimationDriver.cjs +0 -1
  332. package/dist/cjs/helpers/resolveAnimationDriver.native.cjs +0 -1
  333. package/dist/cjs/helpers/resolveAnimationDriver.native.js +0 -1
  334. package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -1
  335. package/dist/cjs/helpers/resolveRem.cjs +0 -1
  336. package/dist/cjs/helpers/resolveRem.native.cjs +0 -1
  337. package/dist/cjs/helpers/resolveRem.native.js +0 -1
  338. package/dist/cjs/helpers/resolveRem.native.js.map +1 -1
  339. package/dist/cjs/helpers/resolveSafeArea.cjs +0 -1
  340. package/dist/cjs/helpers/resolveSafeArea.native.cjs +0 -1
  341. package/dist/cjs/helpers/resolveSafeArea.native.js +0 -1
  342. package/dist/cjs/helpers/resolveSafeArea.native.js.map +1 -1
  343. package/dist/cjs/helpers/resolveSafeAreaVariable.cjs +0 -1
  344. package/dist/cjs/helpers/resolveSafeAreaVariable.native.cjs +0 -1
  345. package/dist/cjs/helpers/resolveSafeAreaVariable.native.js +0 -1
  346. package/dist/cjs/helpers/resolveSafeAreaVariable.native.js.map +1 -1
  347. package/dist/cjs/helpers/resolveVariableValue.cjs +0 -1
  348. package/dist/cjs/helpers/resolveVariableValue.native.cjs +0 -1
  349. package/dist/cjs/helpers/resolveVariableValue.native.js +0 -1
  350. package/dist/cjs/helpers/resolveVariableValue.native.js.map +1 -1
  351. package/dist/cjs/helpers/setElementProps.cjs +0 -1
  352. package/dist/cjs/helpers/setElementProps.native.cjs +0 -1
  353. package/dist/cjs/helpers/setElementProps.native.js +0 -1
  354. package/dist/cjs/helpers/setElementProps.native.js.map +1 -1
  355. package/dist/cjs/helpers/skipProps.cjs +0 -1
  356. package/dist/cjs/helpers/skipProps.native.cjs +0 -1
  357. package/dist/cjs/helpers/skipProps.native.js +0 -1
  358. package/dist/cjs/helpers/skipProps.native.js.map +1 -1
  359. package/dist/cjs/helpers/sortString.cjs +0 -1
  360. package/dist/cjs/helpers/sortString.native.cjs +0 -1
  361. package/dist/cjs/helpers/sortString.native.js +0 -1
  362. package/dist/cjs/helpers/sortString.native.js.map +1 -1
  363. package/dist/cjs/helpers/styleFrontend.cjs +0 -1
  364. package/dist/cjs/helpers/styleFrontend.native.cjs +0 -1
  365. package/dist/cjs/helpers/styleFrontend.native.js +0 -1
  366. package/dist/cjs/helpers/styleFrontend.native.js.map +1 -1
  367. package/dist/cjs/helpers/styleOriginalValues.cjs +0 -1
  368. package/dist/cjs/helpers/styleOriginalValues.native.cjs +0 -1
  369. package/dist/cjs/helpers/styleOriginalValues.native.js +0 -1
  370. package/dist/cjs/helpers/styleOriginalValues.native.js.map +1 -1
  371. package/dist/cjs/helpers/styleProvenance.cjs +0 -1
  372. package/dist/cjs/helpers/styleProvenance.native.cjs +0 -1
  373. package/dist/cjs/helpers/styleProvenance.native.js +0 -1
  374. package/dist/cjs/helpers/styleProvenance.native.js.map +1 -1
  375. package/dist/cjs/helpers/subscribeToContextGroup.cjs +0 -1
  376. package/dist/cjs/helpers/subscribeToContextGroup.native.cjs +0 -1
  377. package/dist/cjs/helpers/subscribeToContextGroup.native.js +0 -1
  378. package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
  379. package/dist/cjs/helpers/themeRef.cjs +0 -1
  380. package/dist/cjs/helpers/themeRef.native.cjs +0 -1
  381. package/dist/cjs/helpers/themeRef.native.js +0 -1
  382. package/dist/cjs/helpers/themeRef.native.js.map +1 -1
  383. package/dist/cjs/helpers/themeUpdateState.cjs +24 -0
  384. package/dist/cjs/helpers/themeUpdateState.native.cjs +26 -0
  385. package/dist/cjs/helpers/themeUpdateState.native.js +28 -0
  386. package/dist/cjs/helpers/themeUpdateState.native.js.map +1 -0
  387. package/dist/cjs/helpers/themeable.cjs +0 -1
  388. package/dist/cjs/helpers/themeable.native.cjs +0 -1
  389. package/dist/cjs/helpers/themeable.native.js +0 -1
  390. package/dist/cjs/helpers/themeable.native.js.map +1 -1
  391. package/dist/cjs/helpers/themes.cjs +0 -1
  392. package/dist/cjs/helpers/themes.native.cjs +0 -1
  393. package/dist/cjs/helpers/themes.native.js +0 -1
  394. package/dist/cjs/helpers/themes.native.js.map +1 -1
  395. package/dist/cjs/helpers/timer.cjs +0 -1
  396. package/dist/cjs/helpers/timer.native.cjs +0 -1
  397. package/dist/cjs/helpers/timer.native.js +0 -1
  398. package/dist/cjs/helpers/timer.native.js.map +1 -1
  399. package/dist/cjs/helpers/tokenCategories.cjs +0 -1
  400. package/dist/cjs/helpers/tokenCategories.native.cjs +0 -1
  401. package/dist/cjs/helpers/tokenCategories.native.js +0 -1
  402. package/dist/cjs/helpers/tokenCategories.native.js.map +1 -1
  403. package/dist/cjs/helpers/transformsToString.cjs +0 -1
  404. package/dist/cjs/helpers/transformsToString.native.cjs +0 -1
  405. package/dist/cjs/helpers/transformsToString.native.js +0 -1
  406. package/dist/cjs/helpers/transformsToString.native.js.map +1 -1
  407. package/dist/cjs/helpers/useRenderElement.cjs +0 -1
  408. package/dist/cjs/helpers/useRenderElement.native.cjs +0 -1
  409. package/dist/cjs/helpers/useRenderElement.native.js +0 -1
  410. package/dist/cjs/helpers/useRenderElement.native.js.map +1 -1
  411. package/dist/cjs/helpers/variableValue.cjs +66 -0
  412. package/dist/cjs/helpers/variableValue.native.cjs +88 -0
  413. package/dist/cjs/helpers/variableValue.native.js +90 -0
  414. package/dist/cjs/helpers/variableValue.native.js.map +1 -0
  415. package/dist/cjs/helpers/variables.cjs +95 -139
  416. package/dist/cjs/helpers/variables.native.cjs +97 -161
  417. package/dist/cjs/helpers/variables.native.js +97 -161
  418. package/dist/cjs/helpers/variables.native.js.map +1 -1
  419. package/dist/cjs/helpers/warnOnce.cjs +1 -2
  420. package/dist/cjs/helpers/warnOnce.native.cjs +1 -2
  421. package/dist/cjs/helpers/warnOnce.native.js +1 -2
  422. package/dist/cjs/helpers/warnOnce.native.js.map +1 -1
  423. package/dist/cjs/helpers/webPropsToSkip.cjs +0 -1
  424. package/dist/cjs/helpers/webPropsToSkip.native.cjs +0 -1
  425. package/dist/cjs/helpers/webPropsToSkip.native.js +0 -1
  426. package/dist/cjs/helpers/webPropsToSkip.native.js.map +1 -1
  427. package/dist/cjs/helpers/wrapStyleTags.cjs +0 -1
  428. package/dist/cjs/helpers/wrapStyleTags.native.cjs +0 -1
  429. package/dist/cjs/helpers/wrapStyleTags.native.js +0 -1
  430. package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
  431. package/dist/cjs/hooks/doesRootSchemeMatchSystem.cjs +0 -1
  432. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.cjs +0 -1
  433. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js +0 -1
  434. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js.map +1 -1
  435. package/dist/cjs/hooks/getThemeProxied.cjs +1 -2
  436. package/dist/cjs/hooks/getThemeProxied.native.cjs +2 -3
  437. package/dist/cjs/hooks/getThemeProxied.native.js +2 -3
  438. package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -1
  439. package/dist/cjs/hooks/isOptimizedForFirstRender.cjs +0 -1
  440. package/dist/cjs/hooks/isOptimizedForFirstRender.native.cjs +0 -1
  441. package/dist/cjs/hooks/isOptimizedForFirstRender.native.js +0 -1
  442. package/dist/cjs/hooks/isOptimizedForFirstRender.native.js.map +1 -1
  443. package/dist/cjs/hooks/useAnimationDriver.cjs +14 -9
  444. package/dist/cjs/hooks/useAnimationDriver.native.cjs +14 -9
  445. package/dist/cjs/hooks/useAnimationDriver.native.js +14 -9
  446. package/dist/cjs/hooks/useAnimationDriver.native.js.map +1 -1
  447. package/dist/cjs/hooks/useComponentState.cjs +27 -25
  448. package/dist/cjs/hooks/useComponentState.native.cjs +28 -25
  449. package/dist/cjs/hooks/useComponentState.native.js +28 -25
  450. package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
  451. package/dist/cjs/hooks/useDisableSSR.cjs +0 -1
  452. package/dist/cjs/hooks/useDisableSSR.native.cjs +0 -1
  453. package/dist/cjs/hooks/useDisableSSR.native.js +0 -1
  454. package/dist/cjs/hooks/useDisableSSR.native.js.map +1 -1
  455. package/dist/cjs/hooks/useIsTouchDevice.cjs +0 -1
  456. package/dist/cjs/hooks/useIsTouchDevice.native.cjs +0 -1
  457. package/dist/cjs/hooks/useIsTouchDevice.native.js +0 -1
  458. package/dist/cjs/hooks/useIsTouchDevice.native.js.map +1 -1
  459. package/dist/cjs/hooks/useMedia.cjs +0 -1
  460. package/dist/cjs/hooks/useMedia.native.cjs +0 -1
  461. package/dist/cjs/hooks/useMedia.native.js +0 -1
  462. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  463. package/dist/cjs/hooks/usePortalThemeState.cjs +1 -2
  464. package/dist/cjs/hooks/usePortalThemeState.native.cjs +1 -2
  465. package/dist/cjs/hooks/usePortalThemeState.native.js +1 -2
  466. package/dist/cjs/hooks/usePortalThemeState.native.js.map +1 -1
  467. package/dist/cjs/hooks/useProps.cjs +1 -2
  468. package/dist/cjs/hooks/useProps.native.cjs +1 -2
  469. package/dist/cjs/hooks/useProps.native.js +1 -2
  470. package/dist/cjs/hooks/useProps.native.js.map +1 -1
  471. package/dist/cjs/hooks/useTheme.cjs +0 -1
  472. package/dist/cjs/hooks/useTheme.native.cjs +0 -1
  473. package/dist/cjs/hooks/useTheme.native.js +0 -1
  474. package/dist/cjs/hooks/useTheme.native.js.map +1 -1
  475. package/dist/cjs/hooks/useThemeName.cjs +0 -1
  476. package/dist/cjs/hooks/useThemeName.native.cjs +0 -1
  477. package/dist/cjs/hooks/useThemeName.native.js +0 -1
  478. package/dist/cjs/hooks/useThemeName.native.js.map +1 -1
  479. package/dist/cjs/hooks/useThemeState.cjs +11 -16
  480. package/dist/cjs/hooks/useThemeState.native.cjs +13 -18
  481. package/dist/cjs/hooks/useThemeState.native.js +13 -18
  482. package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
  483. package/dist/cjs/index.cjs +0 -2
  484. package/dist/cjs/index.native.cjs +0 -2
  485. package/dist/cjs/index.native.js +0 -2
  486. package/dist/cjs/index.native.js.map +1 -1
  487. package/dist/cjs/inject-styles.cjs +0 -1
  488. package/dist/cjs/inject-styles.native.cjs +0 -1
  489. package/dist/cjs/inject-styles.native.js +0 -1
  490. package/dist/cjs/inject-styles.native.js.map +1 -1
  491. package/dist/cjs/insertFont.cjs +0 -1
  492. package/dist/cjs/insertFont.native.cjs +0 -1
  493. package/dist/cjs/insertFont.native.js +0 -1
  494. package/dist/cjs/insertFont.native.js.map +1 -1
  495. package/dist/cjs/interfaces/CSSColorNames.cjs +0 -1
  496. package/dist/cjs/interfaces/CSSColorNames.native.cjs +0 -1
  497. package/dist/cjs/interfaces/CSSColorNames.native.js +0 -1
  498. package/dist/cjs/interfaces/CSSColorNames.native.js.map +1 -1
  499. package/dist/cjs/interfaces/GetRef.cjs +0 -1
  500. package/dist/cjs/interfaces/GetRef.native.cjs +0 -1
  501. package/dist/cjs/interfaces/GetRef.native.js +0 -1
  502. package/dist/cjs/interfaces/GetRef.native.js.map +1 -1
  503. package/dist/cjs/interfaces/RNExclusiveTypes.cjs +0 -1
  504. package/dist/cjs/interfaces/RNExclusiveTypes.native.cjs +0 -1
  505. package/dist/cjs/interfaces/RNExclusiveTypes.native.js +0 -1
  506. package/dist/cjs/interfaces/RNExclusiveTypes.native.js.map +1 -1
  507. package/dist/cjs/interfaces/TamaguiComponentEvents.cjs +0 -1
  508. package/dist/cjs/interfaces/TamaguiComponentEvents.native.cjs +0 -1
  509. package/dist/cjs/interfaces/TamaguiComponentEvents.native.js +0 -1
  510. package/dist/cjs/interfaces/TamaguiComponentEvents.native.js.map +1 -1
  511. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.cjs +0 -1
  512. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.cjs +0 -1
  513. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js +0 -1
  514. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js.map +1 -1
  515. package/dist/cjs/internal-runtime.cjs +1 -4
  516. package/dist/cjs/internal-runtime.native.cjs +1 -4
  517. package/dist/cjs/internal-runtime.native.js +1 -4
  518. package/dist/cjs/internal-runtime.native.js.map +1 -1
  519. package/dist/cjs/internalRuntimeTypes.cjs +0 -1
  520. package/dist/cjs/internalRuntimeTypes.native.cjs +0 -1
  521. package/dist/cjs/internalRuntimeTypes.native.js +0 -1
  522. package/dist/cjs/internalRuntimeTypes.native.js.map +1 -1
  523. package/dist/cjs/setupHooks.cjs +0 -1
  524. package/dist/cjs/setupHooks.native.cjs +0 -1
  525. package/dist/cjs/setupHooks.native.js +0 -1
  526. package/dist/cjs/setupHooks.native.js.map +1 -1
  527. package/dist/cjs/setupReactNative.cjs +0 -1
  528. package/dist/cjs/setupReactNative.native.cjs +0 -1
  529. package/dist/cjs/setupReactNative.native.js +0 -1
  530. package/dist/cjs/setupReactNative.native.js.map +1 -1
  531. package/dist/cjs/styled.cjs +0 -1
  532. package/dist/cjs/styled.native.cjs +0 -1
  533. package/dist/cjs/styled.native.js +0 -1
  534. package/dist/cjs/styled.native.js.map +1 -1
  535. package/dist/cjs/theme-update.cjs +19 -0
  536. package/dist/cjs/theme-update.native.cjs +21 -0
  537. package/dist/cjs/theme-update.native.js +23 -0
  538. package/dist/cjs/theme-update.native.js.map +1 -0
  539. package/dist/cjs/type-utils.cjs +0 -1
  540. package/dist/cjs/type-utils.native.cjs +0 -1
  541. package/dist/cjs/type-utils.native.js +0 -1
  542. package/dist/cjs/type-utils.native.js.map +1 -1
  543. package/dist/cjs/types.cjs +0 -1
  544. package/dist/cjs/types.native.cjs +0 -1
  545. package/dist/cjs/types.native.js +0 -1
  546. package/dist/cjs/types.native.js.map +1 -1
  547. package/dist/cjs/views/ConfigRevisionCheck.cjs +0 -1
  548. package/dist/cjs/views/ConfigRevisionCheck.native.cjs +0 -1
  549. package/dist/cjs/views/ConfigRevisionCheck.native.js +0 -1
  550. package/dist/cjs/views/ConfigRevisionCheck.native.js.map +1 -1
  551. package/dist/cjs/views/Configuration.cjs +0 -1
  552. package/dist/cjs/views/Configuration.native.cjs +0 -1
  553. package/dist/cjs/views/Configuration.native.js +0 -1
  554. package/dist/cjs/views/Configuration.native.js.map +1 -1
  555. package/dist/cjs/views/FontLanguage.cjs +0 -1
  556. package/dist/cjs/views/FontLanguage.native.cjs +0 -1
  557. package/dist/cjs/views/FontLanguage.native.js +0 -1
  558. package/dist/cjs/views/FontLanguage.native.js.map +1 -1
  559. package/dist/cjs/views/SafeAreaTracker.cjs +0 -1
  560. package/dist/cjs/views/SafeAreaTracker.native.cjs +0 -1
  561. package/dist/cjs/views/SafeAreaTracker.native.js +0 -1
  562. package/dist/cjs/views/SafeAreaTracker.native.js.map +1 -1
  563. package/dist/cjs/views/Slot.cjs +0 -1
  564. package/dist/cjs/views/Slot.native.cjs +0 -1
  565. package/dist/cjs/views/Slot.native.js +0 -1
  566. package/dist/cjs/views/Slot.native.js.map +1 -1
  567. package/dist/cjs/views/TamaguiProvider.cjs +0 -1
  568. package/dist/cjs/views/TamaguiProvider.native.cjs +0 -1
  569. package/dist/cjs/views/TamaguiProvider.native.js +0 -1
  570. package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
  571. package/dist/cjs/views/TamaguiRoot.cjs +0 -1
  572. package/dist/cjs/views/TamaguiRoot.native.cjs +0 -1
  573. package/dist/cjs/views/TamaguiRoot.native.js +0 -1
  574. package/dist/cjs/views/TamaguiRoot.native.js.map +1 -1
  575. package/dist/cjs/views/Text.cjs +0 -1
  576. package/dist/cjs/views/Text.native.cjs +0 -1
  577. package/dist/cjs/views/Text.native.js +0 -1
  578. package/dist/cjs/views/Text.native.js.map +1 -1
  579. package/dist/cjs/views/Theme.cjs +7 -33
  580. package/dist/cjs/views/Theme.native.cjs +8 -20
  581. package/dist/cjs/views/Theme.native.js +8 -20
  582. package/dist/cjs/views/Theme.native.js.map +1 -1
  583. package/dist/cjs/views/ThemeDebug.cjs +0 -1
  584. package/dist/cjs/views/ThemeDebug.native.cjs +0 -1
  585. package/dist/cjs/views/ThemeDebug.native.js +0 -1
  586. package/dist/cjs/views/ThemeDebug.native.js.map +1 -1
  587. package/dist/cjs/views/ThemeProvider.cjs +0 -1
  588. package/dist/cjs/views/ThemeProvider.native.cjs +0 -1
  589. package/dist/cjs/views/ThemeProvider.native.js +0 -1
  590. package/dist/cjs/views/ThemeProvider.native.js.map +1 -1
  591. package/dist/cjs/views/ThemeUpdate.cjs +82 -0
  592. package/dist/cjs/views/ThemeUpdate.native.cjs +84 -0
  593. package/dist/cjs/views/ThemeUpdate.native.js +86 -0
  594. package/dist/cjs/views/ThemeUpdate.native.js.map +1 -0
  595. package/dist/cjs/views/View.cjs +0 -1
  596. package/dist/cjs/views/View.native.cjs +0 -1
  597. package/dist/cjs/views/View.native.js +0 -1
  598. package/dist/cjs/views/View.native.js.map +1 -1
  599. package/dist/esm/Tamagui.mjs.map +1 -1
  600. package/dist/esm/Tamagui.native.js.map +1 -1
  601. package/dist/esm/_withNativeStyle.mjs.map +1 -1
  602. package/dist/esm/config.mjs +7 -0
  603. package/dist/esm/config.mjs.map +1 -1
  604. package/dist/esm/config.native.js +7 -0
  605. package/dist/esm/config.native.js.map +1 -1
  606. package/dist/esm/constants/isDevTools.mjs.map +1 -1
  607. package/dist/esm/constants/isDevTools.native.js.map +1 -1
  608. package/dist/esm/createComponent.mjs +1 -1
  609. package/dist/esm/createComponent.mjs.map +1 -1
  610. package/dist/esm/createComponent.native.js +1 -1
  611. package/dist/esm/createComponent.native.js.map +1 -1
  612. package/dist/esm/createFont.mjs.map +1 -1
  613. package/dist/esm/createFont.native.js.map +1 -1
  614. package/dist/esm/createTamagui.mjs +2 -2
  615. package/dist/esm/createTamagui.mjs.map +1 -1
  616. package/dist/esm/createTamagui.native.js +2 -2
  617. package/dist/esm/createTamagui.native.js.map +1 -1
  618. package/dist/esm/createVariable.mjs.map +1 -1
  619. package/dist/esm/createVariable.native.js.map +1 -1
  620. package/dist/esm/dom/primitives.native.js +1 -1
  621. package/dist/esm/dom/primitives.native.js.map +1 -1
  622. package/dist/esm/eventHandling.native.js.map +1 -1
  623. package/dist/esm/helpers/configVariables.mjs +60 -0
  624. package/dist/esm/helpers/configVariables.mjs.map +1 -0
  625. package/dist/esm/helpers/configVariables.native.js +65 -0
  626. package/dist/esm/helpers/configVariables.native.js.map +1 -0
  627. package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
  628. package/dist/esm/helpers/createDesignSystem.native.js.map +1 -1
  629. package/dist/esm/helpers/createStyledContext.mjs.map +1 -1
  630. package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
  631. package/dist/esm/helpers/defaultAnimationDriver.mjs +1 -5
  632. package/dist/esm/helpers/defaultAnimationDriver.mjs.map +1 -1
  633. package/dist/esm/helpers/defaultAnimationDriver.native.js +0 -12
  634. package/dist/esm/helpers/defaultAnimationDriver.native.js.map +1 -1
  635. package/dist/esm/helpers/directStyle.mjs +258 -283
  636. package/dist/esm/helpers/directStyle.mjs.map +1 -1
  637. package/dist/esm/helpers/directStyle.native.js +274 -305
  638. package/dist/esm/helpers/directStyle.native.js.map +1 -1
  639. package/dist/esm/helpers/expandStyle.mjs.map +1 -1
  640. package/dist/esm/helpers/expandStyle.native.js.map +1 -1
  641. package/dist/esm/helpers/expandStyles.native.js.map +1 -1
  642. package/dist/esm/helpers/extractPseudoState.mjs.map +1 -1
  643. package/dist/esm/helpers/formatDiagnostic.mjs.map +1 -1
  644. package/dist/esm/helpers/formatDiagnostic.native.js.map +1 -1
  645. package/dist/esm/helpers/getCSSStylesAtomic.mjs +5 -1
  646. package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
  647. package/dist/esm/helpers/getDynamicVal.mjs.map +1 -1
  648. package/dist/esm/helpers/getDynamicVal.native.js.map +1 -1
  649. package/dist/esm/helpers/getExpandedShorthands.mjs.map +1 -1
  650. package/dist/esm/helpers/getExpandedShorthands.native.js.map +1 -1
  651. package/dist/esm/helpers/getFontLanguage.mjs.map +1 -1
  652. package/dist/esm/helpers/getFontLanguage.native.js.map +1 -1
  653. package/dist/esm/helpers/getShorthandValue.mjs.map +1 -1
  654. package/dist/esm/helpers/getShorthandValue.native.js.map +1 -1
  655. package/dist/esm/helpers/getSplitStyles.mjs +2 -9
  656. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  657. package/dist/esm/helpers/getSplitStyles.native.js +2 -9
  658. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  659. package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
  660. package/dist/esm/helpers/getVariantExtras.mjs.map +1 -1
  661. package/dist/esm/helpers/getVariantExtras.native.js.map +1 -1
  662. package/dist/esm/helpers/grammarConfig.mjs +59 -13
  663. package/dist/esm/helpers/grammarConfig.mjs.map +1 -1
  664. package/dist/esm/helpers/grammarConfig.native.js +80 -17
  665. package/dist/esm/helpers/grammarConfig.native.js.map +1 -1
  666. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
  667. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
  668. package/dist/esm/helpers/matchMedia.native.js.map +1 -1
  669. package/dist/esm/helpers/mediaObjectToString.mjs.map +1 -1
  670. package/dist/esm/helpers/mediaObjectToString.native.js.map +1 -1
  671. package/dist/esm/helpers/mergeVariants.mjs +1 -1
  672. package/dist/esm/helpers/mergeVariants.mjs.map +1 -1
  673. package/dist/esm/helpers/mergeVariants.native.js +1 -1
  674. package/dist/esm/helpers/mergeVariants.native.js.map +1 -1
  675. package/dist/esm/helpers/nativeStyleEngine.mjs.map +1 -1
  676. package/dist/esm/helpers/nativeStyleEngine.native.js.map +1 -1
  677. package/dist/esm/helpers/normalizeStyle.native.js.map +1 -1
  678. package/dist/esm/helpers/parseBorderShorthand.native.js.map +1 -1
  679. package/dist/esm/helpers/parseNativeStyle.native.js.map +1 -1
  680. package/dist/esm/helpers/parseNativeTransform.native.js.map +1 -1
  681. package/dist/esm/helpers/parseOutlineShorthand.native.js.map +1 -1
  682. package/dist/esm/helpers/propMapper.mjs +31 -39
  683. package/dist/esm/helpers/propMapper.mjs.map +1 -1
  684. package/dist/esm/helpers/propMapper.native.js +31 -39
  685. package/dist/esm/helpers/propMapper.native.js.map +1 -1
  686. package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -1
  687. package/dist/esm/helpers/proxyThemeToParents.native.js.map +1 -1
  688. package/dist/esm/helpers/registerCSSVariable.mjs.map +1 -1
  689. package/dist/esm/helpers/registerCSSVariable.native.js.map +1 -1
  690. package/dist/esm/helpers/resolveSafeAreaVariable.native.js.map +1 -1
  691. package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
  692. package/dist/esm/helpers/themeRef.mjs.map +1 -1
  693. package/dist/esm/helpers/themeRef.native.js.map +1 -1
  694. package/dist/esm/helpers/themeUpdateState.mjs +4 -0
  695. package/dist/esm/helpers/themeUpdateState.mjs.map +1 -0
  696. package/dist/esm/helpers/themeUpdateState.native.js +4 -0
  697. package/dist/esm/helpers/themeUpdateState.native.js.map +1 -0
  698. package/dist/esm/helpers/timer.mjs.map +1 -1
  699. package/dist/esm/helpers/timer.native.js.map +1 -1
  700. package/dist/esm/helpers/tokenCategories.mjs.map +1 -1
  701. package/dist/esm/helpers/tokenCategories.native.js.map +1 -1
  702. package/dist/esm/helpers/transformsToString.native.js.map +1 -1
  703. package/dist/esm/helpers/useRenderElement.mjs.map +1 -1
  704. package/dist/esm/helpers/useRenderElement.native.js.map +1 -1
  705. package/dist/esm/helpers/variableValue.mjs +44 -0
  706. package/dist/esm/helpers/variableValue.mjs.map +1 -0
  707. package/dist/esm/helpers/variableValue.native.js +64 -0
  708. package/dist/esm/helpers/variableValue.native.js.map +1 -0
  709. package/dist/esm/helpers/variables.mjs +96 -136
  710. package/dist/esm/helpers/variables.mjs.map +1 -1
  711. package/dist/esm/helpers/variables.native.js +98 -158
  712. package/dist/esm/helpers/variables.native.js.map +1 -1
  713. package/dist/esm/helpers/warnOnce.mjs +1 -1
  714. package/dist/esm/helpers/warnOnce.mjs.map +1 -1
  715. package/dist/esm/helpers/warnOnce.native.js +1 -1
  716. package/dist/esm/helpers/warnOnce.native.js.map +1 -1
  717. package/dist/esm/hooks/getThemeProxied.mjs.map +1 -1
  718. package/dist/esm/hooks/getThemeProxied.native.js +2 -2
  719. package/dist/esm/hooks/getThemeProxied.native.js.map +1 -1
  720. package/dist/esm/hooks/useAnimationDriver.mjs +14 -8
  721. package/dist/esm/hooks/useAnimationDriver.mjs.map +1 -1
  722. package/dist/esm/hooks/useAnimationDriver.native.js +14 -8
  723. package/dist/esm/hooks/useAnimationDriver.native.js.map +1 -1
  724. package/dist/esm/hooks/useComponentState.mjs +27 -24
  725. package/dist/esm/hooks/useComponentState.mjs.map +1 -1
  726. package/dist/esm/hooks/useComponentState.native.js +28 -24
  727. package/dist/esm/hooks/useComponentState.native.js.map +1 -1
  728. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  729. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  730. package/dist/esm/hooks/usePortalThemeState.mjs +2 -2
  731. package/dist/esm/hooks/usePortalThemeState.mjs.map +1 -1
  732. package/dist/esm/hooks/usePortalThemeState.native.js +2 -2
  733. package/dist/esm/hooks/usePortalThemeState.native.js.map +1 -1
  734. package/dist/esm/hooks/useProps.mjs +1 -1
  735. package/dist/esm/hooks/useProps.mjs.map +1 -1
  736. package/dist/esm/hooks/useProps.native.js +1 -1
  737. package/dist/esm/hooks/useProps.native.js.map +1 -1
  738. package/dist/esm/hooks/useThemeName.mjs.map +1 -1
  739. package/dist/esm/hooks/useThemeState.mjs +12 -15
  740. package/dist/esm/hooks/useThemeState.mjs.map +1 -1
  741. package/dist/esm/hooks/useThemeState.native.js +14 -17
  742. package/dist/esm/hooks/useThemeState.native.js.map +1 -1
  743. package/dist/esm/index.js +0 -2
  744. package/dist/esm/index.mjs +0 -2
  745. package/dist/esm/index.native.js +0 -2
  746. package/dist/esm/insertFont.mjs.map +1 -1
  747. package/dist/esm/insertFont.native.js.map +1 -1
  748. package/dist/esm/internal-runtime.mjs +1 -3
  749. package/dist/esm/internal-runtime.mjs.map +1 -1
  750. package/dist/esm/internal-runtime.native.js +1 -3
  751. package/dist/esm/internal-runtime.native.js.map +1 -1
  752. package/dist/esm/styled.mjs.map +1 -1
  753. package/dist/esm/styled.native.js.map +1 -1
  754. package/dist/esm/theme-update.mjs +3 -0
  755. package/dist/esm/theme-update.native.js +3 -0
  756. package/dist/esm/views/FontLanguage.mjs.map +1 -1
  757. package/dist/esm/views/SafeAreaTracker.native.js.map +1 -1
  758. package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
  759. package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
  760. package/dist/esm/views/Theme.mjs +8 -33
  761. package/dist/esm/views/Theme.mjs.map +1 -1
  762. package/dist/esm/views/Theme.native.js +9 -20
  763. package/dist/esm/views/Theme.native.js.map +1 -1
  764. package/dist/esm/views/ThemeUpdate.mjs +54 -0
  765. package/dist/esm/views/ThemeUpdate.mjs.map +1 -0
  766. package/dist/esm/views/ThemeUpdate.native.js +53 -0
  767. package/dist/esm/views/ThemeUpdate.native.js.map +1 -0
  768. package/package.json +26 -17
  769. package/src/config.ts +7 -0
  770. package/src/createComponent.tsx +1 -4
  771. package/src/createTamagui.ts +3 -8
  772. package/src/dom/primitives.native.tsx +1 -1
  773. package/src/helpers/configVariables.ts +64 -0
  774. package/src/helpers/defaultAnimationDriver.tsx +0 -4
  775. package/src/helpers/directStyle.ts +876 -477
  776. package/src/helpers/getCSSStylesAtomic.ts +5 -1
  777. package/src/helpers/getSplitStyles.tsx +2 -23
  778. package/src/helpers/grammarConfig.ts +82 -12
  779. package/src/helpers/mergeVariants.ts +1 -3
  780. package/src/helpers/nativeTransitionTarget.native.ts +1 -1
  781. package/src/helpers/nativeTransitionTarget.ts +1 -1
  782. package/src/helpers/propMapper.ts +42 -49
  783. package/src/helpers/themeUpdateState.ts +27 -0
  784. package/src/helpers/variableValue.ts +45 -0
  785. package/src/helpers/variables.ts +149 -195
  786. package/src/helpers/warnOnce.ts +2 -2
  787. package/src/hooks/getThemeProxied.ts +9 -7
  788. package/src/hooks/useAnimationDriver.ts +26 -11
  789. package/src/hooks/useComponentState.ts +44 -34
  790. package/src/hooks/usePortalThemeState.ts +8 -8
  791. package/src/hooks/useProps.tsx +1 -4
  792. package/src/hooks/useThemeState.ts +16 -37
  793. package/src/index.ts +0 -1
  794. package/src/internal-runtime.ts +1 -8
  795. package/src/theme-update.ts +2 -0
  796. package/src/types.tsx +13 -21
  797. package/src/views/Theme.tsx +18 -80
  798. package/src/views/ThemeUpdate.tsx +88 -0
  799. package/types/config.d.ts.map +1 -1
  800. package/types/createComponent.d.ts.map +1 -1
  801. package/types/helpers/configVariables.d.ts +3 -0
  802. package/types/helpers/configVariables.d.ts.map +1 -0
  803. package/types/helpers/defaultAnimationDriver.d.ts.map +1 -1
  804. package/types/helpers/directStyle.d.ts +2 -23
  805. package/types/helpers/directStyle.d.ts.map +1 -1
  806. package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
  807. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  808. package/types/helpers/grammarConfig.d.ts +9 -0
  809. package/types/helpers/grammarConfig.d.ts.map +1 -1
  810. package/types/helpers/mergeVariants.d.ts.map +1 -1
  811. package/types/helpers/nativeTransitionTarget.d.ts +1 -1
  812. package/types/helpers/nativeTransitionTarget.d.ts.map +1 -1
  813. package/types/helpers/nativeTransitionTarget.native.d.ts +1 -1
  814. package/types/helpers/nativeTransitionTarget.native.d.ts.map +1 -1
  815. package/types/helpers/propMapper.d.ts.map +1 -1
  816. package/types/helpers/themeUpdateState.d.ts +23 -0
  817. package/types/helpers/themeUpdateState.d.ts.map +1 -0
  818. package/types/helpers/variableValue.d.ts +4 -0
  819. package/types/helpers/variableValue.d.ts.map +1 -0
  820. package/types/helpers/variables.d.ts +7 -24
  821. package/types/helpers/variables.d.ts.map +1 -1
  822. package/types/helpers/warnOnce.d.ts +1 -1
  823. package/types/hooks/getThemeProxied.d.ts.map +1 -1
  824. package/types/hooks/useAnimationDriver.d.ts.map +1 -1
  825. package/types/hooks/useComponentState.d.ts.map +1 -1
  826. package/types/hooks/usePortalThemeState.d.ts +5 -5
  827. package/types/hooks/usePortalThemeState.d.ts.map +1 -1
  828. package/types/hooks/useProps.d.ts.map +1 -1
  829. package/types/hooks/useThemeState.d.ts +2 -5
  830. package/types/hooks/useThemeState.d.ts.map +1 -1
  831. package/types/index.d.ts +0 -1
  832. package/types/index.d.ts.map +1 -1
  833. package/types/internal-runtime.d.ts.map +1 -1
  834. package/types/theme-update.d.ts +3 -0
  835. package/types/theme-update.d.ts.map +1 -0
  836. package/types/types.d.ts +6 -17
  837. package/types/types.d.ts.map +1 -1
  838. package/types/views/Theme.d.ts +2 -15
  839. package/types/views/Theme.d.ts.map +1 -1
  840. package/types/views/ThemeUpdate.d.ts +15 -0
  841. package/types/views/ThemeUpdate.d.ts.map +1 -0
@@ -1,6 +1,7 @@
1
1
  import { useConfiguration } from '../contexts/ComponentContext'
2
2
  import type {
3
3
  AnimationDriver,
4
+ AnimationDriverWithAnimatedNumbers,
4
5
  UniversalAnimatedNumber,
5
6
  UseAnimatedNumberReaction,
6
7
  UseAnimatedNumberStyle,
@@ -13,25 +14,39 @@ import type {
13
14
  // `animatedBy` multi-driver setups).
14
15
  export function useAnimationDriver(): AnimationDriver {
15
16
  const { animationDriver } = useConfiguration()
16
- if (process.env.NODE_ENV === 'development') {
17
- if (!animationDriver || animationDriver.isStub) {
18
- throw new Error(
19
- `No animation driver configured. To use the animation hooks (useAnimatedNumber, useAnimatedNumberStyle, ...), pass \`animations\` to createTamagui. See: https://tamagui.dev/docs/core/animations`
20
- )
21
- }
17
+ if (!animationDriver || animationDriver.isStub) {
18
+ throw new Error(
19
+ `No animation driver configured. Pass \`animations\` to createTamagui. See: https://tamagui.dev/docs/core/animations`
20
+ )
22
21
  }
23
- return animationDriver!
22
+ return animationDriver
23
+ }
24
+
25
+ function useAnimatedNumberDriver(): AnimationDriverWithAnimatedNumbers {
26
+ const driver = useAnimationDriver()
27
+ const animatedDriver = driver as Partial<AnimationDriverWithAnimatedNumbers>
28
+ if (
29
+ typeof animatedDriver.useAnimatedNumber !== 'function' ||
30
+ typeof animatedDriver.useAnimatedNumberStyle !== 'function' ||
31
+ typeof animatedDriver.useAnimatedNumbersStyle !== 'function' ||
32
+ typeof animatedDriver.useAnimatedNumberReaction !== 'function'
33
+ ) {
34
+ throw new Error(
35
+ `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`
36
+ )
37
+ }
38
+ return animatedDriver as AnimationDriverWithAnimatedNumbers
24
39
  }
25
40
 
26
41
  export function useAnimatedNumber(initial: number): UniversalAnimatedNumber<any> {
27
- return useAnimationDriver().useAnimatedNumber(initial)
42
+ return useAnimatedNumberDriver().useAnimatedNumber(initial)
28
43
  }
29
44
 
30
45
  export const useAnimatedNumberStyle: UseAnimatedNumberStyle = (value, getStyle) =>
31
- useAnimationDriver().useAnimatedNumberStyle(value, getStyle)
46
+ useAnimatedNumberDriver().useAnimatedNumberStyle(value, getStyle)
32
47
 
33
48
  export const useAnimatedNumbersStyle: UseAnimatedNumbersStyle = (values, getStyle) =>
34
- useAnimationDriver().useAnimatedNumbersStyle(values, getStyle)
49
+ useAnimatedNumberDriver().useAnimatedNumbersStyle(values, getStyle)
35
50
 
36
51
  export const useAnimatedNumberReaction: UseAnimatedNumberReaction = (opts, onValue) =>
37
- useAnimationDriver().useAnimatedNumberReaction(opts, onValue)
52
+ useAnimatedNumberDriver().useAnimatedNumberReaction(opts, onValue)
@@ -1,6 +1,10 @@
1
1
  import { getPlatformDriver, isServer, isWeb } from '@tamagui/constants'
2
2
  import { stylePropsAll } from '@tamagui/helpers'
3
- import { canonicalClauseModifier, scanFlatValue } from '@tamagui/style-grammar/runtime'
3
+ import {
4
+ canonicalClauseModifier,
5
+ scanFlatValue,
6
+ type FlatValueHandler,
7
+ } from '@tamagui/style-grammar/runtime'
4
8
  import { mergeIfNotShallowEqual } from '@tamagui/is-equal-shallow'
5
9
  import { useDidFinishSSR, useIsClientOnly } from '@tamagui/use-did-finish-ssr'
6
10
  import { useRef, useState } from 'react'
@@ -31,34 +35,31 @@ import type { ViewProps } from '../views/View'
31
35
  const platformPseudoModifiers = new Set(['hover', 'press', 'focus'])
32
36
  const enterModifier = new Set(['enter'])
33
37
 
34
- // One live scan at a time, so the visitor and its state are hoisted rather than
35
- // rebuilt per prop: this runs on every render of every component, and the whole
36
- // point of an index-based scanner is that asking the question costs nothing.
37
- let scanSource = ''
38
- let scanWanted: ReadonlySet<string> = enterModifier
39
- let scanFound = false
40
- let scanRefused = false
41
-
42
- const lifecycleVisitor = {
43
- segment(start: number, end: number, isBase: boolean) {
44
- // a clause with no payload is a value parseValue refuses, so nothing in it
45
- // reaches the style object and nothing in it can start an animation
46
- if (start === end && !isBase) scanRefused = true
38
+ type LifecycleScanContext = TamaguiComponentStateRef & {
39
+ // source, wanted modifiers, found, and pending match. created once per
40
+ // component and reused by both lifecycle questions on every render.
41
+ flatScan?: [string, ReadonlySet<string>, boolean, boolean]
42
+ }
43
+
44
+ const lifecycleHandler: FlatValueHandler<LifecycleScanContext> = {
45
+ segment(ctx, start, end, isBase, valid) {
46
+ const scan = ctx.flatScan!
47
+ if (!isBase && valid && start < end && scan[3]) scan[2] = true
48
+ scan[3] = false
47
49
  },
48
- chain(start: number, end: number) {
49
- if (scanRefused) return false
50
+ chain(ctx, start, end, valid) {
51
+ const scan = ctx.flatScan!
52
+ scan[3] = false
53
+ if (!valid) return true
50
54
  for (let index = start; index <= end; index++) {
51
- if (index !== end && scanSource.charCodeAt(index) !== 58) continue
52
- if (scanWanted.has(canonicalClauseModifier(scanSource.slice(start, index)))) {
53
- scanFound = true
55
+ if (index !== end && scan[0].charCodeAt(index) !== 58) continue
56
+ if (scan[1].has(canonicalClauseModifier(scan[0].slice(start, index)))) {
57
+ scan[3] = true
54
58
  }
55
59
  start = index + 1
56
60
  }
57
61
  return true
58
62
  },
59
- error() {
60
- scanRefused = true
61
- },
62
63
  }
63
64
 
64
65
  /**
@@ -72,19 +73,21 @@ const lifecycleVisitor = {
72
73
  function hasFlatModifier(
73
74
  props: Record<string, any>,
74
75
  config: TamaguiInternalConfig,
75
- modifiers: ReadonlySet<string>
76
+ modifiers: ReadonlySet<string>,
77
+ ctx: LifecycleScanContext
76
78
  ): boolean {
79
+ const scan = (ctx.flatScan ||= ['', enterModifier, false, false])
77
80
  for (const key in props) {
78
81
  const value = props[key]
79
82
  if (typeof value !== 'string' || value.indexOf(':') === -1) continue
80
83
  const property = config.shorthands[key] || key
81
84
  if (!(property in stylePropsAll) && property !== 'transition') continue
82
- scanSource = value
83
- scanWanted = modifiers
84
- scanFound = false
85
- scanRefused = false
86
- scanFlatValue(value, lifecycleVisitor)
87
- if (scanFound && !scanRefused) return true
85
+ scan[0] = value
86
+ scan[1] = modifiers
87
+ scan[2] = false
88
+ scan[3] = false
89
+ scanFlatValue(value, lifecycleHandler, ctx)
90
+ if (scan[2]) return true
88
91
  }
89
92
  return false
90
93
  }
@@ -143,8 +146,12 @@ export const useComponentState = (
143
146
  useAnimations &&
144
147
  animationDriver?.avoidReRenders &&
145
148
  getPlatformDriver()?.pseudo &&
146
- process.env.TAMAGUI_RUNTIME_STYLE_VALUE_GRAMMAR !== 'disabled' &&
147
- hasFlatModifier(props, config, platformPseudoModifiers)
149
+ hasFlatModifier(
150
+ props,
151
+ config,
152
+ platformPseudoModifiers,
153
+ curStateRef as LifecycleScanContext
154
+ )
148
155
  )
149
156
 
150
157
  const willBeAnimatedClient = (() => {
@@ -173,9 +180,12 @@ export const useComponentState = (
173
180
  const isExiting = presenceState?.isPresent === false
174
181
  const isEntering = presenceState?.isPresent === true && presenceState.initial !== false
175
182
 
176
- const hasEnterStyle =
177
- process.env.TAMAGUI_RUNTIME_STYLE_VALUE_GRAMMAR !== 'disabled' &&
178
- hasFlatModifier(props, config, enterModifier)
183
+ const hasEnterStyle = hasFlatModifier(
184
+ props,
185
+ config,
186
+ enterModifier,
187
+ curStateRef as LifecycleScanContext
188
+ )
179
189
 
180
190
  const hasAnimationThatNeedsHydrate =
181
191
  hasAnimationProp &&
@@ -1,32 +1,32 @@
1
1
  import { useContext } from 'react'
2
2
 
3
3
  import {
4
- getInlineThemeLayer,
4
+ getThemeUpdateLayer,
5
5
  getThemeProviderParent,
6
6
  ThemeStateContext,
7
- type InlineThemeLayer,
8
7
  } from './useThemeState'
9
8
  import { useThemeName } from './useThemeName'
9
+ import type { ThemeUpdateState } from '../helpers/themeUpdateState'
10
10
 
11
11
  export type PortalThemeState = {
12
12
  name: string
13
13
  /** Root-most first, so a consumer can replay them in authored order. */
14
- layers: InlineThemeLayer[]
14
+ layers: ThemeUpdateState[]
15
15
  }
16
16
 
17
17
  /**
18
18
  * The theme state a portal must carry across the mount boundary.
19
19
  *
20
- * A name alone is not enough: `<Theme name="dark" background="#0b2545">` puts
21
- * its direct values on a CSS custom-property node in the mount ancestry, and
22
- * portaled content is not a descendant of that node.
20
+ * A name alone is not enough: `<ThemeUpdate background="#0b2545">` puts its
21
+ * values on a CSS custom-property node in the mount ancestry, and portaled
22
+ * content is not a descendant of that node.
23
23
  */
24
24
  export function usePortalThemeState(): PortalThemeState {
25
25
  const name = useThemeName()
26
- const layers: InlineThemeLayer[] = []
26
+ const layers: ThemeUpdateState[] = []
27
27
  let cursor: string | undefined = useContext(ThemeStateContext)
28
28
  while (cursor) {
29
- const layer = getInlineThemeLayer(cursor)
29
+ const layer = getThemeUpdateLayer(cursor)
30
30
  if (layer) layers.unshift(layer)
31
31
  cursor = getThemeProviderParent(cursor)
32
32
  }
@@ -132,10 +132,7 @@ export function usePropsAndStyle<A extends PropsLikeObject>(
132
132
 
133
133
  useIsomorphicLayoutEffect(() => {
134
134
  let disposeSafeArea: (() => void) | undefined
135
- if (
136
- process.env.TAMAGUI_RUNTIME_SAFE_AREA !== 'disabled' &&
137
- splitStyles?.usesSafeArea
138
- ) {
135
+ if (splitStyles?.usesSafeArea) {
139
136
  const updateSafeArea = () => {
140
137
  setState((previous) => ({ ...previous }))
141
138
  }
@@ -10,7 +10,6 @@ import {
10
10
  } from 'react'
11
11
  import { getConfig, getSetting } from '../config'
12
12
  import { formatDiagnostic } from '../helpers/formatDiagnostic'
13
- import { getInlineValuesKey, getMergedInlineTheme } from '../helpers/variables'
14
13
  import { MISSING_THEME_MESSAGE } from '../constants/constants'
15
14
  import type {
16
15
  ThemeParsed,
@@ -18,6 +17,7 @@ import type {
18
17
  ThemeState,
19
18
  UseThemeWithStateProps,
20
19
  } from '../types'
20
+ import type { ThemeUpdateState } from '../helpers/themeUpdateState'
21
21
 
22
22
  type ID = string
23
23
 
@@ -44,11 +44,11 @@ export const forceUpdateThemes = () => {
44
44
  export const getThemeState = (id: ID) => states.get(id)
45
45
 
46
46
  /**
47
- * Direct theme-value layers and the provider chain, both keyed by the id a
47
+ * ThemeUpdate layers and the provider chain, both keyed by the id a
48
48
  * `<Theme>` pushes into `ThemeStateContext`.
49
49
  *
50
50
  * A portal renders outside its mount ancestry, so it cannot inherit the CSS
51
- * custom properties a `<Theme background="...">` put on an ancestor node. The
51
+ * custom properties a `<ThemeUpdate background="...">` put on an ancestor node. The
52
52
  * portal bridge walks this chain and replays exactly those layers. It cannot
53
53
  * use `ThemeState.parentId`: a state that resolves to the same theme as its
54
54
  * parent is a copy of the parent state, so its `parentId` skips a level.
@@ -56,20 +56,15 @@ export const getThemeState = (id: ID) => states.get(id)
56
56
  * Only `<Theme>` providers are recorded, which is also the only kind of state
57
57
  * whose id can appear in `ThemeStateContext`.
58
58
  */
59
- const inlineThemeLayers = new Map<ID, InlineThemeLayer>()
59
+ const themeUpdateLayers = new Map<ID, ThemeUpdateState>()
60
60
  const themeProviderParents = new Map<ID, ID>()
61
61
 
62
- export type InlineThemeLayer = {
63
- inlineValues: NonNullable<UseThemeWithStateProps['inlineValues']>
64
- inlineClassName: string | undefined
65
- }
66
-
67
- export const getInlineThemeLayer = (id: ID) => inlineThemeLayers.get(id)
62
+ export const getThemeUpdateLayer = (id: ID) => themeUpdateLayers.get(id)
68
63
  export const getThemeProviderParent = (id: ID) => themeProviderParents.get(id)
69
64
 
70
65
  /** introspection for devtools and leak probes: entries retained per map */
71
66
  export const getThemeProviderChainSizes = () => ({
72
- layers: inlineThemeLayers.size,
67
+ layers: themeUpdateLayers.size,
73
68
  parents: themeProviderParents.size,
74
69
  })
75
70
 
@@ -79,13 +74,10 @@ const registerThemeProviderChain = (
79
74
  props: UseThemeWithStateProps
80
75
  ) => {
81
76
  themeProviderParents.set(id, parentId)
82
- if (props.inlineValues) {
83
- inlineThemeLayers.set(id, {
84
- inlineValues: props.inlineValues,
85
- inlineClassName: props.inlineClassName,
86
- })
77
+ if (props._themeUpdate) {
78
+ themeUpdateLayers.set(id, props._themeUpdate)
87
79
  } else {
88
- inlineThemeLayers.delete(id)
80
+ themeUpdateLayers.delete(id)
89
81
  }
90
82
  }
91
83
 
@@ -347,7 +339,7 @@ function cleanupThemeState(r: ThemeStateRef) {
347
339
  // both branches retire the id, and a subscribed <Theme> provider only ever
348
340
  // takes the first one, so the portal-bridge chain has to be cleared here
349
341
  // rather than inside the unsubscribed branch.
350
- inlineThemeLayers.delete(r.id)
342
+ themeUpdateLayers.delete(r.id)
351
343
  themeProviderParents.delete(r.id)
352
344
  }
353
345
 
@@ -421,25 +413,16 @@ const getSnapshotImpl = (r: SnapshotRef): ThemeState => {
421
413
  PendingUpdate.get(id)
422
414
  )
423
415
 
424
- // inline <Theme> layer: swap in the merged theme so descendants
416
+ // ThemeUpdate layer: swap in the merged theme so descendants
425
417
  // (which read states.get(parentId).theme) see the patched values. The base
426
418
  // is always the PARENT state's theme, never this state's own theme —
427
419
  // getNextState can return our previous (already-merged) state, and merging
428
420
  // over own output would keep removed patch keys alive. Merged objects are
429
421
  // identity-cached per (base theme, values, scheme) so bailouts stay stable.
430
422
  let next = nextRaw
431
- if (
432
- process.env.TAMAGUI_RUNTIME_INLINE_THEME_VALUES !== 'disabled' &&
433
- props.inlineValues &&
434
- nextRaw?.theme
435
- ) {
423
+ if (props._themeUpdate && nextRaw?.theme) {
436
424
  const parentTheme = states.get(parentId)?.theme || nextRaw.theme
437
- const merged = getMergedInlineTheme(
438
- parentTheme,
439
- props.inlineValues,
440
- nextRaw.name,
441
- getConfig()
442
- )
425
+ const merged = props._themeUpdate.getTheme(parentTheme, nextRaw.name, getConfig())
443
426
  if (merged !== nextRaw.theme) {
444
427
  next = { ...nextRaw, theme: merged as ThemeParsed }
445
428
  }
@@ -767,16 +750,12 @@ const getPropsKey = ({
767
750
  name,
768
751
  reset,
769
752
  forceClassName,
770
- inlineValues,
753
+ _themeUpdate,
771
754
  }: UseThemeWithStateProps) =>
772
- `${name || ''}${reset || ''}${forceClassName || ''}${
773
- process.env.TAMAGUI_RUNTIME_INLINE_THEME_VALUES !== 'disabled' && inlineValues
774
- ? getInlineValuesKey(inlineValues)
775
- : ''
776
- }`
755
+ `${name || ''}${reset || ''}${forceClassName || ''}${_themeUpdate?.key || ''}`
777
756
 
778
757
  export const hasThemeUpdatingProps = (props: UseThemeWithStateProps) =>
779
758
  'name' in props ||
780
759
  'reset' in props ||
781
760
  'forceClassName' in props ||
782
- 'inlineValues' in props
761
+ '_themeUpdate' in props
package/src/index.ts CHANGED
@@ -24,7 +24,6 @@ export {
24
24
  type NativeViewStateUpdate,
25
25
  } from './helpers/nativeStyleEngine'
26
26
  export * from './helpers/getThemeCSSRules'
27
- export * from './helpers/variables'
28
27
  export * from './helpers/getVariantExtras'
29
28
  export {
30
29
  autoVariables,
@@ -39,14 +39,7 @@ export type * from './internalRuntimeTypes'
39
39
  export const createFrontendProgram: (
40
40
  property: string,
41
41
  value: ParsedValue
42
- ) => FrontendProgramValue =
43
- process.env.TAMAGUI_RUNTIME_STYLE_VALUE_GRAMMAR === 'disabled'
44
- ? () => {
45
- throw new Error(
46
- 'createFrontendProgram requires experimental.webRuntimeFeatures.styleValueGrammar'
47
- )
48
- }
49
- : createFrontendProgramImpl
42
+ ) => FrontendProgramValue = createFrontendProgramImpl
50
43
 
51
44
  // the one scalar-to-css boundary used by frontends before they mint a conditional
52
45
  // value. strings already carry their authored units; finite numbers use the same
@@ -0,0 +1,2 @@
1
+ export * from './helpers/variables'
2
+ export * from './views/ThemeUpdate'
package/src/types.tsx CHANGED
@@ -1055,14 +1055,8 @@ export type ThemeParsed = {
1055
1055
  [key in ThemeKeys]: CoerceToVariable<ThemeDefinition[key]>
1056
1056
  }
1057
1057
 
1058
- type InlineThemeValues = {
1059
- [Key in ThemeKeys]?: VariableValIn
1060
- }
1061
-
1062
1058
  /**
1063
- * Prop names `<Theme>` owns. Every other prop it receives is read as a theme
1064
- * key, so a theme key or a `createTamagui({ variables })` entry can't use one
1065
- * of these names. development builds report the collision.
1059
+ * Prop names `<Theme>` owns. Inline values are authored on `<ThemeUpdate>`.
1066
1060
  */
1067
1061
  export type ReservedThemePropName =
1068
1062
  | '_isRoot'
@@ -1074,8 +1068,7 @@ export type ReservedThemePropName =
1074
1068
  | 'disable'
1075
1069
  | 'disable-child-theme'
1076
1070
  | 'forceClassName'
1077
- | 'inlineClassName'
1078
- | 'inlineValues'
1071
+ | '_themeUpdate'
1079
1072
  | 'name'
1080
1073
  | 'nativeUpdate'
1081
1074
  | 'needsUpdate'
@@ -1159,13 +1152,8 @@ export type UseThemeWithStateProps = ThemeProps & {
1159
1152
  passThrough?: boolean
1160
1153
  disable?: boolean
1161
1154
  needsUpdate?: () => boolean
1162
- /** inline theme layer: patches merged over the parent theme */
1163
- inlineValues?: {
1164
- values?: InlineThemeValues
1165
- themes?: { [Name in ThemeName]?: InlineThemeValues }
1166
- }
1167
- /** the `tvar_` class carrying this layer's custom properties on web */
1168
- inlineClassName?: string
1155
+ /** opaque internal value patch created by `<ThemeUpdate>` */
1156
+ _themeUpdate?: import('./helpers/themeUpdateState').ThemeUpdateState
1169
1157
  /**
1170
1158
  * native fast path (experimental): called on a theme update instead of
1171
1159
  * re-rendering; return true when the update was committed natively so the
@@ -3373,7 +3361,6 @@ export type SplitStyleProps = {
3373
3361
  noMergeStyle?: boolean
3374
3362
  resolveValues?: ResolveVariableAs
3375
3363
  disableExpandShorthands?: boolean
3376
- fallbackProps?: Record<string, any>
3377
3364
  hasTextAncestor?: boolean
3378
3365
  // for animations
3379
3366
  willBeAnimated?: boolean // we need to track media queries even before animation
@@ -3474,12 +3461,17 @@ export type AnimationDriver<A extends AnimationConfig = AnimationConfig> =
3474
3461
  children?: React.ReactNode
3475
3462
  disabled?: boolean
3476
3463
  }) => React.ReactNode
3477
- useAnimatedNumber: UseAnimatedNumber
3478
- useAnimatedNumberStyle: UseAnimatedNumberStyle
3479
- useAnimatedNumbersStyle: UseAnimatedNumbersStyle
3480
- useAnimatedNumberReaction: UseAnimatedNumberReaction
3481
3464
  }
3482
3465
 
3466
+ export type AnimationDriverWithAnimatedNumbers<
3467
+ A extends AnimationConfig = AnimationConfig,
3468
+ > = AnimationDriver<A> & {
3469
+ useAnimatedNumber: UseAnimatedNumber
3470
+ useAnimatedNumberStyle: UseAnimatedNumberStyle
3471
+ useAnimatedNumbersStyle: UseAnimatedNumbersStyle
3472
+ useAnimatedNumberReaction: UseAnimatedNumberReaction
3473
+ }
3474
+
3483
3475
  export type AnimationDriverStub<A extends AnimationConfig = AnimationConfig> =
3484
3476
  AnimationDriverBase<A> & {
3485
3477
  isStub: true
@@ -1,60 +1,25 @@
1
1
  import { createRefComponent } from '@tamagui/compose-refs'
2
2
  import { isWeb, useIsomorphicLayoutEffect } from '@tamagui/constants'
3
- import { getThemeClassNames } from '@tamagui/helpers'
3
+ import { getThemeClassNames, reservedThemeProps } from '@tamagui/helpers'
4
4
  import type { MutableRefObject } from 'react'
5
5
  import React, { Children, cloneElement, isValidElement, useRef } from 'react'
6
- import { getConfig, getSetting } from '../config'
7
6
  import { variableToString } from '../createVariable'
8
7
  import { formatDiagnostic } from '../helpers/formatDiagnostic'
9
- import {
10
- insertStyleRules,
11
- shouldInsertStyleRules,
12
- updateRules,
13
- } from '../helpers/insertStyleRule'
14
8
  import {
15
9
  removeNativeStyleScope,
16
10
  updateNativeStyleScope,
17
11
  } from '../helpers/nativeStyleEngine'
18
- import { getInlineValuesFromProps, getVariablesCSSRules } from '../helpers/variables'
12
+ import { warnOnce } from '../helpers/warnOnce'
19
13
  import { useThemeWithState } from '../hooks/useTheme'
20
14
  import {
21
15
  getThemeState,
22
16
  hasThemeUpdatingProps,
23
17
  ThemeStateContext,
24
18
  } from '../hooks/useThemeState'
25
- import type {
26
- ReservedThemePropName,
27
- RulesToInsert,
28
- ThemeKeys,
29
- ThemeProps,
30
- ThemeState,
31
- UseThemeWithStateProps,
32
- VariableValIn,
33
- } from '../types'
19
+ import type { ThemeProps, ThemeState, UseThemeWithStateProps } from '../types'
34
20
  import { ThemeDebug } from './ThemeDebug'
35
21
 
36
- /**
37
- * Theme values set inline for a subtree: `<Theme background-hover="blue4">`.
38
- * Values use the same flat grammar as style props, narrowed to the modifiers a
39
- * whole subtree can honor: theme (`dark:`) and platform (`ios:`).
40
- *
41
- * Without a config augmentation `ThemeKeys` is `string`, which would make this
42
- * a catch-all index signature that every one of Theme's own props collides
43
- * with. There are no known theme keys to offer in that case, so it contributes
44
- * nothing instead.
45
- */
46
- export type ThemeUpdate = string extends ThemeKeys
47
- ? {}
48
- : {
49
- [Key in Exclude<ThemeKeys, ReservedThemePropName>]?: VariableValIn
50
- }
51
-
52
- type ThemeComponentPropsOnly = UseThemeWithStateProps &
53
- ThemeUpdate & { contain?: boolean }
54
-
55
- const useInsertEffectCompat = isWeb
56
- ? React.useInsertionEffect || useIsomorphicLayoutEffect
57
- : () => {}
22
+ type ThemeComponentPropsOnly = UseThemeWithStateProps & { contain?: boolean }
58
23
 
59
24
  export const Theme = createRefComponent(function Theme(
60
25
  props: ThemeComponentPropsOnly,
@@ -66,51 +31,25 @@ export const Theme = createRefComponent(function Theme(
66
31
  return props.children
67
32
  }
68
33
 
69
- const { passThrough } = props
70
-
71
- const isRoot = !!props['_isRoot']
72
-
73
- // theme-key props (<Theme background-hover="blue4 dark:blue2">) become an
74
- // inline layer merged over the parent theme. null for a plain <Theme>, which
75
- // costs one loop over its two or three props and allocates nothing.
76
- const config = getConfig()
77
- const inlineValues =
78
- process.env.TAMAGUI_RUNTIME_INLINE_THEME_VALUES === 'disabled'
79
- ? null
80
- : getInlineValuesFromProps(props, config)
81
-
82
- // on web the same layer also compiles to custom properties on this node, so
83
- // styled descendants restyle through the cascade instead of re-rendering
84
- let inlineCSS: ReturnType<typeof getVariablesCSSRules> = null
85
- let rulesToInsert: RulesToInsert | null = null
86
- if (process.env.TAMAGUI_TARGET !== 'native' && inlineValues) {
87
- inlineCSS = getVariablesCSSRules(inlineValues, config)
88
- if (inlineCSS && shouldInsertStyleRules(inlineCSS.identifier)) {
89
- updateRules(inlineCSS.identifier, inlineCSS.rules)
90
- rulesToInsert = {
91
- [inlineCSS.identifier]: [
92
- 'variables',
93
- '',
94
- inlineCSS.identifier,
95
- undefined,
96
- inlineCSS.rules,
97
- ],
34
+ if (process.env.NODE_ENV === 'development') {
35
+ for (const key in props) {
36
+ if (!reservedThemeProps[key]) {
37
+ warnOnce(
38
+ `theme-update:${key}`,
39
+ `<Theme ${key}=...> no longer accepts inline values. Wrap the subtree in <ThemeUpdate ${key}=...> instead.`
40
+ )
98
41
  }
99
42
  }
100
43
  }
101
44
 
102
- useInsertEffectCompat(() => {
103
- if (rulesToInsert) insertStyleRules(rulesToInsert)
104
- }, [inlineCSS?.identifier])
45
+ const { passThrough } = props
105
46
 
106
- const themeProps: ThemeComponentPropsOnly = inlineValues
107
- ? { ...props, inlineValues, inlineClassName: inlineCSS?.identifier }
108
- : props
47
+ const isRoot = !!props['_isRoot']
109
48
 
110
49
  // pass forThemeView=true so the descendant-cascade effect is installed —
111
50
  // <Theme> pushes themeState.id into ThemeStateContext, so children subscribe
112
51
  // under this id and need to be notified when our propsKey changes.
113
- const [_, themeState] = useThemeWithState(themeProps, isRoot, true)
52
+ const [_, themeState] = useThemeWithState(props, isRoot, true)
114
53
 
115
54
  useIsomorphicLayoutEffect(() => {
116
55
  if (process.env.TAMAGUI_TARGET !== 'native') return
@@ -145,7 +84,7 @@ export const Theme = createRefComponent(function Theme(
145
84
  return getThemedChildren(
146
85
  themeState,
147
86
  finalChildren,
148
- themeProps,
87
+ props,
149
88
  isRoot,
150
89
  stateRef,
151
90
  passThrough
@@ -264,10 +203,9 @@ export function getThemedChildren(
264
203
  ? {}
265
204
  : getThemeClassNameAndColor(themeState, props, isRoot)
266
205
 
267
- // inline theme values ride the same span as the theme class: one node for
268
- // <Theme name="dark" background="red">, and it lands even when the theme
269
- // itself didn't change (getThemeClassNameAndColor returns nothing then)
270
- const inlineClassName = passThrough ? undefined : props.inlineClassName
206
+ // ThemeUpdate values ride the anonymous Theme span it creates, and land
207
+ // even when the resolved theme name itself did not change
208
+ const inlineClassName = passThrough ? undefined : props._themeUpdate?.className
271
209
 
272
210
  children = (
273
211
  <span