@tamagui/web 2.7.7 → 3.0.0-beta.1097.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 (1860) hide show
  1. package/dist/cjs/Tamagui.cjs +44 -53
  2. package/dist/cjs/Tamagui.native.cjs +123 -0
  3. package/dist/cjs/Tamagui.native.js +93 -96
  4. package/dist/cjs/Tamagui.native.js.map +1 -1
  5. package/dist/cjs/_withNativeStyle.cjs +80 -0
  6. package/dist/cjs/_withNativeStyle.native.cjs +85 -0
  7. package/dist/cjs/_withNativeStyle.native.js +87 -0
  8. package/dist/cjs/_withNativeStyle.native.js.map +1 -0
  9. package/dist/cjs/_withStableStyle.cjs +58 -54
  10. package/dist/cjs/_withStableStyle.native.cjs +88 -0
  11. package/dist/cjs/_withStableStyle.native.js +65 -57
  12. package/dist/cjs/_withStableStyle.native.js.map +1 -1
  13. package/dist/cjs/config.cjs +126 -133
  14. package/dist/cjs/config.native.cjs +198 -0
  15. package/dist/cjs/config.native.js +162 -173
  16. package/dist/cjs/config.native.js.map +1 -1
  17. package/dist/cjs/constants/constants.cjs +17 -19
  18. package/dist/cjs/constants/constants.native.cjs +40 -0
  19. package/dist/cjs/constants/constants.native.js +17 -18
  20. package/dist/cjs/constants/constants.native.js.map +1 -1
  21. package/dist/cjs/constants/isDevTools.cjs +20 -24
  22. package/dist/cjs/constants/isDevTools.native.cjs +33 -0
  23. package/dist/cjs/constants/isDevTools.native.js +22 -25
  24. package/dist/cjs/constants/isDevTools.native.js.map +1 -1
  25. package/dist/cjs/contexts/ComponentContext.cjs +31 -25
  26. package/dist/cjs/contexts/ComponentContext.native.cjs +49 -0
  27. package/dist/cjs/contexts/ComponentContext.native.js +32 -25
  28. package/dist/cjs/contexts/ComponentContext.native.js.map +1 -1
  29. package/dist/cjs/contexts/GroupContext.cjs +14 -18
  30. package/dist/cjs/contexts/GroupContext.native.cjs +27 -0
  31. package/dist/cjs/contexts/GroupContext.native.js +15 -18
  32. package/dist/cjs/contexts/GroupContext.native.js.map +1 -1
  33. package/dist/cjs/createComponent.cjs +1001 -1022
  34. package/dist/cjs/createComponent.native.cjs +1163 -0
  35. package/dist/cjs/createComponent.native.js +1098 -1001
  36. package/dist/cjs/createComponent.native.js.map +1 -1
  37. package/dist/cjs/createFont.cjs +40 -36
  38. package/dist/cjs/createFont.native.cjs +56 -0
  39. package/dist/cjs/createFont.native.js +43 -38
  40. package/dist/cjs/createFont.native.js.map +1 -1
  41. package/dist/cjs/createShorthands.cjs +15 -19
  42. package/dist/cjs/createShorthands.native.cjs +28 -0
  43. package/dist/cjs/createShorthands.native.js +15 -18
  44. package/dist/cjs/createShorthands.native.js.map +1 -1
  45. package/dist/cjs/createStyledHOC.cjs +104 -0
  46. package/dist/cjs/createStyledHOC.native.cjs +107 -0
  47. package/dist/cjs/createStyledHOC.native.js +109 -0
  48. package/dist/cjs/createStyledHOC.native.js.map +1 -0
  49. package/dist/cjs/createTamagui.cjs +287 -224
  50. package/dist/cjs/createTamagui.native.cjs +354 -0
  51. package/dist/cjs/createTamagui.native.js +321 -272
  52. package/dist/cjs/createTamagui.native.js.map +1 -1
  53. package/dist/cjs/createTokens.cjs +27 -19
  54. package/dist/cjs/createTokens.native.cjs +42 -0
  55. package/dist/cjs/createTokens.native.js +28 -19
  56. package/dist/cjs/createTokens.native.js.map +1 -1
  57. package/dist/cjs/createVariable.cjs +85 -90
  58. package/dist/cjs/createVariable.native.cjs +130 -0
  59. package/dist/cjs/createVariable.native.js +97 -106
  60. package/dist/cjs/createVariable.native.js.map +1 -1
  61. package/dist/cjs/createVariables.cjs +49 -60
  62. package/dist/cjs/createVariables.native.cjs +66 -0
  63. package/dist/cjs/createVariables.native.js +51 -66
  64. package/dist/cjs/createVariables.native.js.map +1 -1
  65. package/dist/cjs/defaultComponentState.cjs +28 -30
  66. package/dist/cjs/defaultComponentState.native.cjs +47 -0
  67. package/dist/cjs/defaultComponentState.native.js +28 -29
  68. package/dist/cjs/defaultComponentState.native.js.map +1 -1
  69. package/dist/cjs/dom/adapters.cjs +95 -0
  70. package/dist/cjs/dom/adapters.native.cjs +116 -0
  71. package/dist/cjs/dom/adapters.native.js +118 -0
  72. package/dist/cjs/dom/adapters.native.js.map +1 -0
  73. package/dist/cjs/dom/contract.cjs +16 -0
  74. package/dist/cjs/dom/contract.native.cjs +18 -0
  75. package/dist/cjs/dom/contract.native.js +20 -0
  76. package/dist/cjs/dom/contract.native.js.map +1 -0
  77. package/dist/cjs/dom/domEventProps.native.cjs +56 -0
  78. package/dist/cjs/dom/domEventProps.native.js +58 -0
  79. package/dist/cjs/dom/domEventProps.native.js.map +1 -0
  80. package/dist/cjs/dom/html.cjs +630 -0
  81. package/dist/cjs/dom/html.native.cjs +951 -0
  82. package/dist/cjs/dom/html.native.js +953 -0
  83. package/dist/cjs/dom/html.native.js.map +1 -0
  84. package/dist/cjs/dom/htmlRuntime.native.cjs +176 -0
  85. package/dist/cjs/dom/htmlRuntime.native.js +178 -0
  86. package/dist/cjs/dom/htmlRuntime.native.js.map +1 -0
  87. package/dist/cjs/dom/index.cjs +28 -0
  88. package/dist/cjs/dom/index.native.cjs +41 -0
  89. package/dist/cjs/dom/index.native.js +43 -0
  90. package/dist/cjs/dom/index.native.js.map +1 -0
  91. package/dist/cjs/dom/primitives.native.cjs +642 -0
  92. package/dist/cjs/dom/primitives.native.js +644 -0
  93. package/dist/cjs/dom/primitives.native.js.map +1 -0
  94. package/dist/cjs/dom/standalone.cjs +33 -0
  95. package/dist/cjs/dom/standalone.native.cjs +39 -0
  96. package/dist/cjs/dom/standalone.native.js +41 -0
  97. package/dist/cjs/dom/standalone.native.js.map +1 -0
  98. package/dist/cjs/dom/standaloneHtml.cjs +75 -0
  99. package/dist/cjs/dom/standaloneHtml.native.cjs +77 -0
  100. package/dist/cjs/dom/standaloneHtml.native.js +79 -0
  101. package/dist/cjs/dom/standaloneHtml.native.js.map +1 -0
  102. package/dist/cjs/dom/styleTypes.cjs +16 -0
  103. package/dist/cjs/dom/styleTypes.native.cjs +18 -0
  104. package/dist/cjs/dom/styleTypes.native.js +20 -0
  105. package/dist/cjs/dom/styleTypes.native.js.map +1 -0
  106. package/dist/cjs/eventDetails.cjs +38 -0
  107. package/dist/cjs/eventDetails.native.cjs +40 -0
  108. package/dist/cjs/eventDetails.native.js +42 -0
  109. package/dist/cjs/eventDetails.native.js.map +1 -0
  110. package/dist/cjs/eventHandling.cjs +29 -31
  111. package/dist/cjs/eventHandling.native.cjs +191 -0
  112. package/dist/cjs/eventHandling.native.js +158 -188
  113. package/dist/cjs/eventHandling.native.js.map +1 -1
  114. package/dist/cjs/helpers/borderComponents.cjs +62 -0
  115. package/dist/cjs/helpers/borderComponents.native.cjs +82 -0
  116. package/dist/cjs/helpers/borderComponents.native.js +84 -0
  117. package/dist/cjs/helpers/borderComponents.native.js.map +1 -0
  118. package/dist/cjs/helpers/componentDisplayName.cjs +24 -0
  119. package/dist/cjs/helpers/componentDisplayName.native.cjs +26 -0
  120. package/dist/cjs/helpers/componentDisplayName.native.js +28 -0
  121. package/dist/cjs/helpers/componentDisplayName.native.js.map +1 -0
  122. package/dist/cjs/helpers/configVariables.cjs +79 -0
  123. package/dist/cjs/helpers/configVariables.native.cjs +82 -0
  124. package/dist/cjs/helpers/configVariables.native.js +84 -0
  125. package/dist/cjs/helpers/configVariables.native.js.map +1 -0
  126. package/dist/cjs/helpers/consoleLog.native.cjs +30 -0
  127. package/dist/cjs/helpers/consoleLog.native.js +16 -17
  128. package/dist/cjs/helpers/consoleLog.native.js.map +1 -1
  129. package/dist/cjs/helpers/createDesignSystem.cjs +146 -152
  130. package/dist/cjs/helpers/createDesignSystem.native.cjs +195 -0
  131. package/dist/cjs/helpers/createDesignSystem.native.js +167 -205
  132. package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
  133. package/dist/cjs/helpers/createStyledContext.cjs +64 -84
  134. package/dist/cjs/helpers/createStyledContext.native.cjs +88 -0
  135. package/dist/cjs/helpers/createStyledContext.native.js +69 -88
  136. package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
  137. package/dist/cjs/helpers/defaultAnimationDriver.cjs +23 -32
  138. package/dist/cjs/helpers/defaultAnimationDriver.native.cjs +46 -0
  139. package/dist/cjs/helpers/defaultAnimationDriver.native.js +32 -48
  140. package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -1
  141. package/dist/cjs/helpers/defaultOffset.cjs +16 -20
  142. package/dist/cjs/helpers/defaultOffset.native.cjs +29 -0
  143. package/dist/cjs/helpers/defaultOffset.native.js +16 -19
  144. package/dist/cjs/helpers/defaultOffset.native.js.map +1 -1
  145. package/dist/cjs/helpers/expandStyle.cjs +150 -84
  146. package/dist/cjs/helpers/expandStyle.native.cjs +185 -0
  147. package/dist/cjs/helpers/expandStyle.native.js +153 -124
  148. package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
  149. package/dist/cjs/helpers/expandStyles.cjs +27 -25
  150. package/dist/cjs/helpers/expandStyles.native.cjs +52 -0
  151. package/dist/cjs/helpers/expandStyles.native.js +34 -31
  152. package/dist/cjs/helpers/expandStyles.native.js.map +1 -1
  153. package/dist/cjs/helpers/extractPseudoState.cjs +44 -0
  154. package/dist/cjs/helpers/extractPseudoState.native.cjs +47 -0
  155. package/dist/cjs/helpers/extractPseudoState.native.js +49 -0
  156. package/dist/cjs/helpers/extractPseudoState.native.js.map +1 -0
  157. package/dist/cjs/helpers/fluid.cjs +56 -0
  158. package/dist/cjs/helpers/fluid.native.cjs +58 -0
  159. package/dist/cjs/helpers/fluid.native.js +60 -0
  160. package/dist/cjs/helpers/fluid.native.js.map +1 -0
  161. package/dist/cjs/helpers/formatDiagnostic.cjs +69 -0
  162. package/dist/cjs/helpers/formatDiagnostic.native.cjs +74 -0
  163. package/dist/cjs/helpers/formatDiagnostic.native.js +76 -0
  164. package/dist/cjs/helpers/formatDiagnostic.native.js.map +1 -0
  165. package/dist/cjs/helpers/getCSSStylesAtomic.cjs +242 -193
  166. package/dist/cjs/helpers/getCSSStylesAtomic.native.cjs +45 -0
  167. package/dist/cjs/helpers/getCSSStylesAtomic.native.js +29 -20
  168. package/dist/cjs/helpers/getCSSStylesAtomic.native.js.map +1 -1
  169. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.cjs +44 -0
  170. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.cjs +48 -0
  171. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js +50 -0
  172. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -0
  173. package/dist/cjs/helpers/getDynamicVal.cjs +48 -52
  174. package/dist/cjs/helpers/getDynamicVal.native.cjs +71 -0
  175. package/dist/cjs/helpers/getDynamicVal.native.js +48 -51
  176. package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -1
  177. package/dist/cjs/helpers/getExpandedShorthands.cjs +16 -30
  178. package/dist/cjs/helpers/getExpandedShorthands.native.cjs +31 -0
  179. package/dist/cjs/helpers/getExpandedShorthands.native.js +17 -30
  180. package/dist/cjs/helpers/getExpandedShorthands.native.js.map +1 -1
  181. package/dist/cjs/helpers/getShorthandValue.cjs +16 -20
  182. package/dist/cjs/helpers/getShorthandValue.native.cjs +32 -0
  183. package/dist/cjs/helpers/getShorthandValue.native.js +18 -21
  184. package/dist/cjs/helpers/getShorthandValue.native.js.map +1 -1
  185. package/dist/cjs/helpers/getSplitStyles.cjs +1720 -919
  186. package/dist/cjs/helpers/getSplitStyles.native.cjs +1946 -0
  187. package/dist/cjs/helpers/getSplitStyles.native.js +1911 -948
  188. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  189. package/dist/cjs/helpers/getThemeCSSRules.cjs +105 -109
  190. package/dist/cjs/helpers/getThemeCSSRules.native.cjs +28 -0
  191. package/dist/cjs/helpers/getThemeCSSRules.native.js +15 -18
  192. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +1 -1
  193. package/dist/cjs/helpers/grammarConfig.cjs +276 -0
  194. package/dist/cjs/helpers/grammarConfig.native.cjs +412 -0
  195. package/dist/cjs/helpers/grammarConfig.native.js +414 -0
  196. package/dist/cjs/helpers/grammarConfig.native.js.map +1 -0
  197. package/dist/cjs/helpers/insertStyleRule.cjs +253 -184
  198. package/dist/cjs/helpers/insertStyleRule.native.cjs +223 -0
  199. package/dist/cjs/helpers/insertStyleRule.native.js +189 -68
  200. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  201. package/dist/cjs/helpers/isObj.cjs +22 -16
  202. package/dist/cjs/helpers/isObj.native.cjs +38 -0
  203. package/dist/cjs/helpers/isObj.native.js +24 -22
  204. package/dist/cjs/helpers/isObj.native.js.map +1 -1
  205. package/dist/cjs/helpers/isTamaguiComponent.cjs +17 -21
  206. package/dist/cjs/helpers/isTamaguiComponent.native.cjs +29 -0
  207. package/dist/cjs/helpers/isTamaguiComponent.native.js +17 -20
  208. package/dist/cjs/helpers/isTamaguiComponent.native.js.map +1 -1
  209. package/dist/cjs/helpers/isTamaguiElement.cjs +19 -28
  210. package/dist/cjs/helpers/isTamaguiElement.native.cjs +36 -0
  211. package/dist/cjs/helpers/isTamaguiElement.native.js +19 -27
  212. package/dist/cjs/helpers/isTamaguiElement.native.js.map +1 -1
  213. package/dist/cjs/helpers/log.cjs +24 -27
  214. package/dist/cjs/helpers/log.native.cjs +39 -0
  215. package/dist/cjs/helpers/log.native.js +25 -27
  216. package/dist/cjs/helpers/log.native.js.map +1 -1
  217. package/dist/cjs/helpers/mainThreadPressEvents.cjs +14 -18
  218. package/dist/cjs/helpers/mainThreadPressEvents.native.cjs +155 -0
  219. package/dist/cjs/helpers/mainThreadPressEvents.native.js +138 -142
  220. package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
  221. package/dist/cjs/helpers/matchMedia.cjs +21 -23
  222. package/dist/cjs/helpers/matchMedia.native.cjs +68 -0
  223. package/dist/cjs/helpers/matchMedia.native.js +49 -41
  224. package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
  225. package/dist/cjs/helpers/mediaObjectToString.cjs +34 -38
  226. package/dist/cjs/helpers/mediaObjectToString.native.cjs +52 -0
  227. package/dist/cjs/helpers/mediaObjectToString.native.js +37 -40
  228. package/dist/cjs/helpers/mediaObjectToString.native.js.map +1 -1
  229. package/dist/cjs/helpers/mediaState.cjs +34 -43
  230. package/dist/cjs/helpers/mediaState.native.cjs +52 -0
  231. package/dist/cjs/helpers/mediaState.native.js +37 -46
  232. package/dist/cjs/helpers/mediaState.native.js.map +1 -1
  233. package/dist/cjs/helpers/mergeProps.cjs +50 -63
  234. package/dist/cjs/helpers/mergeProps.native.cjs +68 -0
  235. package/dist/cjs/helpers/mergeProps.native.js +53 -70
  236. package/dist/cjs/helpers/mergeProps.native.js.map +1 -1
  237. package/dist/cjs/helpers/mergeRenderElementProps.cjs +17 -23
  238. package/dist/cjs/helpers/mergeRenderElementProps.native.cjs +31 -0
  239. package/dist/cjs/helpers/mergeRenderElementProps.native.js +17 -22
  240. package/dist/cjs/helpers/mergeRenderElementProps.native.js.map +1 -1
  241. package/dist/cjs/helpers/mergeSlotStyleProps.cjs +34 -38
  242. package/dist/cjs/helpers/mergeSlotStyleProps.native.cjs +50 -0
  243. package/dist/cjs/helpers/mergeSlotStyleProps.native.js +34 -37
  244. package/dist/cjs/helpers/mergeSlotStyleProps.native.js.map +1 -1
  245. package/dist/cjs/helpers/mergeVariants.cjs +82 -41
  246. package/dist/cjs/helpers/mergeVariants.native.cjs +130 -0
  247. package/dist/cjs/helpers/mergeVariants.native.js +118 -42
  248. package/dist/cjs/helpers/mergeVariants.native.js.map +1 -1
  249. package/dist/cjs/helpers/nativeOnlyProps.cjs +46 -51
  250. package/dist/cjs/helpers/nativeOnlyProps.native.cjs +59 -0
  251. package/dist/cjs/helpers/nativeOnlyProps.native.js +46 -50
  252. package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
  253. package/dist/cjs/helpers/nativeStyleEngine.cjs +269 -0
  254. package/dist/cjs/helpers/nativeStyleEngine.native.cjs +400 -0
  255. package/dist/cjs/helpers/nativeStyleEngine.native.js +402 -0
  256. package/dist/cjs/helpers/nativeStyleEngine.native.js.map +1 -0
  257. package/dist/cjs/helpers/nativeTransitionTarget.cjs +26 -0
  258. package/dist/cjs/helpers/nativeTransitionTarget.native.cjs +42 -0
  259. package/dist/cjs/helpers/nativeTransitionTarget.native.js +44 -0
  260. package/dist/cjs/helpers/nativeTransitionTarget.native.js.map +1 -0
  261. package/dist/cjs/helpers/normalizeColor.cjs +22 -35
  262. package/dist/cjs/helpers/normalizeColor.native.cjs +49 -0
  263. package/dist/cjs/helpers/normalizeColor.native.js +32 -34
  264. package/dist/cjs/helpers/normalizeColor.native.js.map +1 -1
  265. package/dist/cjs/helpers/normalizeShadow.cjs +25 -39
  266. package/dist/cjs/helpers/normalizeShadow.native.cjs +41 -0
  267. package/dist/cjs/helpers/normalizeShadow.native.js +26 -37
  268. package/dist/cjs/helpers/normalizeShadow.native.js.map +1 -1
  269. package/dist/cjs/helpers/normalizeStyle.cjs +59 -61
  270. package/dist/cjs/helpers/normalizeStyle.native.cjs +93 -0
  271. package/dist/cjs/helpers/normalizeStyle.native.js +76 -79
  272. package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -1
  273. package/dist/cjs/helpers/normalizeValueWithProperty.cjs +42 -41
  274. package/dist/cjs/helpers/normalizeValueWithProperty.native.cjs +60 -0
  275. package/dist/cjs/helpers/normalizeValueWithProperty.native.js +45 -46
  276. package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
  277. package/dist/cjs/helpers/noteOnce.cjs +31 -0
  278. package/dist/cjs/helpers/noteOnce.native.cjs +33 -0
  279. package/dist/cjs/helpers/noteOnce.native.js +35 -0
  280. package/dist/cjs/helpers/noteOnce.native.js.map +1 -0
  281. package/dist/cjs/helpers/objectIdentityKey.cjs +30 -34
  282. package/dist/cjs/helpers/objectIdentityKey.native.cjs +44 -0
  283. package/dist/cjs/helpers/objectIdentityKey.native.js +31 -39
  284. package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -1
  285. package/dist/cjs/helpers/parseBorderShorthand.cjs +15 -19
  286. package/dist/cjs/helpers/parseBorderShorthand.native.cjs +65 -0
  287. package/dist/cjs/helpers/parseBorderShorthand.native.js +50 -69
  288. package/dist/cjs/helpers/parseBorderShorthand.native.js.map +1 -1
  289. package/dist/cjs/helpers/parseNativeStyle.native.cjs +205 -0
  290. package/dist/cjs/helpers/parseNativeStyle.native.js +182 -165
  291. package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -1
  292. package/dist/cjs/helpers/parseNativeTransform.native.cjs +67 -0
  293. package/dist/cjs/helpers/parseNativeTransform.native.js +69 -0
  294. package/dist/cjs/helpers/parseNativeTransform.native.js.map +1 -0
  295. package/dist/cjs/helpers/parseOutlineShorthand.cjs +15 -19
  296. package/dist/cjs/helpers/parseOutlineShorthand.native.cjs +44 -0
  297. package/dist/cjs/helpers/parseOutlineShorthand.native.js +31 -65
  298. package/dist/cjs/helpers/parseOutlineShorthand.native.js.map +1 -1
  299. package/dist/cjs/helpers/pointerEvents.cjs +14 -18
  300. package/dist/cjs/helpers/pointerEvents.native.cjs +131 -0
  301. package/dist/cjs/helpers/pointerEvents.native.js +116 -144
  302. package/dist/cjs/helpers/pointerEvents.native.js.map +1 -1
  303. package/dist/cjs/helpers/proxyThemeToParents.cjs +46 -48
  304. package/dist/cjs/helpers/proxyThemeToParents.native.cjs +167 -0
  305. package/dist/cjs/helpers/proxyThemeToParents.native.js +150 -142
  306. package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -1
  307. package/dist/cjs/helpers/registerCSSVariable.cjs +97 -60
  308. package/dist/cjs/helpers/registerCSSVariable.native.cjs +135 -0
  309. package/dist/cjs/helpers/registerCSSVariable.native.js +113 -61
  310. package/dist/cjs/helpers/registerCSSVariable.native.js.map +1 -1
  311. package/dist/cjs/helpers/resolveAnimationDriver.cjs +27 -26
  312. package/dist/cjs/helpers/resolveAnimationDriver.native.cjs +40 -0
  313. package/dist/cjs/helpers/resolveAnimationDriver.native.js +27 -26
  314. package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -1
  315. package/dist/cjs/helpers/resolveNativeUnits.cjs +32 -0
  316. package/dist/cjs/helpers/resolveNativeUnits.native.cjs +199 -0
  317. package/dist/cjs/helpers/resolveNativeUnits.native.js +201 -0
  318. package/dist/cjs/helpers/resolveNativeUnits.native.js.map +1 -0
  319. package/dist/cjs/helpers/resolveRem.cjs +17 -19
  320. package/dist/cjs/helpers/resolveRem.native.cjs +53 -0
  321. package/dist/cjs/helpers/resolveRem.native.js +34 -38
  322. package/dist/cjs/helpers/resolveRem.native.js.map +1 -1
  323. package/dist/cjs/helpers/resolveSafeArea.cjs +50 -25
  324. package/dist/cjs/helpers/resolveSafeArea.native.cjs +129 -0
  325. package/dist/cjs/helpers/resolveSafeArea.native.js +114 -29
  326. package/dist/cjs/helpers/resolveSafeArea.native.js.map +1 -1
  327. package/dist/cjs/helpers/resolveSafeAreaVariable.cjs +33 -0
  328. package/dist/cjs/helpers/resolveSafeAreaVariable.native.cjs +51 -0
  329. package/dist/cjs/helpers/resolveSafeAreaVariable.native.js +53 -0
  330. package/dist/cjs/helpers/resolveSafeAreaVariable.native.js.map +1 -0
  331. package/dist/cjs/helpers/resolveVariableValue.cjs +34 -0
  332. package/dist/cjs/helpers/resolveVariableValue.native.cjs +38 -0
  333. package/dist/cjs/helpers/resolveVariableValue.native.js +40 -0
  334. package/dist/cjs/helpers/resolveVariableValue.native.js.map +1 -0
  335. package/dist/cjs/helpers/resolveVariantStyle.cjs +57 -0
  336. package/dist/cjs/helpers/resolveVariantStyle.native.cjs +63 -0
  337. package/dist/cjs/helpers/resolveVariantStyle.native.js +65 -0
  338. package/dist/cjs/helpers/resolveVariantStyle.native.js.map +1 -0
  339. package/dist/cjs/helpers/setElementProps.cjs +16 -20
  340. package/dist/cjs/helpers/setElementProps.native.cjs +34 -0
  341. package/dist/cjs/helpers/setElementProps.native.js +21 -24
  342. package/dist/cjs/helpers/setElementProps.native.js.map +1 -1
  343. package/dist/cjs/helpers/skipProps.cjs +32 -29
  344. package/dist/cjs/helpers/skipProps.native.cjs +51 -0
  345. package/dist/cjs/helpers/skipProps.native.js +32 -28
  346. package/dist/cjs/helpers/skipProps.native.js.map +1 -1
  347. package/dist/cjs/helpers/sortString.cjs +14 -18
  348. package/dist/cjs/helpers/sortString.native.cjs +28 -0
  349. package/dist/cjs/helpers/sortString.native.js +16 -19
  350. package/dist/cjs/helpers/sortString.native.js.map +1 -1
  351. package/dist/cjs/helpers/splitStyleProps.cjs +46 -0
  352. package/dist/cjs/helpers/splitStyleProps.native.cjs +49 -0
  353. package/dist/cjs/helpers/splitStyleProps.native.js +51 -0
  354. package/dist/cjs/helpers/splitStyleProps.native.js.map +1 -0
  355. package/dist/cjs/helpers/styleFrontend.cjs +46 -0
  356. package/dist/cjs/helpers/styleFrontend.native.cjs +48 -0
  357. package/dist/cjs/helpers/styleFrontend.native.js +50 -0
  358. package/dist/cjs/helpers/styleFrontend.native.js.map +1 -0
  359. package/dist/cjs/helpers/styleOriginalValues.cjs +14 -18
  360. package/dist/cjs/helpers/styleOriginalValues.native.cjs +26 -0
  361. package/dist/cjs/helpers/styleOriginalValues.native.js +15 -18
  362. package/dist/cjs/helpers/styleOriginalValues.native.js.map +1 -1
  363. package/dist/cjs/helpers/styleProvenance.cjs +25 -27
  364. package/dist/cjs/helpers/styleProvenance.native.cjs +43 -0
  365. package/dist/cjs/helpers/styleProvenance.native.js +25 -26
  366. package/dist/cjs/helpers/styleProvenance.native.js.map +1 -1
  367. package/dist/cjs/helpers/styleStaticConfig.cjs +27 -0
  368. package/dist/cjs/helpers/styleStaticConfig.native.cjs +29 -0
  369. package/dist/cjs/helpers/styleStaticConfig.native.js +31 -0
  370. package/dist/cjs/helpers/styleStaticConfig.native.js.map +1 -0
  371. package/dist/cjs/helpers/styleStaticConfigCore.cjs +107 -0
  372. package/dist/cjs/helpers/styleStaticConfigCore.native.cjs +127 -0
  373. package/dist/cjs/helpers/styleStaticConfigCore.native.js +129 -0
  374. package/dist/cjs/helpers/styleStaticConfigCore.native.js.map +1 -0
  375. package/dist/cjs/helpers/styleToCSS.cjs +59 -0
  376. package/dist/cjs/helpers/styleToCSS.native.cjs +26 -0
  377. package/dist/cjs/helpers/styleToCSS.native.js +28 -0
  378. package/dist/cjs/helpers/styleToCSS.native.js.map +1 -0
  379. package/dist/cjs/helpers/styledDynamic.cjs +161 -0
  380. package/dist/cjs/helpers/styledDynamic.native.cjs +192 -0
  381. package/dist/cjs/helpers/styledDynamic.native.js +194 -0
  382. package/dist/cjs/helpers/styledDynamic.native.js.map +1 -0
  383. package/dist/cjs/helpers/subscribeToContextGroup.cjs +110 -94
  384. package/dist/cjs/helpers/subscribeToContextGroup.native.cjs +186 -0
  385. package/dist/cjs/helpers/subscribeToContextGroup.native.js +169 -138
  386. package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
  387. package/dist/cjs/helpers/themeRef.cjs +41 -0
  388. package/dist/cjs/helpers/themeRef.native.cjs +43 -0
  389. package/dist/cjs/helpers/themeRef.native.js +45 -0
  390. package/dist/cjs/helpers/themeRef.native.js.map +1 -0
  391. package/dist/cjs/helpers/themeUpdateState.cjs +24 -0
  392. package/dist/cjs/helpers/themeUpdateState.native.cjs +26 -0
  393. package/dist/cjs/helpers/themeUpdateState.native.js +28 -0
  394. package/dist/cjs/helpers/themeUpdateState.native.js.map +1 -0
  395. package/dist/cjs/helpers/themes.cjs +29 -34
  396. package/dist/cjs/helpers/themes.native.cjs +43 -0
  397. package/dist/cjs/helpers/themes.native.js +29 -33
  398. package/dist/cjs/helpers/themes.native.js.map +1 -1
  399. package/dist/cjs/helpers/timer.cjs +15 -21
  400. package/dist/cjs/helpers/timer.native.cjs +30 -0
  401. package/dist/cjs/helpers/timer.native.js +17 -22
  402. package/dist/cjs/helpers/timer.native.js.map +1 -1
  403. package/dist/cjs/helpers/tokenCategories.cjs +40 -0
  404. package/dist/cjs/helpers/tokenCategories.native.cjs +42 -0
  405. package/dist/cjs/helpers/tokenCategories.native.js +44 -0
  406. package/dist/cjs/helpers/tokenCategories.native.js.map +1 -0
  407. package/dist/cjs/helpers/transformsToString.cjs +24 -31
  408. package/dist/cjs/helpers/transformsToString.native.cjs +55 -0
  409. package/dist/cjs/helpers/transformsToString.native.js +41 -30
  410. package/dist/cjs/helpers/transformsToString.native.js.map +1 -1
  411. package/dist/cjs/helpers/variableValue.cjs +71 -0
  412. package/dist/cjs/helpers/variableValue.native.cjs +111 -0
  413. package/dist/cjs/helpers/variableValue.native.js +113 -0
  414. package/dist/cjs/helpers/variableValue.native.js.map +1 -0
  415. package/dist/cjs/helpers/variables.cjs +568 -0
  416. package/dist/cjs/helpers/variables.native.cjs +806 -0
  417. package/dist/cjs/helpers/variables.native.js +808 -0
  418. package/dist/cjs/helpers/variables.native.js.map +1 -0
  419. package/dist/cjs/helpers/warnOnce.cjs +44 -0
  420. package/dist/cjs/helpers/warnOnce.native.cjs +48 -0
  421. package/dist/cjs/helpers/warnOnce.native.js +50 -0
  422. package/dist/cjs/helpers/warnOnce.native.js.map +1 -0
  423. package/dist/cjs/helpers/webPropsToSkip.cjs +14 -18
  424. package/dist/cjs/helpers/webPropsToSkip.native.cjs +67 -0
  425. package/dist/cjs/helpers/webPropsToSkip.native.js +53 -62
  426. package/dist/cjs/helpers/webPropsToSkip.native.js.map +1 -1
  427. package/dist/cjs/helpers/wrapStyleTags.cjs +46 -48
  428. package/dist/cjs/helpers/wrapStyleTags.native.cjs +31 -0
  429. package/dist/cjs/helpers/wrapStyleTags.native.js +18 -18
  430. package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
  431. package/dist/cjs/hooks/doesRootSchemeMatchSystem.cjs +15 -19
  432. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.cjs +31 -0
  433. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js +16 -19
  434. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js.map +1 -1
  435. package/dist/cjs/hooks/getThemeProxied.cjs +60 -58
  436. package/dist/cjs/hooks/getThemeProxied.native.cjs +123 -0
  437. package/dist/cjs/hooks/getThemeProxied.native.js +97 -79
  438. package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -1
  439. package/dist/cjs/hooks/isOptimizedForFirstRender.cjs +27 -0
  440. package/dist/cjs/hooks/isOptimizedForFirstRender.native.cjs +29 -0
  441. package/dist/cjs/hooks/isOptimizedForFirstRender.native.js +31 -0
  442. package/dist/cjs/hooks/isOptimizedForFirstRender.native.js.map +1 -0
  443. package/dist/cjs/hooks/useAnimationDriver.cjs +51 -0
  444. package/dist/cjs/hooks/useAnimationDriver.native.cjs +59 -0
  445. package/dist/cjs/hooks/useAnimationDriver.native.js +61 -0
  446. package/dist/cjs/hooks/useAnimationDriver.native.js.map +1 -0
  447. package/dist/cjs/hooks/useComponentState.cjs +178 -200
  448. package/dist/cjs/hooks/useComponentState.native.cjs +212 -0
  449. package/dist/cjs/hooks/useComponentState.native.js +190 -211
  450. package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
  451. package/dist/cjs/hooks/useDisableSSR.cjs +15 -19
  452. package/dist/cjs/hooks/useDisableSSR.native.cjs +30 -0
  453. package/dist/cjs/hooks/useDisableSSR.native.js +16 -19
  454. package/dist/cjs/hooks/useDisableSSR.native.js.map +1 -1
  455. package/dist/cjs/hooks/useIsTouchDevice.cjs +15 -19
  456. package/dist/cjs/hooks/useIsTouchDevice.native.cjs +30 -0
  457. package/dist/cjs/hooks/useIsTouchDevice.native.js +16 -19
  458. package/dist/cjs/hooks/useIsTouchDevice.native.js.map +1 -1
  459. package/dist/cjs/hooks/useMedia.cjs +317 -257
  460. package/dist/cjs/hooks/useMedia.native.cjs +519 -0
  461. package/dist/cjs/hooks/useMedia.native.js +470 -307
  462. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  463. package/dist/cjs/hooks/usePortalThemeState.cjs +40 -0
  464. package/dist/cjs/hooks/usePortalThemeState.native.cjs +42 -0
  465. package/dist/cjs/hooks/usePortalThemeState.native.js +44 -0
  466. package/dist/cjs/hooks/usePortalThemeState.native.js.map +1 -0
  467. package/dist/cjs/hooks/useSplitStyles.cjs +42 -0
  468. package/dist/cjs/hooks/useSplitStyles.native.cjs +42 -0
  469. package/dist/cjs/hooks/useSplitStyles.native.js +44 -0
  470. package/dist/cjs/hooks/useSplitStyles.native.js.map +1 -0
  471. package/dist/cjs/hooks/useStyle.cjs +30 -0
  472. package/dist/cjs/hooks/useStyle.native.cjs +32 -0
  473. package/dist/cjs/hooks/useStyle.native.js +34 -0
  474. package/dist/cjs/hooks/useStyle.native.js.map +1 -0
  475. package/dist/cjs/hooks/useTheme.cjs +40 -49
  476. package/dist/cjs/hooks/useTheme.native.cjs +64 -0
  477. package/dist/cjs/hooks/useTheme.native.js +43 -52
  478. package/dist/cjs/hooks/useTheme.native.js.map +1 -1
  479. package/dist/cjs/hooks/useThemeName.cjs +19 -25
  480. package/dist/cjs/hooks/useThemeName.native.cjs +38 -0
  481. package/dist/cjs/hooks/useThemeName.native.js +22 -27
  482. package/dist/cjs/hooks/useThemeName.native.js.map +1 -1
  483. package/dist/cjs/hooks/useThemeState.cjs +282 -368
  484. package/dist/cjs/hooks/useThemeState.native.cjs +378 -0
  485. package/dist/cjs/hooks/useThemeState.native.js +334 -477
  486. package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
  487. package/dist/cjs/index.cjs +233 -105
  488. package/dist/cjs/index.native.cjs +255 -0
  489. package/dist/cjs/index.native.js +234 -105
  490. package/dist/cjs/index.native.js.map +1 -1
  491. package/dist/cjs/inject-styles.cjs +24 -31
  492. package/dist/cjs/inject-styles.native.cjs +38 -0
  493. package/dist/cjs/inject-styles.native.js +25 -31
  494. package/dist/cjs/inject-styles.native.js.map +1 -1
  495. package/dist/cjs/insertFont.cjs +60 -61
  496. package/dist/cjs/insertFont.native.cjs +79 -0
  497. package/dist/cjs/insertFont.native.js +54 -54
  498. package/dist/cjs/insertFont.native.js.map +1 -1
  499. package/dist/cjs/interfaces/CSSColorNames.cjs +166 -11
  500. package/dist/cjs/interfaces/CSSColorNames.native.cjs +175 -0
  501. package/dist/cjs/interfaces/CSSColorNames.native.js +166 -10
  502. package/dist/cjs/interfaces/CSSColorNames.native.js.map +1 -1
  503. package/dist/cjs/interfaces/GetRef.cjs +9 -11
  504. package/dist/cjs/interfaces/GetRef.native.cjs +18 -0
  505. package/dist/cjs/interfaces/GetRef.native.js +9 -10
  506. package/dist/cjs/interfaces/GetRef.native.js.map +1 -1
  507. package/dist/cjs/interfaces/RNExclusiveTypes.cjs +9 -11
  508. package/dist/cjs/interfaces/RNExclusiveTypes.native.cjs +18 -0
  509. package/dist/cjs/interfaces/RNExclusiveTypes.native.js +9 -10
  510. package/dist/cjs/interfaces/RNExclusiveTypes.native.js.map +1 -1
  511. package/dist/cjs/interfaces/TamaguiComponentEvents.cjs +9 -11
  512. package/dist/cjs/interfaces/TamaguiComponentEvents.native.cjs +18 -0
  513. package/dist/cjs/interfaces/TamaguiComponentEvents.native.js +9 -10
  514. package/dist/cjs/interfaces/TamaguiComponentEvents.native.js.map +1 -1
  515. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.cjs +9 -11
  516. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.cjs +18 -0
  517. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js +9 -10
  518. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js.map +1 -1
  519. package/dist/cjs/internal-runtime.cjs +123 -0
  520. package/dist/cjs/internal-runtime.native.cjs +125 -0
  521. package/dist/cjs/internal-runtime.native.js +127 -0
  522. package/dist/cjs/internal-runtime.native.js.map +1 -0
  523. package/dist/cjs/internalRuntimeTypes.cjs +16 -0
  524. package/dist/cjs/internalRuntimeTypes.native.cjs +18 -0
  525. package/dist/cjs/internalRuntimeTypes.native.js +20 -0
  526. package/dist/cjs/internalRuntimeTypes.native.js.map +1 -0
  527. package/dist/cjs/setupHooks.cjs +16 -18
  528. package/dist/cjs/setupHooks.native.cjs +32 -0
  529. package/dist/cjs/setupHooks.native.js +16 -17
  530. package/dist/cjs/setupHooks.native.js.map +1 -1
  531. package/dist/cjs/setupReactNative.cjs +14 -44
  532. package/dist/cjs/setupReactNative.native.cjs +53 -0
  533. package/dist/cjs/setupReactNative.native.js +38 -41
  534. package/dist/cjs/setupReactNative.native.js.map +1 -1
  535. package/dist/cjs/static-resolve.cjs +230 -0
  536. package/dist/cjs/static-resolve.native.cjs +236 -0
  537. package/dist/cjs/static-resolve.native.js +238 -0
  538. package/dist/cjs/static-resolve.native.js.map +1 -0
  539. package/dist/cjs/style.cjs +91 -0
  540. package/dist/cjs/style.native.cjs +94 -0
  541. package/dist/cjs/style.native.js +96 -0
  542. package/dist/cjs/style.native.js.map +1 -0
  543. package/dist/cjs/styled.cjs +110 -143
  544. package/dist/cjs/styled.native.cjs +133 -0
  545. package/dist/cjs/styled.native.js +115 -145
  546. package/dist/cjs/styled.native.js.map +1 -1
  547. package/dist/cjs/theme-update.cjs +19 -0
  548. package/dist/cjs/theme-update.native.cjs +21 -0
  549. package/dist/cjs/theme-update.native.js +23 -0
  550. package/dist/cjs/theme-update.native.js.map +1 -0
  551. package/dist/cjs/type-utils.cjs +9 -11
  552. package/dist/cjs/type-utils.native.cjs +18 -0
  553. package/dist/cjs/type-utils.native.js +9 -10
  554. package/dist/cjs/type-utils.native.js.map +1 -1
  555. package/dist/cjs/types.cjs +21 -11
  556. package/dist/cjs/types.native.cjs +30 -0
  557. package/dist/cjs/types.native.js +21 -10
  558. package/dist/cjs/types.native.js.map +1 -1
  559. package/dist/cjs/views/ConfigRevisionCheck.cjs +68 -0
  560. package/dist/cjs/views/ConfigRevisionCheck.native.cjs +73 -0
  561. package/dist/cjs/views/ConfigRevisionCheck.native.js +75 -0
  562. package/dist/cjs/views/ConfigRevisionCheck.native.js.map +1 -0
  563. package/dist/cjs/views/Configuration.cjs +26 -35
  564. package/dist/cjs/views/Configuration.native.cjs +46 -0
  565. package/dist/cjs/views/Configuration.native.js +27 -35
  566. package/dist/cjs/views/Configuration.native.js.map +1 -1
  567. package/dist/cjs/views/FontLanguage.cjs +20 -29
  568. package/dist/cjs/views/FontLanguage.native.cjs +46 -0
  569. package/dist/cjs/views/FontLanguage.native.js +27 -38
  570. package/dist/cjs/views/FontLanguage.native.js.map +1 -1
  571. package/dist/cjs/views/SafeAreaTracker.cjs +32 -0
  572. package/dist/cjs/views/SafeAreaTracker.native.cjs +36 -0
  573. package/dist/cjs/views/SafeAreaTracker.native.js +38 -0
  574. package/dist/cjs/views/SafeAreaTracker.native.js.map +1 -0
  575. package/dist/cjs/views/Slot.cjs +51 -59
  576. package/dist/cjs/views/Slot.native.cjs +77 -0
  577. package/dist/cjs/views/Slot.native.js +52 -59
  578. package/dist/cjs/views/Slot.native.js.map +1 -1
  579. package/dist/cjs/views/TamaguiProvider.cjs +69 -76
  580. package/dist/cjs/views/TamaguiProvider.native.cjs +98 -0
  581. package/dist/cjs/views/TamaguiProvider.native.js +68 -76
  582. package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
  583. package/dist/cjs/views/TamaguiRoot.cjs +46 -61
  584. package/dist/cjs/views/TamaguiRoot.native.cjs +28 -0
  585. package/dist/cjs/views/TamaguiRoot.native.js +15 -18
  586. package/dist/cjs/views/TamaguiRoot.native.js.map +1 -1
  587. package/dist/cjs/views/Text.cjs +50 -46
  588. package/dist/cjs/views/Text.native.cjs +49 -0
  589. package/dist/cjs/views/Text.native.js +34 -36
  590. package/dist/cjs/views/Text.native.js.map +1 -1
  591. package/dist/cjs/views/Theme.cjs +112 -171
  592. package/dist/cjs/views/Theme.native.cjs +156 -0
  593. package/dist/cjs/views/Theme.native.js +124 -173
  594. package/dist/cjs/views/Theme.native.js.map +1 -1
  595. package/dist/cjs/views/ThemeDebug.cjs +73 -81
  596. package/dist/cjs/views/ThemeDebug.native.cjs +30 -0
  597. package/dist/cjs/views/ThemeDebug.native.js +16 -23
  598. package/dist/cjs/views/ThemeDebug.native.js.map +1 -1
  599. package/dist/cjs/views/ThemeProvider.cjs +34 -39
  600. package/dist/cjs/views/ThemeProvider.native.cjs +43 -0
  601. package/dist/cjs/views/ThemeProvider.native.js +25 -28
  602. package/dist/cjs/views/ThemeProvider.native.js.map +1 -1
  603. package/dist/cjs/views/ThemeUpdate.cjs +82 -0
  604. package/dist/cjs/views/ThemeUpdate.native.cjs +84 -0
  605. package/dist/cjs/views/ThemeUpdate.native.js +86 -0
  606. package/dist/cjs/views/ThemeUpdate.native.js.map +1 -0
  607. package/dist/cjs/views/View.cjs +21 -18
  608. package/dist/cjs/views/View.native.cjs +38 -0
  609. package/dist/cjs/views/View.native.js +21 -17
  610. package/dist/cjs/views/View.native.js.map +1 -1
  611. package/dist/esm/Tamagui.mjs +27 -27
  612. package/dist/esm/Tamagui.mjs.map +1 -1
  613. package/dist/esm/Tamagui.native.js +76 -71
  614. package/dist/esm/Tamagui.native.js.map +1 -1
  615. package/dist/esm/_withNativeStyle.mjs +55 -0
  616. package/dist/esm/_withNativeStyle.mjs.map +1 -0
  617. package/dist/esm/_withNativeStyle.native.js +58 -0
  618. package/dist/esm/_withNativeStyle.native.js.map +1 -0
  619. package/dist/esm/_withStableStyle.mjs +44 -29
  620. package/dist/esm/_withStableStyle.mjs.map +1 -1
  621. package/dist/esm/_withStableStyle.native.js +51 -33
  622. package/dist/esm/_withStableStyle.native.js.map +1 -1
  623. package/dist/esm/config.mjs +97 -100
  624. package/dist/esm/config.mjs.map +1 -1
  625. package/dist/esm/config.native.js +121 -129
  626. package/dist/esm/config.native.js.map +1 -1
  627. package/dist/esm/constants/constants.mjs +1 -0
  628. package/dist/esm/constants/constants.mjs.map +1 -1
  629. package/dist/esm/constants/constants.native.js +1 -0
  630. package/dist/esm/constants/constants.native.js.map +1 -1
  631. package/dist/esm/constants/isDevTools.mjs +7 -6
  632. package/dist/esm/constants/isDevTools.mjs.map +1 -1
  633. package/dist/esm/constants/isDevTools.native.js +9 -8
  634. package/dist/esm/constants/isDevTools.native.js.map +1 -1
  635. package/dist/esm/contexts/ComponentContext.mjs +18 -8
  636. package/dist/esm/contexts/ComponentContext.mjs.map +1 -1
  637. package/dist/esm/contexts/ComponentContext.native.js +19 -9
  638. package/dist/esm/contexts/ComponentContext.native.js.map +1 -1
  639. package/dist/esm/contexts/GroupContext.mjs +2 -0
  640. package/dist/esm/contexts/GroupContext.mjs.map +1 -1
  641. package/dist/esm/contexts/GroupContext.native.js +3 -1
  642. package/dist/esm/contexts/GroupContext.native.js.map +1 -1
  643. package/dist/esm/createComponent.mjs +991 -996
  644. package/dist/esm/createComponent.mjs.map +1 -1
  645. package/dist/esm/createComponent.native.js +1090 -979
  646. package/dist/esm/createComponent.native.js.map +1 -1
  647. package/dist/esm/createFont.mjs +27 -18
  648. package/dist/esm/createFont.mjs.map +1 -1
  649. package/dist/esm/createFont.native.js +30 -21
  650. package/dist/esm/createFont.native.js.map +1 -1
  651. package/dist/esm/createShorthands.mjs +2 -1
  652. package/dist/esm/createShorthands.mjs.map +1 -1
  653. package/dist/esm/createShorthands.native.js +2 -1
  654. package/dist/esm/createShorthands.native.js.map +1 -1
  655. package/dist/esm/createStyledHOC.mjs +79 -0
  656. package/dist/esm/createStyledHOC.mjs.map +1 -0
  657. package/dist/esm/createStyledHOC.native.js +80 -0
  658. package/dist/esm/createStyledHOC.native.js.map +1 -0
  659. package/dist/esm/createTamagui.mjs +275 -207
  660. package/dist/esm/createTamagui.mjs.map +1 -1
  661. package/dist/esm/createTamagui.native.js +309 -255
  662. package/dist/esm/createTamagui.native.js.map +1 -1
  663. package/dist/esm/createTokens.mjs +15 -1
  664. package/dist/esm/createTokens.mjs.map +1 -1
  665. package/dist/esm/createTokens.native.js +16 -2
  666. package/dist/esm/createTokens.native.js.map +1 -1
  667. package/dist/esm/createVariable.mjs +66 -65
  668. package/dist/esm/createVariable.mjs.map +1 -1
  669. package/dist/esm/createVariable.native.js +77 -81
  670. package/dist/esm/createVariable.native.js.map +1 -1
  671. package/dist/esm/createVariables.mjs +37 -42
  672. package/dist/esm/createVariables.mjs.map +1 -1
  673. package/dist/esm/createVariables.native.js +38 -48
  674. package/dist/esm/createVariables.native.js.map +1 -1
  675. package/dist/esm/defaultComponentState.mjs +13 -12
  676. package/dist/esm/defaultComponentState.mjs.map +1 -1
  677. package/dist/esm/defaultComponentState.native.js +13 -12
  678. package/dist/esm/defaultComponentState.native.js.map +1 -1
  679. package/dist/esm/dom/adapters.mjs +67 -0
  680. package/dist/esm/dom/adapters.mjs.map +1 -0
  681. package/dist/esm/dom/adapters.native.js +86 -0
  682. package/dist/esm/dom/adapters.native.js.map +1 -0
  683. package/dist/esm/dom/contract.mjs +0 -0
  684. package/dist/esm/dom/contract.native.js +0 -0
  685. package/dist/esm/dom/domEventProps.native.js +34 -0
  686. package/dist/esm/dom/domEventProps.native.js.map +1 -0
  687. package/dist/esm/dom/html.mjs +611 -0
  688. package/dist/esm/dom/html.mjs.map +1 -0
  689. package/dist/esm/dom/html.native.js +930 -0
  690. package/dist/esm/dom/html.native.js.map +1 -0
  691. package/dist/esm/dom/htmlRuntime.native.js +152 -0
  692. package/dist/esm/dom/htmlRuntime.native.js.map +1 -0
  693. package/dist/esm/dom/index.mjs +4 -0
  694. package/dist/esm/dom/index.native.js +5 -0
  695. package/dist/esm/dom/primitives.native.js +609 -0
  696. package/dist/esm/dom/primitives.native.js.map +1 -0
  697. package/dist/esm/dom/standalone.mjs +10 -0
  698. package/dist/esm/dom/standalone.mjs.map +1 -0
  699. package/dist/esm/dom/standalone.native.js +14 -0
  700. package/dist/esm/dom/standalone.native.js.map +1 -0
  701. package/dist/esm/dom/standaloneHtml.mjs +56 -0
  702. package/dist/esm/dom/standaloneHtml.mjs.map +1 -0
  703. package/dist/esm/dom/standaloneHtml.native.js +56 -0
  704. package/dist/esm/dom/standaloneHtml.native.js.map +1 -0
  705. package/dist/esm/dom/styleTypes.mjs +0 -0
  706. package/dist/esm/dom/styleTypes.native.js +0 -0
  707. package/dist/esm/eventDetails.mjs +18 -0
  708. package/dist/esm/eventDetails.mjs.map +1 -0
  709. package/dist/esm/eventDetails.native.js +18 -0
  710. package/dist/esm/eventDetails.native.js.map +1 -0
  711. package/dist/esm/eventHandling.mjs +14 -13
  712. package/dist/esm/eventHandling.mjs.map +1 -1
  713. package/dist/esm/eventHandling.native.js +141 -163
  714. package/dist/esm/eventHandling.native.js.map +1 -1
  715. package/dist/esm/helpers/borderComponents.mjs +37 -0
  716. package/dist/esm/helpers/borderComponents.mjs.map +1 -0
  717. package/dist/esm/helpers/borderComponents.native.js +55 -0
  718. package/dist/esm/helpers/borderComponents.native.js.map +1 -0
  719. package/dist/esm/helpers/componentDisplayName.mjs +4 -0
  720. package/dist/esm/helpers/componentDisplayName.mjs.map +1 -0
  721. package/dist/esm/helpers/componentDisplayName.native.js +4 -0
  722. package/dist/esm/helpers/componentDisplayName.native.js.map +1 -0
  723. package/dist/esm/helpers/configVariables.mjs +60 -0
  724. package/dist/esm/helpers/configVariables.mjs.map +1 -0
  725. package/dist/esm/helpers/configVariables.native.js +61 -0
  726. package/dist/esm/helpers/configVariables.native.js.map +1 -0
  727. package/dist/esm/helpers/consoleLog.native.js +2 -1
  728. package/dist/esm/helpers/consoleLog.native.js.map +1 -1
  729. package/dist/esm/helpers/createDesignSystem.mjs +133 -134
  730. package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
  731. package/dist/esm/helpers/createDesignSystem.native.js +151 -186
  732. package/dist/esm/helpers/createDesignSystem.native.js.map +1 -1
  733. package/dist/esm/helpers/createStyledContext.mjs +49 -58
  734. package/dist/esm/helpers/createStyledContext.mjs.map +1 -1
  735. package/dist/esm/helpers/createStyledContext.native.js +54 -63
  736. package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
  737. package/dist/esm/helpers/defaultAnimationDriver.mjs +10 -14
  738. package/dist/esm/helpers/defaultAnimationDriver.mjs.map +1 -1
  739. package/dist/esm/helpers/defaultAnimationDriver.native.js +19 -31
  740. package/dist/esm/helpers/defaultAnimationDriver.native.js.map +1 -1
  741. package/dist/esm/helpers/defaultOffset.mjs +3 -2
  742. package/dist/esm/helpers/defaultOffset.mjs.map +1 -1
  743. package/dist/esm/helpers/defaultOffset.native.js +3 -2
  744. package/dist/esm/helpers/defaultOffset.native.js.map +1 -1
  745. package/dist/esm/helpers/expandStyle.mjs +138 -66
  746. package/dist/esm/helpers/expandStyle.mjs.map +1 -1
  747. package/dist/esm/helpers/expandStyle.native.js +141 -107
  748. package/dist/esm/helpers/expandStyle.native.js.map +1 -1
  749. package/dist/esm/helpers/expandStyles.mjs +15 -7
  750. package/dist/esm/helpers/expandStyles.mjs.map +1 -1
  751. package/dist/esm/helpers/expandStyles.native.js +22 -14
  752. package/dist/esm/helpers/expandStyles.native.js.map +1 -1
  753. package/dist/esm/helpers/extractPseudoState.mjs +24 -0
  754. package/dist/esm/helpers/extractPseudoState.mjs.map +1 -0
  755. package/dist/esm/helpers/extractPseudoState.native.js +25 -0
  756. package/dist/esm/helpers/extractPseudoState.native.js.map +1 -0
  757. package/dist/esm/helpers/fluid.mjs +36 -0
  758. package/dist/esm/helpers/fluid.mjs.map +1 -0
  759. package/dist/esm/helpers/fluid.native.js +36 -0
  760. package/dist/esm/helpers/fluid.native.js.map +1 -0
  761. package/dist/esm/helpers/formatDiagnostic.mjs +49 -0
  762. package/dist/esm/helpers/formatDiagnostic.mjs.map +1 -0
  763. package/dist/esm/helpers/formatDiagnostic.native.js +52 -0
  764. package/dist/esm/helpers/formatDiagnostic.native.js.map +1 -0
  765. package/dist/esm/helpers/getCSSStylesAtomic.mjs +224 -177
  766. package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
  767. package/dist/esm/helpers/getCSSStylesAtomic.native.js +9 -4
  768. package/dist/esm/helpers/getCSSStylesAtomic.native.js.map +1 -1
  769. package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs +16 -0
  770. package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs.map +1 -0
  771. package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js +18 -0
  772. package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -0
  773. package/dist/esm/helpers/getDynamicVal.mjs +32 -33
  774. package/dist/esm/helpers/getDynamicVal.mjs.map +1 -1
  775. package/dist/esm/helpers/getDynamicVal.native.js +32 -33
  776. package/dist/esm/helpers/getDynamicVal.native.js.map +1 -1
  777. package/dist/esm/helpers/getExpandedShorthands.mjs +5 -12
  778. package/dist/esm/helpers/getExpandedShorthands.mjs.map +1 -1
  779. package/dist/esm/helpers/getExpandedShorthands.native.js +6 -13
  780. package/dist/esm/helpers/getExpandedShorthands.native.js.map +1 -1
  781. package/dist/esm/helpers/getShorthandValue.mjs +4 -2
  782. package/dist/esm/helpers/getShorthandValue.mjs.map +1 -1
  783. package/dist/esm/helpers/getShorthandValue.native.js +6 -4
  784. package/dist/esm/helpers/getShorthandValue.native.js.map +1 -1
  785. package/dist/esm/helpers/getSplitStyles.mjs +1702 -893
  786. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  787. package/dist/esm/helpers/getSplitStyles.native.js +1896 -915
  788. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  789. package/dist/esm/helpers/getThemeCSSRules.mjs +94 -92
  790. package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
  791. package/dist/esm/helpers/getThemeCSSRules.native.js +2 -1
  792. package/dist/esm/helpers/getThemeCSSRules.native.js.map +1 -1
  793. package/dist/esm/helpers/grammarConfig.mjs +253 -0
  794. package/dist/esm/helpers/grammarConfig.mjs.map +1 -0
  795. package/dist/esm/helpers/grammarConfig.native.js +387 -0
  796. package/dist/esm/helpers/grammarConfig.native.js.map +1 -0
  797. package/dist/esm/helpers/insertStyleRule.mjs +232 -160
  798. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
  799. package/dist/esm/helpers/insertStyleRule.native.js +135 -27
  800. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
  801. package/dist/esm/helpers/isObj.mjs +10 -2
  802. package/dist/esm/helpers/isObj.mjs.map +1 -1
  803. package/dist/esm/helpers/isObj.native.js +11 -8
  804. package/dist/esm/helpers/isObj.native.js.map +1 -1
  805. package/dist/esm/helpers/isTamaguiComponent.mjs +4 -3
  806. package/dist/esm/helpers/isTamaguiComponent.mjs.map +1 -1
  807. package/dist/esm/helpers/isTamaguiComponent.native.js +4 -3
  808. package/dist/esm/helpers/isTamaguiComponent.native.js.map +1 -1
  809. package/dist/esm/helpers/isTamaguiElement.mjs +4 -2
  810. package/dist/esm/helpers/isTamaguiElement.mjs.map +1 -1
  811. package/dist/esm/helpers/isTamaguiElement.native.js +4 -2
  812. package/dist/esm/helpers/isTamaguiElement.native.js.map +1 -1
  813. package/dist/esm/helpers/log.mjs +12 -9
  814. package/dist/esm/helpers/log.mjs.map +1 -1
  815. package/dist/esm/helpers/log.native.js +13 -10
  816. package/dist/esm/helpers/log.native.js.map +1 -1
  817. package/dist/esm/helpers/mainThreadPressEvents.mjs +1 -0
  818. package/dist/esm/helpers/mainThreadPressEvents.mjs.map +1 -1
  819. package/dist/esm/helpers/mainThreadPressEvents.native.js +126 -125
  820. package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
  821. package/dist/esm/helpers/matchMedia.mjs +7 -6
  822. package/dist/esm/helpers/matchMedia.mjs.map +1 -1
  823. package/dist/esm/helpers/matchMedia.native.js +36 -25
  824. package/dist/esm/helpers/matchMedia.native.js.map +1 -1
  825. package/dist/esm/helpers/mediaObjectToString.mjs +21 -20
  826. package/dist/esm/helpers/mediaObjectToString.mjs.map +1 -1
  827. package/dist/esm/helpers/mediaObjectToString.native.js +24 -23
  828. package/dist/esm/helpers/mediaObjectToString.native.js.map +1 -1
  829. package/dist/esm/helpers/mediaState.mjs +18 -24
  830. package/dist/esm/helpers/mediaState.mjs.map +1 -1
  831. package/dist/esm/helpers/mediaState.native.js +20 -27
  832. package/dist/esm/helpers/mediaState.native.js.map +1 -1
  833. package/dist/esm/helpers/mergeProps.mjs +37 -47
  834. package/dist/esm/helpers/mergeProps.mjs.map +1 -1
  835. package/dist/esm/helpers/mergeProps.native.js +39 -54
  836. package/dist/esm/helpers/mergeProps.native.js.map +1 -1
  837. package/dist/esm/helpers/mergeRenderElementProps.mjs +5 -5
  838. package/dist/esm/helpers/mergeRenderElementProps.mjs.map +1 -1
  839. package/dist/esm/helpers/mergeRenderElementProps.native.js +5 -5
  840. package/dist/esm/helpers/mergeRenderElementProps.native.js.map +1 -1
  841. package/dist/esm/helpers/mergeSlotStyleProps.mjs +22 -20
  842. package/dist/esm/helpers/mergeSlotStyleProps.mjs.map +1 -1
  843. package/dist/esm/helpers/mergeSlotStyleProps.native.js +22 -20
  844. package/dist/esm/helpers/mergeSlotStyleProps.native.js.map +1 -1
  845. package/dist/esm/helpers/mergeVariants.mjs +70 -23
  846. package/dist/esm/helpers/mergeVariants.mjs.map +1 -1
  847. package/dist/esm/helpers/mergeVariants.native.js +106 -25
  848. package/dist/esm/helpers/mergeVariants.native.js.map +1 -1
  849. package/dist/esm/helpers/nativeOnlyProps.mjs +33 -33
  850. package/dist/esm/helpers/nativeOnlyProps.mjs.map +1 -1
  851. package/dist/esm/helpers/nativeOnlyProps.native.js +33 -33
  852. package/dist/esm/helpers/nativeOnlyProps.native.js.map +1 -1
  853. package/dist/esm/helpers/nativeStyleEngine.mjs +237 -0
  854. package/dist/esm/helpers/nativeStyleEngine.mjs.map +1 -0
  855. package/dist/esm/helpers/nativeStyleEngine.native.js +366 -0
  856. package/dist/esm/helpers/nativeStyleEngine.native.js.map +1 -0
  857. package/dist/esm/helpers/nativeTransitionTarget.mjs +6 -0
  858. package/dist/esm/helpers/nativeTransitionTarget.mjs.map +1 -0
  859. package/dist/esm/helpers/nativeTransitionTarget.native.js +21 -0
  860. package/dist/esm/helpers/nativeTransitionTarget.native.js.map +1 -0
  861. package/dist/esm/helpers/normalizeColor.mjs +11 -18
  862. package/dist/esm/helpers/normalizeColor.mjs.map +1 -1
  863. package/dist/esm/helpers/normalizeColor.native.js +19 -19
  864. package/dist/esm/helpers/normalizeColor.native.js.map +1 -1
  865. package/dist/esm/helpers/normalizeShadow.mjs +13 -21
  866. package/dist/esm/helpers/normalizeShadow.mjs.map +1 -1
  867. package/dist/esm/helpers/normalizeShadow.native.js +14 -20
  868. package/dist/esm/helpers/normalizeShadow.native.js.map +1 -1
  869. package/dist/esm/helpers/normalizeStyle.mjs +47 -43
  870. package/dist/esm/helpers/normalizeStyle.mjs.map +1 -1
  871. package/dist/esm/helpers/normalizeStyle.native.js +64 -62
  872. package/dist/esm/helpers/normalizeStyle.native.js.map +1 -1
  873. package/dist/esm/helpers/normalizeValueWithProperty.mjs +30 -23
  874. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
  875. package/dist/esm/helpers/normalizeValueWithProperty.native.js +32 -28
  876. package/dist/esm/helpers/normalizeValueWithProperty.native.js.map +1 -1
  877. package/dist/esm/helpers/noteOnce.mjs +11 -0
  878. package/dist/esm/helpers/noteOnce.mjs.map +1 -0
  879. package/dist/esm/helpers/noteOnce.native.js +11 -0
  880. package/dist/esm/helpers/noteOnce.native.js.map +1 -0
  881. package/dist/esm/helpers/objectIdentityKey.mjs +18 -17
  882. package/dist/esm/helpers/objectIdentityKey.mjs.map +1 -1
  883. package/dist/esm/helpers/objectIdentityKey.native.js +18 -22
  884. package/dist/esm/helpers/objectIdentityKey.native.js.map +1 -1
  885. package/dist/esm/helpers/parseBorderShorthand.mjs +2 -1
  886. package/dist/esm/helpers/parseBorderShorthand.mjs.map +1 -1
  887. package/dist/esm/helpers/parseBorderShorthand.native.js +38 -55
  888. package/dist/esm/helpers/parseBorderShorthand.native.js.map +1 -1
  889. package/dist/esm/helpers/parseNativeStyle.native.js +167 -146
  890. package/dist/esm/helpers/parseNativeStyle.native.js.map +1 -1
  891. package/dist/esm/helpers/parseNativeTransform.native.js +45 -0
  892. package/dist/esm/helpers/parseNativeTransform.native.js.map +1 -0
  893. package/dist/esm/helpers/parseOutlineShorthand.mjs +2 -1
  894. package/dist/esm/helpers/parseOutlineShorthand.mjs.map +1 -1
  895. package/dist/esm/helpers/parseOutlineShorthand.native.js +19 -48
  896. package/dist/esm/helpers/parseOutlineShorthand.native.js.map +1 -1
  897. package/dist/esm/helpers/pointerEvents.mjs +1 -0
  898. package/dist/esm/helpers/pointerEvents.mjs.map +1 -1
  899. package/dist/esm/helpers/pointerEvents.native.js +104 -127
  900. package/dist/esm/helpers/pointerEvents.native.js.map +1 -1
  901. package/dist/esm/helpers/proxyThemeToParents.mjs +32 -31
  902. package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -1
  903. package/dist/esm/helpers/proxyThemeToParents.native.js +136 -126
  904. package/dist/esm/helpers/proxyThemeToParents.native.js.map +1 -1
  905. package/dist/esm/helpers/registerCSSVariable.mjs +76 -39
  906. package/dist/esm/helpers/registerCSSVariable.mjs.map +1 -1
  907. package/dist/esm/helpers/registerCSSVariable.native.js +95 -44
  908. package/dist/esm/helpers/registerCSSVariable.native.js.map +1 -1
  909. package/dist/esm/helpers/resolveAnimationDriver.mjs +14 -8
  910. package/dist/esm/helpers/resolveAnimationDriver.mjs.map +1 -1
  911. package/dist/esm/helpers/resolveAnimationDriver.native.js +14 -9
  912. package/dist/esm/helpers/resolveAnimationDriver.native.js.map +1 -1
  913. package/dist/esm/helpers/resolveNativeUnits.mjs +9 -0
  914. package/dist/esm/helpers/resolveNativeUnits.mjs.map +1 -0
  915. package/dist/esm/helpers/resolveNativeUnits.native.js +172 -0
  916. package/dist/esm/helpers/resolveNativeUnits.native.js.map +1 -0
  917. package/dist/esm/helpers/resolveRem.mjs +3 -2
  918. package/dist/esm/helpers/resolveRem.mjs.map +1 -1
  919. package/dist/esm/helpers/resolveRem.native.js +21 -22
  920. package/dist/esm/helpers/resolveRem.native.js.map +1 -1
  921. package/dist/esm/helpers/resolveSafeArea.mjs +38 -8
  922. package/dist/esm/helpers/resolveSafeArea.mjs.map +1 -1
  923. package/dist/esm/helpers/resolveSafeArea.native.js +101 -15
  924. package/dist/esm/helpers/resolveSafeArea.native.js.map +1 -1
  925. package/dist/esm/helpers/resolveSafeAreaVariable.mjs +10 -0
  926. package/dist/esm/helpers/resolveSafeAreaVariable.mjs.map +1 -0
  927. package/dist/esm/helpers/resolveSafeAreaVariable.native.js +27 -0
  928. package/dist/esm/helpers/resolveSafeAreaVariable.native.js.map +1 -0
  929. package/dist/esm/helpers/resolveVariableValue.mjs +15 -0
  930. package/dist/esm/helpers/resolveVariableValue.mjs.map +1 -0
  931. package/dist/esm/helpers/resolveVariableValue.native.js +17 -0
  932. package/dist/esm/helpers/resolveVariableValue.native.js.map +1 -0
  933. package/dist/esm/helpers/resolveVariantStyle.mjs +38 -0
  934. package/dist/esm/helpers/resolveVariantStyle.mjs.map +1 -0
  935. package/dist/esm/helpers/resolveVariantStyle.native.js +42 -0
  936. package/dist/esm/helpers/resolveVariantStyle.native.js.map +1 -0
  937. package/dist/esm/helpers/setElementProps.mjs +4 -2
  938. package/dist/esm/helpers/setElementProps.mjs.map +1 -1
  939. package/dist/esm/helpers/setElementProps.native.js +8 -7
  940. package/dist/esm/helpers/setElementProps.native.js.map +1 -1
  941. package/dist/esm/helpers/skipProps.mjs +20 -14
  942. package/dist/esm/helpers/skipProps.mjs.map +1 -1
  943. package/dist/esm/helpers/skipProps.native.js +20 -14
  944. package/dist/esm/helpers/skipProps.native.js.map +1 -1
  945. package/dist/esm/helpers/sortString.mjs +1 -0
  946. package/dist/esm/helpers/sortString.mjs.map +1 -1
  947. package/dist/esm/helpers/sortString.native.js +3 -2
  948. package/dist/esm/helpers/sortString.native.js.map +1 -1
  949. package/dist/esm/helpers/splitStyleProps.mjs +27 -0
  950. package/dist/esm/helpers/splitStyleProps.mjs.map +1 -0
  951. package/dist/esm/helpers/splitStyleProps.native.js +28 -0
  952. package/dist/esm/helpers/splitStyleProps.native.js.map +1 -0
  953. package/dist/esm/helpers/styleFrontend.mjs +23 -0
  954. package/dist/esm/helpers/styleFrontend.mjs.map +1 -0
  955. package/dist/esm/helpers/styleFrontend.native.js +23 -0
  956. package/dist/esm/helpers/styleFrontend.native.js.map +1 -0
  957. package/dist/esm/helpers/styleOriginalValues.mjs +2 -1
  958. package/dist/esm/helpers/styleOriginalValues.mjs.map +1 -1
  959. package/dist/esm/helpers/styleOriginalValues.native.js +2 -1
  960. package/dist/esm/helpers/styleOriginalValues.native.js.map +1 -1
  961. package/dist/esm/helpers/styleProvenance.mjs +10 -9
  962. package/dist/esm/helpers/styleProvenance.mjs.map +1 -1
  963. package/dist/esm/helpers/styleProvenance.native.js +10 -9
  964. package/dist/esm/helpers/styleProvenance.native.js.map +1 -1
  965. package/dist/esm/helpers/styleStaticConfig.mjs +8 -0
  966. package/dist/esm/helpers/styleStaticConfig.mjs.map +1 -0
  967. package/dist/esm/helpers/styleStaticConfig.native.js +8 -0
  968. package/dist/esm/helpers/styleStaticConfig.native.js.map +1 -0
  969. package/dist/esm/helpers/styleStaticConfigCore.mjs +88 -0
  970. package/dist/esm/helpers/styleStaticConfigCore.mjs.map +1 -0
  971. package/dist/esm/helpers/styleStaticConfigCore.native.js +106 -0
  972. package/dist/esm/helpers/styleStaticConfigCore.native.js.map +1 -0
  973. package/dist/esm/helpers/styleToCSS.mjs +40 -0
  974. package/dist/esm/helpers/styleToCSS.mjs.map +1 -0
  975. package/dist/esm/helpers/styleToCSS.native.js +4 -0
  976. package/dist/esm/helpers/styleToCSS.native.js.map +1 -0
  977. package/dist/esm/helpers/styledDynamic.mjs +137 -0
  978. package/dist/esm/helpers/styledDynamic.mjs.map +1 -0
  979. package/dist/esm/helpers/styledDynamic.native.js +166 -0
  980. package/dist/esm/helpers/styledDynamic.native.js.map +1 -0
  981. package/dist/esm/helpers/subscribeToContextGroup.mjs +98 -79
  982. package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -1
  983. package/dist/esm/helpers/subscribeToContextGroup.native.js +157 -124
  984. package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
  985. package/dist/esm/helpers/themeRef.mjs +17 -0
  986. package/dist/esm/helpers/themeRef.mjs.map +1 -0
  987. package/dist/esm/helpers/themeRef.native.js +17 -0
  988. package/dist/esm/helpers/themeRef.native.js.map +1 -0
  989. package/dist/esm/helpers/themeUpdateState.mjs +4 -0
  990. package/dist/esm/helpers/themeUpdateState.mjs.map +1 -0
  991. package/dist/esm/helpers/themeUpdateState.native.js +4 -0
  992. package/dist/esm/helpers/themeUpdateState.native.js.map +1 -0
  993. package/dist/esm/helpers/themes.mjs +17 -16
  994. package/dist/esm/helpers/themes.mjs.map +1 -1
  995. package/dist/esm/helpers/themes.native.js +17 -16
  996. package/dist/esm/helpers/themes.native.js.map +1 -1
  997. package/dist/esm/helpers/timer.mjs +9 -5
  998. package/dist/esm/helpers/timer.mjs.map +1 -1
  999. package/dist/esm/helpers/timer.native.js +9 -5
  1000. package/dist/esm/helpers/timer.native.js.map +1 -1
  1001. package/dist/esm/helpers/tokenCategories.mjs +20 -0
  1002. package/dist/esm/helpers/tokenCategories.mjs.map +1 -0
  1003. package/dist/esm/helpers/tokenCategories.native.js +20 -0
  1004. package/dist/esm/helpers/tokenCategories.native.js.map +1 -0
  1005. package/dist/esm/helpers/transformsToString.mjs +12 -13
  1006. package/dist/esm/helpers/transformsToString.mjs.map +1 -1
  1007. package/dist/esm/helpers/transformsToString.native.js +29 -13
  1008. package/dist/esm/helpers/transformsToString.native.js.map +1 -1
  1009. package/dist/esm/helpers/variableValue.mjs +49 -0
  1010. package/dist/esm/helpers/variableValue.mjs.map +1 -0
  1011. package/dist/esm/helpers/variableValue.native.js +87 -0
  1012. package/dist/esm/helpers/variableValue.native.js.map +1 -0
  1013. package/dist/esm/helpers/variables.mjs +542 -0
  1014. package/dist/esm/helpers/variables.mjs.map +1 -0
  1015. package/dist/esm/helpers/variables.native.js +778 -0
  1016. package/dist/esm/helpers/variables.native.js.map +1 -0
  1017. package/dist/esm/helpers/warnOnce.mjs +20 -0
  1018. package/dist/esm/helpers/warnOnce.mjs.map +1 -0
  1019. package/dist/esm/helpers/warnOnce.native.js +22 -0
  1020. package/dist/esm/helpers/warnOnce.native.js.map +1 -0
  1021. package/dist/esm/helpers/webPropsToSkip.mjs +1 -0
  1022. package/dist/esm/helpers/webPropsToSkip.mjs.map +1 -1
  1023. package/dist/esm/helpers/webPropsToSkip.native.js +41 -45
  1024. package/dist/esm/helpers/webPropsToSkip.native.js.map +1 -1
  1025. package/dist/esm/helpers/wrapStyleTags.mjs +34 -30
  1026. package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -1
  1027. package/dist/esm/helpers/wrapStyleTags.native.js +4 -1
  1028. package/dist/esm/helpers/wrapStyleTags.native.js.map +1 -1
  1029. package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs +2 -1
  1030. package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs.map +1 -1
  1031. package/dist/esm/hooks/doesRootSchemeMatchSystem.native.js +4 -2
  1032. package/dist/esm/hooks/doesRootSchemeMatchSystem.native.js.map +1 -1
  1033. package/dist/esm/hooks/getThemeProxied.mjs +47 -40
  1034. package/dist/esm/hooks/getThemeProxied.mjs.map +1 -1
  1035. package/dist/esm/hooks/getThemeProxied.native.js +85 -62
  1036. package/dist/esm/hooks/getThemeProxied.native.js.map +1 -1
  1037. package/dist/esm/hooks/isOptimizedForFirstRender.mjs +8 -0
  1038. package/dist/esm/hooks/isOptimizedForFirstRender.mjs.map +1 -0
  1039. package/dist/esm/hooks/isOptimizedForFirstRender.native.js +8 -0
  1040. package/dist/esm/hooks/isOptimizedForFirstRender.native.js.map +1 -0
  1041. package/dist/esm/hooks/useAnimationDriver.mjs +26 -0
  1042. package/dist/esm/hooks/useAnimationDriver.mjs.map +1 -0
  1043. package/dist/esm/hooks/useAnimationDriver.native.js +32 -0
  1044. package/dist/esm/hooks/useAnimationDriver.native.js.map +1 -0
  1045. package/dist/esm/hooks/useComponentState.mjs +167 -183
  1046. package/dist/esm/hooks/useComponentState.mjs.map +1 -1
  1047. package/dist/esm/hooks/useComponentState.native.js +178 -194
  1048. package/dist/esm/hooks/useComponentState.native.js.map +1 -1
  1049. package/dist/esm/hooks/useDisableSSR.mjs +3 -1
  1050. package/dist/esm/hooks/useDisableSSR.mjs.map +1 -1
  1051. package/dist/esm/hooks/useDisableSSR.native.js +4 -2
  1052. package/dist/esm/hooks/useDisableSSR.native.js.map +1 -1
  1053. package/dist/esm/hooks/useIsTouchDevice.mjs +3 -1
  1054. package/dist/esm/hooks/useIsTouchDevice.mjs.map +1 -1
  1055. package/dist/esm/hooks/useIsTouchDevice.native.js +4 -2
  1056. package/dist/esm/hooks/useIsTouchDevice.native.js.map +1 -1
  1057. package/dist/esm/hooks/useMedia.mjs +299 -233
  1058. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  1059. package/dist/esm/hooks/useMedia.native.js +451 -283
  1060. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  1061. package/dist/esm/hooks/usePortalThemeState.mjs +21 -0
  1062. package/dist/esm/hooks/usePortalThemeState.mjs.map +1 -0
  1063. package/dist/esm/hooks/usePortalThemeState.native.js +21 -0
  1064. package/dist/esm/hooks/usePortalThemeState.native.js.map +1 -0
  1065. package/dist/esm/hooks/useSplitStyles.mjs +17 -0
  1066. package/dist/esm/hooks/useSplitStyles.mjs.map +1 -0
  1067. package/dist/esm/hooks/useSplitStyles.native.js +14 -0
  1068. package/dist/esm/hooks/useSplitStyles.native.js.map +1 -0
  1069. package/dist/esm/hooks/useStyle.mjs +11 -0
  1070. package/dist/esm/hooks/useStyle.mjs.map +1 -0
  1071. package/dist/esm/hooks/useStyle.native.js +11 -0
  1072. package/dist/esm/hooks/useStyle.native.js.map +1 -0
  1073. package/dist/esm/hooks/useTheme.mjs +27 -32
  1074. package/dist/esm/hooks/useTheme.mjs.map +1 -1
  1075. package/dist/esm/hooks/useTheme.native.js +30 -36
  1076. package/dist/esm/hooks/useTheme.native.js.map +1 -1
  1077. package/dist/esm/hooks/useThemeName.mjs +7 -7
  1078. package/dist/esm/hooks/useThemeName.mjs.map +1 -1
  1079. package/dist/esm/hooks/useThemeName.native.js +10 -10
  1080. package/dist/esm/hooks/useThemeName.native.js.map +1 -1
  1081. package/dist/esm/hooks/useThemeState.mjs +261 -349
  1082. package/dist/esm/hooks/useThemeState.mjs.map +1 -1
  1083. package/dist/esm/hooks/useThemeState.native.js +312 -458
  1084. package/dist/esm/hooks/useThemeState.native.js.map +1 -1
  1085. package/dist/esm/index.js +64 -72
  1086. package/dist/esm/index.mjs +64 -72
  1087. package/dist/esm/index.native.js +64 -72
  1088. package/dist/esm/inject-styles.mjs +11 -13
  1089. package/dist/esm/inject-styles.mjs.map +1 -1
  1090. package/dist/esm/inject-styles.native.js +12 -14
  1091. package/dist/esm/inject-styles.native.js.map +1 -1
  1092. package/dist/esm/insertFont.mjs +44 -41
  1093. package/dist/esm/insertFont.mjs.map +1 -1
  1094. package/dist/esm/insertFont.native.js +38 -35
  1095. package/dist/esm/insertFont.native.js.map +1 -1
  1096. package/dist/esm/interfaces/CSSColorNames.mjs +151 -0
  1097. package/dist/esm/interfaces/CSSColorNames.mjs.map +1 -1
  1098. package/dist/esm/interfaces/CSSColorNames.native.js +151 -0
  1099. package/dist/esm/interfaces/CSSColorNames.native.js.map +1 -1
  1100. package/dist/esm/interfaces/GetRef.mjs +0 -2
  1101. package/dist/esm/interfaces/GetRef.native.js +0 -2
  1102. package/dist/esm/interfaces/RNExclusiveTypes.mjs +0 -2
  1103. package/dist/esm/interfaces/RNExclusiveTypes.native.js +0 -2
  1104. package/dist/esm/interfaces/TamaguiComponentEvents.mjs +0 -2
  1105. package/dist/esm/interfaces/TamaguiComponentEvents.native.js +0 -2
  1106. package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.mjs +0 -2
  1107. package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.native.js +0 -2
  1108. package/dist/esm/internal-runtime.mjs +83 -0
  1109. package/dist/esm/internal-runtime.mjs.map +1 -0
  1110. package/dist/esm/internal-runtime.native.js +83 -0
  1111. package/dist/esm/internal-runtime.native.js.map +1 -0
  1112. package/dist/esm/internalRuntimeTypes.mjs +0 -0
  1113. package/dist/esm/internalRuntimeTypes.native.js +0 -0
  1114. package/dist/esm/setupHooks.mjs +2 -1
  1115. package/dist/esm/setupHooks.mjs.map +1 -1
  1116. package/dist/esm/setupHooks.native.js +2 -1
  1117. package/dist/esm/setupHooks.native.js.map +1 -1
  1118. package/dist/esm/setupReactNative.mjs +2 -27
  1119. package/dist/esm/setupReactNative.mjs.map +1 -1
  1120. package/dist/esm/setupReactNative.native.js +25 -24
  1121. package/dist/esm/setupReactNative.native.js.map +1 -1
  1122. package/dist/esm/static-resolve.mjs +196 -0
  1123. package/dist/esm/static-resolve.mjs.map +1 -0
  1124. package/dist/esm/static-resolve.native.js +200 -0
  1125. package/dist/esm/static-resolve.native.js.map +1 -0
  1126. package/dist/esm/style.mjs +58 -0
  1127. package/dist/esm/style.mjs.map +1 -0
  1128. package/dist/esm/style.native.js +59 -0
  1129. package/dist/esm/style.native.js.map +1 -0
  1130. package/dist/esm/styled.mjs +97 -128
  1131. package/dist/esm/styled.mjs.map +1 -1
  1132. package/dist/esm/styled.native.js +101 -130
  1133. package/dist/esm/styled.native.js.map +1 -1
  1134. package/dist/esm/theme-update.mjs +3 -0
  1135. package/dist/esm/theme-update.native.js +3 -0
  1136. package/dist/esm/type-utils.mjs +0 -2
  1137. package/dist/esm/type-utils.native.js +0 -2
  1138. package/dist/esm/types.mjs +3 -0
  1139. package/dist/esm/types.mjs.map +1 -1
  1140. package/dist/esm/types.native.js +3 -0
  1141. package/dist/esm/types.native.js.map +1 -1
  1142. package/dist/esm/views/ConfigRevisionCheck.mjs +43 -0
  1143. package/dist/esm/views/ConfigRevisionCheck.mjs.map +1 -0
  1144. package/dist/esm/views/ConfigRevisionCheck.native.js +46 -0
  1145. package/dist/esm/views/ConfigRevisionCheck.native.js.map +1 -0
  1146. package/dist/esm/views/Configuration.mjs +11 -9
  1147. package/dist/esm/views/Configuration.mjs.map +1 -1
  1148. package/dist/esm/views/Configuration.native.js +13 -11
  1149. package/dist/esm/views/Configuration.native.js.map +1 -1
  1150. package/dist/esm/views/FontLanguage.mjs +8 -11
  1151. package/dist/esm/views/FontLanguage.mjs.map +1 -1
  1152. package/dist/esm/views/FontLanguage.native.js +13 -14
  1153. package/dist/esm/views/FontLanguage.native.js.map +1 -1
  1154. package/dist/esm/views/SafeAreaTracker.mjs +9 -0
  1155. package/dist/esm/views/SafeAreaTracker.mjs.map +1 -0
  1156. package/dist/esm/views/SafeAreaTracker.native.js +12 -0
  1157. package/dist/esm/views/SafeAreaTracker.native.js.map +1 -0
  1158. package/dist/esm/views/Slot.mjs +39 -44
  1159. package/dist/esm/views/Slot.mjs.map +1 -1
  1160. package/dist/esm/views/Slot.native.js +41 -46
  1161. package/dist/esm/views/Slot.native.js.map +1 -1
  1162. package/dist/esm/views/TamaguiProvider.mjs +54 -50
  1163. package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
  1164. package/dist/esm/views/TamaguiProvider.native.js +52 -51
  1165. package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
  1166. package/dist/esm/views/TamaguiRoot.mjs +31 -35
  1167. package/dist/esm/views/TamaguiRoot.mjs.map +1 -1
  1168. package/dist/esm/views/TamaguiRoot.native.js +2 -1
  1169. package/dist/esm/views/TamaguiRoot.native.js.map +1 -1
  1170. package/dist/esm/views/Text.mjs +38 -31
  1171. package/dist/esm/views/Text.mjs.map +1 -1
  1172. package/dist/esm/views/Text.native.js +19 -21
  1173. package/dist/esm/views/Text.native.js.map +1 -1
  1174. package/dist/esm/views/Theme.mjs +99 -145
  1175. package/dist/esm/views/Theme.mjs.map +1 -1
  1176. package/dist/esm/views/Theme.native.js +110 -152
  1177. package/dist/esm/views/Theme.native.js.map +1 -1
  1178. package/dist/esm/views/ThemeDebug.mjs +61 -63
  1179. package/dist/esm/views/ThemeDebug.mjs.map +1 -1
  1180. package/dist/esm/views/ThemeDebug.native.js +3 -6
  1181. package/dist/esm/views/ThemeDebug.native.js.map +1 -1
  1182. package/dist/esm/views/ThemeProvider.mjs +21 -20
  1183. package/dist/esm/views/ThemeProvider.mjs.map +1 -1
  1184. package/dist/esm/views/ThemeProvider.native.js +12 -10
  1185. package/dist/esm/views/ThemeProvider.native.js.map +1 -1
  1186. package/dist/esm/views/ThemeUpdate.mjs +54 -0
  1187. package/dist/esm/views/ThemeUpdate.mjs.map +1 -0
  1188. package/dist/esm/views/ThemeUpdate.native.js +53 -0
  1189. package/dist/esm/views/ThemeUpdate.native.js.map +1 -0
  1190. package/dist/esm/views/View.mjs +9 -3
  1191. package/dist/esm/views/View.mjs.map +1 -1
  1192. package/dist/esm/views/View.native.js +9 -3
  1193. package/dist/esm/views/View.native.js.map +1 -1
  1194. package/internal-runtime/index.cjs +2 -0
  1195. package/internal-runtime/index.js +4 -0
  1196. package/internal-runtime/index.native.js +2 -0
  1197. package/package.json +71 -18
  1198. package/reset.css +15 -12
  1199. package/src/_withNativeStyle.tsx +84 -0
  1200. package/src/_withStableStyle.tsx +61 -43
  1201. package/src/config.ts +36 -42
  1202. package/src/contexts/ComponentContext.tsx +25 -8
  1203. package/src/createComponent.tsx +628 -266
  1204. package/src/createStyledHOC.tsx +137 -0
  1205. package/src/createTamagui.ts +181 -92
  1206. package/src/createTokens.ts +16 -0
  1207. package/src/createVariable.ts +17 -12
  1208. package/src/createVariables.ts +5 -17
  1209. package/src/dom/adapters.ts +99 -0
  1210. package/src/dom/contract.ts +60 -0
  1211. package/src/dom/domEventProps.native.ts +40 -0
  1212. package/src/dom/html.native.tsx +1412 -0
  1213. package/src/dom/html.tsx +887 -0
  1214. package/src/dom/htmlRuntime.native.tsx +230 -0
  1215. package/src/dom/index.native.ts +28 -0
  1216. package/src/dom/index.ts +16 -0
  1217. package/src/dom/primitives.native.tsx +658 -0
  1218. package/src/dom/standalone.ts +107 -0
  1219. package/src/dom/standaloneHtml.ts +104 -0
  1220. package/src/dom/styleTypes.ts +620 -0
  1221. package/src/eventDetails.ts +85 -0
  1222. package/src/eventHandling.native.ts +16 -16
  1223. package/src/helpers/borderComponents.ts +62 -0
  1224. package/src/helpers/componentDisplayName.ts +3 -0
  1225. package/src/helpers/configVariables.ts +64 -0
  1226. package/src/helpers/createDesignSystem.ts +127 -89
  1227. package/src/helpers/createStyledContext.tsx +85 -43
  1228. package/src/helpers/defaultAnimationDriver.tsx +0 -5
  1229. package/src/helpers/expandStyle.ts +49 -2
  1230. package/src/helpers/expandStyles.ts +6 -2
  1231. package/src/helpers/extractPseudoState.ts +32 -0
  1232. package/src/helpers/fluid.ts +66 -0
  1233. package/src/helpers/formatDiagnostic.ts +69 -0
  1234. package/src/helpers/getCSSStylesAtomic.native.ts +7 -3
  1235. package/src/helpers/getCSSStylesAtomic.ts +306 -166
  1236. package/src/helpers/getCSSStylesAtomicCompiled.ts +21 -0
  1237. package/src/helpers/getDynamicVal.ts +4 -0
  1238. package/src/helpers/getExpandedShorthands.ts +0 -17
  1239. package/src/helpers/getSplitStyles.tsx +3429 -1635
  1240. package/src/helpers/getThemeCSSRules.ts +16 -1
  1241. package/src/helpers/grammarConfig.ts +369 -0
  1242. package/src/helpers/insertStyleRule.tsx +110 -25
  1243. package/src/helpers/isObj.ts +8 -0
  1244. package/src/helpers/isTamaguiComponent.tsx +2 -5
  1245. package/src/helpers/isTamaguiElement.tsx +2 -3
  1246. package/src/helpers/log.ts +12 -11
  1247. package/src/helpers/matchMedia.native.ts +16 -1
  1248. package/src/helpers/mediaState.ts +18 -32
  1249. package/src/helpers/mergeProps.ts +2 -32
  1250. package/src/helpers/mergeVariants.ts +80 -21
  1251. package/src/helpers/nativeOnlyProps.ts +0 -1
  1252. package/src/helpers/nativeStyleEngine.ts +385 -0
  1253. package/src/helpers/nativeTransitionTarget.native.ts +22 -0
  1254. package/src/helpers/nativeTransitionTarget.ts +6 -0
  1255. package/src/helpers/normalizeColor.native.ts +2 -3
  1256. package/src/helpers/normalizeColor.ts +4 -14
  1257. package/src/helpers/normalizeShadow.native.ts +1 -1
  1258. package/src/helpers/normalizeStyle.ts +26 -15
  1259. package/src/helpers/normalizeValueWithProperty.ts +18 -11
  1260. package/src/helpers/noteOnce.ts +9 -0
  1261. package/src/helpers/parseBorderShorthand.native.ts +23 -45
  1262. package/src/helpers/parseNativeStyle.native.ts +238 -0
  1263. package/src/helpers/parseNativeTransform.native.ts +35 -0
  1264. package/src/helpers/parseOutlineShorthand.native.ts +9 -40
  1265. package/src/helpers/proxyThemeToParents.ts +11 -1
  1266. package/src/helpers/registerCSSVariable.ts +52 -4
  1267. package/src/helpers/resolveAnimationDriver.ts +16 -13
  1268. package/src/helpers/resolveNativeUnits.native.ts +238 -0
  1269. package/src/helpers/resolveNativeUnits.ts +10 -0
  1270. package/src/helpers/resolveRem.native.ts +25 -26
  1271. package/src/helpers/resolveRem.ts +1 -1
  1272. package/src/helpers/resolveSafeArea.native.ts +90 -10
  1273. package/src/helpers/resolveSafeArea.ts +46 -7
  1274. package/src/helpers/resolveSafeAreaVariable.native.ts +28 -0
  1275. package/src/helpers/resolveSafeAreaVariable.ts +10 -0
  1276. package/src/helpers/resolveVariableValue.ts +31 -0
  1277. package/src/helpers/resolveVariantStyle.ts +77 -0
  1278. package/src/helpers/skipProps.ts +11 -3
  1279. package/src/helpers/splitStyleProps.ts +166 -0
  1280. package/src/helpers/styleFrontend.ts +143 -0
  1281. package/src/helpers/styleProvenance.ts +17 -2
  1282. package/src/helpers/styleStaticConfig.ts +21 -0
  1283. package/src/helpers/styleStaticConfigCore.ts +110 -0
  1284. package/src/helpers/styleToCSS.native.ts +1 -0
  1285. package/src/helpers/styleToCSS.ts +43 -0
  1286. package/src/helpers/styledDynamic.ts +192 -0
  1287. package/src/helpers/subscribeToContextGroup.tsx +46 -7
  1288. package/src/helpers/themeRef.ts +34 -0
  1289. package/src/helpers/themeUpdateState.ts +27 -0
  1290. package/src/helpers/themes.ts +9 -10
  1291. package/src/helpers/tokenCategories.ts +54 -0
  1292. package/src/helpers/transformsToString.ts +18 -16
  1293. package/src/helpers/variableValue.ts +50 -0
  1294. package/src/helpers/variables.ts +856 -0
  1295. package/src/helpers/warnOnce.ts +53 -0
  1296. package/src/helpers/webPropsToSkip.native.ts +7 -8
  1297. package/src/helpers/wrapStyleTags.tsx +4 -2
  1298. package/src/hooks/getThemeProxied.ts +139 -101
  1299. package/src/hooks/isOptimizedForFirstRender.native.ts +7 -0
  1300. package/src/hooks/isOptimizedForFirstRender.ts +7 -0
  1301. package/src/hooks/useAnimationDriver.ts +56 -0
  1302. package/src/hooks/useComponentState.ts +128 -174
  1303. package/src/hooks/useMedia.tsx +258 -131
  1304. package/src/hooks/usePortalThemeState.ts +34 -0
  1305. package/src/hooks/useSplitStyles.tsx +41 -0
  1306. package/src/hooks/useStyle.ts +10 -0
  1307. package/src/hooks/useTheme.tsx +20 -7
  1308. package/src/hooks/useThemeState.ts +185 -332
  1309. package/src/index.ts +328 -70
  1310. package/src/insertFont.ts +9 -5
  1311. package/src/interfaces/CSSColorNames.tsx +152 -149
  1312. package/src/interfaces/RNExclusiveTypes.ts +2 -1
  1313. package/src/interfaces/TamaguiComponentEvents.tsx +0 -1
  1314. package/src/interfaces/TamaguiComponentPropsBaseBase.tsx +2 -4
  1315. package/src/internal-runtime.ts +169 -0
  1316. package/src/internalRuntimeTypes.ts +18 -0
  1317. package/src/setupHooks.ts +9 -1
  1318. package/src/setupReactNative.ts +7 -30
  1319. package/src/static-resolve.ts +403 -0
  1320. package/src/style.ts +97 -0
  1321. package/src/styled.tsx +290 -416
  1322. package/src/theme-update.ts +2 -0
  1323. package/src/types.tsx +909 -626
  1324. package/src/views/ConfigRevisionCheck.tsx +55 -0
  1325. package/src/views/SafeAreaTracker.native.tsx +10 -0
  1326. package/src/views/SafeAreaTracker.tsx +7 -0
  1327. package/src/views/Slot.tsx +3 -2
  1328. package/src/views/TamaguiProvider.tsx +36 -24
  1329. package/src/views/Text.tsx +33 -23
  1330. package/src/views/Theme.tsx +64 -54
  1331. package/src/views/ThemeDebug.tsx +0 -2
  1332. package/src/views/ThemeProvider.tsx +6 -5
  1333. package/src/views/ThemeUpdate.tsx +90 -0
  1334. package/src/views/View.tsx +12 -4
  1335. package/types/Tamagui.d.ts.map +1 -1
  1336. package/types/_withNativeStyle.d.ts +5 -0
  1337. package/types/_withNativeStyle.d.ts.map +1 -0
  1338. package/types/_withStableStyle.d.ts +1 -1
  1339. package/types/_withStableStyle.d.ts.map +1 -1
  1340. package/types/config.d.ts +22 -32
  1341. package/types/config.d.ts.map +1 -1
  1342. package/types/contexts/ComponentContext.d.ts +1 -1
  1343. package/types/contexts/ComponentContext.d.ts.map +1 -1
  1344. package/types/createComponent.d.ts.map +1 -1
  1345. package/types/createFont.d.ts.map +1 -1
  1346. package/types/createStyledHOC.d.ts +4 -0
  1347. package/types/createStyledHOC.d.ts.map +1 -0
  1348. package/types/createTamagui.d.ts +2 -1
  1349. package/types/createTamagui.d.ts.map +1 -1
  1350. package/types/createTokens.d.ts.map +1 -1
  1351. package/types/createVariable.d.ts +0 -2
  1352. package/types/createVariable.d.ts.map +1 -1
  1353. package/types/createVariables.d.ts.map +1 -1
  1354. package/types/dom/adapters.d.ts +42 -0
  1355. package/types/dom/adapters.d.ts.map +1 -0
  1356. package/types/dom/contract.d.ts +48 -0
  1357. package/types/dom/contract.d.ts.map +1 -0
  1358. package/types/dom/domEventProps.native.d.ts +7 -0
  1359. package/types/dom/domEventProps.native.d.ts.map +1 -0
  1360. package/types/dom/html.d.ts +58 -0
  1361. package/types/dom/html.d.ts.map +1 -0
  1362. package/types/dom/html.native.d.ts +67 -0
  1363. package/types/dom/html.native.d.ts.map +1 -0
  1364. package/types/dom/htmlRuntime.native.d.ts +63 -0
  1365. package/types/dom/htmlRuntime.native.d.ts.map +1 -0
  1366. package/types/dom/index.d.ts +11 -0
  1367. package/types/dom/index.d.ts.map +1 -0
  1368. package/types/dom/index.native.d.ts +12 -0
  1369. package/types/dom/index.native.d.ts.map +1 -0
  1370. package/types/dom/primitives.native.d.ts +43 -0
  1371. package/types/dom/primitives.native.d.ts.map +1 -0
  1372. package/types/dom/standalone.d.ts +89 -0
  1373. package/types/dom/standalone.d.ts.map +1 -0
  1374. package/types/dom/standaloneHtml.d.ts +67 -0
  1375. package/types/dom/standaloneHtml.d.ts.map +1 -0
  1376. package/types/dom/styleTypes.d.ts +486 -0
  1377. package/types/dom/styleTypes.d.ts.map +1 -0
  1378. package/types/eventDetails.d.ts +12 -0
  1379. package/types/eventDetails.d.ts.map +1 -0
  1380. package/types/helpers/borderComponents.d.ts +10 -0
  1381. package/types/helpers/borderComponents.d.ts.map +1 -0
  1382. package/types/helpers/componentDisplayName.d.ts +2 -0
  1383. package/types/helpers/componentDisplayName.d.ts.map +1 -0
  1384. package/types/helpers/configVariables.d.ts +3 -0
  1385. package/types/helpers/configVariables.d.ts.map +1 -0
  1386. package/types/helpers/createDesignSystem.d.ts +24 -6
  1387. package/types/helpers/createDesignSystem.d.ts.map +1 -1
  1388. package/types/helpers/createStyledContext.d.ts +29 -2
  1389. package/types/helpers/createStyledContext.d.ts.map +1 -1
  1390. package/types/helpers/defaultAnimationDriver.d.ts.map +1 -1
  1391. package/types/helpers/defaultOffset.d.ts.map +1 -1
  1392. package/types/helpers/expandStyle.d.ts.map +1 -1
  1393. package/types/helpers/expandStyles.d.ts.map +1 -1
  1394. package/types/helpers/extractPseudoState.d.ts +14 -0
  1395. package/types/helpers/extractPseudoState.d.ts.map +1 -0
  1396. package/types/helpers/fluid.d.ts +21 -0
  1397. package/types/helpers/fluid.d.ts.map +1 -0
  1398. package/types/helpers/formatDiagnostic.d.ts +2 -0
  1399. package/types/helpers/formatDiagnostic.d.ts.map +1 -0
  1400. package/types/helpers/getCSSStylesAtomic.d.ts +29 -6
  1401. package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
  1402. package/types/helpers/getCSSStylesAtomic.native.d.ts +11 -3
  1403. package/types/helpers/getCSSStylesAtomic.native.d.ts.map +1 -1
  1404. package/types/helpers/getCSSStylesAtomicCompiled.d.ts +9 -0
  1405. package/types/helpers/getCSSStylesAtomicCompiled.d.ts.map +1 -0
  1406. package/types/helpers/getDynamicVal.d.ts +1 -1
  1407. package/types/helpers/getDynamicVal.d.ts.map +1 -1
  1408. package/types/helpers/getExpandedShorthands.d.ts +0 -5
  1409. package/types/helpers/getExpandedShorthands.d.ts.map +1 -1
  1410. package/types/helpers/getShorthandValue.d.ts.map +1 -1
  1411. package/types/helpers/getSplitStyles.d.ts +14 -8
  1412. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  1413. package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
  1414. package/types/helpers/grammarConfig.d.ts +41 -0
  1415. package/types/helpers/grammarConfig.d.ts.map +1 -0
  1416. package/types/helpers/insertStyleRule.d.ts +4 -1
  1417. package/types/helpers/insertStyleRule.d.ts.map +1 -1
  1418. package/types/helpers/isObj.d.ts +1 -0
  1419. package/types/helpers/isObj.d.ts.map +1 -1
  1420. package/types/helpers/isTamaguiComponent.d.ts +1 -1
  1421. package/types/helpers/isTamaguiComponent.d.ts.map +1 -1
  1422. package/types/helpers/isTamaguiElement.d.ts +1 -1
  1423. package/types/helpers/isTamaguiElement.d.ts.map +1 -1
  1424. package/types/helpers/log.d.ts.map +1 -1
  1425. package/types/helpers/matchMedia.d.ts +1 -1
  1426. package/types/helpers/matchMedia.native.d.ts.map +1 -1
  1427. package/types/helpers/mediaState.d.ts +5 -2
  1428. package/types/helpers/mediaState.d.ts.map +1 -1
  1429. package/types/helpers/mergeProps.d.ts +0 -2
  1430. package/types/helpers/mergeProps.d.ts.map +1 -1
  1431. package/types/helpers/mergeVariants.d.ts +1 -1
  1432. package/types/helpers/mergeVariants.d.ts.map +1 -1
  1433. package/types/helpers/nativeOnlyProps.d.ts +0 -1
  1434. package/types/helpers/nativeOnlyProps.d.ts.map +1 -1
  1435. package/types/helpers/nativeStyleEngine.d.ts +77 -0
  1436. package/types/helpers/nativeStyleEngine.d.ts.map +1 -0
  1437. package/types/helpers/nativeTransitionTarget.d.ts +3 -0
  1438. package/types/helpers/nativeTransitionTarget.d.ts.map +1 -0
  1439. package/types/helpers/nativeTransitionTarget.native.d.ts +3 -0
  1440. package/types/helpers/nativeTransitionTarget.native.d.ts.map +1 -0
  1441. package/types/helpers/normalizeColor.d.ts +0 -6
  1442. package/types/helpers/normalizeColor.d.ts.map +1 -1
  1443. package/types/helpers/normalizeColor.native.d.ts.map +1 -1
  1444. package/types/helpers/normalizeShadow.d.ts.map +1 -1
  1445. package/types/helpers/normalizeShadow.native.d.ts.map +1 -1
  1446. package/types/helpers/normalizeStyle.d.ts +2 -2
  1447. package/types/helpers/normalizeStyle.d.ts.map +1 -1
  1448. package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -1
  1449. package/types/helpers/noteOnce.d.ts +2 -0
  1450. package/types/helpers/noteOnce.d.ts.map +1 -0
  1451. package/types/helpers/parseBorderShorthand.native.d.ts +1 -0
  1452. package/types/helpers/parseBorderShorthand.native.d.ts.map +1 -1
  1453. package/types/helpers/parseNativeStyle.native.d.ts +14 -0
  1454. package/types/helpers/parseNativeStyle.native.d.ts.map +1 -0
  1455. package/types/helpers/parseNativeTransform.native.d.ts +2 -0
  1456. package/types/helpers/parseNativeTransform.native.d.ts.map +1 -0
  1457. package/types/helpers/parseOutlineShorthand.native.d.ts.map +1 -1
  1458. package/types/helpers/proxyThemeToParents.d.ts +1 -1
  1459. package/types/helpers/proxyThemeToParents.d.ts.map +1 -1
  1460. package/types/helpers/registerCSSVariable.d.ts +12 -0
  1461. package/types/helpers/registerCSSVariable.d.ts.map +1 -1
  1462. package/types/helpers/resolveAnimationDriver.d.ts +4 -4
  1463. package/types/helpers/resolveAnimationDriver.d.ts.map +1 -1
  1464. package/types/helpers/resolveNativeUnits.d.ts +6 -0
  1465. package/types/helpers/resolveNativeUnits.d.ts.map +1 -0
  1466. package/types/helpers/resolveNativeUnits.native.d.ts +16 -0
  1467. package/types/helpers/resolveNativeUnits.native.d.ts.map +1 -0
  1468. package/types/helpers/resolveRem.native.d.ts +6 -4
  1469. package/types/helpers/resolveRem.native.d.ts.map +1 -1
  1470. package/types/helpers/resolveSafeArea.d.ts +1 -1
  1471. package/types/helpers/resolveSafeArea.d.ts.map +1 -1
  1472. package/types/helpers/resolveSafeArea.native.d.ts +2 -1
  1473. package/types/helpers/resolveSafeArea.native.d.ts.map +1 -1
  1474. package/types/helpers/resolveSafeAreaVariable.d.ts +3 -0
  1475. package/types/helpers/resolveSafeAreaVariable.d.ts.map +1 -0
  1476. package/types/helpers/resolveSafeAreaVariable.native.d.ts +3 -0
  1477. package/types/helpers/resolveSafeAreaVariable.native.d.ts.map +1 -0
  1478. package/types/helpers/resolveVariableValue.d.ts +3 -0
  1479. package/types/helpers/resolveVariableValue.d.ts.map +1 -0
  1480. package/types/helpers/resolveVariantStyle.d.ts +3 -0
  1481. package/types/helpers/resolveVariantStyle.d.ts.map +1 -0
  1482. package/types/helpers/setElementProps.d.ts.map +1 -1
  1483. package/types/helpers/skipProps.d.ts +5 -2
  1484. package/types/helpers/skipProps.d.ts.map +1 -1
  1485. package/types/helpers/sortString.d.ts +1 -1
  1486. package/types/helpers/sortString.d.ts.map +1 -1
  1487. package/types/helpers/splitStyleProps.d.ts +44 -0
  1488. package/types/helpers/splitStyleProps.d.ts.map +1 -0
  1489. package/types/helpers/styleFrontend.d.ts +102 -0
  1490. package/types/helpers/styleFrontend.d.ts.map +1 -0
  1491. package/types/helpers/styleProvenance.d.ts +14 -1
  1492. package/types/helpers/styleProvenance.d.ts.map +1 -1
  1493. package/types/helpers/styleStaticConfig.d.ts +14 -0
  1494. package/types/helpers/styleStaticConfig.d.ts.map +1 -0
  1495. package/types/helpers/styleStaticConfigCore.d.ts +4 -0
  1496. package/types/helpers/styleStaticConfigCore.d.ts.map +1 -0
  1497. package/types/helpers/styleToCSS.d.ts +2 -0
  1498. package/types/helpers/styleToCSS.d.ts.map +1 -0
  1499. package/types/helpers/styleToCSS.native.d.ts +2 -0
  1500. package/types/helpers/styleToCSS.native.d.ts.map +1 -0
  1501. package/types/helpers/styledDynamic.d.ts +18 -0
  1502. package/types/helpers/styledDynamic.d.ts.map +1 -0
  1503. package/types/helpers/subscribeToContextGroup.d.ts +1 -0
  1504. package/types/helpers/subscribeToContextGroup.d.ts.map +1 -1
  1505. package/types/helpers/themeRef.d.ts +22 -0
  1506. package/types/helpers/themeRef.d.ts.map +1 -0
  1507. package/types/helpers/themeUpdateState.d.ts +23 -0
  1508. package/types/helpers/themeUpdateState.d.ts.map +1 -0
  1509. package/types/helpers/themes.d.ts.map +1 -1
  1510. package/types/helpers/tokenCategories.d.ts +4 -0
  1511. package/types/helpers/tokenCategories.d.ts.map +1 -0
  1512. package/types/helpers/transformsToString.d.ts.map +1 -1
  1513. package/types/helpers/variableValue.d.ts +4 -0
  1514. package/types/helpers/variableValue.d.ts.map +1 -0
  1515. package/types/helpers/variables.d.ts +73 -0
  1516. package/types/helpers/variables.d.ts.map +1 -0
  1517. package/types/helpers/warnOnce.d.ts +21 -0
  1518. package/types/helpers/warnOnce.d.ts.map +1 -0
  1519. package/types/helpers/webPropsToSkip.native.d.ts +68 -62
  1520. package/types/helpers/webPropsToSkip.native.d.ts.map +1 -1
  1521. package/types/helpers/wrapStyleTags.d.ts +1 -1
  1522. package/types/helpers/wrapStyleTags.d.ts.map +1 -1
  1523. package/types/hooks/getThemeProxied.d.ts +1 -1
  1524. package/types/hooks/getThemeProxied.d.ts.map +1 -1
  1525. package/types/hooks/isOptimizedForFirstRender.d.ts +2 -0
  1526. package/types/hooks/isOptimizedForFirstRender.d.ts.map +1 -0
  1527. package/types/hooks/isOptimizedForFirstRender.native.d.ts +2 -0
  1528. package/types/hooks/isOptimizedForFirstRender.native.d.ts.map +1 -0
  1529. package/types/hooks/useAnimationDriver.d.ts +7 -0
  1530. package/types/hooks/useAnimationDriver.d.ts.map +1 -0
  1531. package/types/hooks/useComponentState.d.ts +6 -4
  1532. package/types/hooks/useComponentState.d.ts.map +1 -1
  1533. package/types/hooks/useMedia.d.ts +14 -12
  1534. package/types/hooks/useMedia.d.ts.map +1 -1
  1535. package/types/hooks/usePortalThemeState.d.ts +15 -0
  1536. package/types/hooks/usePortalThemeState.d.ts.map +1 -0
  1537. package/types/hooks/useSplitStyles.d.ts +3 -0
  1538. package/types/hooks/useSplitStyles.d.ts.map +1 -0
  1539. package/types/hooks/useStyle.d.ts +4 -0
  1540. package/types/hooks/useStyle.d.ts.map +1 -0
  1541. package/types/hooks/useTheme.d.ts +1 -1
  1542. package/types/hooks/useTheme.d.ts.map +1 -1
  1543. package/types/hooks/useThemeState.d.ts +13 -3
  1544. package/types/hooks/useThemeState.d.ts.map +1 -1
  1545. package/types/index.d.ts +63 -70
  1546. package/types/index.d.ts.map +1 -1
  1547. package/types/inject-styles.d.ts.map +1 -1
  1548. package/types/insertFont.d.ts.map +1 -1
  1549. package/types/interfaces/CSSColorNames.d.ts +2 -1
  1550. package/types/interfaces/CSSColorNames.d.ts.map +1 -1
  1551. package/types/interfaces/RNExclusiveTypes.d.ts +2 -2
  1552. package/types/interfaces/RNExclusiveTypes.d.ts.map +1 -1
  1553. package/types/interfaces/TamaguiComponentEvents.d.ts +0 -1
  1554. package/types/interfaces/TamaguiComponentEvents.d.ts.map +1 -1
  1555. package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts +2 -4
  1556. package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts.map +1 -1
  1557. package/types/internal-runtime.d.ts +56 -0
  1558. package/types/internal-runtime.d.ts.map +1 -0
  1559. package/types/internalRuntimeTypes.d.ts +11 -0
  1560. package/types/internalRuntimeTypes.d.ts.map +1 -0
  1561. package/types/setupHooks.d.ts +1 -1
  1562. package/types/setupHooks.d.ts.map +1 -1
  1563. package/types/setupReactNative.d.ts +2 -3
  1564. package/types/setupReactNative.d.ts.map +1 -1
  1565. package/types/static-resolve.d.ts +79 -0
  1566. package/types/static-resolve.d.ts.map +1 -0
  1567. package/types/style.d.ts +18 -0
  1568. package/types/style.d.ts.map +1 -0
  1569. package/types/styled.d.ts +41 -41
  1570. package/types/styled.d.ts.map +1 -1
  1571. package/types/theme-update.d.ts +3 -0
  1572. package/types/theme-update.d.ts.map +1 -0
  1573. package/types/types.d.ts +616 -315
  1574. package/types/types.d.ts.map +1 -1
  1575. package/types/views/ConfigRevisionCheck.d.ts +6 -0
  1576. package/types/views/ConfigRevisionCheck.d.ts.map +1 -0
  1577. package/types/views/Configuration.d.ts +1 -1
  1578. package/types/views/Configuration.d.ts.map +1 -1
  1579. package/types/views/FontLanguage.d.ts +4 -4
  1580. package/types/views/FontLanguage.d.ts.map +1 -1
  1581. package/types/views/FontLanguage.native.d.ts +2 -1
  1582. package/types/views/FontLanguage.native.d.ts.map +1 -1
  1583. package/types/views/SafeAreaTracker.d.ts +3 -0
  1584. package/types/views/SafeAreaTracker.d.ts.map +1 -0
  1585. package/types/views/SafeAreaTracker.native.d.ts +3 -0
  1586. package/types/views/SafeAreaTracker.native.d.ts.map +1 -0
  1587. package/types/views/Slot.d.ts +7 -7
  1588. package/types/views/Slot.d.ts.map +1 -1
  1589. package/types/views/TamaguiProvider.d.ts +2 -1
  1590. package/types/views/TamaguiProvider.d.ts.map +1 -1
  1591. package/types/views/TamaguiRoot.d.ts +1 -1
  1592. package/types/views/TamaguiRoot.d.ts.map +1 -1
  1593. package/types/views/Text.d.ts +6 -2
  1594. package/types/views/Text.d.ts.map +1 -1
  1595. package/types/views/Theme.d.ts +3 -8
  1596. package/types/views/Theme.d.ts.map +1 -1
  1597. package/types/views/ThemeDebug.d.ts.map +1 -1
  1598. package/types/views/ThemeProvider.d.ts +1 -1
  1599. package/types/views/ThemeProvider.d.ts.map +1 -1
  1600. package/types/views/ThemeUpdate.d.ts +15 -0
  1601. package/types/views/ThemeUpdate.d.ts.map +1 -0
  1602. package/types/views/View.d.ts +8 -2
  1603. package/types/views/View.d.ts.map +1 -1
  1604. package/.turbo/turbo-build.log +0 -2
  1605. package/.turbo/turbo-test$colon$web.log +0 -25
  1606. package/dist/cjs/animationDriverTypes.test-d.cjs +0 -77
  1607. package/dist/cjs/animationDriverTypes.test-d.native.js +0 -80
  1608. package/dist/cjs/animationDriverTypes.test-d.native.js.map +0 -1
  1609. package/dist/cjs/constants/accessibilityDirectMap.cjs +0 -36
  1610. package/dist/cjs/constants/accessibilityDirectMap.native.js +0 -39
  1611. package/dist/cjs/constants/accessibilityDirectMap.native.js.map +0 -1
  1612. package/dist/cjs/helpers/createMediaStyle.cjs +0 -127
  1613. package/dist/cjs/helpers/createMediaStyle.native.js +0 -140
  1614. package/dist/cjs/helpers/createMediaStyle.native.js.map +0 -1
  1615. package/dist/cjs/helpers/getDefaultProps.cjs +0 -43
  1616. package/dist/cjs/helpers/getDefaultProps.native.js +0 -47
  1617. package/dist/cjs/helpers/getDefaultProps.native.js.map +0 -1
  1618. package/dist/cjs/helpers/getFontLanguage.cjs +0 -28
  1619. package/dist/cjs/helpers/getFontLanguage.native.js +0 -33
  1620. package/dist/cjs/helpers/getFontLanguage.native.js.map +0 -1
  1621. package/dist/cjs/helpers/getGroupPropParts.cjs +0 -54
  1622. package/dist/cjs/helpers/getGroupPropParts.native.js +0 -59
  1623. package/dist/cjs/helpers/getGroupPropParts.native.js.map +0 -1
  1624. package/dist/cjs/helpers/getTokenForKey.cjs +0 -174
  1625. package/dist/cjs/helpers/getTokenForKey.native.js +0 -186
  1626. package/dist/cjs/helpers/getTokenForKey.native.js.map +0 -1
  1627. package/dist/cjs/helpers/getVariantExtras.cjs +0 -85
  1628. package/dist/cjs/helpers/getVariantExtras.native.js +0 -89
  1629. package/dist/cjs/helpers/getVariantExtras.native.js.map +0 -1
  1630. package/dist/cjs/helpers/isActivePlatform.cjs +0 -40
  1631. package/dist/cjs/helpers/isActivePlatform.native.js +0 -43
  1632. package/dist/cjs/helpers/isActivePlatform.native.js.map +0 -1
  1633. package/dist/cjs/helpers/isActiveTheme.cjs +0 -31
  1634. package/dist/cjs/helpers/isActiveTheme.native.js +0 -34
  1635. package/dist/cjs/helpers/isActiveTheme.native.js.map +0 -1
  1636. package/dist/cjs/helpers/normalizeStylePropKeys.cjs +0 -28
  1637. package/dist/cjs/helpers/normalizeStylePropKeys.native.js +0 -42
  1638. package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +0 -1
  1639. package/dist/cjs/helpers/parseNativeStyle.cjs +0 -167
  1640. package/dist/cjs/helpers/platformResolveValue.cjs +0 -38
  1641. package/dist/cjs/helpers/platformResolveValue.native.js +0 -74
  1642. package/dist/cjs/helpers/platformResolveValue.native.js.map +0 -1
  1643. package/dist/cjs/helpers/propMapper.cjs +0 -281
  1644. package/dist/cjs/helpers/propMapper.native.js +0 -381
  1645. package/dist/cjs/helpers/propMapper.native.js.map +0 -1
  1646. package/dist/cjs/helpers/proxyThemeVariables.cjs +0 -38
  1647. package/dist/cjs/helpers/proxyThemeVariables.native.js +0 -43
  1648. package/dist/cjs/helpers/proxyThemeVariables.native.js.map +0 -1
  1649. package/dist/cjs/helpers/pseudoDescriptors.cjs +0 -82
  1650. package/dist/cjs/helpers/pseudoDescriptors.native.js +0 -85
  1651. package/dist/cjs/helpers/pseudoDescriptors.native.js.map +0 -1
  1652. package/dist/cjs/helpers/pseudoTransitions.cjs +0 -83
  1653. package/dist/cjs/helpers/pseudoTransitions.native.js +0 -88
  1654. package/dist/cjs/helpers/pseudoTransitions.native.js.map +0 -1
  1655. package/dist/cjs/helpers/resolveCompoundTokens.cjs +0 -41
  1656. package/dist/cjs/helpers/resolveCompoundTokens.native.js +0 -44
  1657. package/dist/cjs/helpers/resolveCompoundTokens.native.js.map +0 -1
  1658. package/dist/cjs/helpers/themeable.cjs +0 -114
  1659. package/dist/cjs/helpers/themeable.native.js +0 -119
  1660. package/dist/cjs/helpers/themeable.native.js.map +0 -1
  1661. package/dist/cjs/helpers/useRenderElement.cjs +0 -53
  1662. package/dist/cjs/helpers/useRenderElement.native.js +0 -60
  1663. package/dist/cjs/helpers/useRenderElement.native.js.map +0 -1
  1664. package/dist/cjs/hooks/useProps.cjs +0 -120
  1665. package/dist/cjs/hooks/useProps.native.js +0 -125
  1666. package/dist/cjs/hooks/useProps.native.js.map +0 -1
  1667. package/dist/cjs/opacityModifier.test-d.cjs +0 -36
  1668. package/dist/cjs/opacityModifier.test-d.native.js +0 -39
  1669. package/dist/cjs/opacityModifier.test-d.native.js.map +0 -1
  1670. package/dist/cjs/styledHtml.test-d.cjs +0 -187
  1671. package/dist/cjs/styledHtml.test-d.native.js +0 -190
  1672. package/dist/cjs/styledHtml.test-d.native.js.map +0 -1
  1673. package/dist/cjs/styledNonStyleProps.test-d.cjs +0 -63
  1674. package/dist/cjs/styledNonStyleProps.test-d.native.js +0 -66
  1675. package/dist/cjs/styledNonStyleProps.test-d.native.js.map +0 -1
  1676. package/dist/esm/animationDriverTypes.test-d.mjs +0 -78
  1677. package/dist/esm/animationDriverTypes.test-d.mjs.map +0 -1
  1678. package/dist/esm/animationDriverTypes.test-d.native.js +0 -78
  1679. package/dist/esm/animationDriverTypes.test-d.native.js.map +0 -1
  1680. package/dist/esm/constants/accessibilityDirectMap.mjs +0 -7
  1681. package/dist/esm/constants/accessibilityDirectMap.mjs.map +0 -1
  1682. package/dist/esm/constants/accessibilityDirectMap.native.js +0 -7
  1683. package/dist/esm/constants/accessibilityDirectMap.native.js.map +0 -1
  1684. package/dist/esm/helpers/createMediaStyle.mjs +0 -100
  1685. package/dist/esm/helpers/createMediaStyle.mjs.map +0 -1
  1686. package/dist/esm/helpers/createMediaStyle.native.js +0 -110
  1687. package/dist/esm/helpers/createMediaStyle.native.js.map +0 -1
  1688. package/dist/esm/helpers/getDefaultProps.mjs +0 -18
  1689. package/dist/esm/helpers/getDefaultProps.mjs.map +0 -1
  1690. package/dist/esm/helpers/getDefaultProps.native.js +0 -19
  1691. package/dist/esm/helpers/getDefaultProps.native.js.map +0 -1
  1692. package/dist/esm/helpers/getFontLanguage.mjs +0 -3
  1693. package/dist/esm/helpers/getFontLanguage.mjs.map +0 -1
  1694. package/dist/esm/helpers/getFontLanguage.native.js +0 -5
  1695. package/dist/esm/helpers/getFontLanguage.native.js.map +0 -1
  1696. package/dist/esm/helpers/getGroupPropParts.mjs +0 -29
  1697. package/dist/esm/helpers/getGroupPropParts.mjs.map +0 -1
  1698. package/dist/esm/helpers/getGroupPropParts.native.js +0 -31
  1699. package/dist/esm/helpers/getGroupPropParts.native.js.map +0 -1
  1700. package/dist/esm/helpers/getTokenForKey.mjs +0 -146
  1701. package/dist/esm/helpers/getTokenForKey.mjs.map +0 -1
  1702. package/dist/esm/helpers/getTokenForKey.native.js +0 -155
  1703. package/dist/esm/helpers/getTokenForKey.native.js.map +0 -1
  1704. package/dist/esm/helpers/getVariantExtras.mjs +0 -59
  1705. package/dist/esm/helpers/getVariantExtras.mjs.map +0 -1
  1706. package/dist/esm/helpers/getVariantExtras.native.js +0 -60
  1707. package/dist/esm/helpers/getVariantExtras.native.js.map +0 -1
  1708. package/dist/esm/helpers/isActivePlatform.mjs +0 -14
  1709. package/dist/esm/helpers/isActivePlatform.mjs.map +0 -1
  1710. package/dist/esm/helpers/isActivePlatform.native.js +0 -14
  1711. package/dist/esm/helpers/isActivePlatform.native.js.map +0 -1
  1712. package/dist/esm/helpers/isActiveTheme.mjs +0 -6
  1713. package/dist/esm/helpers/isActiveTheme.mjs.map +0 -1
  1714. package/dist/esm/helpers/isActiveTheme.native.js +0 -6
  1715. package/dist/esm/helpers/isActiveTheme.native.js.map +0 -1
  1716. package/dist/esm/helpers/normalizeStylePropKeys.mjs +0 -3
  1717. package/dist/esm/helpers/normalizeStylePropKeys.mjs.map +0 -1
  1718. package/dist/esm/helpers/normalizeStylePropKeys.native.js +0 -14
  1719. package/dist/esm/helpers/normalizeStylePropKeys.native.js.map +0 -1
  1720. package/dist/esm/helpers/parseNativeStyle.mjs +0 -142
  1721. package/dist/esm/helpers/parseNativeStyle.mjs.map +0 -1
  1722. package/dist/esm/helpers/platformResolveValue.mjs +0 -13
  1723. package/dist/esm/helpers/platformResolveValue.mjs.map +0 -1
  1724. package/dist/esm/helpers/platformResolveValue.native.js +0 -46
  1725. package/dist/esm/helpers/platformResolveValue.native.js.map +0 -1
  1726. package/dist/esm/helpers/propMapper.mjs +0 -251
  1727. package/dist/esm/helpers/propMapper.mjs.map +0 -1
  1728. package/dist/esm/helpers/propMapper.native.js +0 -350
  1729. package/dist/esm/helpers/propMapper.native.js.map +0 -1
  1730. package/dist/esm/helpers/proxyThemeVariables.mjs +0 -13
  1731. package/dist/esm/helpers/proxyThemeVariables.mjs.map +0 -1
  1732. package/dist/esm/helpers/proxyThemeVariables.native.js +0 -15
  1733. package/dist/esm/helpers/proxyThemeVariables.native.js.map +0 -1
  1734. package/dist/esm/helpers/pseudoDescriptors.mjs +0 -54
  1735. package/dist/esm/helpers/pseudoDescriptors.mjs.map +0 -1
  1736. package/dist/esm/helpers/pseudoDescriptors.native.js +0 -54
  1737. package/dist/esm/helpers/pseudoDescriptors.native.js.map +0 -1
  1738. package/dist/esm/helpers/pseudoTransitions.mjs +0 -57
  1739. package/dist/esm/helpers/pseudoTransitions.mjs.map +0 -1
  1740. package/dist/esm/helpers/pseudoTransitions.native.js +0 -59
  1741. package/dist/esm/helpers/pseudoTransitions.native.js.map +0 -1
  1742. package/dist/esm/helpers/resolveCompoundTokens.mjs +0 -16
  1743. package/dist/esm/helpers/resolveCompoundTokens.mjs.map +0 -1
  1744. package/dist/esm/helpers/resolveCompoundTokens.native.js +0 -16
  1745. package/dist/esm/helpers/resolveCompoundTokens.native.js.map +0 -1
  1746. package/dist/esm/helpers/themeable.mjs +0 -79
  1747. package/dist/esm/helpers/themeable.mjs.map +0 -1
  1748. package/dist/esm/helpers/themeable.native.js +0 -80
  1749. package/dist/esm/helpers/themeable.native.js.map +0 -1
  1750. package/dist/esm/helpers/useRenderElement.mjs +0 -26
  1751. package/dist/esm/helpers/useRenderElement.mjs.map +0 -1
  1752. package/dist/esm/helpers/useRenderElement.native.js +0 -31
  1753. package/dist/esm/helpers/useRenderElement.native.js.map +0 -1
  1754. package/dist/esm/hooks/useProps.mjs +0 -82
  1755. package/dist/esm/hooks/useProps.mjs.map +0 -1
  1756. package/dist/esm/hooks/useProps.native.js +0 -84
  1757. package/dist/esm/hooks/useProps.native.js.map +0 -1
  1758. package/dist/esm/index.js.map +0 -1
  1759. package/dist/esm/index.mjs.map +0 -1
  1760. package/dist/esm/index.native.js.map +0 -1
  1761. package/dist/esm/interfaces/GetRef.mjs.map +0 -1
  1762. package/dist/esm/interfaces/GetRef.native.js.map +0 -1
  1763. package/dist/esm/interfaces/RNExclusiveTypes.mjs.map +0 -1
  1764. package/dist/esm/interfaces/RNExclusiveTypes.native.js.map +0 -1
  1765. package/dist/esm/interfaces/TamaguiComponentEvents.mjs.map +0 -1
  1766. package/dist/esm/interfaces/TamaguiComponentEvents.native.js.map +0 -1
  1767. package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.mjs.map +0 -1
  1768. package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.native.js.map +0 -1
  1769. package/dist/esm/opacityModifier.test-d.mjs +0 -37
  1770. package/dist/esm/opacityModifier.test-d.mjs.map +0 -1
  1771. package/dist/esm/opacityModifier.test-d.native.js +0 -37
  1772. package/dist/esm/opacityModifier.test-d.native.js.map +0 -1
  1773. package/dist/esm/styledHtml.test-d.mjs +0 -188
  1774. package/dist/esm/styledHtml.test-d.mjs.map +0 -1
  1775. package/dist/esm/styledHtml.test-d.native.js +0 -188
  1776. package/dist/esm/styledHtml.test-d.native.js.map +0 -1
  1777. package/dist/esm/styledNonStyleProps.test-d.mjs +0 -64
  1778. package/dist/esm/styledNonStyleProps.test-d.mjs.map +0 -1
  1779. package/dist/esm/styledNonStyleProps.test-d.native.js +0 -64
  1780. package/dist/esm/styledNonStyleProps.test-d.native.js.map +0 -1
  1781. package/dist/esm/type-utils.mjs.map +0 -1
  1782. package/dist/esm/type-utils.native.js.map +0 -1
  1783. package/src/animationDriverTypes.test-d.ts +0 -332
  1784. package/src/constants/accessibilityDirectMap.native.tsx +0 -10
  1785. package/src/constants/accessibilityDirectMap.tsx +0 -11
  1786. package/src/helpers/createMediaStyle.ts +0 -167
  1787. package/src/helpers/getDefaultProps.ts +0 -28
  1788. package/src/helpers/getFontLanguage.ts +0 -2
  1789. package/src/helpers/getGroupPropParts.ts +0 -46
  1790. package/src/helpers/getTokenForKey.ts +0 -236
  1791. package/src/helpers/getVariantExtras.tsx +0 -68
  1792. package/src/helpers/isActivePlatform.ts +0 -43
  1793. package/src/helpers/isActiveTheme.ts +0 -4
  1794. package/src/helpers/normalizeStylePropKeys.native.ts +0 -12
  1795. package/src/helpers/normalizeStylePropKeys.ts +0 -3
  1796. package/src/helpers/parseNativeStyle.ts +0 -193
  1797. package/src/helpers/platformResolveValue.native.ts +0 -75
  1798. package/src/helpers/platformResolveValue.ts +0 -26
  1799. package/src/helpers/propMapper.ts +0 -459
  1800. package/src/helpers/proxyThemeVariables.tsx +0 -13
  1801. package/src/helpers/pseudoDescriptors.ts +0 -74
  1802. package/src/helpers/pseudoTransitions.ts +0 -97
  1803. package/src/helpers/resolveCompoundTokens.ts +0 -28
  1804. package/src/helpers/themeable.tsx +0 -104
  1805. package/src/helpers/useRenderElement.tsx +0 -73
  1806. package/src/hooks/useProps.tsx +0 -158
  1807. package/src/opacityModifier.test-d.ts +0 -65
  1808. package/src/styledHtml.test-d.ts +0 -286
  1809. package/src/styledNonStyleProps.test-d.ts +0 -106
  1810. package/tsconfig.json +0 -44
  1811. package/tsconfig.test.json +0 -9
  1812. package/types/constants/accessibilityDirectMap.d.ts +0 -6
  1813. package/types/constants/accessibilityDirectMap.d.ts.map +0 -1
  1814. package/types/constants/accessibilityDirectMap.native.d.ts +0 -6
  1815. package/types/constants/accessibilityDirectMap.native.d.ts.map +0 -1
  1816. package/types/helpers/createMediaStyle.d.ts +0 -5
  1817. package/types/helpers/createMediaStyle.d.ts.map +0 -1
  1818. package/types/helpers/getDefaultProps.d.ts +0 -3
  1819. package/types/helpers/getDefaultProps.d.ts.map +0 -1
  1820. package/types/helpers/getFontLanguage.d.ts +0 -2
  1821. package/types/helpers/getFontLanguage.d.ts.map +0 -1
  1822. package/types/helpers/getGroupPropParts.d.ts +0 -7
  1823. package/types/helpers/getGroupPropParts.d.ts.map +0 -1
  1824. package/types/helpers/getTokenForKey.d.ts +0 -6
  1825. package/types/helpers/getTokenForKey.d.ts.map +0 -1
  1826. package/types/helpers/getVariantExtras.d.ts +0 -4
  1827. package/types/helpers/getVariantExtras.d.ts.map +0 -1
  1828. package/types/helpers/isActivePlatform.d.ts +0 -16
  1829. package/types/helpers/isActivePlatform.d.ts.map +0 -1
  1830. package/types/helpers/isActiveTheme.d.ts +0 -2
  1831. package/types/helpers/isActiveTheme.d.ts.map +0 -1
  1832. package/types/helpers/normalizeStylePropKeys.d.ts +0 -2
  1833. package/types/helpers/normalizeStylePropKeys.d.ts.map +0 -1
  1834. package/types/helpers/normalizeStylePropKeys.native.d.ts +0 -13
  1835. package/types/helpers/normalizeStylePropKeys.native.d.ts.map +0 -1
  1836. package/types/helpers/parseNativeStyle.d.ts +0 -14
  1837. package/types/helpers/parseNativeStyle.d.ts.map +0 -1
  1838. package/types/helpers/platformResolveValue.d.ts +0 -6
  1839. package/types/helpers/platformResolveValue.d.ts.map +0 -1
  1840. package/types/helpers/platformResolveValue.native.d.ts +0 -7
  1841. package/types/helpers/platformResolveValue.native.d.ts.map +0 -1
  1842. package/types/helpers/propMapper.d.ts +0 -5
  1843. package/types/helpers/propMapper.d.ts.map +0 -1
  1844. package/types/helpers/proxyThemeVariables.d.ts +0 -2
  1845. package/types/helpers/proxyThemeVariables.d.ts.map +0 -1
  1846. package/types/helpers/pseudoDescriptors.d.ts +0 -51
  1847. package/types/helpers/pseudoDescriptors.d.ts.map +0 -1
  1848. package/types/helpers/pseudoTransitions.d.ts +0 -29
  1849. package/types/helpers/pseudoTransitions.d.ts.map +0 -1
  1850. package/types/helpers/resolveCompoundTokens.d.ts +0 -9
  1851. package/types/helpers/resolveCompoundTokens.d.ts.map +0 -1
  1852. package/types/helpers/themeable.d.ts +0 -3
  1853. package/types/helpers/themeable.d.ts.map +0 -1
  1854. package/types/helpers/useRenderElement.d.ts +0 -13
  1855. package/types/helpers/useRenderElement.d.ts.map +0 -1
  1856. package/types/hooks/useProps.d.ts +0 -41
  1857. package/types/hooks/useProps.d.ts.map +0 -1
  1858. package/vitest.config.d.ts +0 -3
  1859. package/vitest.config.d.ts.map +0 -1
  1860. package/vitest.config.ts +0 -14
package/src/types.tsx CHANGED
@@ -1,19 +1,24 @@
1
1
  import type { StyleObject } from '@tamagui/helpers'
2
+ import type {
3
+ CoreStateModifierName,
4
+ TransformAccumulator,
5
+ } from '@tamagui/style-grammar/runtime'
2
6
  import type { Properties } from 'csstype'
3
7
  import type {
4
8
  CSSProperties,
5
9
  ComponentType,
6
10
  Context,
7
- ForwardRefExoticComponent,
8
- ForwardRefRenderFunction,
11
+ Dispatch,
9
12
  FunctionComponent,
10
13
  HTMLAttributes,
11
14
  ProviderExoticComponent,
15
+ Ref as ReactRef,
12
16
  ReactNode,
13
- RefAttributes,
14
17
  RefObject,
18
+ SetStateAction,
15
19
  } from 'react'
16
20
  import type {
21
+ FontVariant,
17
22
  PressableProps,
18
23
  Text as RNText,
19
24
  TextStyle as RNTextStyle,
@@ -21,8 +26,10 @@ import type {
21
26
  View,
22
27
  ViewProps,
23
28
  ViewStyle,
24
- } from 'react-native'
29
+ } from '@tamagui/react-native-types'
25
30
 
31
+ import type { NativeStyleEngineLinkHandle } from './helpers/nativeStyleEngine'
32
+ import type { StyleFrontend } from './helpers/styleFrontend'
26
33
  import type { CSSColorNames } from './interfaces/CSSColorNames'
27
34
  import type { RNOnlyProps } from './interfaces/RNExclusiveTypes'
28
35
 
@@ -52,6 +59,13 @@ export type ColorKeys =
52
59
  | 'borderInlineColor'
53
60
  | 'borderInlineStartColor'
54
61
  | 'borderInlineEndColor'
62
+ // these four resolve theme colors at runtime (tokenCategories.color in
63
+ // @tamagui/helpers) and were missing here, so they typechecked via
64
+ // `(string & {})` while offering no token autocomplete at all
65
+ | 'borderEndColor'
66
+ | 'borderStartColor'
67
+ | 'textDecorationColor'
68
+ | 'caretColor'
55
69
 
56
70
  export type SpaceKeys =
57
71
  | 'space'
@@ -127,9 +141,13 @@ export type SpaceKeys =
127
141
  | 'borderInlineStartWidth'
128
142
  | 'borderInlineEndWidth'
129
143
 
130
- export type StyledContext<Props extends Record<string, any> = any> = Context<Props> & {
144
+ export type StyledContext<
145
+ Props extends Record<string, any> = any,
146
+ ConsumedKeys extends keyof Props & string = keyof Props & string,
147
+ > = Context<Props> & {
131
148
  context: Context<Props>
132
149
  props: Record<string, any> | undefined
150
+ propKeys?: readonly ConsumedKeys[]
133
151
  Provider: ProviderExoticComponent<
134
152
  Partial<Props | undefined> & {
135
153
  children?: ReactNode
@@ -140,6 +158,14 @@ export type StyledContext<Props extends Record<string, any> = any> = Context<Pro
140
158
  useStyledContext: (scope?: string) => Props
141
159
  }
142
160
 
161
+ export type StyledContextOptions<
162
+ Props extends Record<string, any>,
163
+ ConsumedKeys extends keyof Props & string = keyof Props & string,
164
+ > = {
165
+ keys?: readonly ConsumedKeys[]
166
+ namespace?: string
167
+ }
168
+
143
169
  export type TamaguiComponentState = {
144
170
  unmounted: boolean | 'should-enter'
145
171
  disabled?: boolean
@@ -263,11 +289,6 @@ export type TamaguiComponentPropsBaseBase = {
263
289
  */
264
290
  themeShallow?: boolean
265
291
 
266
- /**
267
- * If true, component themes will not be applied
268
- */
269
- unstyled?: boolean
270
-
271
292
  /**
272
293
  * Same as the web id property for setting a uid on an element
273
294
  */
@@ -300,18 +321,23 @@ export type TamaguiComponentPropsBaseBase = {
300
321
  * Marks this component as a group for use in styling children based on parents named group
301
322
  * See: https://tamagui.dev/docs/intro/props
302
323
  */
303
- group?: GroupNames | boolean
324
+ group?: GroupNames | (string & {}) | boolean
304
325
 
305
326
  /**
306
- * Works only alongside group, when children of the group are using container based sizing on native you can hide them until parent is measured.
307
- * See: https://tamagui.dev/docs/intro/props
327
+ * Marks this component as an inline-size query container. A string names the
328
+ * container for matching `@sm/name:` clauses.
308
329
  */
309
- untilMeasured?: 'hide' | 'show'
330
+ container?: boolean | (string & {})
310
331
 
311
332
  /**
312
- * Equivalent to "name" property on styled() for automatically applying a theme
333
+ * Works alongside container. On native, children using container sizing can
334
+ * be hidden until the parent is measured.
335
+ * See: https://tamagui.dev/docs/intro/props
313
336
  */
314
- componentName?: string
337
+ untilMeasured?: 'hide' | 'show'
338
+
339
+ /** web: forwards to the HTML name attribute. */
340
+ name?: string
315
341
 
316
342
  /**
317
343
  * Used for controlling the order of focus with keyboard or assistive device enavigation
@@ -329,6 +355,13 @@ export type TamaguiComponentPropsBaseBase = {
329
355
  */
330
356
  disableOptimization?: boolean
331
357
 
358
+ /**
359
+ * Opt this component out of the experimental native style fast path
360
+ * (setNativeStyleEngine); it re-renders through React on theme/media
361
+ * changes like normal
362
+ */
363
+ disableNativeStyle?: boolean
364
+
332
365
  /**
333
366
  * Forces the pseudo style state to be on
334
367
  */
@@ -414,7 +447,7 @@ export interface WebOnlyPressEvents {
414
447
 
415
448
  export type { MediaStyleObject, StyleObject } from '@tamagui/helpers'
416
449
 
417
- type FontFamilies = FontTokens extends `$${infer Token}` ? Token : never
450
+ type FontFamilies = FontTokens
418
451
 
419
452
  export type LanguageContextType = Partial<{
420
453
  [key in FontFamilies]: FontLanguages | 'default'
@@ -427,12 +460,13 @@ export type FontLanguageProps = LanguageContextType & {
427
460
  export type ThemeProviderProps = {
428
461
  className?: string
429
462
  defaultTheme: string | null | undefined
430
- /** @deprecated moved to createTamagui({ settings: { disableRootThemeClass } }) */
431
- disableRootThemeClass?: boolean
432
- /** @deprecated moved to createTamagui({ settings: { themeClassNameOnRoot } }) */
433
- themeClassNameOnRoot?: boolean
434
463
  children?: any
435
- reset?: boolean
464
+ /**
465
+ * This provider is mounted inside a page it does not own, so it must not write
466
+ * its theme class onto `html` or `body`. Its theme class goes on its own node
467
+ * instead. Set by the generated zero-runtime island entry.
468
+ */
469
+ isSubtreeRoot?: boolean
436
470
  }
437
471
 
438
472
  export type ThemeState = {
@@ -451,6 +485,12 @@ export type ThemeState = {
451
485
  isNew?: boolean
452
486
  parentId?: string
453
487
  scheme?: 'light' | 'dark'
488
+ // true when a `<Theme name="light_blue">` at or above this state named its
489
+ // scheme outright, rather than inheriting the scheme from the root. Only such
490
+ // a state may emit the scheme-qualified `t_light_blue` class; everything else
491
+ // stays scheme-relative so server output renders correctly under either root
492
+ // scheme. Cumulative: once an ancestor pins, descendants stay pinned.
493
+ schemeAuthored?: boolean
454
494
  }
455
495
 
456
496
  export interface Variable<A = any> {
@@ -474,8 +514,6 @@ export interface PxValue {
474
514
 
475
515
  export type ColorScheme = 'light' | 'dark'
476
516
 
477
- export type IsMediaType = boolean | 'platform' | 'theme' | 'group'
478
-
479
517
  export type MaybeTamaguiComponent<A = any> = TamaguiComponent<A> | React.FC<A>
480
518
 
481
519
  type MeasureOnSuccessCallback = (
@@ -567,12 +605,12 @@ export type TamaguiProjectInfo = {
567
605
  nameToPaths: NameToPaths
568
606
  }
569
607
 
570
- // base props that are accepted by createComponent (additional to react-native-web)
608
+ // base props accepted by createComponent in addition to the selected host's props
571
609
 
572
610
  export type DivAttributes = HTMLAttributes<HTMLDivElement>
573
611
 
574
- export type ReactComponentWithRef<Props, Ref> = ForwardRefExoticComponent<
575
- Props & RefAttributes<Ref>
612
+ export type ReactComponentWithRef<Props, Ref> = ComponentType<
613
+ Props & { ref?: ReactRef<Ref> }
576
614
  >
577
615
 
578
616
  // needs to be cb style for subscribeToContextGroup to be able to poke through to last state
@@ -580,6 +618,8 @@ export type ComponentSetStateShallow = React.Dispatch<
580
618
  React.SetStateAction<Partial<TamaguiComponentState>>
581
619
  >
582
620
 
621
+ export type ComponentSetState = Dispatch<SetStateAction<TamaguiComponentState>>
622
+
583
623
  export type ComponentContextI = {
584
624
  disableSSR?: boolean
585
625
  inText: boolean
@@ -593,12 +633,22 @@ export type ComponentContextI = {
593
633
 
594
634
  export type TamaguiComponentStateRef = {
595
635
  startedUnhydrated: boolean
636
+ optimizeForFirstRender?: boolean
596
637
 
597
638
  host?: TamaguiElement
598
639
  composedRef?: (x: TamaguiElement) => void
640
+ // the forwarded ref composedRef writes to right now, read at attach time so the
641
+ // cached callback never pins the first render's ref
642
+ composedForwardedRef?: React.Ref<TamaguiElement>
643
+ // the forwarded ref composedRef last handed the host to, so a swap can be
644
+ // detected without a render-phase "previous" pointer (see createComponent)
645
+ attachedForwardedRef?: React.Ref<TamaguiElement>
599
646
  willHydrate?: boolean
600
647
  hasMeasured?: boolean
601
648
  hasAnimated?: boolean
649
+ shouldRegisterPresence?: boolean
650
+ didFinalizeInitialStyleFrame?: boolean
651
+ initialStyleFrameUnmounted?: TamaguiComponentState['unmounted']
602
652
  themeShallow?: boolean
603
653
  hasEverThemed?: boolean | 'wrapped'
604
654
  hasEverResetPresence?: boolean
@@ -607,10 +657,12 @@ export type TamaguiComponentStateRef = {
607
657
  isListeningToTheme?: boolean
608
658
  unPress?: Function
609
659
  setStateShallow?: ComponentSetStateShallow
660
+ setState?: ComponentSetState
610
661
  // hoisted base shallow-setter that always calls the real React setState.
611
662
  // kept on its own field so the avoidReRenders wrapper (which overwrites
612
663
  // `setStateShallow`) can capture this as its real-re-render escape hatch.
613
664
  baseSetStateShallow?: ComponentSetStateShallow
665
+ themeNeedsUpdate?: () => boolean
614
666
  useStyleListener?: UseStyleListener
615
667
  updateStyleListener?: () => void
616
668
 
@@ -622,6 +674,10 @@ export type TamaguiComponentStateRef = {
622
674
  nextState?: TamaguiComponentState
623
675
  nextMedia?: UseMediaState
624
676
 
677
+ // avoidReRenders latched on first render (animationDriver derives from the
678
+ // per-render animatedBy prop; hooks gated on it must keep a stable count)
679
+ avoidReRenders?: boolean
680
+
625
681
  // cleanup function for media emit listener
626
682
  mediaEmitCleanup?: () => void
627
683
 
@@ -632,6 +688,32 @@ export type TamaguiComponentStateRef = {
632
688
  focus?: boolean
633
689
  groups?: Record<string, { hover?: boolean; press?: boolean; focus?: boolean }>
634
690
  }
691
+
692
+ // native fast path (experimental): engine link handle for the host view,
693
+ // the per-render themed-style updater, its stable proxy handed to
694
+ // useThemeState, and the set of theme names already pushed to the engine
695
+ // since the last render (reset every render, so cached native state props
696
+ // can never outlive the props/state that produced them)
697
+ nativeLink?: NativeStyleEngineLinkHandle | null
698
+ nativeStyleUpdate?: (next: ThemeState) => boolean
699
+ nativeUpdateProxy?: (next: ThemeState) => boolean
700
+ nativePushedStates?: Set<string>
701
+ // the state name currently committed for this view (by the render or the
702
+ // last intercepted update): an update resolving to the same name is a no-op
703
+ nativeActiveState?: string
704
+ // media interception: recompute styles under the current theme when a
705
+ // relevant media key flips (useMedia's subscription calls this before
706
+ // forcing a re-render, passing that re-render as the miss fallback);
707
+ // recomputes coalesce per event turn via nativeMediaQueued, and
708
+ // nativeThemeState tracks the last theme handled natively so the recompute
709
+ // uses it instead of the stale render capture
710
+ nativeMediaUpdate?: (onMiss?: () => void) => boolean
711
+ nativeMediaQueued?: boolean
712
+ nativeThemeState?: ThemeState
713
+ // union of style keys pushed to the engine since link: keys present before
714
+ // but absent from the next push are sent as null (reset-to-default),
715
+ // matching what a real re-render's style diff would do
716
+ nativePushedKeys?: Set<string>
635
717
  }
636
718
 
637
719
  export type ComponentGroupEmitter = {
@@ -648,6 +730,7 @@ export type WidthHeight = {
648
730
  export type ChildGroupState = {
649
731
  pseudo?: PseudoGroupState
650
732
  media?: Record<MediaQueryKey extends number ? never : MediaQueryKey, boolean>
733
+ layout?: WidthHeight
651
734
  }
652
735
 
653
736
  export type ComponentGroupState = {
@@ -698,6 +781,13 @@ export type ConfigListener = (conf: TamaguiInternalConfig) => void
698
781
  export type VariableVal = number | string | Variable | VariableValGeneric | PxValue
699
782
  export type VariableColorVal = string | Variable
700
783
 
784
+ // values accepted by createTamagui({ variables }) and inline <Theme> props
785
+ export type VariableValIn = string | number | PxValue
786
+
787
+ export type GenericVariables = {
788
+ [key: string]: VariableValIn | { light: VariableValIn; dark: VariableValIn }
789
+ }
790
+
701
791
  type GenericKey = string
702
792
 
703
793
  export type CreateTokens<Val extends VariableVal = VariableVal> = Record<
@@ -843,7 +933,7 @@ export type CreateTamaguiConfig<
843
933
  // Support both single driver and multi-driver config
844
934
  // Multi-driver: { default: cssDriver, spring: motiDriver }
845
935
  // Single: AnimationDriver<E>
846
- animations: AnimationDriver<E> | AnimationsConfigObject
936
+ animations: AnimationDriverLike<E> | AnimationsConfigObject
847
937
  // phantom type for preserving driver keys - never set at runtime, only for type inference
848
938
  animationDriverKeys?: AnimDriverKeys
849
939
  settings: H
@@ -873,7 +963,7 @@ type GetLanguagePostfixes<F extends GenericFonts> = GetLanguagePostfix<keyof F>
873
963
  // body_en: any
874
964
  // }>['fonts']
875
965
 
876
- type ConfProps<A, B, C, D, E, F, I> = {
966
+ type ConfProps<A, B, C, D, E, F, I, V = undefined> = {
877
967
  tokens?: A
878
968
  themes?: B
879
969
  shorthands?: C
@@ -881,8 +971,25 @@ type ConfProps<A, B, C, D, E, F, I> = {
881
971
  animations?: E
882
972
  fonts?: F
883
973
  settings?: I
974
+ variables?: V
884
975
  }
885
976
 
977
+ // config-declared custom variables become keys on every base theme, so they
978
+ // flow into ThemeKeys/ThemeParsed and theme-value autocompletion with no separate
979
+ // augmentation surface
980
+ type VariableValInScheme<V> = V extends { light: infer L } ? L : V
981
+ type ThemesWithVariables<B, V> = [V] extends [undefined]
982
+ ? B
983
+ : [keyof V] extends [never]
984
+ ? B
985
+ : {
986
+ [N in keyof B]: B[N] & {
987
+ [K in keyof V & string]: VariableValInScheme<V[K]> extends PxValue
988
+ ? number
989
+ : VariableValInScheme<V[K]>
990
+ }
991
+ }
992
+
886
993
  type EmptyTokens = {
887
994
  color: {}
888
995
  space: {}
@@ -898,14 +1005,13 @@ type EmptyFonts = {}
898
1005
 
899
1006
  type EmptyTamaguiSettings = {
900
1007
  allowedStyleValues: false
901
- autocompleteSpecificTokens: 'except-special'
902
1008
  }
903
1009
 
904
1010
  // Helper to extract animation config from AnimationDriver<Config> or multi-driver object
905
1011
  type ExtractAnimationConfig<E> =
906
- E extends AnimationDriver<infer Config>
1012
+ E extends AnimationDriverLike<infer Config>
907
1013
  ? Config
908
- : E extends { default: AnimationDriver<infer Config> }
1014
+ : E extends { default: AnimationDriverLike<infer Config> }
909
1015
  ? Config
910
1016
  : E extends GenericAnimations
911
1017
  ? E
@@ -915,24 +1021,40 @@ type ExtractAnimationConfig<E> =
915
1021
  // Single driver: returns 'default'
916
1022
  // Multi-driver { default: x, css: y }: returns 'default' | 'css'
917
1023
  type ExtractAnimationDriverKeys<E> =
918
- E extends AnimationDriver<any>
1024
+ E extends AnimationDriverLike<any>
919
1025
  ? 'default'
920
- : E extends { default: AnimationDriver<any> }
1026
+ : E extends { default: AnimationDriverLike<any> }
921
1027
  ? Extract<keyof E, string>
922
1028
  : 'default'
923
1029
 
924
1030
  export type InferTamaguiConfig<Conf> =
925
- Conf extends ConfProps<infer A, infer B, infer C, infer D, infer E, infer F, infer H>
926
- ? TamaguiInternalConfig<
927
- A extends GenericTokens ? A : EmptyTokens,
928
- B extends GenericThemes ? B : EmptyThemes,
929
- C extends GenericShorthands ? C : EmptyShorthands,
930
- D extends GenericMedia ? D : EmptyMedia,
931
- ExtractAnimationConfig<E>,
932
- F extends GenericFonts ? F : EmptyFonts,
933
- H extends GenericTamaguiSettings ? H : EmptyTamaguiSettings,
934
- ExtractAnimationDriverKeys<E>
935
- >
1031
+ Conf extends ConfProps<
1032
+ infer A,
1033
+ infer B,
1034
+ infer C,
1035
+ infer D,
1036
+ infer E,
1037
+ infer F,
1038
+ infer H,
1039
+ infer V
1040
+ >
1041
+ ? Omit<
1042
+ TamaguiInternalConfig<
1043
+ A extends GenericTokens ? A : EmptyTokens,
1044
+ B extends GenericThemes ? ThemesWithVariables<B, V> : EmptyThemes,
1045
+ C extends GenericShorthands ? C : EmptyShorthands,
1046
+ D extends GenericMedia ? D : EmptyMedia,
1047
+ ExtractAnimationConfig<E>,
1048
+ F extends GenericFonts ? F : EmptyFonts,
1049
+ H extends GenericTamaguiSettings ? H : EmptyTamaguiSettings,
1050
+ ExtractAnimationDriverKeys<E>
1051
+ >,
1052
+ 'sizes'
1053
+ > &
1054
+ // keep the literal size names so `size="md"` autocompletes and
1055
+ // `SizeName` stays a union: intersecting with the GenericSizes index
1056
+ // signature would fold the names back into string
1057
+ (Conf extends { sizes: infer S } ? { sizes: S } : { sizes?: GenericSizes })
936
1058
  : unknown
937
1059
 
938
1060
  // for use in creation functions so it doesnt get overwritten
@@ -946,12 +1068,14 @@ export type GenericTamaguiConfig = CreateTamaguiConfig<
946
1068
  >
947
1069
 
948
1070
  // try and find the top level types as they can be supersets:
949
- type NonSubThemeNames<A extends string | number> = A extends `${string}_${string}`
950
- ? never
951
- : A
952
- type BaseThemeDefinitions = TamaguiConfig['themes'][NonSubThemeNames<
953
- keyof TamaguiConfig['themes']
954
- >]
1071
+ export type RootThemeName<TK extends keyof Themes = keyof Themes> = TK extends string
1072
+ ? string extends TK
1073
+ ? never
1074
+ : TK extends `${string}_${string}`
1075
+ ? never
1076
+ : TK
1077
+ : never
1078
+ type BaseThemeDefinitions = TamaguiConfig['themes'][RootThemeName]
955
1079
  type GenericThemeDefinition = TamaguiConfig['themes'][keyof TamaguiConfig['themes']]
956
1080
  export type ThemeDefinition = BaseThemeDefinitions extends never
957
1081
  ? GenericThemeDefinition
@@ -961,32 +1085,41 @@ export type ThemeParsed = {
961
1085
  [key in ThemeKeys]: CoerceToVariable<ThemeDefinition[key]>
962
1086
  }
963
1087
 
1088
+ /**
1089
+ * Prop names `<Theme>` owns. Inline values are authored on `<ThemeUpdate>`.
1090
+ */
1091
+ export type ReservedThemePropName =
1092
+ | '_isRoot'
1093
+ | 'children'
1094
+ | 'className'
1095
+ | 'contain'
1096
+ | 'debug'
1097
+ | 'deopt'
1098
+ | 'disable'
1099
+ | 'disable-child-theme'
1100
+ | 'forceClassName'
1101
+ | '_themeUpdate'
1102
+ | 'name'
1103
+ | 'nativeUpdate'
1104
+ | 'needsUpdate'
1105
+ | 'passThrough'
1106
+ | 'shallow'
1107
+
964
1108
  export type Tokens = TamaguiConfig['tokens']
965
1109
 
966
1110
  export type TokensParsed = {
967
- [Key in keyof Required<Tokens>]: TokenPrefixed<Tokens[Key]>
1111
+ [Key in keyof Required<Tokens>]: TokenifyRecord<NonNullable<Tokens[Key]>>
968
1112
  }
969
1113
 
970
- type TokenPrefixed<A extends { [key: string]: any }> = {
971
- [Key in Ensure$Prefix<keyof A> | keyof A]: A[keyof A]
972
- }
973
-
974
- type Ensure$Prefix<A extends string | number | symbol> = A extends
975
- | string
976
- | number
977
- | boolean
978
- ? A extends `$${string | number}`
979
- ? A
980
- : `$${A}`
981
- : never
982
-
983
- export type TokensMerged = TokensParsed & Tokens
984
-
985
1114
  export type Shorthands = TamaguiConfig['shorthands']
986
1115
  export type Media = TamaguiConfig['media']
987
1116
  export type Themes = TamaguiConfig['themes']
988
- export type ThemeName = Exclude<GetAltThemeNames<keyof Themes>, number>
989
- export type ThemeTokens = `$${ThemeKeys}`
1117
+ type BuiltInSubThemeName = 'inverse'
1118
+ export type ThemeName = Exclude<
1119
+ GetAltThemeNames<keyof Themes> | BuiltInSubThemeName,
1120
+ number
1121
+ >
1122
+ export type ThemeTokens = GetTokenString<ThemeKeys>
990
1123
  // Animation names (slow, fast, bouncy) for the `transition` prop
991
1124
  // Extract animation keys from the driver's `animations` property
992
1125
  // The AnimationDriver<Config> has an `animations: Config` property
@@ -1032,9 +1165,7 @@ export type FontLanguages = ArrayIntersection<TamaguiConfig['fontLanguages']>
1032
1165
  export interface ThemeProps {
1033
1166
  className?: string
1034
1167
  name?: Exclude<ThemeName, number> | null
1035
- componentName?: string
1036
1168
  children?: any
1037
- reset?: boolean
1038
1169
  debug?: DebugProp
1039
1170
  // on the web, for portals we need to re-insert className
1040
1171
  forceClassName?: boolean
@@ -1049,7 +1180,14 @@ export type UseThemeWithStateProps = ThemeProps & {
1049
1180
  passThrough?: boolean
1050
1181
  disable?: boolean
1051
1182
  needsUpdate?: () => boolean
1052
- unstyled?: boolean
1183
+ /** opaque internal value patch created by `<ThemeUpdate>` */
1184
+ _themeUpdate?: import('./helpers/themeUpdateState').ThemeUpdateState
1185
+ /**
1186
+ * native fast path (experimental): called on a theme update instead of
1187
+ * re-rendering; return true when the update was committed natively so the
1188
+ * re-render is skipped. never called for forced updates.
1189
+ */
1190
+ nativeUpdate?: (next: ThemeState) => boolean
1053
1191
  }
1054
1192
 
1055
1193
  type ArrayIntersection<A extends any[]> = A[keyof A]
@@ -1082,8 +1220,6 @@ type AllowedStyleValuesSetting =
1082
1220
  | AllowedValueSettingBase
1083
1221
  | AllowedStyleValuesSettingPerCategory
1084
1222
 
1085
- type AutocompleteSpecificTokensSetting = boolean | 'except-special'
1086
-
1087
1223
  export interface GenericTamaguiSettings {
1088
1224
  /**
1089
1225
  * controls style semantics where React Native/Yoga and CSS differ.
@@ -1137,20 +1273,6 @@ export interface GenericTamaguiSettings {
1137
1273
  */
1138
1274
  allowedStyleValues?: AllowedStyleValuesSetting
1139
1275
 
1140
- /**
1141
- * Set up if "specific tokens" ($color.name) are added to the types where
1142
- * tokens are allowed. The VSCode autocomplete puts specific tokens above the
1143
- * regular ones, which leads to worse DX. If true this setting removes the
1144
- * specific token from types for the defined categories.
1145
- *
1146
- * If set to "except-special", specific tokens will autocomplete only if they
1147
- * don't normally use one of the special token groups: space, size, radius,
1148
- * zIndex, color.
1149
- *
1150
- * @default except-special
1151
- */
1152
- autocompleteSpecificTokens?: AutocompleteSpecificTokensSetting
1153
-
1154
1276
  /**
1155
1277
  * On iOS, this enables a mode where Tamagui returns color values using
1156
1278
  * `DynamicColorIOS` This is a React Native built in feature, you can read the
@@ -1172,17 +1294,25 @@ export interface GenericTamaguiSettings {
1172
1294
  fastSchemeChange?: boolean
1173
1295
 
1174
1296
  /**
1175
- * On Web, this allows changing the behavior of container groups which by
1176
- * default uses `container-type: inline-size`.
1297
+ * Chooses whether Tamagui optimizes component renders for granular updates or
1298
+ * for the lowest first-render overhead.
1299
+ *
1300
+ * - "updates" tracks the theme and media keys each component reads so changes
1301
+ * only re-render consumers of those values.
1302
+ * - "first-render" skips per-key tracking and uses coarse theme and media
1303
+ * subscriptions. Theme and media changes still apply, but may re-render
1304
+ * every Tamagui component under the changed provider.
1305
+ *
1306
+ * This is a startup-level setting. Set it when creating the Tamagui config
1307
+ * and do not change it while the app is running.
1308
+ *
1309
+ * Defaults per platform: web defaults to "updates" (granular theme/media
1310
+ * changes matter most), native defaults to "first-render" (initial render
1311
+ * speed matters most, and full-tree re-renders are cheaper without the DOM).
1312
+ *
1313
+ * @default "updates" on web, "first-render" on native
1177
1314
  */
1178
- webContainerType?:
1179
- | 'normal'
1180
- | 'size'
1181
- | 'inline-size'
1182
- | 'inherit'
1183
- | 'initial'
1184
- | 'revert'
1185
- | 'revert-layer'
1315
+ optimizeFor?: 'updates' | 'first-render'
1186
1316
 
1187
1317
  /**
1188
1318
  * Only allow shorthands when enabled. Recommended to be true to avoid having
@@ -1190,6 +1320,18 @@ export interface GenericTamaguiSettings {
1190
1320
  */
1191
1321
  onlyAllowShorthands?: boolean | undefined
1192
1322
 
1323
+ /**
1324
+ * Restrict conditional style values to one syntax. Flat values accept both
1325
+ * the string form (`bg="red hover:blue"`) and the object form
1326
+ * (`bg={{ base: 'red', hover: 'blue' }}`); set this to keep one of them,
1327
+ * which narrows the types, makes the runtime warn on the other in
1328
+ * development, and tells `tamagui generate-prompt` and the skills to only
1329
+ * show that form.
1330
+ *
1331
+ * @default undefined - both forms are allowed
1332
+ */
1333
+ styleValueSyntax?: 'string' | 'object' | undefined
1334
+
1193
1335
  /**
1194
1336
  * Define a default font, for better types and default font on Text
1195
1337
  */
@@ -1286,11 +1428,11 @@ export type BaseStyleProps = {
1286
1428
  * Animation drivers config - can be a single driver or named drivers object.
1287
1429
  * If object, must include a 'default' key.
1288
1430
  */
1289
- export type AnimationsConfig = AnimationDriver<any> | AnimationsConfigObject
1431
+ export type AnimationsConfig = AnimationDriverLike<any> | AnimationsConfigObject
1290
1432
 
1291
1433
  export type AnimationsConfigObject = {
1292
- default: AnimationDriver<any>
1293
- [key: string]: AnimationDriver<any>
1434
+ default: AnimationDriverLike<any>
1435
+ [key: string]: AnimationDriverLike<any>
1294
1436
  }
1295
1437
 
1296
1438
  export type CreateTamaguiProps = {
@@ -1315,20 +1457,23 @@ export type CreateTamaguiProps = {
1315
1457
  }
1316
1458
  }
1317
1459
 
1460
+ /**
1461
+ * Custom variables: merged into every base theme at createTamagui time, so
1462
+ * they resolve like theme keys everywhere (bare names in style props, useTheme(),
1463
+ * CSS variable emission) and can be redefined per-subtree via `<Theme>` props.
1464
+ * Values may reference theme keys or tokens by bare name or
1465
+ * be literals; per-scheme values via { light, dark }.
1466
+ */
1467
+ variables?: GenericVariables
1468
+
1318
1469
  settings?: Partial<GenericTamaguiSettings>
1319
1470
 
1320
1471
  /**
1321
- * Web-only: define text-selection CSS
1472
+ * Named control sizes (`xs sm md lg xl` in the default configs). Each is a
1473
+ * recipe of token keys that every sized component reads; `default` names the
1474
+ * one `size={true}` resolves to.
1322
1475
  */
1323
- selectionStyles?: (theme: Record<string, string>) => null | {
1324
- backgroundColor?: any
1325
- color?: any
1326
- }
1327
-
1328
- defaultProps?: Record<string, any> & {
1329
- Text?: TextProps
1330
- View?: StackNonStyleProps & StackStyle
1331
- }
1476
+ sizes?: GenericSizes
1332
1477
  }
1333
1478
 
1334
1479
  export type GetCSS = (opts?: {
@@ -1353,7 +1498,6 @@ export type TamaguiInternalConfig<
1353
1498
  Omit<CreateTamaguiConfig<A, B, C, D, E, F, G, AnimDriverKeys>, 'tokens'> & {
1354
1499
  // TODO need to make it this but this breaks types, revisit
1355
1500
  // animations: E //AnimationDriver<E>
1356
- // with $ prefixes for fast lookups (one time cost at startup vs every render)
1357
1501
  tokens: Tokenify<A>
1358
1502
  tokensParsed: Tokenify<A>
1359
1503
  themeConfig: any
@@ -1365,13 +1509,12 @@ export type TamaguiInternalConfig<
1365
1509
  userShorthands: C
1366
1510
  reactNative?: any
1367
1511
  fontSizeTokens: Set<string>
1368
- specificTokens: Record<string, Variable>
1369
1512
  settings: Omit<GenericTamaguiSettings, keyof G> & G
1370
1513
  defaultFont?: string
1371
1514
  defaultFontToken: `${string}`
1372
1515
  // multi-driver animation config (e.g., { default: motionDriver, css: cssDriver })
1373
1516
  // used for component-level driver selection via animatedBy prop
1374
- animationDrivers?: Record<string, AnimationDriver>
1517
+ animationDrivers?: Record<string, AnimationDriverLike | null>
1375
1518
  }
1376
1519
 
1377
1520
  export type GetAnimationKeys<A extends GenericTamaguiConfig> = keyof A['animations']
@@ -1382,6 +1525,27 @@ export type UnionableNumber = number & {}
1382
1525
 
1383
1526
  type GenericFontKey = string | number | symbol
1384
1527
 
1528
+ /** a named control size: a recipe of token keys, never a height */
1529
+ export type SizeSpec = {
1530
+ /** font.size / font.lineHeight key, resolved against the component's font */
1531
+ fontSize: string
1532
+ /** tokens.space keys */
1533
+ paddingX: string
1534
+ paddingY: string
1535
+ /** tokens.radius key */
1536
+ radius: string
1537
+ /** tokens.space key for the gap between icon and text; defaults to paddingY */
1538
+ gap?: string
1539
+ /** icon px override; defaults to the font size rounded up to the 4px grid */
1540
+ icon?: number
1541
+ }
1542
+
1543
+ export type GenericSizes = {
1544
+ /** the name `size={true}` resolves to */
1545
+ default: string
1546
+ [name: string]: SizeSpec | string
1547
+ }
1548
+
1385
1549
  export type GenericFont<Key extends GenericFontKey = GenericFontKey> = {
1386
1550
  size: { [key in Key]: number | Variable }
1387
1551
  family?: string | Variable
@@ -1404,24 +1568,8 @@ export type GenericFont<Key extends GenericFontKey = GenericFontKey> = {
1404
1568
  // media
1405
1569
  export type MediaQueryObject = { [key: string]: string | number | string }
1406
1570
  export type MediaQueryKey = keyof Media
1407
- export type MediaPropKeys = `$${MediaQueryKey}`
1408
1571
  export type MediaQueryState = { [key in MediaQueryKey]: boolean }
1409
1572
 
1410
- // guard against a loose `Themes` whose `keyof` collapses to `string` (e.g. a config
1411
- // whose themes type carries a string index signature). without this, TK becomes `string`
1412
- // and ThemeMediaKeys becomes `$theme-${string}`, which collapses the whole WithMediaProps
1413
- // mapped type into a `[key: string]` index signature that then swallows non-style props
1414
- // like onPress/children. see issue #4010
1415
- export type ThemeMediaKeys<TK extends keyof Themes = keyof Themes> = TK extends string
1416
- ? string extends TK
1417
- ? never
1418
- : TK extends `${string}_${string}`
1419
- ? never
1420
- : `$theme-${TK}`
1421
- : never
1422
-
1423
- export type PlatformMediaKeys = `$platform-${AllPlatforms}`
1424
-
1425
1573
  export interface TypeOverride {
1426
1574
  groupNames(): 1
1427
1575
  animationDrivers(): 1
@@ -1432,39 +1580,15 @@ export type GroupNames =
1432
1580
  ? never
1433
1581
  : ReturnType<TypeOverride['groupNames']>
1434
1582
 
1435
- type ParentMediaStates = 'hover' | 'press' | 'focus' | 'focusVisible' | 'focusWithin'
1436
-
1437
- export type GroupMediaKeys =
1438
- | `$group-${GroupNames}`
1439
- | `$group-${GroupNames}-${ParentMediaStates}`
1440
- | `$group-${GroupNames}-${MediaQueryKey}`
1441
- | `$group-${GroupNames}-${MediaQueryKey}-${ParentMediaStates}`
1442
- | `$group-${ParentMediaStates}`
1443
- | `$group-${MediaQueryKey}`
1444
- | `$group-${MediaQueryKey}-${ParentMediaStates}`
1445
-
1446
- export type WithMediaProps<A> = {
1447
- [Key in
1448
- | MediaPropKeys
1449
- | GroupMediaKeys
1450
- | ThemeMediaKeys
1451
- | PlatformMediaKeys]?: Key extends MediaPropKeys
1452
- ? A & {
1453
- // TODO we can support $theme- inside media queries here if we change to ThemeMediaKeys | PlatformMediaKeys
1454
- [Key in PlatformMediaKeys]?: AddWebOnlyStyleProps<A>
1455
- }
1456
- : Key extends `$platform-web`
1457
- ? AddWebOnlyStyleProps<A> & { [Key in MediaPropKeys]?: AddWebOnlyStyleProps<A> }
1458
- : A & { [Key in MediaPropKeys]?: A }
1459
- }
1460
-
1461
- export type AddWebOnlyStyleProps<A> = Partial<CSSProperties> &
1583
+ export type AddWebOnlyStyleProps<A> = Partial<
1584
+ Omit<CSSProperties, keyof WebOnlyValidStyleValues>
1585
+ > &
1462
1586
  Partial<WebOnlyValidStyleValues> & {
1463
1587
  [K in Exclude<keyof A, keyof CSSProperties>]?: A[K]
1464
1588
  }
1465
1589
 
1466
1590
  export type WebOnlyValidStyleValues = {
1467
- position: '-webkit-sticky'
1591
+ position: CSSProperties['position'] | '-webkit-sticky'
1468
1592
  }
1469
1593
 
1470
1594
  export type MediaQueries = {
@@ -1482,66 +1606,106 @@ export type MatchMedia = (query: string) => MediaQueryList
1482
1606
 
1483
1607
  // createComponent props helpers
1484
1608
 
1485
- // transition="bouncy"
1486
- // transition={['bouncy', { }]}
1487
- // { all: 'name' }
1488
-
1489
1609
  // TODO can override for better types
1490
1610
  export type AnimationConfigType = any
1491
1611
 
1492
1612
  /**
1493
- * Spring configuration parameters that can override preset defaults.
1494
- * Use with array syntax: transition={['bouncy', { stiffness: 1000, damping: 70 }]}
1613
+ * Low-level spring physics. A projection of `duration` + `bounce`, not a second
1614
+ * way to configure a spring: whichever you author, the other is derived, and
1615
+ * every driver ends up with the same motion.
1616
+ *
1617
+ * Reach for this only when you are porting a config you already tuned.
1495
1618
  */
1496
1619
  export type TransitionSpringConfig = {
1497
1620
  stiffness?: number
1498
1621
  damping?: number
1499
1622
  mass?: number
1500
- tension?: number
1501
- friction?: number
1502
1623
  velocity?: number
1503
1624
  overshootClamping?: boolean
1504
- duration?: number
1505
- bounciness?: number
1506
- speed?: number
1625
+ restDisplacementThreshold?: number
1626
+ restSpeedThreshold?: number
1627
+ }
1628
+
1629
+ /**
1630
+ * A transition value: the name of a configured driver animation, or a CSS
1631
+ * transition string such as `200ms`, `200ms ease-out`, or
1632
+ * `opacity 150ms, transform 300ms`.
1633
+ *
1634
+ * Springs get a CSS-shaped function of their own: `spring(300ms, 0.4)` is a
1635
+ * 300ms spring with a bounce of 0.4. It works everywhere a timing function
1636
+ * does, including on the web, where it compiles to a `linear()` easing.
1637
+ *
1638
+ * A bare string that exactly matches a configured animation name is that
1639
+ * preset; everything else is CSS. `(string & {})` keeps preset names in
1640
+ * autocomplete instead of collapsing the union to plain `string`.
1641
+ */
1642
+ export type TransitionValue = TransitionKeys | (string & {})
1643
+
1644
+ /**
1645
+ * The settings half of a transition object. Anything else in the object is a
1646
+ * style property name carrying its own transition.
1647
+ */
1648
+ export type TransitionConfig = {
1649
+ /** a configured animation to start from */
1650
+ preset?: TransitionKeys
1651
+ /** milliseconds, or a CSS time like `'200ms'` */
1652
+ duration?: number | string
1653
+ /**
1654
+ * Makes it a spring. `0` is critically damped (no overshoot), approaching
1655
+ * `1` is loose and oscillating, negative is sluggish. `duration` stays the
1656
+ * perceptual "how fast does this feel" number either way.
1657
+ */
1658
+ bounce?: number
1659
+ /** any CSS timing function. Mutually exclusive with `bounce`. */
1660
+ easing?: string
1661
+ /** milliseconds, or a CSS time */
1662
+ delay?: number | string
1663
+ behavior?: 'normal' | 'allow-discrete'
1664
+ /** the CSS `transition-property` list these settings apply to */
1665
+ properties?: string
1666
+ spring?: TransitionSpringConfig
1667
+ /** the transition to use while mounting, if it differs */
1668
+ enter?: TransitionProp
1669
+ /** the transition to use while unmounting, if it differs */
1670
+ exit?: TransitionProp
1507
1671
  }
1508
1672
 
1673
+ /**
1674
+ * `transition` accepts a string or an object, and nothing else.
1675
+ *
1676
+ * ```tsx
1677
+ * transition="bouncy" // a configured preset
1678
+ * transition="200ms ease-out" // css
1679
+ * transition="opacity 150ms, transform spring(300ms, 0.4)"
1680
+ * transition={{ duration: 200, bounce: 0.15 }}
1681
+ * transition={{ preset: 'bouncy', opacity: '150ms' }} // per-property override
1682
+ * ```
1683
+ *
1684
+ * Per-property keys are later CSS entries, so they win for that property and
1685
+ * inherit nothing from the base, exactly as
1686
+ * `transition: all 200ms, opacity 150ms` behaves in a stylesheet.
1687
+ */
1509
1688
  export type TransitionProp =
1510
- | TransitionKeys
1511
- | ({
1512
- default?: TransitionKeys
1513
- enter?: TransitionKeys
1514
- exit?: TransitionKeys
1515
- delay?: number
1516
- } & TransitionSpringConfig & {
1517
- [key: string]:
1518
- | TransitionKeys
1519
- | {
1520
- type: TransitionKeys
1521
- [key: string]: any
1522
- }
1523
- | number
1524
- | boolean
1525
- | undefined
1526
- })
1527
- | [
1528
- TransitionKeys,
1529
- {
1530
- delay?: number
1531
- enter?: TransitionKeys
1532
- exit?: TransitionKeys
1533
- } & TransitionSpringConfig & {
1534
- [key: string]:
1535
- | TransitionKeys
1536
- | {
1537
- type?: TransitionKeys
1538
- [key: string]: any
1539
- }
1540
- | number
1541
- | boolean
1542
- | undefined
1543
- },
1544
- ]
1689
+ | TransitionValue
1690
+ | (TransitionConfig & {
1691
+ [property: string]: TransitionValue | TransitionConfig | unknown
1692
+ })
1693
+
1694
+ /**
1695
+ * Emitted by the animation driver at the start and end of a transition.
1696
+ *
1697
+ * `cause` is `enter` when the component mounts into an AnimatePresence, `exit`
1698
+ * when it unmounts, and `update` for any style change while it stays mounted.
1699
+ * On the `end` phase, `finished` is `false` when the transition was interrupted
1700
+ * (e.g. an exit canceled by a re-enter, or an update superseded by another).
1701
+ */
1702
+ export type TransitionEvent = {
1703
+ phase: 'start' | 'end'
1704
+ cause: 'enter' | 'exit' | 'update'
1705
+ finished?: boolean
1706
+ }
1707
+
1708
+ export type OnTransition = (event: TransitionEvent) => void
1545
1709
 
1546
1710
  /**
1547
1711
  * Tokens
@@ -1584,6 +1748,37 @@ type UserAllowedStyleValuesSetting = Exclude<
1584
1748
  undefined
1585
1749
  >
1586
1750
 
1751
+ /**
1752
+ * A flat value string that carries a clause (`red hover:blue`, `dark:red`)
1753
+ * or a multi-token payload (`1px solid red`). Its grammar is validated by the
1754
+ * language service and the runtime, not by the type system. With
1755
+ * `styleValueSyntax: 'object'` the `:` arm is dropped, so a clause-only
1756
+ * string like `hover:red` is a type error (a clause after a space still
1757
+ * passes through the multi-token arm).
1758
+ */
1759
+ export type FlatClauseString =
1760
+ | `${string} ${string}`
1761
+ | (StyleValueSyntaxSetting extends 'object' ? never : `${string}:${string}`)
1762
+
1763
+ type StyleValueSyntaxSetting = TamaguiSettings extends { styleValueSyntax: infer S }
1764
+ ? S
1765
+ : undefined
1766
+
1767
+ /**
1768
+ * The open string arm every style value carries. With no `allowedStyleValues`
1769
+ * setting (or a boolean one) it is `string & {}`, so any string is accepted.
1770
+ * With a strictness setting, a single-token string (no space, no `:`) has to
1771
+ * be a token, theme value, or a value the setting allows, so a typo like
1772
+ * `bg="backgroun"` is a type error; only clause strings stay open.
1773
+ */
1774
+ export type OpenStyleString = TamaguiSettings extends {
1775
+ allowedStyleValues: infer Setting
1776
+ }
1777
+ ? Setting extends boolean
1778
+ ? UnionableString
1779
+ : FlatClauseString
1780
+ : UnionableString
1781
+
1587
1782
  export type GetThemeValueSettingForCategory<
1588
1783
  Cat extends keyof AllowedStyleValuesSettingPerCategory,
1589
1784
  > = UserAllowedStyleValuesSetting extends AllowedValueSettingBase | undefined
@@ -1673,85 +1868,72 @@ export type ThemeValueFallbackZIndex =
1673
1868
  WebStyleValueUniversal
1674
1869
  >
1675
1870
 
1676
- export type GetTokenString<A> = A extends `$${string}`
1677
- ? A
1678
- : A extends string | number
1679
- ? `$${A}`
1680
- : `$${string}`
1681
-
1682
- export type SpecificTokens<
1683
- Record = Tokens,
1684
- RK extends keyof Record = keyof Record,
1685
- > = RK extends string
1686
- ? `$${RK}.${keyof Record[RK] extends string | number
1687
- ? // remove any $ prefix so instead of $size.$sm its $size.sm
1688
- keyof Record[RK] extends `$${infer X}`
1689
- ? X
1690
- : keyof Record[RK]
1691
- : never}`
1692
- : never
1871
+ export type GetTokenString<A> = A extends string | number ? `${A}` : string
1693
1872
 
1694
- // defaults to except-special
1695
- export type SpecificTokensSpecial = TamaguiSettings extends {
1696
- autocompleteSpecificTokens: infer Val
1697
- }
1698
- ? Val extends 'except-special' | undefined
1873
+ /** the names in `config.sizes` (`xs sm md lg xl` in the default configs) */
1874
+ export type SizeName = TamaguiConfig extends { sizes: infer S }
1875
+ ? string extends keyof S
1699
1876
  ? never
1700
- : SpecificTokens
1701
- : SpecificTokens
1877
+ : Exclude<Extract<keyof S, string>, 'default'>
1878
+ : never
1702
1879
 
1703
- export type SizeTokens =
1704
- | SpecificTokensSpecial
1880
+ export type Size =
1705
1881
  | ThemeValueFallbackSize
1706
1882
  | GetTokenString<keyof Tokens['size']>
1883
+ | SizeName
1884
+ | OpenStyleString
1885
+ | true
1707
1886
 
1708
- export type SpaceTokens =
1709
- | SpecificTokensSpecial
1710
- | GetTokenString<keyof Tokens['space']>
1711
- | ThemeValueFallbackSpace
1887
+ export type SizeTokens = Size
1888
+
1889
+ export type Space = GetTokenString<keyof Tokens['space']> | ThemeValueFallbackSpace | true
1890
+
1891
+ export type SpaceTokens = Space
1712
1892
 
1713
1893
  // base color token strings (before opacity modifier)
1714
1894
  type ColorTokenBase =
1715
- | SpecificTokensSpecial
1716
1895
  | GetTokenString<keyof Tokens['color']>
1717
1896
  | GetTokenString<keyof ThemeParsed>
1718
1897
 
1719
1898
  // keep this non-expanded. using `${ColorTokenBase}/${number}` preserves stricter
1720
1899
  // token names, but large user token/theme unions hit TS2590.
1721
- type TokenWithOpacity = `$${string}/${number}`
1900
+ type TokenWithOpacity = `${string}/${number}`
1722
1901
 
1723
- export type ColorTokens =
1902
+ export type Color =
1724
1903
  | ColorTokenBase
1725
1904
  | CSSColorNames
1726
- // opacity modifier: $token/50 → parsed at runtime in getTokenForKey
1905
+ // opacity modifier: token/50
1727
1906
  | TokenWithOpacity
1907
+ // clause-bearing values are intentionally open-ended; the language service
1908
+ // validates the grammar without materializing a combinatorial type union
1909
+ | OpenStyleString
1728
1910
 
1729
- export type ZIndexTokens =
1730
- | SpecificTokensSpecial
1911
+ export type ColorTokens = Color
1912
+
1913
+ export type ZIndex =
1731
1914
  | GetTokenString<keyof Tokens['zIndex']>
1732
1915
  | ThemeValueFallbackZIndex
1733
1916
  | number
1917
+ | true
1918
+
1919
+ export type ZIndexTokens = ZIndex
1734
1920
 
1735
- export type RadiusTokens =
1736
- | SpecificTokensSpecial
1921
+ export type Radius =
1737
1922
  | GetTokenString<keyof Tokens['radius']>
1738
1923
  | ThemeValueFallbackRadius
1739
1924
  | number
1740
1925
  | RemString
1926
+ | true
1927
+
1928
+ export type RadiusTokens = Radius
1741
1929
 
1742
- export type NonSpecificTokens =
1930
+ export type Token =
1743
1931
  | GetTokenString<keyof Tokens['radius']>
1744
1932
  | GetTokenString<keyof Tokens['zIndex']>
1745
1933
  | GetTokenString<keyof Tokens['color']>
1746
1934
  | GetTokenString<keyof Tokens['space']>
1747
1935
  | GetTokenString<keyof Tokens['size']>
1748
1936
 
1749
- export type Token =
1750
- | NonSpecificTokens
1751
- | (TamaguiSettings extends { autocompleteSpecificTokens: false }
1752
- ? never
1753
- : SpecificTokens)
1754
-
1755
1937
  export type ColorStyleProp = ThemeValueFallbackColor | ColorTokens
1756
1938
 
1757
1939
  // fonts
@@ -1776,48 +1958,67 @@ export type GetTokenFontKeysFor<
1776
1958
  > = keyof TamaguiConfig['fonts']['body'][A]
1777
1959
 
1778
1960
  export type FontTokens = GetTokenString<keyof TamaguiConfig['fonts']>
1779
- export type FontFamilyTokens = GetTokenString<GetTokenFontKeysFor<'family'>>
1780
- export type FontSizeTokens =
1961
+ /** generic css families, valid as a single-token fontFamily without a config font */
1962
+ export type GenericFontFamily =
1963
+ | 'serif'
1964
+ | 'sans-serif'
1965
+ | 'monospace'
1966
+ | 'cursive'
1967
+ | 'fantasy'
1968
+ | 'system-ui'
1969
+ | 'ui-serif'
1970
+ | 'ui-sans-serif'
1971
+ | 'ui-monospace'
1972
+ | 'ui-rounded'
1973
+ | 'math'
1974
+ | 'inherit'
1975
+ export type FontFamilyTokens = FontTokens
1976
+ export type FontSize =
1781
1977
  | GetTokenString<GetTokenFontKeysFor<'size'>>
1782
1978
  | number
1783
1979
  | RemString
1980
+ | true
1981
+
1982
+ export type FontSizeTokens = FontSize
1784
1983
  export type FontLineHeightTokens =
1785
- | `$${GetTokenFontKeysFor<'lineHeight'>}`
1984
+ | GetTokenString<GetTokenFontKeysFor<'lineHeight'>>
1786
1985
  | number
1787
1986
  | RemString
1788
1987
  export type FontWeightValues =
1789
1988
  | `${1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9}00`
1790
1989
  | 'bold'
1791
1990
  | 'normal'
1792
- export type FontWeightTokens = `$${GetTokenFontKeysFor<'weight'>}` | FontWeightValues
1991
+ export type FontWeightTokens =
1992
+ | GetTokenString<GetTokenFontKeysFor<'weight'>>
1993
+ | FontWeightValues
1793
1994
  // font color tokens also support the opacity modifier
1794
- type FontColorTokenBase = `$${GetTokenFontKeysFor<'color'>}`
1995
+ type FontColorTokenBase = GetTokenString<GetTokenFontKeysFor<'color'>>
1795
1996
  export type FontColorTokens = FontColorTokenBase | number | TokenWithOpacity
1796
1997
  export type FontLetterSpacingTokens =
1797
- | `$${GetTokenFontKeysFor<'letterSpacing'>}`
1998
+ | GetTokenString<GetTokenFontKeysFor<'letterSpacing'>>
1798
1999
  | number
1799
2000
  | RemString
1800
2001
  export type FontStyleTokens =
1801
- | `$${GetTokenFontKeysFor<'style'>}`
2002
+ | GetTokenString<GetTokenFontKeysFor<'style'>>
1802
2003
  | RNTextStyle['fontStyle']
1803
2004
  export type FontTransformTokens =
1804
- | `$${GetTokenFontKeysFor<'transform'>}`
2005
+ | GetTokenString<GetTokenFontKeysFor<'transform'>>
1805
2006
  | RNTextStyle['textTransform']
1806
2007
 
1807
2008
  export type ParseFont<A extends GenericFont> = {
1808
- size: TokenPrefixed<A['size']>
1809
- lineHeight: TokenPrefixedIfExists<A['lineHeight']>
1810
- letterSpacing: TokenPrefixedIfExists<A['letterSpacing']>
1811
- weight: TokenPrefixedIfExists<A['weight']>
1812
- family: TokenPrefixedIfExists<A['family']>
1813
- style: TokenPrefixedIfExists<A['style']>
1814
- transform: TokenPrefixedIfExists<A['transform']>
1815
- color: TokenPrefixedIfExists<A['color']>
1816
- face: TokenPrefixedIfExists<A['face']>
2009
+ size: TokenifyRecord<A['size']>
2010
+ lineHeight: TokenParsedIfExists<A['lineHeight']>
2011
+ letterSpacing: TokenParsedIfExists<A['letterSpacing']>
2012
+ weight: TokenParsedIfExists<A['weight']>
2013
+ family: TokenParsedIfExists<A['family']>
2014
+ style: TokenParsedIfExists<A['style']>
2015
+ transform: TokenParsedIfExists<A['transform']>
2016
+ color: TokenParsedIfExists<A['color']>
2017
+ face: TokenParsedIfExists<A['face']>
1817
2018
  }
1818
2019
 
1819
- export type TokenPrefixedIfExists<A> =
1820
- A extends Record<string, any> ? TokenPrefixed<A> : {}
2020
+ export type TokenParsedIfExists<A> =
2021
+ A extends Record<string, any> ? TokenifyRecord<A> : {}
1821
2022
 
1822
2023
  //
1823
2024
  // adds theme short values to relevant props
@@ -1858,14 +2059,22 @@ export type LineHeightKeys = 'lineHeight'
1858
2059
  export type ZIndexKeys = 'zIndex'
1859
2060
  export type OpacityKeys = 'opacity'
1860
2061
 
2062
+ type FontStyleValueFallback = GetThemeValueFallbackFor<
2063
+ AllowedValueSettingSize,
2064
+ never,
2065
+ never,
2066
+ never,
2067
+ WebStyleValueUniversal | `${number}%`
2068
+ >
2069
+
1861
2070
  export type ThemeValueGet<K extends string | number | symbol> = K extends 'theme'
1862
2071
  ? ThemeTokens
1863
2072
  : K extends SizeKeys
1864
2073
  ? SizeTokens
1865
2074
  : K extends FontKeys
1866
- ? FontTokens
2075
+ ? FontTokens | GenericFontFamily
1867
2076
  : K extends FontSizeKeys
1868
- ? FontSizeTokens
2077
+ ? FontSizeTokens | FontStyleValueFallback
1869
2078
  : K extends `${`border${string | ''}Radius`}`
1870
2079
  ? RadiusTokens
1871
2080
  : K extends SpaceKeys
@@ -1877,23 +2086,18 @@ export type ThemeValueGet<K extends string | number | symbol> = K extends 'theme
1877
2086
  : K extends ZIndexKeys
1878
2087
  ? ZIndexTokens
1879
2088
  : K extends LineHeightKeys
1880
- ? FontLineHeightTokens
2089
+ ? FontLineHeightTokens | FontStyleValueFallback
1881
2090
  : K extends FontWeightKeys
1882
2091
  ? FontWeightTokens
1883
2092
  : K extends FontLetterSpacingKeys
1884
2093
  ? FontLetterSpacingTokens
1885
2094
  : K extends OpacityKeys
1886
- ? SpecificTokens | ThemeValueFallback
2095
+ ? ThemeValueFallback
1887
2096
  : never
1888
2097
 
1889
2098
  export type GetThemeValueForKey<K extends string | symbol | number> =
1890
2099
  | ThemeValueGet<K>
1891
2100
  | ThemeValueFallback
1892
- | (TamaguiSettings extends { autocompleteSpecificTokens: infer Val }
1893
- ? Val extends true | undefined
1894
- ? SpecificTokens
1895
- : never
1896
- : never)
1897
2101
 
1898
2102
  // keys that accept the first-class "safe" value (-> env(safe-area-inset-*) on
1899
2103
  // web, numeric insets on native). must mirror propEdges in resolveSafeArea.ts.
@@ -1937,13 +2141,65 @@ export type SafeAreaValueKeys =
1937
2141
  | 'start'
1938
2142
  | 'end'
1939
2143
 
2144
+ /**
2145
+ * Flat values: every style prop accepts either a clause-bearing string
2146
+ * (`bg="red hover:blue"`, `p="4 sm:6"`) or its flat object equivalent
2147
+ * (`bg={{ default: 'red', hover: 'blue' }}`). `(string & {})` admits the broad
2148
+ * string without collapsing the token/literal unions, so autocomplete
2149
+ * survives (design record, "Types and editor tooling"). Candidate and
2150
+ * modifier validation is the compiler's and language service's job.
2151
+ */
2152
+ type ClauseModifierName =
2153
+ | (MediaQueryKey & string)
2154
+ | RootThemeName
2155
+ | CoreStateModifierName
2156
+ | `group-${CoreStateModifierName}`
2157
+ | AllPlatforms
2158
+
2159
+ /**
2160
+ * Object keys have no `(string & {})` escape hatch the way string values do,
2161
+ * so the container (`@sm`, `@sm/card`) and named-group (`group-hover/card`)
2162
+ * spellings need their own single-template arms.
2163
+ */
2164
+ type FlatClauseName =
2165
+ | ClauseModifierName
2166
+ | `${ClauseModifierName}:${string}`
2167
+ | `@${string}`
2168
+ | `group-${CoreStateModifierName}/${string}`
2169
+
2170
+ /**
2171
+ * The structured twin of a flat clause string. It stays deliberately
2172
+ * non-recursive: the condition chain is the key, and every leaf keeps the
2173
+ * style property's value type. `(string & {})` rides along on each leaf for
2174
+ * the same reason it does on the whole value: the string form accepts any
2175
+ * payload text, and without it two `FlatStyleValue`s that differ only by
2176
+ * string members ('unset', a fallback union) stop being assignable across
2177
+ * package boundaries.
2178
+ */
2179
+ export type FlatStyleObject<T> = { default?: T | OpenStyleString } & {
2180
+ [K in FlatClauseName]?: T | OpenStyleString
2181
+ }
2182
+
2183
+ /**
2184
+ * The string arm stays at base values only: `OpenStyleString` admits every
2185
+ * clause string, and structured clause completion comes from the object
2186
+ * form's keys (and the language-service plugin for strings). A per-prop
2187
+ * `${modifier}:` prefix union used to ride along for first-prefix
2188
+ * completion; it multiplied across the whole component prop graph and the
2189
+ * object form made it redundant.
2190
+ */
2191
+ export type FlatStyleValue<T> =
2192
+ | T
2193
+ | (StyleValueSyntaxSetting extends 'string' ? never : FlatStyleObject<T>)
2194
+ | OpenStyleString
2195
+
1940
2196
  export type WithThemeValues<T extends object> = {
1941
2197
  [K in keyof T]:
1942
2198
  | (ThemeValueGet<K> extends never
1943
2199
  ? K extends keyof ExtraBaseProps
1944
2200
  ? T[K]
1945
- : T[K] | 'unset'
1946
- : GetThemeValueForKey<K> | Exclude<T[K], string> | 'unset')
2201
+ : FlatStyleValue<T[K] | 'unset'>
2202
+ : FlatStyleValue<GetThemeValueForKey<K> | Exclude<T[K], string> | 'unset'>)
1947
2203
  | (K extends SafeAreaValueKeys ? 'safe' : never)
1948
2204
  }
1949
2205
 
@@ -1974,46 +2230,6 @@ export type WithShorthands<StyleProps> = {
1974
2230
  : undefined
1975
2231
  }
1976
2232
 
1977
- // adds pseudo props
1978
- // PseudoStyleWithTransition allows transition inside pseudo-style props for enter/exit timing
1979
- export type PseudoStyleWithTransition<A> = A & { transition?: TransitionProp | null }
1980
-
1981
- export type WithPseudoProps<A> = {
1982
- hoverStyle?: PseudoStyleWithTransition<A> | null
1983
- pressStyle?: PseudoStyleWithTransition<A> | null
1984
- focusStyle?: PseudoStyleWithTransition<A> | null
1985
- focusWithinStyle?: PseudoStyleWithTransition<A> | null
1986
- focusVisibleStyle?: PseudoStyleWithTransition<A> | null
1987
- disabledStyle?: PseudoStyleWithTransition<A> | null
1988
- exitStyle?: PseudoStyleWithTransition<A> | null
1989
- enterStyle?: PseudoStyleWithTransition<A> | null
1990
- }
1991
-
1992
- // type for transitions extracted from pseudo-style props (e.g., hoverStyle.transition)
1993
- // includes $group-*-hover, $group-*-press, $group-*-focus patterns
1994
- export type PseudoTransitions = Partial<
1995
- Record<keyof WithPseudoProps<any>, TransitionProp | null>
1996
- > & {
1997
- // allow $group-{name}-{pseudo} keys dynamically
1998
- [key: `$group-${string}-${'hover' | 'press' | 'focus'}`]:
1999
- | TransitionProp
2000
- | null
2001
- | undefined
2002
- }
2003
-
2004
- export type PseudoPropKeys = keyof WithPseudoProps<any>
2005
-
2006
- export type PseudoStyles = {
2007
- hoverStyle?: ViewStyle
2008
- pressStyle?: ViewStyle
2009
- focusStyle?: ViewStyle
2010
- focusWithinStyle?: ViewStyle
2011
- focusVisibleStyle?: ViewStyle
2012
- disabledStyle?: ViewStyle
2013
- enterStyle?: ViewStyle
2014
- exitStyle?: ViewStyle
2015
- }
2016
-
2017
2233
  export type AllPlatforms =
2018
2234
  | 'web'
2019
2235
  | 'native'
@@ -2032,32 +2248,25 @@ type MaybeOmitLonghands<A> = OnlyShorthandStyleProps extends true
2032
2248
  ? Omit<A, ShorthandLonghandProps>
2033
2249
  : A
2034
2250
 
2251
+ // variant props at the call site take the same conditional forms as style
2252
+ // values: density="compact sm:roomy" and density={{ default: 'compact', sm: 'roomy' }}.
2253
+ // the widening happens only here, at the final public props, so every
2254
+ // definition-side type (defaultVariants, inheritance)
2255
+ // keeps the exact branch-key unions
2256
+ export type WithFlatVariantValues<Variants> = {
2257
+ [Key in keyof Variants]?: FlatStyleValue<NonNullable<Variants[Key]>>
2258
+ }
2259
+
2035
2260
  export type WithThemeAndShorthands<
2036
2261
  A extends object,
2037
2262
  Variants = {},
2038
2263
  > = OnlyAllowShorthands extends true
2039
2264
  ? WithThemeValues<MaybeOmitLonghands<Omit<A, Longhands>>> &
2040
- Variants &
2265
+ WithFlatVariantValues<Variants> &
2266
+ WithShorthands<WithThemeValues<A>>
2267
+ : WithThemeValues<MaybeOmitLonghands<A>> &
2268
+ WithFlatVariantValues<Variants> &
2041
2269
  WithShorthands<WithThemeValues<A>>
2042
- : WithThemeValues<MaybeOmitLonghands<A>> & Variants & WithShorthands<WithThemeValues<A>>
2043
-
2044
- //
2045
- // combines all of theme, shorthands, pseudos...
2046
- //
2047
- export type WithThemeShorthandsAndPseudos<
2048
- A extends object,
2049
- Variants = {},
2050
- > = WithThemeAndShorthands<A, Variants> &
2051
- WithPseudoProps<WithThemeAndShorthands<A, Variants>>
2052
-
2053
- //
2054
- // ... media queries and animations
2055
- //
2056
- export type WithThemeShorthandsPseudosMedia<
2057
- A extends object,
2058
- Variants = {},
2059
- > = WithThemeShorthandsAndPseudos<A, Variants> &
2060
- WithMediaProps<WithThemeShorthandsAndPseudos<A, Variants>>
2061
2270
 
2062
2271
  /**
2063
2272
  * Base style-only props (no media, pseudo):
@@ -2098,14 +2307,14 @@ type BoxShadowPreset =
2098
2307
  | '0 0' // offset only
2099
2308
  | '0 1px 2px' // offset + blur
2100
2309
  | '0 1px 2px 0' // offset + blur + spread
2101
- | '0 1px 2px $shadowColor' // offset + blur + color token
2102
- | '0 1px 3px 0 $shadowColor' // offset + blur + spread + color token
2103
- | '0 4px 6px -1px $shadowColor' // negative spread
2104
- | 'inset 0 2px 4px $shadowColor' // inset
2310
+ | '0 1px 2px shadow-color' // offset + blur + color token
2311
+ | '0 1px 3px 0 shadow-color' // offset + blur + spread + color token
2312
+ | '0 4px 6px -1px shadow-color' // negative spread
2313
+ | 'inset 0 2px 4px shadow-color' // inset
2105
2314
  | 'none'
2106
2315
 
2107
- // Box Shadow - CSS string format (e.g. "0 4px 8px $shadowColor")
2108
- // Supports embedded $tokens that get resolved at runtime
2316
+ // Box Shadow - CSS string format (e.g. "0 4px 8px shadow-color")
2317
+ // Supports embedded bare tokens that get resolved at runtime
2109
2318
  export type BoxShadowValue = BoxShadowPreset | (string & {})
2110
2319
 
2111
2320
  // filter presets - one example per function for autocomplete hints
@@ -2113,7 +2322,7 @@ type FilterPreset =
2113
2322
  | 'blur(4px)'
2114
2323
  | 'brightness(1.2)'
2115
2324
  | 'contrast(1.2)'
2116
- | 'drop-shadow(0 4px 8px $shadowColor)'
2325
+ | 'drop-shadow(0 4px 8px shadow-color)'
2117
2326
  | 'grayscale(1)'
2118
2327
  | 'hue-rotate(90deg)'
2119
2328
  | 'invert(1)'
@@ -2123,18 +2332,18 @@ type FilterPreset =
2123
2332
  | 'none'
2124
2333
 
2125
2334
  // Filter - CSS string format (e.g. "blur(10px) brightness(1.2)")
2126
- // Supports embedded $tokens that get resolved at runtime
2335
+ // Supports embedded bare tokens that get resolved at runtime
2127
2336
  export type FilterValue = FilterPreset | (string & {})
2128
2337
 
2129
2338
  // border shorthand presets - examples for autocomplete hints
2130
2339
  type BorderPreset =
2131
2340
  | '1px solid' // width + style
2132
- | '1px solid $borderColor' // width + style + color token
2133
- | '2px dashed $borderColor' // width + style + color
2341
+ | '1px solid border-color' // width + style + color token
2342
+ | '2px dashed border-color' // width + style + color
2134
2343
  | '1px dotted red' // width + style + color
2135
2344
  | 'none'
2136
2345
 
2137
- // Border - CSS shorthand string format (e.g. "1px solid $borderColor")
2346
+ // Border - CSS shorthand string format (e.g. "1px solid border-color")
2138
2347
  // Expands to borderWidth, borderStyle, borderColor on web and native
2139
2348
  // Note: on native, only supports a single border (all sides)
2140
2349
  export type BorderValue = BorderPreset | (string & {})
@@ -2142,16 +2351,20 @@ export type BorderValue = BorderPreset | (string & {})
2142
2351
  // outline shorthand presets - examples for autocomplete hints
2143
2352
  type OutlinePreset =
2144
2353
  | '1px solid' // width + style
2145
- | '1px solid $outlineColor' // width + style + color token
2146
- | '2px dashed $outlineColor' // width + style + color
2354
+ | '1px solid outline-color' // width + style + color token
2355
+ | '2px dashed outline-color' // width + style + color
2147
2356
  | '1px dotted red' // width + style + color
2148
2357
  | 'none'
2149
2358
 
2150
- // Outline - CSS shorthand string format (e.g. "2px solid $outlineColor")
2359
+ // Outline - CSS shorthand string format (e.g. "2px solid outline-color")
2151
2360
  // Expands to outlineWidth, outlineStyle, outlineColor on native
2152
2361
  export type OutlineValue = OutlinePreset | (string & {})
2153
2362
 
2154
2363
  interface ExtraStyleProps {
2364
+ /**
2365
+ * Text color, or a web-scoped color clause on a View.
2366
+ */
2367
+ color?: ColorStyleProp
2155
2368
  /**
2156
2369
  * Controls the curve style of rounded corners.
2157
2370
  * - 'circular': Standard circular arc corners (default)
@@ -2185,7 +2398,7 @@ interface ExtraStyleProps {
2185
2398
  */
2186
2399
  outlineWidth?: SpaceValue
2187
2400
  /**
2188
- * CSS outline shorthand string. Supports tokens: "2px solid $outlineColor"
2401
+ * CSS outline shorthand string. Supports tokens: "2px solid outline-color"
2189
2402
  * Expands to outlineWidth, outlineStyle, outlineColor on native.
2190
2403
  * Works on web and native.
2191
2404
  */
@@ -2199,9 +2412,28 @@ interface ExtraStyleProps {
2199
2412
  */
2200
2413
  backdropFilter?: Properties['backdropFilter']
2201
2414
  /**
2202
- * Web-only style property. Will be omitted on native.
2203
- */
2204
- background?: Properties['background']
2415
+ * Works on web and native. Native lowers a single color value to
2416
+ * backgroundColor and drops url()/gradient/multi-part values it can't express.
2417
+ *
2418
+ * The v6 shorthands map `bg` here rather than to `backgroundColor`, because
2419
+ * the background family splits a value like `url(x.png) color1` across
2420
+ * backgroundImage and backgroundColor. Color tokens lead the union so `bg`
2421
+ * completes them; the CSS keywords and the function forms (`url()`,
2422
+ * gradients) keep the CSS shorthand, and multi-part values reach
2423
+ * `OpenStyleString` through their spaces. Adding this key to `ColorKeys`
2424
+ * instead would erase the CSS arm, since that path runs the value type
2425
+ * through `Exclude<T[K], string>`.
2426
+ */
2427
+ background?:
2428
+ | ColorTokens
2429
+ | Exclude<ThemeValueFallbackColor, number>
2430
+ | 'none'
2431
+ | 'inherit'
2432
+ | 'initial'
2433
+ | 'unset'
2434
+ | 'revert'
2435
+ | `${string}(${string})`
2436
+ | OpenStyleString
2205
2437
  /**
2206
2438
  * Web-only style property. Will be omitted on native.
2207
2439
  */
@@ -2224,16 +2456,42 @@ interface ExtraStyleProps {
2224
2456
  backgroundSize?: Properties['backgroundSize']
2225
2457
  // boxSizing - provided by RN's ViewStyle
2226
2458
  /**
2227
- * CSS box-shadow string. Supports tokens: "0 4px 8px $shadowColor"
2459
+ * CSS box-shadow string. Supports tokens: "0 4px 8px shadow-color"
2228
2460
  * Works on web and native (RN 0.76+).
2229
2461
  */
2230
2462
  boxShadow?: BoxShadowValue
2231
2463
  /**
2232
- * CSS border shorthand string. Supports tokens: "1px solid $borderColor"
2464
+ * CSS border shorthand string. Supports tokens: "1px solid border-color"
2233
2465
  * Expands to borderWidth, borderStyle, borderColor.
2234
2466
  * Works on web and native. On native, applies to all sides.
2235
2467
  */
2236
2468
  border?: BorderValue
2469
+ /**
2470
+ * CSS logical border shorthand string, like `border` for the block axis.
2471
+ * Splits to the CSS logical longhands on web; native has no logical border
2472
+ * properties, so it is diagnosed and dropped there rather than approximated.
2473
+ */
2474
+ borderBlock?: BorderValue
2475
+ /**
2476
+ * CSS logical border shorthand string, like `border` for the inline axis.
2477
+ * Splits to the CSS logical longhands on web; native has no logical border
2478
+ * properties, so it is diagnosed and dropped there rather than approximated.
2479
+ */
2480
+ borderInline?: BorderValue
2481
+ /**
2482
+ * Web-only style property. Will be omitted on native.
2483
+ */
2484
+ overflowWrap?: Properties['overflowWrap']
2485
+ /**
2486
+ * Web-only legacy alias of overflowWrap. Will be omitted on native.
2487
+ */
2488
+ wordWrap?: Properties['wordWrap']
2489
+ /**
2490
+ * Web-only style property. Will be omitted on native.
2491
+ */
2492
+ resize?: Properties['resize']
2493
+ /** react-native stops at visible/hidden/scroll; web also accepts auto and clip */
2494
+ overflow?: 'visible' | 'hidden' | 'scroll' | 'auto' | 'clip'
2237
2495
  /**
2238
2496
  * Web-only style property. Will be omitted on native.
2239
2497
  */
@@ -2242,6 +2500,14 @@ interface ExtraStyleProps {
2242
2500
  * Web-only style property. Will be omitted on native.
2243
2501
  */
2244
2502
  overflowY?: Properties['overflowY']
2503
+ /**
2504
+ * Web-only text wrapping strategy. Will be omitted on native.
2505
+ */
2506
+ textWrap?: Properties['textWrap']
2507
+ /**
2508
+ * Web visibility. Native lowers hidden visibility to opacity and pointer events.
2509
+ */
2510
+ visibility?: Properties['visibility']
2245
2511
 
2246
2512
  pointerEvents?: ViewProps['pointerEvents']
2247
2513
 
@@ -2309,10 +2575,6 @@ interface ExtraStyleProps {
2309
2575
  * Web-only style property. Will be omitted on native.
2310
2576
  */
2311
2577
  float?: Properties['float']
2312
- /**
2313
- * Web-only style property. Will be omitted on native.
2314
- */
2315
- content?: Properties['content']
2316
2578
  /**
2317
2579
  * Web-only style property. Will be omitted on native.
2318
2580
  */
@@ -2426,6 +2688,12 @@ interface ExtraStyleProps {
2426
2688
  * Web-only style property. Will be omitted on native.
2427
2689
  */
2428
2690
  containerType?: Properties['containerType']
2691
+ /**
2692
+ * Names this element as a query container for `@sm/name:`-style clauses.
2693
+ * Lowers to CSS `container-name` on web; on native it configures the
2694
+ * container context instead of emitting a style.
2695
+ */
2696
+ containerName?: string
2429
2697
  /**
2430
2698
  * Web-only style property. Will be omitted on native.
2431
2699
  */
@@ -2517,18 +2785,18 @@ interface ExtraBaseProps {
2517
2785
  */
2518
2786
  transition?: TransitionProp | null
2519
2787
 
2520
- /**
2521
- * Pass an array of strings containing the long style property names
2522
- * which will be exclusively transitioned.
2523
- */
2524
- animateOnly?: string[]
2525
-
2526
2788
  /**
2527
2789
  * If you'd like this component to not attach to the nearest parent AnimatePresence,
2528
2790
  * set this to `false` and it will pass through to the next animated child.
2529
2791
  */
2530
2792
  animatePresence?: boolean
2531
2793
 
2794
+ /**
2795
+ * Called by the animation driver at the start and end of each transition
2796
+ * (enter, exit, or an in-place style update). See `TransitionEvent`.
2797
+ */
2798
+ onTransition?: OnTransition
2799
+
2532
2800
  /**
2533
2801
  * Avoids as much work as possible and passes through the children with no changes.
2534
2802
  * Advanced: Useful for adapting to other element when you want to avoid re-parenting.
@@ -2552,7 +2820,14 @@ export interface StackStyleBase
2552
2820
  extends Omit<ViewStyle, keyof ExtendedBaseProps | 'elevation'>, ExtendedBaseProps {}
2553
2821
 
2554
2822
  export interface TextStylePropsBase
2555
- extends Omit<RNTextStyle, keyof ExtendedBaseProps>, ExtendedBaseProps {
2823
+ extends Omit<RNTextStyle, keyof ExtendedBaseProps | 'fontVariant'>, ExtendedBaseProps {
2824
+ /**
2825
+ * react-native types this as a mutable `FontVariant[]`, which an `as const` variant
2826
+ * definition can't satisfy — and a variants object that misses its constraint is
2827
+ * silently discarded whole, taking every variant on the component with it (#2787).
2828
+ * react-native types `transform` as readonly for the same reason.
2829
+ */
2830
+ fontVariant?: readonly FontVariant[]
2556
2831
  ellipsis?: boolean
2557
2832
  numberOfLines?: number
2558
2833
  textDecorationDistance?: number
@@ -2560,14 +2835,24 @@ export interface TextStylePropsBase
2560
2835
  whiteSpace?: Properties['whiteSpace']
2561
2836
  wordWrap?: Properties['wordWrap']
2562
2837
  /**
2563
- * CSS text-shadow string. Supports tokens: "2px 2px 4px $shadowColor"
2838
+ * CSS text-shadow string. Supports tokens: "2px 2px 4px shadow-color"
2564
2839
  * On native, only a single shadow is supported.
2565
2840
  */
2566
2841
  textShadow?: string
2842
+ /**
2843
+ * CSS text-decoration shorthand string ("underline dotted red").
2844
+ * Splits to line/style/color; on native the three RN longhand props.
2845
+ */
2846
+ textDecoration?: string
2847
+ /**
2848
+ * CSS font shorthand string ("italic bold 16px/1.5 Inter").
2849
+ * Splits by the CSS micro-syntax; ambiguous forms stay unparsed.
2850
+ */
2851
+ font?: string
2567
2852
  }
2568
2853
 
2569
2854
  //
2570
- // Stack
2855
+ // View
2571
2856
  //
2572
2857
 
2573
2858
  type LooseCombinedObjects<A extends object, B extends object> = A | B | (A & B)
@@ -2582,7 +2867,6 @@ type LooseCombinedObjects<A extends object, B extends object> = A | B | (A & B)
2582
2867
  // - accessibilityViewIsModal → aria-modal
2583
2868
  // - accessibilityLiveRegion → aria-live
2584
2869
  // - accessible → tabIndex={0}
2585
- // - focusable → tabIndex
2586
2870
  // - nativeID → id
2587
2871
 
2588
2872
  export interface StackNonStyleProps
@@ -2612,7 +2896,7 @@ export interface StackNonStyleProps
2612
2896
  style?: StyleProp<LooseCombinedObjects<React.CSSProperties, ViewStyle>>
2613
2897
  }
2614
2898
 
2615
- export type StackStyle = WithThemeShorthandsPseudosMedia<StackStyleBase>
2899
+ export type StackStyle = WithThemeAndShorthands<StackStyleBase>
2616
2900
 
2617
2901
  //
2618
2902
  // Text props
@@ -2628,6 +2912,13 @@ export interface TextNonStyleProps
2628
2912
  | RNOnlyProps
2629
2913
  | keyof ExtendBaseTextProps
2630
2914
  | 'style'
2915
+ // web-standard `userSelect` is the one authoring name; core maps it to
2916
+ // RN's `selectable` prop on native
2917
+ | 'selectable'
2918
+ // the style side owns these as flat-value style props; intersecting
2919
+ // RN's plain unions would strip the clause string and object forms
2920
+ | 'numberOfLines'
2921
+ | 'pointerEvents'
2631
2922
  >,
2632
2923
  ExtendBaseTextProps,
2633
2924
  TamaguiComponentPropsBase {
@@ -2635,55 +2926,33 @@ export interface TextNonStyleProps
2635
2926
  style?: StyleProp<LooseCombinedObjects<React.CSSProperties, RNTextStyle>>
2636
2927
  }
2637
2928
 
2638
- export type TextStyle = WithThemeShorthandsPseudosMedia<TextStylePropsBase>
2929
+ export type TextStyle = WithThemeAndShorthands<TextStylePropsBase>
2639
2930
 
2640
2931
  export type TextProps = TextNonStyleProps & TextStyle
2641
2932
 
2642
2933
  export interface ThemeableProps {
2643
2934
  theme?: ThemeName | null
2644
- themeReset?: boolean
2645
- componentName?: string
2646
2935
  debug?: DebugProp
2647
2936
  }
2648
2937
 
2649
- export type StyleableOptions = {
2938
+ export type StyledHOCOptions = {
2650
2939
  disableTheme?: boolean
2940
+ displayName?: string
2651
2941
  staticConfig?: Partial<StaticConfig>
2652
2942
  }
2653
2943
 
2654
- export type Styleable<
2655
- Props,
2656
- Ref,
2657
- NonStyledProps,
2658
- BaseStyles extends object,
2659
- VariantProps,
2660
- ParentStaticProperties,
2661
- > = <
2662
- CustomProps extends object | void = void,
2663
- MergedProps = CustomProps extends void
2664
- ? Props
2665
- : Omit<Props, keyof CustomProps> & CustomProps,
2666
- FunctionDef extends ForwardRefRenderFunction<Ref, MergedProps> =
2667
- ForwardRefRenderFunction<Ref, MergedProps>,
2668
- >(
2669
- a: FunctionDef,
2670
- options?: StyleableOptions
2671
- ) => TamaguiComponent<
2672
- MergedProps,
2673
- Ref,
2674
- NonStyledProps & CustomProps,
2675
- BaseStyles,
2676
- VariantProps,
2677
- ParentStaticProperties
2678
- >
2944
+ // merges an annotated render-fn props type over the wrapped component's props.
2945
+ // when the render fn param is unannotated CustomProps stays {} and the wrapped
2946
+ // component's props pass through untouched.
2947
+ export type StyledHOCMergedProps<Props, CustomProps> = keyof CustomProps extends never
2948
+ ? Props
2949
+ : Omit<Props, keyof CustomProps> & CustomProps
2679
2950
 
2680
2951
  export type GetFinalProps<NonStyleProps, StylePropsBase, Variants> = Omit<
2681
2952
  NonStyleProps,
2682
2953
  keyof StylePropsBase | keyof Variants
2683
2954
  > &
2684
- (StylePropsBase extends object
2685
- ? WithThemeShorthandsPseudosMedia<StylePropsBase, Variants>
2686
- : {})
2955
+ (StylePropsBase extends object ? WithThemeAndShorthands<StylePropsBase, Variants> : {})
2687
2956
 
2688
2957
  export type TamaguiComponent<
2689
2958
  Props = any,
@@ -2692,11 +2961,10 @@ export type TamaguiComponent<
2692
2961
  BaseStyles extends object = {},
2693
2962
  Variants = {},
2694
2963
  ParentStaticProperties = {},
2695
- > = ForwardRefExoticComponent<
2964
+ > = FunctionComponent<
2696
2965
  (Props extends TamaDefer
2697
2966
  ? GetFinalProps<NonStyledProps, BaseStyles, Variants>
2698
- : Props) &
2699
- RefAttributes<Ref>
2967
+ : Props) & { ref?: ReactRef<Ref> }
2700
2968
  > &
2701
2969
  StaticComponentObject<
2702
2970
  Props,
@@ -2706,20 +2974,18 @@ export type TamaguiComponent<
2706
2974
  Variants,
2707
2975
  ParentStaticProperties
2708
2976
  > &
2709
- Omit<ParentStaticProperties, 'staticConfig' | 'styleable'> & {
2977
+ Omit<ParentStaticProperties, 'staticConfig'> & {
2710
2978
  __tama: [Props, Ref, NonStyledProps, BaseStyles, Variants, ParentStaticProperties]
2711
2979
  }
2712
2980
 
2713
2981
  export type InferGenericComponentProps<A> =
2714
2982
  A extends ComponentType<infer Props>
2715
2983
  ? Props
2716
- : A extends ForwardRefExoticComponent<infer P>
2984
+ : A extends ReactComponentWithRef<infer P, any>
2717
2985
  ? P
2718
- : A extends ReactComponentWithRef<infer P, any>
2719
- ? P
2720
- : A extends new (props: infer Props) => any
2721
- ? Props
2722
- : {}
2986
+ : A extends new (props: infer Props) => any
2987
+ ? Props
2988
+ : {}
2723
2989
 
2724
2990
  export type InferStyledProps<
2725
2991
  A extends StylableComponent,
@@ -2734,7 +3000,7 @@ export type InferStyledProps<
2734
3000
  export type InferStyleProps<
2735
3001
  A extends StylableComponent,
2736
3002
  B extends StaticConfigPublic,
2737
- > = WithThemeShorthandsPseudosMedia<GetBaseStyles<A, B>, {}>
3003
+ > = WithThemeAndShorthands<GetBaseStyles<A, B>, {}>
2738
3004
 
2739
3005
  export type GetProps<A extends StylableComponent> = A extends {
2740
3006
  __tama: [
@@ -2796,13 +3062,20 @@ export type StaticComponentObject<
2796
3062
  > = {
2797
3063
  staticConfig: StaticConfig
2798
3064
 
2799
- /*
2800
- * If you want your HOC of a styled() component to also be able to be styled(), you need this to wrap it.
3065
+ /**
3066
+ * chain a component resolver: receives the complete props plus the style
3067
+ * env, returns a style fragment applied above variants and below call-site
3068
+ * props. Returns a NEW component; the original is untouched.
2801
3069
  */
2802
- styleable: Styleable<
2803
- Props extends TamaDefer
2804
- ? GetFinalProps<NonStyledProps, BaseStyles, VariantProps>
2805
- : Props,
3070
+ resolve(
3071
+ resolver: StyledResolver<
3072
+ Props extends TamaDefer
3073
+ ? GetFinalProps<NonStyledProps, BaseStyles, VariantProps>
3074
+ : Props,
3075
+ WithThemeAndShorthands<BaseStyles, {}>
3076
+ >
3077
+ ): TamaguiComponent<
3078
+ Props,
2806
3079
  Ref,
2807
3080
  NonStyledProps,
2808
3081
  BaseStyles,
@@ -2823,11 +3096,12 @@ export type TamaguiProviderProps = Omit<ThemeProviderProps, 'children'> & {
2823
3096
  insets?: { top: number; right: number; bottom: number; left: number }
2824
3097
  }
2825
3098
 
2826
- export type PropMappedValue = [string, any, any?][] | undefined
3099
+ // entry[3] is the raw modifier source of a conditional variant clause
3100
+ // (`"sm"` in `density="compact sm:roomy"`), present only on clause entries
3101
+ export type PropMappedValue = [string, any, any?, string?][] | undefined
2827
3102
 
2828
3103
  export type GetStyleState = {
2829
3104
  style: TextStyle | null
2830
- usedKeys: Record<string, number>
2831
3105
  classNames: ClassNamesObject
2832
3106
  staticConfig: StaticConfig
2833
3107
  theme: ThemeParsed
@@ -2840,18 +3114,32 @@ export type GetStyleState = {
2840
3114
  avoidMergeTransform?: boolean
2841
3115
  fontFamily?: string
2842
3116
  debug?: DebugProp
2843
- flatTransforms?: Record<string, any>
3117
+ transformAccumulator?: TransformAccumulator
3118
+ // direct flat-value scan context and its subscription output
3119
+ flatRulesToInsert?: RulesToInsert
3120
+ flatShouldDoClasses?: boolean
3121
+ flatThemeName?: string
3122
+ flatMediaState?: Record<string, boolean | undefined>
3123
+ flatGroupContext?: AllGroupContexts | null
3124
+ flatConditionOrder?: number
3125
+ flatStateKeys?: Set<string>
3126
+ flatMediaKeys?: Set<string>
3127
+ flatGroupKeys?: Set<string>
3128
+ flatGroupMedia?: Set<string>
3129
+ flatEnterKeys?: Set<string>
3130
+ flatExitKeys?: Set<string>
3131
+ flatHasEnterStyle?: boolean
3132
+ flatHasPlatformPseudo?: boolean
3133
+ flatUsesSafeArea?: boolean
2844
3134
  // Track style values that override context props (for issues #3670, #3676)
2845
3135
  overriddenContextProps?: Record<string, any>
2846
- // Track original token values (like '$8') before they get resolved to CSS vars
3136
+ // Track original token values before they get resolved to CSS vars
2847
3137
  // This is used to preserve token strings in overriddenContextProps
2848
3138
  originalContextPropValues?: Record<string, any>
2849
- // opt-in dev-tools token provenance: original token string (like '$background')
3139
+ // opt-in dev-tools token provenance: original token string
2850
3140
  // for each winning base style key, cleared on literal override. stamped onto
2851
3141
  // the final style object as non-enumerable metadata (see helpers/styleProvenance).
2852
3142
  tokenProvenance?: Record<string, string>
2853
- // Transitions extracted from pseudo-style props (e.g., hoverStyle.transition)
2854
- pseudoTransitions?: PseudoTransitions | null
2855
3143
  // Resolved animation driver (respects animatedBy prop)
2856
3144
  animationDriver?: AnimationDriver | null
2857
3145
  }
@@ -2869,22 +3157,28 @@ export type PropMapper = (
2869
3157
  value: any,
2870
3158
  state: GetStyleState,
2871
3159
  disabled: boolean,
2872
- map: (key: string, val: any, originalVal?: any) => void
3160
+ parentCondition?: number,
3161
+ fallbackOriginal?: any
2873
3162
  ) => void
2874
3163
 
2875
3164
  export type GenericVariantDefinitions = {
2876
- [key: string]: {
2877
- [key: string]:
2878
- | ((a: any, b: any) => any)
2879
- | {
2880
- [key: string]: any
2881
- }
2882
- }
3165
+ [key: string]:
3166
+ | StyledDynamic<any>
3167
+ | {
3168
+ [key: string]:
3169
+ | StaticStyleInput
3170
+ | {
3171
+ [key: string]: any
3172
+ }
3173
+ }
2883
3174
  }
2884
3175
 
2885
3176
  export type StaticConfigPublic = {
2886
3177
  defaultProps?: Record<string, any>
2887
3178
 
3179
+ /** Static class input supplied to styled(Component, baseClassName, ...). */
3180
+ baseClassName?: StaticStyleInput
3181
+
2888
3182
  /**
2889
3183
  * (compiler) If you need to pass context or something, prevents from ever
2890
3184
  * flattening. The 'jsx' option means it will never flatten. if you
@@ -2907,32 +3201,24 @@ export type StaticConfigPublic = {
2907
3201
  */
2908
3202
  validStyles?: { [key: string]: boolean }
2909
3203
 
2910
- /**
2911
- * Accept Tamagui tokens for these props (key for the prop key, val for the token category)
2912
- */
2913
- accept?: {
2914
- [key: string]: keyof Tokens | 'style' | 'textStyle'
2915
- }
2916
-
2917
3204
  /**
2918
3205
  * (compiler) If these props are encountered, leave them un-extracted.
2919
3206
  */
2920
3207
  inlineProps?: Set<string>
2921
3208
 
2922
3209
  /**
2923
- * (compiler) If not flattening, leave this prop as original value.
2924
- * Only applies to style attributes
3210
+ * Props that reach `Component` even though the platform prop-skip list drops
3211
+ * them. The native DOM primitives build their own event payloads, so a DOM
3212
+ * frame's `onClick` is the primitive's input, not a web-only prop.
2925
3213
  */
2926
- inlineWhenUnflattened?: Set<string>
3214
+ neverSkipProps?: Record<string, 1>
2927
3215
 
2928
3216
  /**
2929
3217
  * Auto-detected, but can override. Wraps children to space them on top
2930
3218
  */
2931
3219
  isZStack?: boolean
2932
3220
 
2933
- /**
2934
- * Auto-detect, but can override, passes styles properly to react-native-web
2935
- */
3221
+ /** Native-only marker for components backed by a React Native host. */
2936
3222
  isReactNative?: boolean
2937
3223
 
2938
3224
  /**
@@ -2946,19 +3232,29 @@ export type StaticConfigPublic = {
2946
3232
  * memoizes component, rarely useful except mostly style components that don't take children
2947
3233
  */
2948
3234
  memo?: boolean
3235
+
3236
+ contextProps?: readonly string[]
2949
3237
  }
2950
3238
 
2951
3239
  type StaticConfigBase = StaticConfigPublic & {
2952
3240
  Component?: FunctionComponent<any> & StaticComponentObject<any, any, any, any, any, any>
2953
3241
 
2954
- variants?: GenericVariantDefinitions
3242
+ displayName?: string
2955
3243
 
2956
- context?: StyledContext
3244
+ baseStyle?: Record<string, any>
3245
+
3246
+ variants?: GenericVariantDefinitions
2957
3247
 
2958
3248
  /**
2959
- * Used for applying sub theme style
3249
+ * component resolvers added via `.resolve`, parent-first. Run after the
3250
+ * props walk at their own precedence tier (above variants, below call-site
3251
+ * props); a later resolver wins within the tier.
2960
3252
  */
2961
- componentName?: string
3253
+ resolvers?: StyledResolver[]
3254
+
3255
+ context?: StyledContext
3256
+
3257
+ contextProps?: readonly string[]
2962
3258
 
2963
3259
  /**
2964
3260
  * Merges into defaultProps later on, used internally only
@@ -2975,24 +3271,48 @@ type StaticConfigBase = StaticConfigPublic & {
2975
3271
  */
2976
3272
  isHOC?: boolean
2977
3273
 
2978
- // insanity, for styled(styled(styleable(styled())))
3274
+ // Tracks when styled() wraps a HOC that already wraps styled().
2979
3275
  isStyledHOC?: boolean
3276
+
3277
+ /**
3278
+ * The immutable authoring syntax of this component, set by the package that
3279
+ * created it and inherited by styled() descendants. Absent means the regular
3280
+ * Tamagui frontend (see `regularStyleFrontend`).
3281
+ */
3282
+ styleFrontend?: StyleFrontend
3283
+
3284
+ /**
3285
+ * Raw classes from `baseClassName` that the frontend did not claim, produced by
3286
+ * the descriptor's `normalizeStaticConfig`. They stay a class string so the app's
3287
+ * own CSS still applies them, and stay out of `baseStyle` because that object
3288
+ * holds styles only.
3289
+ */
3290
+ passthroughClassName?: string
2980
3291
  }
2981
3292
 
2982
3293
  export type StaticConfig = StaticConfigBase & {
2983
3294
  parentStaticConfig?: StaticConfigBase
2984
3295
  }
2985
3296
 
2986
- export type ViewStyleWithPseudos =
2987
- | TextStyle
2988
- | (TextStyle & {
2989
- hoverStyle?: TextStyle
2990
- pressStyle?: TextStyle
2991
- focusStyle?: TextStyle
2992
- focusWithinStyle?: TextStyle
2993
- focusVisibleStyle?: TextStyle
2994
- disabledStyle?: TextStyle
2995
- })
3297
+ export type ViewStyleObject = TextStyle
3298
+
3299
+ /** Shared registry symbol carried by runtime/compiled `style()` pieces. */
3300
+ export const stylePieceSymbol: symbol = Symbol.for('tamagui.stylePiece')
3301
+
3302
+ /** A statically-shaped style accepted by `style()`. */
3303
+ export type StaticShapeStyle = TextStyle
3304
+
3305
+ /**
3306
+ * Per-property style fragment. `byKey` keeps later tiers subtractable; the
3307
+ * authored object is retained for native and inline-JS resolution.
3308
+ */
3309
+ export type StylePiece = {
3310
+ className: string
3311
+ [key: symbol]: {
3312
+ byKey: Record<string, string>
3313
+ styleObject: StaticShapeStyle
3314
+ }
3315
+ }
2996
3316
 
2997
3317
  /**
2998
3318
  * --------------------------------------------
@@ -3003,22 +3323,55 @@ export type ViewStyleWithPseudos =
3003
3323
  export type StylableComponent =
3004
3324
  | TamaguiComponent
3005
3325
  | ComponentType<any>
3006
- | ForwardRefExoticComponent<any>
3007
3326
  | ReactComponentWithRef<any, any>
3008
3327
  | (new (props: any) => any)
3009
3328
 
3010
- export type SpreadKeys =
3011
- | '...fontSize'
3012
- | '...fontStyle'
3013
- | '...fontTransform'
3014
- | '...lineHeight'
3015
- | '...letterSpacing'
3016
- | '...size'
3017
- | '...space'
3018
- | '...color'
3019
- | '...zIndex'
3020
- | '...theme'
3021
- | '...radius'
3329
+ /**
3330
+ * brand for `styled.dynamic` carriers stored in `variants`. Shared registry
3331
+ * symbol so multiple copies of the package agree on what is a carrier.
3332
+ */
3333
+ export const styledDynamicSymbol = Symbol.for('tamagui.styledDynamic')
3334
+
3335
+ /**
3336
+ * environment handed to `styled.dynamic` callbacks and component `.resolve`
3337
+ * resolvers. Never includes props for dynamics: a dynamic is a pure function
3338
+ * of its value, which is what makes per-clause invocation sound.
3339
+ */
3340
+ export type StyledDynamicEnv = {
3341
+ fonts: TamaguiConfig['fonts']
3342
+ tokens: TokensParsed
3343
+ theme: Themes extends { [key: string]: infer B } ? B : unknown
3344
+ fontFamily?: FontFamilyTokens
3345
+ font?: Font
3346
+ sizes?: GenericSizes
3347
+ }
3348
+
3349
+ /** bare `styled.dynamic<T>()`: a typed prop consumed by styling, given style by `.resolve` */
3350
+ export interface StyledDynamicProp<Val = any> {
3351
+ [styledDynamicSymbol]: true
3352
+ /** phantom carrying the accepted value type; never set at runtime */
3353
+ __value?: Val
3354
+ }
3355
+
3356
+ /** `styled.dynamic<T>(fn)`: value -> style fragment, invoked per clause payload */
3357
+ export interface StyledDynamicFn<Val = any, Output extends object = Record<string, any>> {
3358
+ (value: Val, env: StyledDynamicEnv): Partial<Output> | null | undefined
3359
+ [styledDynamicSymbol]: true
3360
+ }
3361
+
3362
+ export type StyledDynamic<Val = any, Output extends object = Record<string, any>> =
3363
+ | StyledDynamicProp<Val>
3364
+ | StyledDynamicFn<Val, Output>
3365
+
3366
+ /**
3367
+ * a component resolver added via `.resolve`: complete merged props -> style
3368
+ * fragment, applied above variants and below call-site props. undefined
3369
+ * values mean absent (fall through to lower tiers).
3370
+ */
3371
+ export type StyledResolver<
3372
+ Props = Record<string, any>,
3373
+ Output extends object = Record<string, any>,
3374
+ > = (props: Props, env: StyledDynamicEnv) => Partial<Output> | null | undefined
3022
3375
 
3023
3376
  export type VariantDefinitions<
3024
3377
  Parent extends StylableComponent = TamaguiComponent,
@@ -3042,6 +3395,8 @@ export type VariantDefinitions<
3042
3395
  _isEmpty?: 1
3043
3396
  }
3044
3397
 
3398
+ export type StaticStyleInput = string
3399
+
3045
3400
  export type GetVariantProps<
3046
3401
  A extends StylableComponent,
3047
3402
  IsText extends boolean | undefined,
@@ -3058,51 +3413,15 @@ export type GetVariantProps<
3058
3413
  ? Props extends TamaDefer
3059
3414
  ? GetFinalProps<NonStyledProps, BaseStyles, VariantProps>
3060
3415
  : Props
3061
- : WithThemeShorthandsPseudosMedia<
3062
- IsText extends true ? TextStylePropsBase : StackStyleBase
3063
- >
3416
+ : WithThemeAndShorthands<IsText extends true ? TextStylePropsBase : StackStyleBase>
3064
3417
 
3065
3418
  export type VariantDefinitionFromProps<MyProps, Val> = MyProps extends object
3066
3419
  ? {
3067
3420
  [propName: string]:
3068
- | VariantSpreadFunction<MyProps, Val>
3069
- | ({
3070
- [Key in SpreadKeys]?: Key extends '...fontSize'
3071
- ? FontSizeVariantSpreadFunction<MyProps>
3072
- : Key extends '...size'
3073
- ? SizeVariantSpreadFunction<MyProps>
3074
- : Key extends '...space'
3075
- ? SpaceVariantSpreadFunction<MyProps>
3076
- : Key extends '...color'
3077
- ? ColorVariantSpreadFunction<MyProps>
3078
- : Key extends '...lineHeight'
3079
- ? FontLineHeightVariantSpreadFunction<MyProps>
3080
- : Key extends '...fontTransform'
3081
- ? FontTransformVariantSpreadFunction<MyProps>
3082
- : Key extends '...fontStyle'
3083
- ? FontStyleVariantSpreadFunction<MyProps>
3084
- : Key extends '...letterSpacing'
3085
- ? FontLetterSpacingVariantSpreadFunction<MyProps>
3086
- : Key extends '...zIndex'
3087
- ? ZIndexVariantSpreadFunction<MyProps>
3088
- : Key extends '...radius'
3089
- ? RadiusVariantSpreadFunction<MyProps>
3090
- : Key extends '...theme'
3091
- ? ThemeVariantSpreadFunction<MyProps>
3092
- : never
3093
- } & {
3094
- [Key in string | number | 'true' | 'false']?:
3095
- | MyProps
3096
- | VariantSpreadFunction<MyProps, Val>
3097
- } & {
3098
- [Key in VariantTypeKeys]?: Key extends ':number'
3099
- ? VariantSpreadFunction<MyProps, number>
3100
- : Key extends ':boolean'
3101
- ? VariantSpreadFunction<MyProps, boolean>
3102
- : Key extends ':string'
3103
- ? VariantSpreadFunction<MyProps, string>
3104
- : never
3105
- })
3421
+ | StyledDynamic<any, MyProps>
3422
+ | {
3423
+ [Key in string | number | 'true' | 'false']?: MyProps | StaticStyleInput
3424
+ }
3106
3425
  }
3107
3426
  : {}
3108
3427
 
@@ -3112,80 +3431,6 @@ export type GenericStackVariants = VariantDefinitionFromProps<
3112
3431
  >
3113
3432
  export type GenericTextVariants = VariantDefinitionFromProps<TextProps, any>
3114
3433
 
3115
- export type VariantSpreadExtras<Props> = {
3116
- fonts: TamaguiConfig['fonts']
3117
- tokens: TokensParsed
3118
- theme: Themes extends { [key: string]: infer B } ? B : unknown
3119
- props: Props
3120
- fontFamily?: FontFamilyTokens
3121
- font?: Font
3122
- }
3123
-
3124
- type PropLike = { [key: string]: any }
3125
-
3126
- export type VariantSpreadFunction<Props extends PropLike, Val = any> = (
3127
- val: Val,
3128
- config: VariantSpreadExtras<Props>
3129
- ) =>
3130
- | {
3131
- [Key in keyof Props]: Props[Key] | Variable | VariableVal
3132
- }
3133
- | null
3134
- | undefined
3135
-
3136
- export type VariantTypeKeys = ':string' | ':boolean' | ':number'
3137
-
3138
- export type GetVariantValues<Key> = Key extends `...${infer VariantSpread}`
3139
- ? ThemeValueByCategory<VariantSpread>
3140
- : Key extends 'true' | 'false'
3141
- ? boolean
3142
- : Key extends ':string'
3143
- ? string
3144
- : Key extends ':boolean'
3145
- ? boolean
3146
- : Key extends ':number'
3147
- ? number
3148
- : Key
3149
-
3150
- export type FontSizeVariantSpreadFunction<A extends PropLike> = VariantSpreadFunction<
3151
- A,
3152
- FontSizeTokens
3153
- >
3154
- export type SizeVariantSpreadFunction<A extends PropLike> = VariantSpreadFunction<
3155
- A,
3156
- SizeTokens
3157
- >
3158
- export type SpaceVariantSpreadFunction<A extends PropLike> = VariantSpreadFunction<
3159
- A,
3160
- SpaceTokens
3161
- >
3162
- export type ColorVariantSpreadFunction<A extends PropLike> = VariantSpreadFunction<
3163
- A,
3164
- ColorTokens
3165
- >
3166
- export type FontLineHeightVariantSpreadFunction<A extends PropLike> =
3167
- VariantSpreadFunction<A, FontLineHeightTokens>
3168
- export type FontLetterSpacingVariantSpreadFunction<A extends PropLike> =
3169
- VariantSpreadFunction<A, FontLetterSpacingTokens>
3170
- export type FontStyleVariantSpreadFunction<A extends PropLike> = VariantSpreadFunction<
3171
- A,
3172
- FontStyleTokens
3173
- >
3174
- export type FontTransformVariantSpreadFunction<A extends PropLike> =
3175
- VariantSpreadFunction<A, FontTransformTokens>
3176
- export type ZIndexVariantSpreadFunction<A extends PropLike> = VariantSpreadFunction<
3177
- A,
3178
- ZIndexTokens
3179
- >
3180
- export type RadiusVariantSpreadFunction<A extends PropLike> = VariantSpreadFunction<
3181
- A,
3182
- RadiusTokens
3183
- >
3184
- export type ThemeVariantSpreadFunction<A extends PropLike> = VariantSpreadFunction<
3185
- A,
3186
- ThemeTokens
3187
- >
3188
-
3189
3434
  /**
3190
3435
  * --------------------------------------------
3191
3436
  * end variants
@@ -3201,6 +3446,11 @@ export type ResolveVariableAs =
3201
3446
  | 'except-theme'
3202
3447
 
3203
3448
  export type SplitStyleProps = {
3449
+ /** Internal: extraction must carry rules even when module evaluation inserted them. */
3450
+ isStatic?: boolean
3451
+ /** Internal: captures pre-parsed style-piece slots before atomic completion. */
3452
+ stylePieceEntries?: Record<string, any[]>
3453
+ displayName?: string
3204
3454
  styledContext?: Record<string, any>
3205
3455
  mediaState?: Record<string, boolean>
3206
3456
  noClass?: boolean
@@ -3210,14 +3460,12 @@ export type SplitStyleProps = {
3210
3460
  noMergeStyle?: boolean
3211
3461
  resolveValues?: ResolveVariableAs
3212
3462
  disableExpandShorthands?: boolean
3213
- fallbackProps?: Record<string, any>
3214
3463
  hasTextAncestor?: boolean
3215
3464
  // for animations
3216
3465
  willBeAnimated?: boolean // we need to track media queries even before animation
3466
+ canPlatformPseudo?: boolean
3217
3467
  isAnimated: boolean
3218
3468
  isExiting?: boolean
3219
- exitVariant?: string
3220
- enterVariant?: string
3221
3469
  }
3222
3470
 
3223
3471
  // Presence
@@ -3229,9 +3477,6 @@ export interface PresenceContextProps {
3229
3477
  onExitComplete?: (id: string) => void
3230
3478
  initial?: false | string | string[]
3231
3479
  custom?: any
3232
- exitVariant?: string | null
3233
- enterVariant?: string | null
3234
- enterExitVariant?: string | null
3235
3480
  }
3236
3481
 
3237
3482
  type SafeToRemoveCallback = () => void
@@ -3241,15 +3486,17 @@ type NotPresent = [false, SafeToRemoveCallback, PresenceContextProps]
3241
3486
 
3242
3487
  export type UsePresenceResult = AlwaysPresent | Present | NotPresent
3243
3488
 
3489
+ export type PresenceRegistration = {
3490
+ shouldRegisterPresence?: boolean
3491
+ }
3492
+
3244
3493
  // Animations:
3245
3494
 
3246
3495
  type AnimationConfig = {
3247
3496
  [key: string]: any
3248
3497
  }
3249
3498
 
3250
- // includes a very limited adapter between various impls for number => style
3251
- // this is useful only in limited scenarios like `Sheet`, but necessary in those cases
3252
- // TODO: make css driver compatible with this?
3499
+ // adapter between driver implementations for imperative number => style mapping
3253
3500
 
3254
3501
  export type AnimatedNumberStrategy =
3255
3502
  // only values shared between reanimated/react-native for now
@@ -3294,8 +3541,7 @@ export type UseAnimatedNumber<
3294
3541
  N extends UniversalAnimatedNumber<any> = UniversalAnimatedNumber<any>,
3295
3542
  > = (initial: number) => N
3296
3543
 
3297
- export type AnimationDriver<A extends AnimationConfig = AnimationConfig> = {
3298
- isReactNative?: boolean
3544
+ type AnimationDriverBase<A extends AnimationConfig = AnimationConfig> = {
3299
3545
  /** What style format the driver expects as input: 'css' (CSS variables) or 'value' (resolved values) */
3300
3546
  inputStyle?: 'css' | 'value'
3301
3547
  /** How the driver outputs styles: 'css' (className-based) or 'inline' (style object) */
@@ -3303,23 +3549,41 @@ export type AnimationDriver<A extends AnimationConfig = AnimationConfig> = {
3303
3549
  needsCustomComponent?: boolean
3304
3550
  avoidReRenders?: boolean
3305
3551
  onMount?: () => void
3306
- /** When true, this is a stub driver with no real animation support */
3307
- isStub?: boolean
3308
- useAnimations: UseAnimationHook
3309
- usePresence: () => UsePresenceResult
3310
- ResetPresence: (props: {
3311
- children?: React.ReactNode
3312
- disabled?: boolean
3313
- }) => React.ReactNode
3314
- useAnimatedNumber: UseAnimatedNumber
3315
- useAnimatedNumberStyle: UseAnimatedNumberStyle
3316
- useAnimatedNumbersStyle?: UseAnimatedNumbersStyle
3317
- useAnimatedNumberReaction: UseAnimatedNumberReaction
3318
3552
  animations: A
3319
3553
  View?: any
3320
3554
  Text?: any
3321
3555
  }
3322
3556
 
3557
+ export type AnimationDriver<A extends AnimationConfig = AnimationConfig> =
3558
+ AnimationDriverBase<A> & {
3559
+ /** When true, this is a stub driver with no real animation support */
3560
+ isStub?: boolean
3561
+ useAnimations: UseAnimationHook
3562
+ usePresence: (registration?: PresenceRegistration) => UsePresenceResult
3563
+ ResetPresence: (props: {
3564
+ children?: React.ReactNode
3565
+ disabled?: boolean
3566
+ }) => React.ReactNode
3567
+ }
3568
+
3569
+ export type AnimationDriverWithAnimatedNumbers<
3570
+ A extends AnimationConfig = AnimationConfig,
3571
+ > = AnimationDriver<A> & {
3572
+ useAnimatedNumber: UseAnimatedNumber
3573
+ useAnimatedNumberStyle: UseAnimatedNumberStyle
3574
+ useAnimatedNumbersStyle: UseAnimatedNumbersStyle
3575
+ useAnimatedNumberReaction: UseAnimatedNumberReaction
3576
+ }
3577
+
3578
+ export type AnimationDriverStub<A extends AnimationConfig = AnimationConfig> =
3579
+ AnimationDriverBase<A> & {
3580
+ isStub: true
3581
+ }
3582
+
3583
+ export type AnimationDriverLike<A extends AnimationConfig = AnimationConfig> =
3584
+ | AnimationDriver<A>
3585
+ | AnimationDriverStub<A>
3586
+
3323
3587
  export type UseAnimationProps = TamaguiComponentPropsBase & Record<string, any>
3324
3588
 
3325
3589
  type UseStyleListener = (
@@ -3335,6 +3599,7 @@ export type UseStyleEmitter = (cb: UseStyleListener) => void
3335
3599
  export type UseAnimationHook = (props: {
3336
3600
  style: Record<string, any>
3337
3601
  props: Record<string, any>
3602
+ styleState?: GetStyleResult | null
3338
3603
  presence?: UsePresenceResult | null
3339
3604
  staticConfig: StaticConfig
3340
3605
  styleProps: SplitStyleProps
@@ -3342,12 +3607,11 @@ export type UseAnimationHook = (props: {
3342
3607
  useStyleEmitter?: UseStyleEmitter
3343
3608
  theme: ThemeParsed
3344
3609
  themeName: string
3345
- pseudos: WithPseudoProps<ViewStyle> | null
3346
3610
  stateRef: { current: TamaguiComponentStateRef }
3347
- onDidAnimate?: any
3611
+ onTransition?: OnTransition
3348
3612
  delay?: number
3349
3613
  }) => null | {
3350
- style?: StackStyleBase | StackStyleBase[]
3614
+ style?: unknown
3351
3615
  className?: string
3352
3616
  ref?: any
3353
3617
  }
@@ -3360,7 +3624,6 @@ export type GestureReponderEvent =
3360
3624
  export type RulesToInsert = Record<string, StyleObject>
3361
3625
 
3362
3626
  export type GetStyleResult = {
3363
- pseudos?: PseudoStyles | null
3364
3627
  style: ViewStyle | null
3365
3628
  classNames: ClassNamesObject
3366
3629
  rulesToInsert: RulesToInsert
@@ -3368,15 +3631,34 @@ export type GetStyleResult = {
3368
3631
  fontFamily: string | undefined
3369
3632
  space?: any // SpaceTokens?
3370
3633
  hasMedia: boolean | Set<string>
3371
- dynamicThemeAccess?: boolean
3372
3634
  pseudoGroups?: Set<string>
3373
3635
  mediaGroups?: Set<string>
3636
+ dynamicThemeAccess?: boolean
3374
3637
  // Style values that override context props (for issues #3670, #3676)
3375
3638
  overriddenContextProps?: Record<string, any>
3376
- // Transitions extracted from pseudo-style props (e.g., hoverStyle.transition)
3377
- pseudoTransitions?: PseudoTransitions | null
3378
- // Effective transition to use (accounts for entering pseudo states)
3639
+ // interaction states referenced by flat-value clauses, so createComponent
3640
+ // attaches the matching event handlers. the field name remains for the
3641
+ // compiler host contract.
3642
+ programStates?: Set<string>
3643
+ // subscribe this component to live safe-area insets
3644
+ usesSafeArea?: true
3645
+ // the transition selected by active flat-value clauses
3379
3646
  effectiveTransition?: TransitionProp | null
3647
+ // css properties controlled by active lifecycle clauses. internal
3648
+ // animation-driver metadata; authored condition objects never enter
3649
+ // this contract.
3650
+ programLifecycleStyleKeys?: {
3651
+ enter?: Set<string>
3652
+ exit?: Set<string>
3653
+ }
3654
+ hasEnterStyle?: true
3655
+ platformPseudo?: true
3656
+ // behavior-bearing frontend candidates discovered by the same className
3657
+ // walk as styles. createComponent consumes these before it builds descendant
3658
+ // group/container context; they are never forwarded to the host.
3659
+ frontendGroup?: boolean | string
3660
+ frontendContainer?: boolean | string
3661
+ frontendContainerType?: string
3380
3662
  }
3381
3663
 
3382
3664
  export type ClassNamesObject = Record<string, string>
@@ -3423,8 +3705,9 @@ export type RegisteredStyle<T> = number & { __registeredStyleBrand: T }
3423
3705
 
3424
3706
  export type StyleProp<T> =
3425
3707
  | T
3708
+ | StylePiece
3426
3709
  | RegisteredStyle<T>
3427
- | RecursiveArray<T | RegisteredStyle<T> | Falsy>
3710
+ | RecursiveArray<T | StylePiece | RegisteredStyle<T> | Falsy>
3428
3711
  | Falsy
3429
3712
 
3430
3713
  export type FillInFont<A extends GenericFont, DefaultKeys extends string | number> = {