@tamagui/web 2.7.7 → 3.0.0-beta.643.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 (1630) hide show
  1. package/dist/cjs/Tamagui.cjs +45 -53
  2. package/dist/cjs/Tamagui.native.cjs +124 -0
  3. package/dist/cjs/Tamagui.native.js +94 -96
  4. package/dist/cjs/Tamagui.native.js.map +1 -1
  5. package/dist/cjs/_withNativeStyle.cjs +81 -0
  6. package/dist/cjs/_withNativeStyle.native.cjs +86 -0
  7. package/dist/cjs/_withNativeStyle.native.js +88 -0
  8. package/dist/cjs/_withNativeStyle.native.js.map +1 -0
  9. package/dist/cjs/_withStableStyle.cjs +59 -54
  10. package/dist/cjs/_withStableStyle.native.cjs +93 -0
  11. package/dist/cjs/_withStableStyle.native.js +70 -57
  12. package/dist/cjs/_withStableStyle.native.js.map +1 -1
  13. package/dist/cjs/config.cjs +120 -133
  14. package/dist/cjs/config.native.cjs +193 -0
  15. package/dist/cjs/config.native.js +157 -173
  16. package/dist/cjs/config.native.js.map +1 -1
  17. package/dist/cjs/constants/accessibilityDirectMap.cjs +19 -20
  18. package/dist/cjs/constants/accessibilityDirectMap.native.cjs +37 -0
  19. package/dist/cjs/constants/accessibilityDirectMap.native.js +19 -19
  20. package/dist/cjs/constants/accessibilityDirectMap.native.js.map +1 -1
  21. package/dist/cjs/constants/constants.cjs +18 -19
  22. package/dist/cjs/constants/constants.native.cjs +41 -0
  23. package/dist/cjs/constants/constants.native.js +18 -18
  24. package/dist/cjs/constants/constants.native.js.map +1 -1
  25. package/dist/cjs/constants/isDevTools.cjs +21 -24
  26. package/dist/cjs/constants/isDevTools.native.cjs +34 -0
  27. package/dist/cjs/constants/isDevTools.native.js +23 -25
  28. package/dist/cjs/constants/isDevTools.native.js.map +1 -1
  29. package/dist/cjs/contexts/ComponentContext.cjs +32 -25
  30. package/dist/cjs/contexts/ComponentContext.native.cjs +50 -0
  31. package/dist/cjs/contexts/ComponentContext.native.js +33 -25
  32. package/dist/cjs/contexts/ComponentContext.native.js.map +1 -1
  33. package/dist/cjs/contexts/GroupContext.cjs +15 -18
  34. package/dist/cjs/contexts/GroupContext.native.cjs +28 -0
  35. package/dist/cjs/contexts/GroupContext.native.js +16 -18
  36. package/dist/cjs/contexts/GroupContext.native.js.map +1 -1
  37. package/dist/cjs/createComponent.cjs +967 -1017
  38. package/dist/cjs/createComponent.native.cjs +1144 -0
  39. package/dist/cjs/createComponent.native.js +1072 -994
  40. package/dist/cjs/createComponent.native.js.map +1 -1
  41. package/dist/cjs/createFont.cjs +41 -36
  42. package/dist/cjs/createFont.native.cjs +57 -0
  43. package/dist/cjs/createFont.native.js +44 -38
  44. package/dist/cjs/createFont.native.js.map +1 -1
  45. package/dist/cjs/createShorthands.cjs +16 -19
  46. package/dist/cjs/createShorthands.native.cjs +29 -0
  47. package/dist/cjs/createShorthands.native.js +16 -18
  48. package/dist/cjs/createShorthands.native.js.map +1 -1
  49. package/dist/cjs/createStyledHOC.cjs +55 -0
  50. package/dist/cjs/createStyledHOC.native.cjs +57 -0
  51. package/dist/cjs/createStyledHOC.native.js +59 -0
  52. package/dist/cjs/createStyledHOC.native.js.map +1 -0
  53. package/dist/cjs/createTamagui.cjs +269 -224
  54. package/dist/cjs/createTamagui.native.cjs +335 -0
  55. package/dist/cjs/createTamagui.native.js +302 -272
  56. package/dist/cjs/createTamagui.native.js.map +1 -1
  57. package/dist/cjs/createTokens.cjs +28 -19
  58. package/dist/cjs/createTokens.native.cjs +47 -0
  59. package/dist/cjs/createTokens.native.js +33 -19
  60. package/dist/cjs/createTokens.native.js.map +1 -1
  61. package/dist/cjs/createVariable.cjs +92 -86
  62. package/dist/cjs/createVariable.native.cjs +145 -0
  63. package/dist/cjs/createVariable.native.js +106 -100
  64. package/dist/cjs/createVariable.native.js.map +1 -1
  65. package/dist/cjs/createVariables.cjs +50 -60
  66. package/dist/cjs/createVariables.native.cjs +71 -0
  67. package/dist/cjs/createVariables.native.js +54 -64
  68. package/dist/cjs/createVariables.native.js.map +1 -1
  69. package/dist/cjs/defaultComponentState.cjs +29 -30
  70. package/dist/cjs/defaultComponentState.native.cjs +48 -0
  71. package/dist/cjs/defaultComponentState.native.js +29 -29
  72. package/dist/cjs/defaultComponentState.native.js.map +1 -1
  73. package/dist/cjs/dom/adapters.cjs +96 -0
  74. package/dist/cjs/dom/adapters.native.cjs +117 -0
  75. package/dist/cjs/dom/adapters.native.js +119 -0
  76. package/dist/cjs/dom/adapters.native.js.map +1 -0
  77. package/dist/cjs/dom/contract.cjs +17 -0
  78. package/dist/cjs/dom/contract.native.cjs +19 -0
  79. package/dist/cjs/dom/contract.native.js +21 -0
  80. package/dist/cjs/dom/contract.native.js.map +1 -0
  81. package/dist/cjs/dom/domEventProps.native.cjs +57 -0
  82. package/dist/cjs/dom/domEventProps.native.js +59 -0
  83. package/dist/cjs/dom/domEventProps.native.js.map +1 -0
  84. package/dist/cjs/dom/html.cjs +583 -0
  85. package/dist/cjs/dom/html.native.cjs +952 -0
  86. package/dist/cjs/dom/html.native.js +954 -0
  87. package/dist/cjs/dom/html.native.js.map +1 -0
  88. package/dist/cjs/dom/htmlRuntime.native.cjs +168 -0
  89. package/dist/cjs/dom/htmlRuntime.native.js +170 -0
  90. package/dist/cjs/dom/htmlRuntime.native.js.map +1 -0
  91. package/dist/cjs/dom/index.cjs +29 -0
  92. package/dist/cjs/dom/index.native.cjs +42 -0
  93. package/dist/cjs/dom/index.native.js +44 -0
  94. package/dist/cjs/dom/index.native.js.map +1 -0
  95. package/dist/cjs/dom/primitives.native.cjs +644 -0
  96. package/dist/cjs/dom/primitives.native.js +646 -0
  97. package/dist/cjs/dom/primitives.native.js.map +1 -0
  98. package/dist/cjs/dom/standalone.cjs +34 -0
  99. package/dist/cjs/dom/standalone.native.cjs +40 -0
  100. package/dist/cjs/dom/standalone.native.js +42 -0
  101. package/dist/cjs/dom/standalone.native.js.map +1 -0
  102. package/dist/cjs/dom/standaloneHtml.cjs +76 -0
  103. package/dist/cjs/dom/standaloneHtml.native.cjs +78 -0
  104. package/dist/cjs/dom/standaloneHtml.native.js +80 -0
  105. package/dist/cjs/dom/standaloneHtml.native.js.map +1 -0
  106. package/dist/cjs/dom/styleTypes.cjs +17 -0
  107. package/dist/cjs/dom/styleTypes.native.cjs +19 -0
  108. package/dist/cjs/dom/styleTypes.native.js +21 -0
  109. package/dist/cjs/dom/styleTypes.native.js.map +1 -0
  110. package/dist/cjs/eventDetails.cjs +39 -0
  111. package/dist/cjs/eventDetails.native.cjs +41 -0
  112. package/dist/cjs/eventDetails.native.js +43 -0
  113. package/dist/cjs/eventDetails.native.js.map +1 -0
  114. package/dist/cjs/eventHandling.cjs +30 -31
  115. package/dist/cjs/eventHandling.native.cjs +192 -0
  116. package/dist/cjs/eventHandling.native.js +159 -188
  117. package/dist/cjs/eventHandling.native.js.map +1 -1
  118. package/dist/cjs/helpers/componentDisplayName.cjs +35 -0
  119. package/dist/cjs/helpers/componentDisplayName.native.cjs +37 -0
  120. package/dist/cjs/helpers/componentDisplayName.native.js +39 -0
  121. package/dist/cjs/helpers/componentDisplayName.native.js.map +1 -0
  122. package/dist/cjs/helpers/consoleLog.native.cjs +31 -0
  123. package/dist/cjs/helpers/consoleLog.native.js +17 -17
  124. package/dist/cjs/helpers/consoleLog.native.js.map +1 -1
  125. package/dist/cjs/helpers/createDesignSystem.cjs +147 -150
  126. package/dist/cjs/helpers/createDesignSystem.native.cjs +196 -0
  127. package/dist/cjs/helpers/createDesignSystem.native.js +168 -205
  128. package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
  129. package/dist/cjs/helpers/createStyledContext.cjs +73 -84
  130. package/dist/cjs/helpers/createStyledContext.native.cjs +97 -0
  131. package/dist/cjs/helpers/createStyledContext.native.js +78 -88
  132. package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
  133. package/dist/cjs/helpers/defaultAnimationDriver.cjs +29 -32
  134. package/dist/cjs/helpers/defaultAnimationDriver.native.cjs +60 -0
  135. package/dist/cjs/helpers/defaultAnimationDriver.native.js +46 -48
  136. package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -1
  137. package/dist/cjs/helpers/defaultOffset.cjs +17 -20
  138. package/dist/cjs/helpers/defaultOffset.native.cjs +30 -0
  139. package/dist/cjs/helpers/defaultOffset.native.js +17 -19
  140. package/dist/cjs/helpers/defaultOffset.native.js.map +1 -1
  141. package/dist/cjs/helpers/directStyle.cjs +940 -0
  142. package/dist/cjs/helpers/directStyle.native.cjs +1145 -0
  143. package/dist/cjs/helpers/directStyle.native.js +1147 -0
  144. package/dist/cjs/helpers/directStyle.native.js.map +1 -0
  145. package/dist/cjs/helpers/expandStyle.cjs +132 -84
  146. package/dist/cjs/helpers/expandStyle.native.cjs +186 -0
  147. package/dist/cjs/helpers/expandStyle.native.js +154 -124
  148. package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
  149. package/dist/cjs/helpers/expandStyles.cjs +22 -25
  150. package/dist/cjs/helpers/expandStyles.native.cjs +47 -0
  151. package/dist/cjs/helpers/expandStyles.native.js +29 -31
  152. package/dist/cjs/helpers/expandStyles.native.js.map +1 -1
  153. package/dist/cjs/helpers/extractPseudoState.cjs +45 -0
  154. package/dist/cjs/helpers/extractPseudoState.native.cjs +48 -0
  155. package/dist/cjs/helpers/extractPseudoState.native.js +50 -0
  156. package/dist/cjs/helpers/extractPseudoState.native.js.map +1 -0
  157. package/dist/cjs/helpers/formatDiagnostic.cjs +69 -0
  158. package/dist/cjs/helpers/formatDiagnostic.native.cjs +78 -0
  159. package/dist/cjs/helpers/formatDiagnostic.native.js +80 -0
  160. package/dist/cjs/helpers/formatDiagnostic.native.js.map +1 -0
  161. package/dist/cjs/helpers/frontendProgram.cjs +44 -0
  162. package/dist/cjs/helpers/frontendProgram.native.cjs +50 -0
  163. package/dist/cjs/helpers/frontendProgram.native.js +52 -0
  164. package/dist/cjs/helpers/frontendProgram.native.js.map +1 -0
  165. package/dist/cjs/helpers/getCSSStylesAtomic.cjs +200 -190
  166. package/dist/cjs/helpers/getCSSStylesAtomic.native.cjs +38 -0
  167. package/dist/cjs/helpers/getCSSStylesAtomic.native.js +21 -19
  168. package/dist/cjs/helpers/getCSSStylesAtomic.native.js.map +1 -1
  169. package/dist/cjs/helpers/getDefaultProps.cjs +15 -33
  170. package/dist/cjs/helpers/getDefaultProps.native.cjs +29 -0
  171. package/dist/cjs/helpers/getDefaultProps.native.js +17 -33
  172. package/dist/cjs/helpers/getDefaultProps.native.js.map +1 -1
  173. package/dist/cjs/helpers/getDynamicVal.cjs +45 -52
  174. package/dist/cjs/helpers/getDynamicVal.native.cjs +68 -0
  175. package/dist/cjs/helpers/getDynamicVal.native.js +45 -51
  176. package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -1
  177. package/dist/cjs/helpers/getExpandedShorthands.cjs +17 -30
  178. package/dist/cjs/helpers/getExpandedShorthands.native.cjs +32 -0
  179. package/dist/cjs/helpers/getExpandedShorthands.native.js +18 -30
  180. package/dist/cjs/helpers/getExpandedShorthands.native.js.map +1 -1
  181. package/dist/cjs/helpers/getFontLanguage.cjs +15 -18
  182. package/dist/cjs/helpers/getFontLanguage.native.cjs +29 -0
  183. package/dist/cjs/helpers/getFontLanguage.native.js +17 -19
  184. package/dist/cjs/helpers/getFontLanguage.native.js.map +1 -1
  185. package/dist/cjs/helpers/getShorthandValue.cjs +17 -20
  186. package/dist/cjs/helpers/getShorthandValue.native.cjs +33 -0
  187. package/dist/cjs/helpers/getShorthandValue.native.js +19 -21
  188. package/dist/cjs/helpers/getShorthandValue.native.js.map +1 -1
  189. package/dist/cjs/helpers/getSplitStyles.cjs +711 -894
  190. package/dist/cjs/helpers/getSplitStyles.native.cjs +845 -0
  191. package/dist/cjs/helpers/getSplitStyles.native.js +788 -926
  192. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  193. package/dist/cjs/helpers/getThemeCSSRules.cjs +106 -109
  194. package/dist/cjs/helpers/getThemeCSSRules.native.cjs +29 -0
  195. package/dist/cjs/helpers/getThemeCSSRules.native.js +16 -18
  196. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +1 -1
  197. package/dist/cjs/helpers/getVariantExtras.cjs +71 -69
  198. package/dist/cjs/helpers/getVariantExtras.native.cjs +90 -0
  199. package/dist/cjs/helpers/getVariantExtras.native.js +72 -69
  200. package/dist/cjs/helpers/getVariantExtras.native.js.map +1 -1
  201. package/dist/cjs/helpers/grammarConfig.cjs +73 -0
  202. package/dist/cjs/helpers/grammarConfig.native.cjs +151 -0
  203. package/dist/cjs/helpers/grammarConfig.native.js +153 -0
  204. package/dist/cjs/helpers/grammarConfig.native.js.map +1 -0
  205. package/dist/cjs/helpers/insertStyleRule.cjs +249 -184
  206. package/dist/cjs/helpers/insertStyleRule.native.cjs +159 -0
  207. package/dist/cjs/helpers/insertStyleRule.native.js +120 -63
  208. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  209. package/dist/cjs/helpers/isObj.cjs +23 -16
  210. package/dist/cjs/helpers/isObj.native.cjs +43 -0
  211. package/dist/cjs/helpers/isObj.native.js +27 -20
  212. package/dist/cjs/helpers/isObj.native.js.map +1 -1
  213. package/dist/cjs/helpers/isTamaguiComponent.cjs +18 -21
  214. package/dist/cjs/helpers/isTamaguiComponent.native.cjs +30 -0
  215. package/dist/cjs/helpers/isTamaguiComponent.native.js +18 -20
  216. package/dist/cjs/helpers/isTamaguiComponent.native.js.map +1 -1
  217. package/dist/cjs/helpers/isTamaguiElement.cjs +20 -28
  218. package/dist/cjs/helpers/isTamaguiElement.native.cjs +37 -0
  219. package/dist/cjs/helpers/isTamaguiElement.native.js +20 -27
  220. package/dist/cjs/helpers/isTamaguiElement.native.js.map +1 -1
  221. package/dist/cjs/helpers/log.cjs +24 -27
  222. package/dist/cjs/helpers/log.native.cjs +39 -0
  223. package/dist/cjs/helpers/log.native.js +25 -27
  224. package/dist/cjs/helpers/log.native.js.map +1 -1
  225. package/dist/cjs/helpers/mainThreadPressEvents.cjs +15 -18
  226. package/dist/cjs/helpers/mainThreadPressEvents.native.cjs +156 -0
  227. package/dist/cjs/helpers/mainThreadPressEvents.native.js +139 -142
  228. package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
  229. package/dist/cjs/helpers/matchMedia.cjs +22 -23
  230. package/dist/cjs/helpers/matchMedia.native.cjs +69 -0
  231. package/dist/cjs/helpers/matchMedia.native.js +50 -41
  232. package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
  233. package/dist/cjs/helpers/mediaObjectToString.cjs +35 -38
  234. package/dist/cjs/helpers/mediaObjectToString.native.cjs +53 -0
  235. package/dist/cjs/helpers/mediaObjectToString.native.js +38 -40
  236. package/dist/cjs/helpers/mediaObjectToString.native.js.map +1 -1
  237. package/dist/cjs/helpers/mediaState.cjs +23 -43
  238. package/dist/cjs/helpers/mediaState.native.cjs +41 -0
  239. package/dist/cjs/helpers/mediaState.native.js +26 -46
  240. package/dist/cjs/helpers/mediaState.native.js.map +1 -1
  241. package/dist/cjs/helpers/mergeProps.cjs +51 -63
  242. package/dist/cjs/helpers/mergeProps.native.cjs +69 -0
  243. package/dist/cjs/helpers/mergeProps.native.js +54 -70
  244. package/dist/cjs/helpers/mergeProps.native.js.map +1 -1
  245. package/dist/cjs/helpers/mergeRenderElementProps.cjs +18 -23
  246. package/dist/cjs/helpers/mergeRenderElementProps.native.cjs +32 -0
  247. package/dist/cjs/helpers/mergeRenderElementProps.native.js +18 -22
  248. package/dist/cjs/helpers/mergeRenderElementProps.native.js.map +1 -1
  249. package/dist/cjs/helpers/mergeSlotStyleProps.cjs +35 -38
  250. package/dist/cjs/helpers/mergeSlotStyleProps.native.cjs +51 -0
  251. package/dist/cjs/helpers/mergeSlotStyleProps.native.js +35 -37
  252. package/dist/cjs/helpers/mergeSlotStyleProps.native.js.map +1 -1
  253. package/dist/cjs/helpers/mergeVariants.cjs +52 -41
  254. package/dist/cjs/helpers/mergeVariants.native.cjs +66 -0
  255. package/dist/cjs/helpers/mergeVariants.native.js +54 -42
  256. package/dist/cjs/helpers/mergeVariants.native.js.map +1 -1
  257. package/dist/cjs/helpers/nativeOnlyProps.cjs +48 -51
  258. package/dist/cjs/helpers/nativeOnlyProps.native.cjs +61 -0
  259. package/dist/cjs/helpers/nativeOnlyProps.native.js +48 -50
  260. package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
  261. package/dist/cjs/helpers/nativeStyleEngine.cjs +209 -0
  262. package/dist/cjs/helpers/nativeStyleEngine.native.cjs +303 -0
  263. package/dist/cjs/helpers/nativeStyleEngine.native.js +305 -0
  264. package/dist/cjs/helpers/nativeStyleEngine.native.js.map +1 -0
  265. package/dist/cjs/helpers/nativeTransitionTarget.cjs +27 -0
  266. package/dist/cjs/helpers/nativeTransitionTarget.native.cjs +43 -0
  267. package/dist/cjs/helpers/nativeTransitionTarget.native.js +45 -0
  268. package/dist/cjs/helpers/nativeTransitionTarget.native.js.map +1 -0
  269. package/dist/cjs/helpers/normalizeColor.cjs +23 -35
  270. package/dist/cjs/helpers/normalizeColor.native.cjs +50 -0
  271. package/dist/cjs/helpers/normalizeColor.native.js +33 -34
  272. package/dist/cjs/helpers/normalizeColor.native.js.map +1 -1
  273. package/dist/cjs/helpers/normalizeShadow.cjs +26 -39
  274. package/dist/cjs/helpers/normalizeShadow.native.cjs +42 -0
  275. package/dist/cjs/helpers/normalizeShadow.native.js +27 -37
  276. package/dist/cjs/helpers/normalizeShadow.native.js.map +1 -1
  277. package/dist/cjs/helpers/normalizeStyle.cjs +45 -60
  278. package/dist/cjs/helpers/normalizeStyle.native.cjs +80 -0
  279. package/dist/cjs/helpers/normalizeStyle.native.js +63 -79
  280. package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -1
  281. package/dist/cjs/helpers/normalizeStylePropKeys.cjs +15 -18
  282. package/dist/cjs/helpers/normalizeStylePropKeys.native.cjs +38 -0
  283. package/dist/cjs/helpers/normalizeStylePropKeys.native.js +25 -27
  284. package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +1 -1
  285. package/dist/cjs/helpers/normalizeValueWithProperty.cjs +42 -39
  286. package/dist/cjs/helpers/normalizeValueWithProperty.native.cjs +64 -0
  287. package/dist/cjs/helpers/normalizeValueWithProperty.native.js +45 -42
  288. package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
  289. package/dist/cjs/helpers/noteOnce.cjs +32 -0
  290. package/dist/cjs/helpers/noteOnce.native.cjs +34 -0
  291. package/dist/cjs/helpers/noteOnce.native.js +36 -0
  292. package/dist/cjs/helpers/noteOnce.native.js.map +1 -0
  293. package/dist/cjs/helpers/objectIdentityKey.cjs +31 -34
  294. package/dist/cjs/helpers/objectIdentityKey.native.cjs +49 -0
  295. package/dist/cjs/helpers/objectIdentityKey.native.js +34 -37
  296. package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -1
  297. package/dist/cjs/helpers/parseBorderShorthand.cjs +16 -19
  298. package/dist/cjs/helpers/parseBorderShorthand.native.cjs +97 -0
  299. package/dist/cjs/helpers/parseBorderShorthand.native.js +84 -71
  300. package/dist/cjs/helpers/parseBorderShorthand.native.js.map +1 -1
  301. package/dist/cjs/helpers/parseNativeStyle.native.cjs +205 -0
  302. package/dist/cjs/helpers/parseNativeStyle.native.js +182 -165
  303. package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -1
  304. package/dist/cjs/helpers/parseNativeTransform.native.cjs +68 -0
  305. package/dist/cjs/helpers/parseNativeTransform.native.js +70 -0
  306. package/dist/cjs/helpers/parseNativeTransform.native.js.map +1 -0
  307. package/dist/cjs/helpers/parseOutlineShorthand.cjs +16 -19
  308. package/dist/cjs/helpers/parseOutlineShorthand.native.cjs +85 -0
  309. package/dist/cjs/helpers/parseOutlineShorthand.native.js +72 -65
  310. package/dist/cjs/helpers/parseOutlineShorthand.native.js.map +1 -1
  311. package/dist/cjs/helpers/pointerEvents.cjs +15 -18
  312. package/dist/cjs/helpers/pointerEvents.native.cjs +132 -0
  313. package/dist/cjs/helpers/pointerEvents.native.js +117 -144
  314. package/dist/cjs/helpers/pointerEvents.native.js.map +1 -1
  315. package/dist/cjs/helpers/propMapper.cjs +338 -252
  316. package/dist/cjs/helpers/propMapper.native.cjs +506 -0
  317. package/dist/cjs/helpers/propMapper.native.js +475 -348
  318. package/dist/cjs/helpers/propMapper.native.js.map +1 -1
  319. package/dist/cjs/helpers/proxyThemeToParents.cjs +40 -47
  320. package/dist/cjs/helpers/proxyThemeToParents.native.cjs +143 -0
  321. package/dist/cjs/helpers/proxyThemeToParents.native.js +125 -141
  322. package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -1
  323. package/dist/cjs/helpers/registerCSSVariable.cjs +106 -60
  324. package/dist/cjs/helpers/registerCSSVariable.native.cjs +144 -0
  325. package/dist/cjs/helpers/registerCSSVariable.native.js +122 -61
  326. package/dist/cjs/helpers/registerCSSVariable.native.js.map +1 -1
  327. package/dist/cjs/helpers/resolveAnimationDriver.cjs +28 -26
  328. package/dist/cjs/helpers/resolveAnimationDriver.native.cjs +45 -0
  329. package/dist/cjs/helpers/resolveAnimationDriver.native.js +32 -26
  330. package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -1
  331. package/dist/cjs/helpers/resolveRem.cjs +18 -19
  332. package/dist/cjs/helpers/resolveRem.native.cjs +57 -0
  333. package/dist/cjs/helpers/resolveRem.native.js +37 -37
  334. package/dist/cjs/helpers/resolveRem.native.js.map +1 -1
  335. package/dist/cjs/helpers/resolveSafeArea.cjs +114 -23
  336. package/dist/cjs/helpers/resolveSafeArea.native.cjs +130 -0
  337. package/dist/cjs/helpers/resolveSafeArea.native.js +115 -29
  338. package/dist/cjs/helpers/resolveSafeArea.native.js.map +1 -1
  339. package/dist/cjs/helpers/resolveSafeAreaVariable.cjs +34 -0
  340. package/dist/cjs/helpers/resolveSafeAreaVariable.native.cjs +52 -0
  341. package/dist/cjs/helpers/resolveSafeAreaVariable.native.js +54 -0
  342. package/dist/cjs/helpers/resolveSafeAreaVariable.native.js.map +1 -0
  343. package/dist/cjs/helpers/resolveVariableValue.cjs +35 -0
  344. package/dist/cjs/helpers/resolveVariableValue.native.cjs +39 -0
  345. package/dist/cjs/helpers/resolveVariableValue.native.js +41 -0
  346. package/dist/cjs/helpers/resolveVariableValue.native.js.map +1 -0
  347. package/dist/cjs/helpers/setElementProps.cjs +17 -20
  348. package/dist/cjs/helpers/setElementProps.native.cjs +35 -0
  349. package/dist/cjs/helpers/setElementProps.native.js +22 -24
  350. package/dist/cjs/helpers/setElementProps.native.js.map +1 -1
  351. package/dist/cjs/helpers/skipProps.cjs +31 -31
  352. package/dist/cjs/helpers/skipProps.native.cjs +48 -0
  353. package/dist/cjs/helpers/skipProps.native.js +31 -30
  354. package/dist/cjs/helpers/skipProps.native.js.map +1 -1
  355. package/dist/cjs/helpers/sortString.cjs +15 -18
  356. package/dist/cjs/helpers/sortString.native.cjs +29 -0
  357. package/dist/cjs/helpers/sortString.native.js +17 -19
  358. package/dist/cjs/helpers/sortString.native.js.map +1 -1
  359. package/dist/cjs/helpers/styleFrontend.cjs +31 -0
  360. package/dist/cjs/helpers/styleFrontend.native.cjs +35 -0
  361. package/dist/cjs/helpers/styleFrontend.native.js +37 -0
  362. package/dist/cjs/helpers/styleFrontend.native.js.map +1 -0
  363. package/dist/cjs/helpers/styleOriginalValues.cjs +15 -18
  364. package/dist/cjs/helpers/styleOriginalValues.native.cjs +27 -0
  365. package/dist/cjs/helpers/styleOriginalValues.native.js +16 -18
  366. package/dist/cjs/helpers/styleOriginalValues.native.js.map +1 -1
  367. package/dist/cjs/helpers/styleProvenance.cjs +26 -27
  368. package/dist/cjs/helpers/styleProvenance.native.cjs +44 -0
  369. package/dist/cjs/helpers/styleProvenance.native.js +26 -26
  370. package/dist/cjs/helpers/styleProvenance.native.js.map +1 -1
  371. package/dist/cjs/helpers/subscribeToContextGroup.cjs +77 -96
  372. package/dist/cjs/helpers/subscribeToContextGroup.native.cjs +133 -0
  373. package/dist/cjs/helpers/subscribeToContextGroup.native.js +118 -140
  374. package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
  375. package/dist/cjs/helpers/themeRef.cjs +42 -0
  376. package/dist/cjs/helpers/themeRef.native.cjs +48 -0
  377. package/dist/cjs/helpers/themeRef.native.js +50 -0
  378. package/dist/cjs/helpers/themeRef.native.js.map +1 -0
  379. package/dist/cjs/helpers/themeable.cjs +76 -97
  380. package/dist/cjs/helpers/themeable.native.cjs +96 -0
  381. package/dist/cjs/helpers/themeable.native.js +76 -97
  382. package/dist/cjs/helpers/themeable.native.js.map +1 -1
  383. package/dist/cjs/helpers/themes.cjs +30 -34
  384. package/dist/cjs/helpers/themes.native.cjs +44 -0
  385. package/dist/cjs/helpers/themes.native.js +30 -33
  386. package/dist/cjs/helpers/themes.native.js.map +1 -1
  387. package/dist/cjs/helpers/timer.cjs +16 -21
  388. package/dist/cjs/helpers/timer.native.cjs +31 -0
  389. package/dist/cjs/helpers/timer.native.js +18 -22
  390. package/dist/cjs/helpers/timer.native.js.map +1 -1
  391. package/dist/cjs/helpers/tokenCategories.cjs +103 -0
  392. package/dist/cjs/helpers/tokenCategories.native.cjs +107 -0
  393. package/dist/cjs/helpers/tokenCategories.native.js +109 -0
  394. package/dist/cjs/helpers/tokenCategories.native.js.map +1 -0
  395. package/dist/cjs/helpers/transformsToString.cjs +25 -31
  396. package/dist/cjs/helpers/transformsToString.native.cjs +56 -0
  397. package/dist/cjs/helpers/transformsToString.native.js +42 -30
  398. package/dist/cjs/helpers/transformsToString.native.js.map +1 -1
  399. package/dist/cjs/helpers/useRenderElement.cjs +34 -39
  400. package/dist/cjs/helpers/useRenderElement.native.cjs +54 -0
  401. package/dist/cjs/helpers/useRenderElement.native.js +38 -42
  402. package/dist/cjs/helpers/useRenderElement.native.js.map +1 -1
  403. package/dist/cjs/helpers/variables.cjs +611 -0
  404. package/dist/cjs/helpers/variables.native.cjs +873 -0
  405. package/dist/cjs/helpers/variables.native.js +875 -0
  406. package/dist/cjs/helpers/variables.native.js.map +1 -0
  407. package/dist/cjs/helpers/warnOnce.cjs +38 -0
  408. package/dist/cjs/helpers/warnOnce.native.cjs +41 -0
  409. package/dist/cjs/helpers/warnOnce.native.js +43 -0
  410. package/dist/cjs/helpers/warnOnce.native.js.map +1 -0
  411. package/dist/cjs/helpers/webPropsToSkip.cjs +15 -18
  412. package/dist/cjs/helpers/webPropsToSkip.native.cjs +68 -0
  413. package/dist/cjs/helpers/webPropsToSkip.native.js +54 -62
  414. package/dist/cjs/helpers/webPropsToSkip.native.js.map +1 -1
  415. package/dist/cjs/helpers/wrapStyleTags.cjs +45 -48
  416. package/dist/cjs/helpers/wrapStyleTags.native.cjs +30 -0
  417. package/dist/cjs/helpers/wrapStyleTags.native.js +16 -17
  418. package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
  419. package/dist/cjs/hooks/doesRootSchemeMatchSystem.cjs +16 -19
  420. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.cjs +32 -0
  421. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js +17 -19
  422. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js.map +1 -1
  423. package/dist/cjs/hooks/getThemeProxied.cjs +61 -58
  424. package/dist/cjs/hooks/getThemeProxied.native.cjs +124 -0
  425. package/dist/cjs/hooks/getThemeProxied.native.js +98 -79
  426. package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -1
  427. package/dist/cjs/hooks/isOptimizedForFirstRender.cjs +28 -0
  428. package/dist/cjs/hooks/isOptimizedForFirstRender.native.cjs +30 -0
  429. package/dist/cjs/hooks/isOptimizedForFirstRender.native.js +32 -0
  430. package/dist/cjs/hooks/isOptimizedForFirstRender.native.js.map +1 -0
  431. package/dist/cjs/hooks/useAnimationDriver.cjs +46 -0
  432. package/dist/cjs/hooks/useAnimationDriver.native.cjs +54 -0
  433. package/dist/cjs/hooks/useAnimationDriver.native.js +56 -0
  434. package/dist/cjs/hooks/useAnimationDriver.native.js.map +1 -0
  435. package/dist/cjs/hooks/useComponentState.cjs +215 -199
  436. package/dist/cjs/hooks/useComponentState.native.cjs +250 -0
  437. package/dist/cjs/hooks/useComponentState.native.js +225 -208
  438. package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
  439. package/dist/cjs/hooks/useDisableSSR.cjs +16 -19
  440. package/dist/cjs/hooks/useDisableSSR.native.cjs +31 -0
  441. package/dist/cjs/hooks/useDisableSSR.native.js +17 -19
  442. package/dist/cjs/hooks/useDisableSSR.native.js.map +1 -1
  443. package/dist/cjs/hooks/useIsTouchDevice.cjs +16 -19
  444. package/dist/cjs/hooks/useIsTouchDevice.native.cjs +31 -0
  445. package/dist/cjs/hooks/useIsTouchDevice.native.js +17 -19
  446. package/dist/cjs/hooks/useIsTouchDevice.native.js.map +1 -1
  447. package/dist/cjs/hooks/useMedia.cjs +329 -256
  448. package/dist/cjs/hooks/useMedia.native.cjs +532 -0
  449. package/dist/cjs/hooks/useMedia.native.js +481 -305
  450. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  451. package/dist/cjs/hooks/usePortalThemeState.cjs +41 -0
  452. package/dist/cjs/hooks/usePortalThemeState.native.cjs +43 -0
  453. package/dist/cjs/hooks/usePortalThemeState.native.js +45 -0
  454. package/dist/cjs/hooks/usePortalThemeState.native.js.map +1 -0
  455. package/dist/cjs/hooks/useProps.cjs +96 -88
  456. package/dist/cjs/hooks/useProps.native.cjs +134 -0
  457. package/dist/cjs/hooks/useProps.native.js +100 -89
  458. package/dist/cjs/hooks/useProps.native.js.map +1 -1
  459. package/dist/cjs/hooks/useTheme.cjs +41 -49
  460. package/dist/cjs/hooks/useTheme.native.cjs +65 -0
  461. package/dist/cjs/hooks/useTheme.native.js +44 -52
  462. package/dist/cjs/hooks/useTheme.native.js.map +1 -1
  463. package/dist/cjs/hooks/useThemeName.cjs +20 -25
  464. package/dist/cjs/hooks/useThemeName.native.cjs +39 -0
  465. package/dist/cjs/hooks/useThemeName.native.js +23 -27
  466. package/dist/cjs/hooks/useThemeName.native.js.map +1 -1
  467. package/dist/cjs/hooks/useThemeState.cjs +347 -364
  468. package/dist/cjs/hooks/useThemeState.native.cjs +442 -0
  469. package/dist/cjs/hooks/useThemeState.native.js +394 -473
  470. package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
  471. package/dist/cjs/index.cjs +62 -45
  472. package/dist/cjs/index.native.cjs +144 -0
  473. package/dist/cjs/index.native.js +62 -44
  474. package/dist/cjs/index.native.js.map +1 -1
  475. package/dist/cjs/inject-styles.cjs +25 -31
  476. package/dist/cjs/inject-styles.native.cjs +39 -0
  477. package/dist/cjs/inject-styles.native.js +26 -31
  478. package/dist/cjs/inject-styles.native.js.map +1 -1
  479. package/dist/cjs/insertFont.cjs +61 -61
  480. package/dist/cjs/insertFont.native.cjs +79 -0
  481. package/dist/cjs/insertFont.native.js +54 -54
  482. package/dist/cjs/insertFont.native.js.map +1 -1
  483. package/dist/cjs/interfaces/CSSColorNames.cjs +167 -11
  484. package/dist/cjs/interfaces/CSSColorNames.native.cjs +176 -0
  485. package/dist/cjs/interfaces/CSSColorNames.native.js +167 -10
  486. package/dist/cjs/interfaces/CSSColorNames.native.js.map +1 -1
  487. package/dist/cjs/interfaces/GetRef.cjs +10 -11
  488. package/dist/cjs/interfaces/GetRef.native.cjs +19 -0
  489. package/dist/cjs/interfaces/GetRef.native.js +10 -10
  490. package/dist/cjs/interfaces/GetRef.native.js.map +1 -1
  491. package/dist/cjs/interfaces/RNExclusiveTypes.cjs +10 -11
  492. package/dist/cjs/interfaces/RNExclusiveTypes.native.cjs +19 -0
  493. package/dist/cjs/interfaces/RNExclusiveTypes.native.js +10 -10
  494. package/dist/cjs/interfaces/RNExclusiveTypes.native.js.map +1 -1
  495. package/dist/cjs/interfaces/TamaguiComponentEvents.cjs +10 -11
  496. package/dist/cjs/interfaces/TamaguiComponentEvents.native.cjs +19 -0
  497. package/dist/cjs/interfaces/TamaguiComponentEvents.native.js +10 -10
  498. package/dist/cjs/interfaces/TamaguiComponentEvents.native.js.map +1 -1
  499. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.cjs +10 -11
  500. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.cjs +19 -0
  501. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js +10 -10
  502. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js.map +1 -1
  503. package/dist/cjs/internal-runtime.cjs +76 -0
  504. package/dist/cjs/internal-runtime.native.cjs +78 -0
  505. package/dist/cjs/internal-runtime.native.js +80 -0
  506. package/dist/cjs/internal-runtime.native.js.map +1 -0
  507. package/dist/cjs/internalRuntimeTypes.cjs +17 -0
  508. package/dist/cjs/internalRuntimeTypes.native.cjs +19 -0
  509. package/dist/cjs/internalRuntimeTypes.native.js +21 -0
  510. package/dist/cjs/internalRuntimeTypes.native.js.map +1 -0
  511. package/dist/cjs/setupHooks.cjs +17 -18
  512. package/dist/cjs/setupHooks.native.cjs +33 -0
  513. package/dist/cjs/setupHooks.native.js +17 -17
  514. package/dist/cjs/setupHooks.native.js.map +1 -1
  515. package/dist/cjs/setupReactNative.cjs +40 -41
  516. package/dist/cjs/setupReactNative.native.cjs +56 -0
  517. package/dist/cjs/setupReactNative.native.js +41 -41
  518. package/dist/cjs/setupReactNative.native.js.map +1 -1
  519. package/dist/cjs/styled.cjs +170 -141
  520. package/dist/cjs/styled.native.cjs +198 -0
  521. package/dist/cjs/styled.native.js +179 -144
  522. package/dist/cjs/styled.native.js.map +1 -1
  523. package/dist/cjs/type-utils.cjs +10 -11
  524. package/dist/cjs/type-utils.native.cjs +19 -0
  525. package/dist/cjs/type-utils.native.js +10 -10
  526. package/dist/cjs/type-utils.native.js.map +1 -1
  527. package/dist/cjs/types.cjs +40 -11
  528. package/dist/cjs/types.native.cjs +49 -0
  529. package/dist/cjs/types.native.js +40 -10
  530. package/dist/cjs/types.native.js.map +1 -1
  531. package/dist/cjs/views/ConfigRevisionCheck.cjs +69 -0
  532. package/dist/cjs/views/ConfigRevisionCheck.native.cjs +74 -0
  533. package/dist/cjs/views/ConfigRevisionCheck.native.js +76 -0
  534. package/dist/cjs/views/ConfigRevisionCheck.native.js.map +1 -0
  535. package/dist/cjs/views/Configuration.cjs +27 -35
  536. package/dist/cjs/views/Configuration.native.cjs +47 -0
  537. package/dist/cjs/views/Configuration.native.js +28 -35
  538. package/dist/cjs/views/Configuration.native.js.map +1 -1
  539. package/dist/cjs/views/FontLanguage.cjs +21 -29
  540. package/dist/cjs/views/FontLanguage.native.cjs +47 -0
  541. package/dist/cjs/views/FontLanguage.native.js +28 -38
  542. package/dist/cjs/views/FontLanguage.native.js.map +1 -1
  543. package/dist/cjs/views/SafeAreaTracker.cjs +33 -0
  544. package/dist/cjs/views/SafeAreaTracker.native.cjs +37 -0
  545. package/dist/cjs/views/SafeAreaTracker.native.js +39 -0
  546. package/dist/cjs/views/SafeAreaTracker.native.js.map +1 -0
  547. package/dist/cjs/views/Slot.cjs +52 -59
  548. package/dist/cjs/views/Slot.native.cjs +78 -0
  549. package/dist/cjs/views/Slot.native.js +53 -59
  550. package/dist/cjs/views/Slot.native.js.map +1 -1
  551. package/dist/cjs/views/TamaguiProvider.cjs +74 -75
  552. package/dist/cjs/views/TamaguiProvider.native.cjs +104 -0
  553. package/dist/cjs/views/TamaguiProvider.native.js +73 -75
  554. package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
  555. package/dist/cjs/views/TamaguiRoot.cjs +47 -61
  556. package/dist/cjs/views/TamaguiRoot.native.cjs +29 -0
  557. package/dist/cjs/views/TamaguiRoot.native.js +16 -18
  558. package/dist/cjs/views/TamaguiRoot.native.js.map +1 -1
  559. package/dist/cjs/views/Text.cjs +44 -46
  560. package/dist/cjs/views/Text.native.cjs +47 -0
  561. package/dist/cjs/views/Text.native.js +33 -37
  562. package/dist/cjs/views/Text.native.js.map +1 -1
  563. package/dist/cjs/views/Theme.cjs +141 -166
  564. package/dist/cjs/views/Theme.native.cjs +171 -0
  565. package/dist/cjs/views/Theme.native.js +138 -172
  566. package/dist/cjs/views/Theme.native.js.map +1 -1
  567. package/dist/cjs/views/ThemeDebug.cjs +77 -81
  568. package/dist/cjs/views/ThemeDebug.native.cjs +31 -0
  569. package/dist/cjs/views/ThemeDebug.native.js +17 -23
  570. package/dist/cjs/views/ThemeDebug.native.js.map +1 -1
  571. package/dist/cjs/views/ThemeProvider.cjs +35 -39
  572. package/dist/cjs/views/ThemeProvider.native.cjs +44 -0
  573. package/dist/cjs/views/ThemeProvider.native.js +26 -28
  574. package/dist/cjs/views/ThemeProvider.native.js.map +1 -1
  575. package/dist/cjs/views/View.cjs +21 -19
  576. package/dist/cjs/views/View.native.cjs +37 -0
  577. package/dist/cjs/views/View.native.js +22 -19
  578. package/dist/cjs/views/View.native.js.map +1 -1
  579. package/dist/esm/Tamagui.mjs +27 -27
  580. package/dist/esm/Tamagui.mjs.map +1 -1
  581. package/dist/esm/Tamagui.native.js +76 -71
  582. package/dist/esm/Tamagui.native.js.map +1 -1
  583. package/dist/esm/_withNativeStyle.mjs +55 -0
  584. package/dist/esm/_withNativeStyle.mjs.map +1 -0
  585. package/dist/esm/_withNativeStyle.native.js +58 -0
  586. package/dist/esm/_withNativeStyle.native.js.map +1 -0
  587. package/dist/esm/_withStableStyle.mjs +44 -29
  588. package/dist/esm/_withStableStyle.mjs.map +1 -1
  589. package/dist/esm/_withStableStyle.native.js +55 -33
  590. package/dist/esm/_withStableStyle.native.js.map +1 -1
  591. package/dist/esm/config.mjs +90 -100
  592. package/dist/esm/config.mjs.map +1 -1
  593. package/dist/esm/config.native.js +115 -129
  594. package/dist/esm/config.native.js.map +1 -1
  595. package/dist/esm/constants/accessibilityDirectMap.mjs +1 -0
  596. package/dist/esm/constants/accessibilityDirectMap.mjs.map +1 -1
  597. package/dist/esm/constants/accessibilityDirectMap.native.js +1 -0
  598. package/dist/esm/constants/accessibilityDirectMap.native.js.map +1 -1
  599. package/dist/esm/constants/constants.mjs +1 -0
  600. package/dist/esm/constants/constants.mjs.map +1 -1
  601. package/dist/esm/constants/constants.native.js +1 -0
  602. package/dist/esm/constants/constants.native.js.map +1 -1
  603. package/dist/esm/constants/isDevTools.mjs +7 -6
  604. package/dist/esm/constants/isDevTools.mjs.map +1 -1
  605. package/dist/esm/constants/isDevTools.native.js +9 -8
  606. package/dist/esm/constants/isDevTools.native.js.map +1 -1
  607. package/dist/esm/contexts/ComponentContext.mjs +18 -8
  608. package/dist/esm/contexts/ComponentContext.mjs.map +1 -1
  609. package/dist/esm/contexts/ComponentContext.native.js +19 -9
  610. package/dist/esm/contexts/ComponentContext.native.js.map +1 -1
  611. package/dist/esm/contexts/GroupContext.mjs +2 -0
  612. package/dist/esm/contexts/GroupContext.mjs.map +1 -1
  613. package/dist/esm/contexts/GroupContext.native.js +3 -1
  614. package/dist/esm/contexts/GroupContext.native.js.map +1 -1
  615. package/dist/esm/createComponent.mjs +953 -988
  616. package/dist/esm/createComponent.mjs.map +1 -1
  617. package/dist/esm/createComponent.native.js +1061 -970
  618. package/dist/esm/createComponent.native.js.map +1 -1
  619. package/dist/esm/createFont.mjs +27 -18
  620. package/dist/esm/createFont.mjs.map +1 -1
  621. package/dist/esm/createFont.native.js +30 -21
  622. package/dist/esm/createFont.native.js.map +1 -1
  623. package/dist/esm/createShorthands.mjs +2 -1
  624. package/dist/esm/createShorthands.mjs.map +1 -1
  625. package/dist/esm/createShorthands.native.js +2 -1
  626. package/dist/esm/createShorthands.native.js.map +1 -1
  627. package/dist/esm/createStyledHOC.mjs +29 -0
  628. package/dist/esm/createStyledHOC.mjs.map +1 -0
  629. package/dist/esm/createStyledHOC.native.js +29 -0
  630. package/dist/esm/createStyledHOC.native.js.map +1 -0
  631. package/dist/esm/createTamagui.mjs +256 -207
  632. package/dist/esm/createTamagui.mjs.map +1 -1
  633. package/dist/esm/createTamagui.native.js +289 -255
  634. package/dist/esm/createTamagui.native.js.map +1 -1
  635. package/dist/esm/createTokens.mjs +15 -1
  636. package/dist/esm/createTokens.mjs.map +1 -1
  637. package/dist/esm/createTokens.native.js +20 -2
  638. package/dist/esm/createTokens.native.js.map +1 -1
  639. package/dist/esm/createVariable.mjs +69 -60
  640. package/dist/esm/createVariable.mjs.map +1 -1
  641. package/dist/esm/createVariable.native.js +83 -75
  642. package/dist/esm/createVariable.native.js.map +1 -1
  643. package/dist/esm/createVariables.mjs +37 -42
  644. package/dist/esm/createVariables.mjs.map +1 -1
  645. package/dist/esm/createVariables.native.js +41 -47
  646. package/dist/esm/createVariables.native.js.map +1 -1
  647. package/dist/esm/defaultComponentState.mjs +13 -12
  648. package/dist/esm/defaultComponentState.mjs.map +1 -1
  649. package/dist/esm/defaultComponentState.native.js +13 -12
  650. package/dist/esm/defaultComponentState.native.js.map +1 -1
  651. package/dist/esm/dom/adapters.mjs +67 -0
  652. package/dist/esm/dom/adapters.mjs.map +1 -0
  653. package/dist/esm/dom/adapters.native.js +86 -0
  654. package/dist/esm/dom/adapters.native.js.map +1 -0
  655. package/dist/esm/dom/contract.mjs +0 -0
  656. package/dist/esm/dom/contract.native.js +0 -0
  657. package/dist/esm/dom/domEventProps.native.js +34 -0
  658. package/dist/esm/dom/domEventProps.native.js.map +1 -0
  659. package/dist/esm/dom/html.mjs +563 -0
  660. package/dist/esm/dom/html.mjs.map +1 -0
  661. package/dist/esm/dom/html.native.js +930 -0
  662. package/dist/esm/dom/html.native.js.map +1 -0
  663. package/dist/esm/dom/htmlRuntime.native.js +143 -0
  664. package/dist/esm/dom/htmlRuntime.native.js.map +1 -0
  665. package/dist/esm/dom/index.mjs +4 -0
  666. package/dist/esm/dom/index.native.js +5 -0
  667. package/dist/esm/dom/primitives.native.js +610 -0
  668. package/dist/esm/dom/primitives.native.js.map +1 -0
  669. package/dist/esm/dom/standalone.mjs +10 -0
  670. package/dist/esm/dom/standalone.mjs.map +1 -0
  671. package/dist/esm/dom/standalone.native.js +14 -0
  672. package/dist/esm/dom/standalone.native.js.map +1 -0
  673. package/dist/esm/dom/standaloneHtml.mjs +56 -0
  674. package/dist/esm/dom/standaloneHtml.mjs.map +1 -0
  675. package/dist/esm/dom/standaloneHtml.native.js +56 -0
  676. package/dist/esm/dom/standaloneHtml.native.js.map +1 -0
  677. package/dist/esm/dom/styleTypes.mjs +0 -0
  678. package/dist/esm/dom/styleTypes.native.js +0 -0
  679. package/dist/esm/eventDetails.mjs +18 -0
  680. package/dist/esm/eventDetails.mjs.map +1 -0
  681. package/dist/esm/eventDetails.native.js +18 -0
  682. package/dist/esm/eventDetails.native.js.map +1 -0
  683. package/dist/esm/eventHandling.mjs +14 -13
  684. package/dist/esm/eventHandling.mjs.map +1 -1
  685. package/dist/esm/eventHandling.native.js +141 -163
  686. package/dist/esm/eventHandling.native.js.map +1 -1
  687. package/dist/esm/helpers/componentDisplayName.mjs +11 -0
  688. package/dist/esm/helpers/componentDisplayName.mjs.map +1 -0
  689. package/dist/esm/helpers/componentDisplayName.native.js +11 -0
  690. package/dist/esm/helpers/componentDisplayName.native.js.map +1 -0
  691. package/dist/esm/helpers/consoleLog.native.js +2 -1
  692. package/dist/esm/helpers/consoleLog.native.js.map +1 -1
  693. package/dist/esm/helpers/createDesignSystem.mjs +133 -132
  694. package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
  695. package/dist/esm/helpers/createDesignSystem.native.js +151 -186
  696. package/dist/esm/helpers/createDesignSystem.native.js.map +1 -1
  697. package/dist/esm/helpers/createStyledContext.mjs +57 -58
  698. package/dist/esm/helpers/createStyledContext.mjs.map +1 -1
  699. package/dist/esm/helpers/createStyledContext.native.js +62 -63
  700. package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
  701. package/dist/esm/helpers/defaultAnimationDriver.mjs +15 -14
  702. package/dist/esm/helpers/defaultAnimationDriver.mjs.map +1 -1
  703. package/dist/esm/helpers/defaultAnimationDriver.native.js +32 -31
  704. package/dist/esm/helpers/defaultAnimationDriver.native.js.map +1 -1
  705. package/dist/esm/helpers/defaultOffset.mjs +3 -2
  706. package/dist/esm/helpers/defaultOffset.mjs.map +1 -1
  707. package/dist/esm/helpers/defaultOffset.native.js +3 -2
  708. package/dist/esm/helpers/defaultOffset.native.js.map +1 -1
  709. package/dist/esm/helpers/directStyle.mjs +907 -0
  710. package/dist/esm/helpers/directStyle.mjs.map +1 -0
  711. package/dist/esm/helpers/directStyle.native.js +1112 -0
  712. package/dist/esm/helpers/directStyle.native.js.map +1 -0
  713. package/dist/esm/helpers/expandStyle.mjs +119 -66
  714. package/dist/esm/helpers/expandStyle.mjs.map +1 -1
  715. package/dist/esm/helpers/expandStyle.native.js +141 -107
  716. package/dist/esm/helpers/expandStyle.native.js.map +1 -1
  717. package/dist/esm/helpers/expandStyles.mjs +9 -7
  718. package/dist/esm/helpers/expandStyles.mjs.map +1 -1
  719. package/dist/esm/helpers/expandStyles.native.js +16 -14
  720. package/dist/esm/helpers/expandStyles.native.js.map +1 -1
  721. package/dist/esm/helpers/extractPseudoState.mjs +24 -0
  722. package/dist/esm/helpers/extractPseudoState.mjs.map +1 -0
  723. package/dist/esm/helpers/extractPseudoState.native.js +25 -0
  724. package/dist/esm/helpers/extractPseudoState.native.js.map +1 -0
  725. package/dist/esm/helpers/formatDiagnostic.mjs +48 -0
  726. package/dist/esm/helpers/formatDiagnostic.mjs.map +1 -0
  727. package/dist/esm/helpers/formatDiagnostic.native.js +55 -0
  728. package/dist/esm/helpers/formatDiagnostic.native.js.map +1 -0
  729. package/dist/esm/helpers/frontendProgram.mjs +20 -0
  730. package/dist/esm/helpers/frontendProgram.mjs.map +1 -0
  731. package/dist/esm/helpers/frontendProgram.native.js +24 -0
  732. package/dist/esm/helpers/frontendProgram.native.js.map +1 -0
  733. package/dist/esm/helpers/getCSSStylesAtomic.mjs +186 -173
  734. package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
  735. package/dist/esm/helpers/getCSSStylesAtomic.native.js +5 -3
  736. package/dist/esm/helpers/getCSSStylesAtomic.native.js.map +1 -1
  737. package/dist/esm/helpers/getDefaultProps.mjs +2 -16
  738. package/dist/esm/helpers/getDefaultProps.mjs.map +1 -1
  739. package/dist/esm/helpers/getDefaultProps.native.js +3 -16
  740. package/dist/esm/helpers/getDefaultProps.native.js.map +1 -1
  741. package/dist/esm/helpers/getDynamicVal.mjs +28 -33
  742. package/dist/esm/helpers/getDynamicVal.mjs.map +1 -1
  743. package/dist/esm/helpers/getDynamicVal.native.js +28 -33
  744. package/dist/esm/helpers/getDynamicVal.native.js.map +1 -1
  745. package/dist/esm/helpers/getExpandedShorthands.mjs +5 -12
  746. package/dist/esm/helpers/getExpandedShorthands.mjs.map +1 -1
  747. package/dist/esm/helpers/getExpandedShorthands.native.js +6 -13
  748. package/dist/esm/helpers/getExpandedShorthands.native.js.map +1 -1
  749. package/dist/esm/helpers/getFontLanguage.mjs +2 -1
  750. package/dist/esm/helpers/getFontLanguage.mjs.map +1 -1
  751. package/dist/esm/helpers/getFontLanguage.native.js +3 -2
  752. package/dist/esm/helpers/getFontLanguage.native.js.map +1 -1
  753. package/dist/esm/helpers/getShorthandValue.mjs +4 -2
  754. package/dist/esm/helpers/getShorthandValue.mjs.map +1 -1
  755. package/dist/esm/helpers/getShorthandValue.native.js +6 -4
  756. package/dist/esm/helpers/getShorthandValue.native.js.map +1 -1
  757. package/dist/esm/helpers/getSplitStyles.mjs +695 -868
  758. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  759. package/dist/esm/helpers/getSplitStyles.native.js +773 -899
  760. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  761. package/dist/esm/helpers/getThemeCSSRules.mjs +94 -92
  762. package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
  763. package/dist/esm/helpers/getThemeCSSRules.native.js +2 -1
  764. package/dist/esm/helpers/getThemeCSSRules.native.js.map +1 -1
  765. package/dist/esm/helpers/getVariantExtras.mjs +57 -52
  766. package/dist/esm/helpers/getVariantExtras.mjs.map +1 -1
  767. package/dist/esm/helpers/getVariantExtras.native.js +58 -53
  768. package/dist/esm/helpers/getVariantExtras.native.js.map +1 -1
  769. package/dist/esm/helpers/grammarConfig.mjs +53 -0
  770. package/dist/esm/helpers/grammarConfig.mjs.map +1 -0
  771. package/dist/esm/helpers/grammarConfig.native.js +129 -0
  772. package/dist/esm/helpers/grammarConfig.native.js.map +1 -0
  773. package/dist/esm/helpers/insertStyleRule.mjs +228 -160
  774. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
  775. package/dist/esm/helpers/insertStyleRule.native.js +61 -24
  776. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
  777. package/dist/esm/helpers/isObj.mjs +10 -2
  778. package/dist/esm/helpers/isObj.mjs.map +1 -1
  779. package/dist/esm/helpers/isObj.native.js +13 -6
  780. package/dist/esm/helpers/isObj.native.js.map +1 -1
  781. package/dist/esm/helpers/isTamaguiComponent.mjs +4 -3
  782. package/dist/esm/helpers/isTamaguiComponent.mjs.map +1 -1
  783. package/dist/esm/helpers/isTamaguiComponent.native.js +4 -3
  784. package/dist/esm/helpers/isTamaguiComponent.native.js.map +1 -1
  785. package/dist/esm/helpers/isTamaguiElement.mjs +4 -2
  786. package/dist/esm/helpers/isTamaguiElement.mjs.map +1 -1
  787. package/dist/esm/helpers/isTamaguiElement.native.js +4 -2
  788. package/dist/esm/helpers/isTamaguiElement.native.js.map +1 -1
  789. package/dist/esm/helpers/log.mjs +11 -9
  790. package/dist/esm/helpers/log.mjs.map +1 -1
  791. package/dist/esm/helpers/log.native.js +12 -10
  792. package/dist/esm/helpers/log.native.js.map +1 -1
  793. package/dist/esm/helpers/mainThreadPressEvents.mjs +1 -0
  794. package/dist/esm/helpers/mainThreadPressEvents.mjs.map +1 -1
  795. package/dist/esm/helpers/mainThreadPressEvents.native.js +126 -125
  796. package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
  797. package/dist/esm/helpers/matchMedia.mjs +7 -6
  798. package/dist/esm/helpers/matchMedia.mjs.map +1 -1
  799. package/dist/esm/helpers/matchMedia.native.js +36 -25
  800. package/dist/esm/helpers/matchMedia.native.js.map +1 -1
  801. package/dist/esm/helpers/mediaObjectToString.mjs +21 -20
  802. package/dist/esm/helpers/mediaObjectToString.mjs.map +1 -1
  803. package/dist/esm/helpers/mediaObjectToString.native.js +24 -23
  804. package/dist/esm/helpers/mediaObjectToString.native.js.map +1 -1
  805. package/dist/esm/helpers/mediaState.mjs +7 -24
  806. package/dist/esm/helpers/mediaState.mjs.map +1 -1
  807. package/dist/esm/helpers/mediaState.native.js +9 -27
  808. package/dist/esm/helpers/mediaState.native.js.map +1 -1
  809. package/dist/esm/helpers/mergeProps.mjs +37 -47
  810. package/dist/esm/helpers/mergeProps.mjs.map +1 -1
  811. package/dist/esm/helpers/mergeProps.native.js +39 -54
  812. package/dist/esm/helpers/mergeProps.native.js.map +1 -1
  813. package/dist/esm/helpers/mergeRenderElementProps.mjs +5 -5
  814. package/dist/esm/helpers/mergeRenderElementProps.mjs.map +1 -1
  815. package/dist/esm/helpers/mergeRenderElementProps.native.js +5 -5
  816. package/dist/esm/helpers/mergeRenderElementProps.native.js.map +1 -1
  817. package/dist/esm/helpers/mergeSlotStyleProps.mjs +22 -20
  818. package/dist/esm/helpers/mergeSlotStyleProps.mjs.map +1 -1
  819. package/dist/esm/helpers/mergeSlotStyleProps.native.js +22 -20
  820. package/dist/esm/helpers/mergeSlotStyleProps.native.js.map +1 -1
  821. package/dist/esm/helpers/mergeVariants.mjs +39 -23
  822. package/dist/esm/helpers/mergeVariants.mjs.map +1 -1
  823. package/dist/esm/helpers/mergeVariants.native.js +41 -25
  824. package/dist/esm/helpers/mergeVariants.native.js.map +1 -1
  825. package/dist/esm/helpers/nativeOnlyProps.mjs +34 -33
  826. package/dist/esm/helpers/nativeOnlyProps.mjs.map +1 -1
  827. package/dist/esm/helpers/nativeOnlyProps.native.js +34 -33
  828. package/dist/esm/helpers/nativeOnlyProps.native.js.map +1 -1
  829. package/dist/esm/helpers/nativeStyleEngine.mjs +178 -0
  830. package/dist/esm/helpers/nativeStyleEngine.mjs.map +1 -0
  831. package/dist/esm/helpers/nativeStyleEngine.native.js +270 -0
  832. package/dist/esm/helpers/nativeStyleEngine.native.js.map +1 -0
  833. package/dist/esm/helpers/nativeTransitionTarget.mjs +6 -0
  834. package/dist/esm/helpers/nativeTransitionTarget.mjs.map +1 -0
  835. package/dist/esm/helpers/nativeTransitionTarget.native.js +21 -0
  836. package/dist/esm/helpers/nativeTransitionTarget.native.js.map +1 -0
  837. package/dist/esm/helpers/normalizeColor.mjs +11 -18
  838. package/dist/esm/helpers/normalizeColor.mjs.map +1 -1
  839. package/dist/esm/helpers/normalizeColor.native.js +19 -19
  840. package/dist/esm/helpers/normalizeColor.native.js.map +1 -1
  841. package/dist/esm/helpers/normalizeShadow.mjs +13 -21
  842. package/dist/esm/helpers/normalizeShadow.mjs.map +1 -1
  843. package/dist/esm/helpers/normalizeShadow.native.js +14 -20
  844. package/dist/esm/helpers/normalizeShadow.native.js.map +1 -1
  845. package/dist/esm/helpers/normalizeStyle.mjs +32 -42
  846. package/dist/esm/helpers/normalizeStyle.mjs.map +1 -1
  847. package/dist/esm/helpers/normalizeStyle.native.js +50 -62
  848. package/dist/esm/helpers/normalizeStyle.native.js.map +1 -1
  849. package/dist/esm/helpers/normalizeStylePropKeys.mjs +1 -0
  850. package/dist/esm/helpers/normalizeStylePropKeys.mjs.map +1 -1
  851. package/dist/esm/helpers/normalizeStylePropKeys.native.js +11 -10
  852. package/dist/esm/helpers/normalizeStylePropKeys.native.js.map +1 -1
  853. package/dist/esm/helpers/normalizeValueWithProperty.mjs +29 -21
  854. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
  855. package/dist/esm/helpers/normalizeValueWithProperty.native.js +32 -25
  856. package/dist/esm/helpers/normalizeValueWithProperty.native.js.map +1 -1
  857. package/dist/esm/helpers/noteOnce.mjs +11 -0
  858. package/dist/esm/helpers/noteOnce.mjs.map +1 -0
  859. package/dist/esm/helpers/noteOnce.native.js +11 -0
  860. package/dist/esm/helpers/noteOnce.native.js.map +1 -0
  861. package/dist/esm/helpers/objectIdentityKey.mjs +18 -17
  862. package/dist/esm/helpers/objectIdentityKey.mjs.map +1 -1
  863. package/dist/esm/helpers/objectIdentityKey.native.js +20 -20
  864. package/dist/esm/helpers/objectIdentityKey.native.js.map +1 -1
  865. package/dist/esm/helpers/parseBorderShorthand.mjs +2 -1
  866. package/dist/esm/helpers/parseBorderShorthand.mjs.map +1 -1
  867. package/dist/esm/helpers/parseBorderShorthand.native.js +70 -54
  868. package/dist/esm/helpers/parseBorderShorthand.native.js.map +1 -1
  869. package/dist/esm/helpers/parseNativeStyle.native.js +166 -146
  870. package/dist/esm/helpers/parseNativeStyle.native.js.map +1 -1
  871. package/dist/esm/helpers/parseNativeTransform.native.js +45 -0
  872. package/dist/esm/helpers/parseNativeTransform.native.js.map +1 -0
  873. package/dist/esm/helpers/parseOutlineShorthand.mjs +2 -1
  874. package/dist/esm/helpers/parseOutlineShorthand.mjs.map +1 -1
  875. package/dist/esm/helpers/parseOutlineShorthand.native.js +58 -48
  876. package/dist/esm/helpers/parseOutlineShorthand.native.js.map +1 -1
  877. package/dist/esm/helpers/pointerEvents.mjs +1 -0
  878. package/dist/esm/helpers/pointerEvents.mjs.map +1 -1
  879. package/dist/esm/helpers/pointerEvents.native.js +104 -127
  880. package/dist/esm/helpers/pointerEvents.native.js.map +1 -1
  881. package/dist/esm/helpers/propMapper.mjs +325 -234
  882. package/dist/esm/helpers/propMapper.mjs.map +1 -1
  883. package/dist/esm/helpers/propMapper.native.js +462 -332
  884. package/dist/esm/helpers/propMapper.native.js.map +1 -1
  885. package/dist/esm/helpers/proxyThemeToParents.mjs +25 -30
  886. package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -1
  887. package/dist/esm/helpers/proxyThemeToParents.native.js +110 -125
  888. package/dist/esm/helpers/proxyThemeToParents.native.js.map +1 -1
  889. package/dist/esm/helpers/registerCSSVariable.mjs +84 -39
  890. package/dist/esm/helpers/registerCSSVariable.mjs.map +1 -1
  891. package/dist/esm/helpers/registerCSSVariable.native.js +103 -44
  892. package/dist/esm/helpers/registerCSSVariable.native.js.map +1 -1
  893. package/dist/esm/helpers/resolveAnimationDriver.mjs +14 -8
  894. package/dist/esm/helpers/resolveAnimationDriver.mjs.map +1 -1
  895. package/dist/esm/helpers/resolveAnimationDriver.native.js +18 -9
  896. package/dist/esm/helpers/resolveAnimationDriver.native.js.map +1 -1
  897. package/dist/esm/helpers/resolveRem.mjs +3 -2
  898. package/dist/esm/helpers/resolveRem.mjs.map +1 -1
  899. package/dist/esm/helpers/resolveRem.native.js +23 -21
  900. package/dist/esm/helpers/resolveRem.native.js.map +1 -1
  901. package/dist/esm/helpers/resolveSafeArea.mjs +101 -9
  902. package/dist/esm/helpers/resolveSafeArea.mjs.map +1 -1
  903. package/dist/esm/helpers/resolveSafeArea.native.js +101 -15
  904. package/dist/esm/helpers/resolveSafeArea.native.js.map +1 -1
  905. package/dist/esm/helpers/resolveSafeAreaVariable.mjs +10 -0
  906. package/dist/esm/helpers/resolveSafeAreaVariable.mjs.map +1 -0
  907. package/dist/esm/helpers/resolveSafeAreaVariable.native.js +27 -0
  908. package/dist/esm/helpers/resolveSafeAreaVariable.native.js.map +1 -0
  909. package/dist/esm/helpers/resolveVariableValue.mjs +15 -0
  910. package/dist/esm/helpers/resolveVariableValue.mjs.map +1 -0
  911. package/dist/esm/helpers/resolveVariableValue.native.js +17 -0
  912. package/dist/esm/helpers/resolveVariableValue.native.js.map +1 -0
  913. package/dist/esm/helpers/setElementProps.mjs +4 -2
  914. package/dist/esm/helpers/setElementProps.mjs.map +1 -1
  915. package/dist/esm/helpers/setElementProps.native.js +8 -7
  916. package/dist/esm/helpers/setElementProps.native.js.map +1 -1
  917. package/dist/esm/helpers/skipProps.mjs +18 -13
  918. package/dist/esm/helpers/skipProps.mjs.map +1 -1
  919. package/dist/esm/helpers/skipProps.native.js +18 -13
  920. package/dist/esm/helpers/skipProps.native.js.map +1 -1
  921. package/dist/esm/helpers/sortString.mjs +1 -0
  922. package/dist/esm/helpers/sortString.mjs.map +1 -1
  923. package/dist/esm/helpers/sortString.native.js +3 -2
  924. package/dist/esm/helpers/sortString.native.js.map +1 -1
  925. package/dist/esm/helpers/styleFrontend.mjs +6 -0
  926. package/dist/esm/helpers/styleFrontend.mjs.map +1 -0
  927. package/dist/esm/helpers/styleFrontend.native.js +8 -0
  928. package/dist/esm/helpers/styleFrontend.native.js.map +1 -0
  929. package/dist/esm/helpers/styleOriginalValues.mjs +2 -1
  930. package/dist/esm/helpers/styleOriginalValues.mjs.map +1 -1
  931. package/dist/esm/helpers/styleOriginalValues.native.js +2 -1
  932. package/dist/esm/helpers/styleOriginalValues.native.js.map +1 -1
  933. package/dist/esm/helpers/styleProvenance.mjs +10 -9
  934. package/dist/esm/helpers/styleProvenance.mjs.map +1 -1
  935. package/dist/esm/helpers/styleProvenance.native.js +10 -9
  936. package/dist/esm/helpers/styleProvenance.native.js.map +1 -1
  937. package/dist/esm/helpers/subscribeToContextGroup.mjs +64 -78
  938. package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -1
  939. package/dist/esm/helpers/subscribeToContextGroup.native.js +105 -123
  940. package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
  941. package/dist/esm/helpers/themeRef.mjs +17 -0
  942. package/dist/esm/helpers/themeRef.mjs.map +1 -0
  943. package/dist/esm/helpers/themeRef.native.js +21 -0
  944. package/dist/esm/helpers/themeRef.native.js.map +1 -0
  945. package/dist/esm/helpers/themeable.mjs +59 -71
  946. package/dist/esm/helpers/themeable.mjs.map +1 -1
  947. package/dist/esm/helpers/themeable.native.js +61 -73
  948. package/dist/esm/helpers/themeable.native.js.map +1 -1
  949. package/dist/esm/helpers/themes.mjs +17 -16
  950. package/dist/esm/helpers/themes.mjs.map +1 -1
  951. package/dist/esm/helpers/themes.native.js +17 -16
  952. package/dist/esm/helpers/themes.native.js.map +1 -1
  953. package/dist/esm/helpers/timer.mjs +9 -5
  954. package/dist/esm/helpers/timer.mjs.map +1 -1
  955. package/dist/esm/helpers/timer.native.js +9 -5
  956. package/dist/esm/helpers/timer.native.js.map +1 -1
  957. package/dist/esm/helpers/tokenCategories.mjs +80 -0
  958. package/dist/esm/helpers/tokenCategories.mjs.map +1 -0
  959. package/dist/esm/helpers/tokenCategories.native.js +82 -0
  960. package/dist/esm/helpers/tokenCategories.native.js.map +1 -0
  961. package/dist/esm/helpers/transformsToString.mjs +12 -13
  962. package/dist/esm/helpers/transformsToString.mjs.map +1 -1
  963. package/dist/esm/helpers/transformsToString.native.js +29 -13
  964. package/dist/esm/helpers/transformsToString.native.js.map +1 -1
  965. package/dist/esm/helpers/useRenderElement.mjs +19 -19
  966. package/dist/esm/helpers/useRenderElement.mjs.map +1 -1
  967. package/dist/esm/helpers/useRenderElement.native.js +24 -24
  968. package/dist/esm/helpers/useRenderElement.native.js.map +1 -1
  969. package/dist/esm/helpers/variables.mjs +581 -0
  970. package/dist/esm/helpers/variables.mjs.map +1 -0
  971. package/dist/esm/helpers/variables.native.js +841 -0
  972. package/dist/esm/helpers/variables.native.js.map +1 -0
  973. package/dist/esm/helpers/warnOnce.mjs +14 -0
  974. package/dist/esm/helpers/warnOnce.mjs.map +1 -0
  975. package/dist/esm/helpers/warnOnce.native.js +15 -0
  976. package/dist/esm/helpers/warnOnce.native.js.map +1 -0
  977. package/dist/esm/helpers/webPropsToSkip.mjs +1 -0
  978. package/dist/esm/helpers/webPropsToSkip.mjs.map +1 -1
  979. package/dist/esm/helpers/webPropsToSkip.native.js +41 -45
  980. package/dist/esm/helpers/webPropsToSkip.native.js.map +1 -1
  981. package/dist/esm/helpers/wrapStyleTags.mjs +32 -30
  982. package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -1
  983. package/dist/esm/helpers/wrapStyleTags.native.js +1 -0
  984. package/dist/esm/helpers/wrapStyleTags.native.js.map +1 -1
  985. package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs +2 -1
  986. package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs.map +1 -1
  987. package/dist/esm/hooks/doesRootSchemeMatchSystem.native.js +4 -2
  988. package/dist/esm/hooks/doesRootSchemeMatchSystem.native.js.map +1 -1
  989. package/dist/esm/hooks/getThemeProxied.mjs +47 -40
  990. package/dist/esm/hooks/getThemeProxied.mjs.map +1 -1
  991. package/dist/esm/hooks/getThemeProxied.native.js +85 -62
  992. package/dist/esm/hooks/getThemeProxied.native.js.map +1 -1
  993. package/dist/esm/hooks/isOptimizedForFirstRender.mjs +8 -0
  994. package/dist/esm/hooks/isOptimizedForFirstRender.mjs.map +1 -0
  995. package/dist/esm/hooks/isOptimizedForFirstRender.native.js +8 -0
  996. package/dist/esm/hooks/isOptimizedForFirstRender.native.js.map +1 -0
  997. package/dist/esm/hooks/useAnimationDriver.mjs +20 -0
  998. package/dist/esm/hooks/useAnimationDriver.mjs.map +1 -0
  999. package/dist/esm/hooks/useAnimationDriver.native.js +26 -0
  1000. package/dist/esm/hooks/useAnimationDriver.native.js.map +1 -0
  1001. package/dist/esm/hooks/useComponentState.mjs +202 -181
  1002. package/dist/esm/hooks/useComponentState.mjs.map +1 -1
  1003. package/dist/esm/hooks/useComponentState.native.js +212 -191
  1004. package/dist/esm/hooks/useComponentState.native.js.map +1 -1
  1005. package/dist/esm/hooks/useDisableSSR.mjs +3 -1
  1006. package/dist/esm/hooks/useDisableSSR.mjs.map +1 -1
  1007. package/dist/esm/hooks/useDisableSSR.native.js +4 -2
  1008. package/dist/esm/hooks/useDisableSSR.native.js.map +1 -1
  1009. package/dist/esm/hooks/useIsTouchDevice.mjs +3 -1
  1010. package/dist/esm/hooks/useIsTouchDevice.mjs.map +1 -1
  1011. package/dist/esm/hooks/useIsTouchDevice.native.js +4 -2
  1012. package/dist/esm/hooks/useIsTouchDevice.native.js.map +1 -1
  1013. package/dist/esm/hooks/useMedia.mjs +310 -231
  1014. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  1015. package/dist/esm/hooks/useMedia.native.js +462 -281
  1016. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  1017. package/dist/esm/hooks/usePortalThemeState.mjs +21 -0
  1018. package/dist/esm/hooks/usePortalThemeState.mjs.map +1 -0
  1019. package/dist/esm/hooks/usePortalThemeState.native.js +21 -0
  1020. package/dist/esm/hooks/usePortalThemeState.native.js.map +1 -0
  1021. package/dist/esm/hooks/useProps.mjs +78 -62
  1022. package/dist/esm/hooks/useProps.mjs.map +1 -1
  1023. package/dist/esm/hooks/useProps.native.js +82 -64
  1024. package/dist/esm/hooks/useProps.native.js.map +1 -1
  1025. package/dist/esm/hooks/useTheme.mjs +27 -32
  1026. package/dist/esm/hooks/useTheme.mjs.map +1 -1
  1027. package/dist/esm/hooks/useTheme.native.js +30 -36
  1028. package/dist/esm/hooks/useTheme.native.js.map +1 -1
  1029. package/dist/esm/hooks/useThemeName.mjs +7 -7
  1030. package/dist/esm/hooks/useThemeName.mjs.map +1 -1
  1031. package/dist/esm/hooks/useThemeName.native.js +10 -10
  1032. package/dist/esm/hooks/useThemeName.native.js.map +1 -1
  1033. package/dist/esm/hooks/useThemeState.mjs +324 -345
  1034. package/dist/esm/hooks/useThemeState.mjs.map +1 -1
  1035. package/dist/esm/hooks/useThemeState.native.js +370 -454
  1036. package/dist/esm/hooks/useThemeState.native.js.map +1 -1
  1037. package/dist/esm/index.js +145 -72
  1038. package/dist/esm/index.mjs +145 -72
  1039. package/dist/esm/index.native.js +145 -72
  1040. package/dist/esm/inject-styles.mjs +11 -13
  1041. package/dist/esm/inject-styles.mjs.map +1 -1
  1042. package/dist/esm/inject-styles.native.js +12 -14
  1043. package/dist/esm/inject-styles.native.js.map +1 -1
  1044. package/dist/esm/insertFont.mjs +44 -41
  1045. package/dist/esm/insertFont.mjs.map +1 -1
  1046. package/dist/esm/insertFont.native.js +37 -35
  1047. package/dist/esm/insertFont.native.js.map +1 -1
  1048. package/dist/esm/interfaces/CSSColorNames.mjs +151 -0
  1049. package/dist/esm/interfaces/CSSColorNames.mjs.map +1 -1
  1050. package/dist/esm/interfaces/CSSColorNames.native.js +151 -0
  1051. package/dist/esm/interfaces/CSSColorNames.native.js.map +1 -1
  1052. package/dist/esm/interfaces/GetRef.mjs +0 -2
  1053. package/dist/esm/interfaces/GetRef.native.js +0 -2
  1054. package/dist/esm/interfaces/RNExclusiveTypes.mjs +0 -2
  1055. package/dist/esm/interfaces/RNExclusiveTypes.native.js +0 -2
  1056. package/dist/esm/interfaces/TamaguiComponentEvents.mjs +0 -2
  1057. package/dist/esm/interfaces/TamaguiComponentEvents.native.js +0 -2
  1058. package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.mjs +0 -2
  1059. package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.native.js +0 -2
  1060. package/dist/esm/internal-runtime.mjs +45 -0
  1061. package/dist/esm/internal-runtime.mjs.map +1 -0
  1062. package/dist/esm/internal-runtime.native.js +45 -0
  1063. package/dist/esm/internal-runtime.native.js.map +1 -0
  1064. package/dist/esm/internalRuntimeTypes.mjs +0 -0
  1065. package/dist/esm/internalRuntimeTypes.native.js +0 -0
  1066. package/dist/esm/setupHooks.mjs +2 -1
  1067. package/dist/esm/setupHooks.mjs.map +1 -1
  1068. package/dist/esm/setupHooks.native.js +2 -1
  1069. package/dist/esm/setupHooks.native.js.map +1 -1
  1070. package/dist/esm/setupReactNative.mjs +26 -23
  1071. package/dist/esm/setupReactNative.mjs.map +1 -1
  1072. package/dist/esm/setupReactNative.native.js +27 -24
  1073. package/dist/esm/setupReactNative.native.js.map +1 -1
  1074. package/dist/esm/styled.mjs +156 -126
  1075. package/dist/esm/styled.mjs.map +1 -1
  1076. package/dist/esm/styled.native.js +164 -129
  1077. package/dist/esm/styled.native.js.map +1 -1
  1078. package/dist/esm/type-utils.mjs +0 -2
  1079. package/dist/esm/type-utils.native.js +0 -2
  1080. package/dist/esm/types.mjs +21 -0
  1081. package/dist/esm/types.mjs.map +1 -1
  1082. package/dist/esm/types.native.js +21 -0
  1083. package/dist/esm/types.native.js.map +1 -1
  1084. package/dist/esm/views/ConfigRevisionCheck.mjs +43 -0
  1085. package/dist/esm/views/ConfigRevisionCheck.mjs.map +1 -0
  1086. package/dist/esm/views/ConfigRevisionCheck.native.js +46 -0
  1087. package/dist/esm/views/ConfigRevisionCheck.native.js.map +1 -0
  1088. package/dist/esm/views/Configuration.mjs +11 -9
  1089. package/dist/esm/views/Configuration.mjs.map +1 -1
  1090. package/dist/esm/views/Configuration.native.js +13 -11
  1091. package/dist/esm/views/Configuration.native.js.map +1 -1
  1092. package/dist/esm/views/FontLanguage.mjs +8 -11
  1093. package/dist/esm/views/FontLanguage.mjs.map +1 -1
  1094. package/dist/esm/views/FontLanguage.native.js +13 -14
  1095. package/dist/esm/views/FontLanguage.native.js.map +1 -1
  1096. package/dist/esm/views/SafeAreaTracker.mjs +9 -0
  1097. package/dist/esm/views/SafeAreaTracker.mjs.map +1 -0
  1098. package/dist/esm/views/SafeAreaTracker.native.js +12 -0
  1099. package/dist/esm/views/SafeAreaTracker.native.js.map +1 -0
  1100. package/dist/esm/views/Slot.mjs +39 -44
  1101. package/dist/esm/views/Slot.mjs.map +1 -1
  1102. package/dist/esm/views/Slot.native.js +41 -46
  1103. package/dist/esm/views/Slot.native.js.map +1 -1
  1104. package/dist/esm/views/TamaguiProvider.mjs +58 -49
  1105. package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
  1106. package/dist/esm/views/TamaguiProvider.native.js +56 -50
  1107. package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
  1108. package/dist/esm/views/TamaguiRoot.mjs +31 -35
  1109. package/dist/esm/views/TamaguiRoot.mjs.map +1 -1
  1110. package/dist/esm/views/TamaguiRoot.native.js +2 -1
  1111. package/dist/esm/views/TamaguiRoot.native.js.map +1 -1
  1112. package/dist/esm/views/Text.mjs +32 -32
  1113. package/dist/esm/views/Text.mjs.map +1 -1
  1114. package/dist/esm/views/Text.native.js +19 -23
  1115. package/dist/esm/views/Text.native.js.map +1 -1
  1116. package/dist/esm/views/Theme.mjs +123 -144
  1117. package/dist/esm/views/Theme.mjs.map +1 -1
  1118. package/dist/esm/views/Theme.native.js +120 -151
  1119. package/dist/esm/views/Theme.native.js.map +1 -1
  1120. package/dist/esm/views/ThemeDebug.mjs +64 -63
  1121. package/dist/esm/views/ThemeDebug.mjs.map +1 -1
  1122. package/dist/esm/views/ThemeDebug.native.js +3 -6
  1123. package/dist/esm/views/ThemeDebug.native.js.map +1 -1
  1124. package/dist/esm/views/ThemeProvider.mjs +21 -20
  1125. package/dist/esm/views/ThemeProvider.mjs.map +1 -1
  1126. package/dist/esm/views/ThemeProvider.native.js +12 -10
  1127. package/dist/esm/views/ThemeProvider.native.js.map +1 -1
  1128. package/dist/esm/views/View.mjs +9 -5
  1129. package/dist/esm/views/View.mjs.map +1 -1
  1130. package/dist/esm/views/View.native.js +9 -5
  1131. package/dist/esm/views/View.native.js.map +1 -1
  1132. package/internal-runtime/index.cjs +2 -0
  1133. package/internal-runtime/index.js +4 -0
  1134. package/internal-runtime/index.native.js +2 -0
  1135. package/package.json +47 -15
  1136. package/reset.css +1 -9
  1137. package/src/_withNativeStyle.tsx +84 -0
  1138. package/src/_withStableStyle.tsx +61 -43
  1139. package/src/config.ts +26 -35
  1140. package/src/contexts/ComponentContext.tsx +25 -8
  1141. package/src/createComponent.tsx +482 -160
  1142. package/src/createStyledHOC.tsx +88 -0
  1143. package/src/createTamagui.ts +125 -78
  1144. package/src/createTokens.ts +16 -0
  1145. package/src/createVariable.ts +17 -2
  1146. package/src/createVariables.ts +5 -17
  1147. package/src/dom/adapters.ts +99 -0
  1148. package/src/dom/contract.ts +60 -0
  1149. package/src/dom/domEventProps.native.ts +40 -0
  1150. package/src/dom/html.native.tsx +1405 -0
  1151. package/src/dom/html.tsx +979 -0
  1152. package/src/dom/htmlRuntime.native.tsx +220 -0
  1153. package/src/dom/index.native.ts +28 -0
  1154. package/src/dom/index.ts +16 -0
  1155. package/src/dom/primitives.native.tsx +667 -0
  1156. package/src/dom/standalone.ts +107 -0
  1157. package/src/dom/standaloneHtml.ts +104 -0
  1158. package/src/dom/styleTypes.ts +637 -0
  1159. package/src/eventDetails.ts +85 -0
  1160. package/src/eventHandling.native.ts +16 -16
  1161. package/src/helpers/componentDisplayName.ts +14 -0
  1162. package/src/helpers/createDesignSystem.ts +127 -87
  1163. package/src/helpers/createStyledContext.tsx +87 -7
  1164. package/src/helpers/directStyle.ts +1746 -0
  1165. package/src/helpers/expandStyle.ts +17 -2
  1166. package/src/helpers/extractPseudoState.ts +32 -0
  1167. package/src/helpers/formatDiagnostic.ts +68 -0
  1168. package/src/helpers/frontendProgram.ts +48 -0
  1169. package/src/helpers/getCSSStylesAtomic.native.ts +1 -0
  1170. package/src/helpers/getCSSStylesAtomic.ts +154 -95
  1171. package/src/helpers/getDefaultProps.ts +1 -26
  1172. package/src/helpers/getExpandedShorthands.ts +0 -17
  1173. package/src/helpers/getSplitStyles.tsx +757 -1019
  1174. package/src/helpers/getThemeCSSRules.ts +16 -1
  1175. package/src/helpers/getVariantExtras.tsx +23 -8
  1176. package/src/helpers/grammarConfig.ts +78 -0
  1177. package/src/helpers/insertStyleRule.tsx +97 -19
  1178. package/src/helpers/isObj.ts +8 -0
  1179. package/src/helpers/isTamaguiComponent.tsx +2 -5
  1180. package/src/helpers/isTamaguiElement.tsx +2 -3
  1181. package/src/helpers/matchMedia.native.ts +16 -1
  1182. package/src/helpers/mediaState.ts +4 -33
  1183. package/src/helpers/mergeProps.ts +2 -32
  1184. package/src/helpers/mergeVariants.ts +39 -17
  1185. package/src/helpers/nativeStyleEngine.ts +291 -0
  1186. package/src/helpers/nativeTransitionTarget.native.ts +22 -0
  1187. package/src/helpers/nativeTransitionTarget.ts +6 -0
  1188. package/src/helpers/normalizeColor.native.ts +2 -3
  1189. package/src/helpers/normalizeColor.ts +4 -14
  1190. package/src/helpers/normalizeShadow.native.ts +1 -1
  1191. package/src/helpers/normalizeStyle.ts +1 -15
  1192. package/src/helpers/normalizeValueWithProperty.ts +10 -1
  1193. package/src/helpers/noteOnce.ts +9 -0
  1194. package/src/helpers/{parseNativeStyle.ts → parseNativeStyle.native.ts} +50 -10
  1195. package/src/helpers/parseNativeTransform.native.ts +35 -0
  1196. package/src/helpers/propMapper.ts +347 -134
  1197. package/src/helpers/registerCSSVariable.ts +80 -10
  1198. package/src/helpers/resolveAnimationDriver.ts +16 -13
  1199. package/src/helpers/resolveSafeArea.native.ts +90 -10
  1200. package/src/helpers/resolveSafeArea.ts +113 -7
  1201. package/src/helpers/resolveSafeAreaVariable.native.ts +28 -0
  1202. package/src/helpers/resolveSafeAreaVariable.ts +10 -0
  1203. package/src/helpers/resolveVariableValue.ts +31 -0
  1204. package/src/helpers/skipProps.ts +8 -2
  1205. package/src/helpers/styleFrontend.ts +104 -0
  1206. package/src/helpers/styleProvenance.ts +17 -2
  1207. package/src/helpers/themeRef.ts +34 -0
  1208. package/src/helpers/themeable.tsx +4 -12
  1209. package/src/helpers/themes.ts +9 -10
  1210. package/src/helpers/tokenCategories.ts +104 -0
  1211. package/src/helpers/transformsToString.ts +18 -16
  1212. package/src/helpers/variables.ts +901 -0
  1213. package/src/helpers/warnOnce.ts +47 -0
  1214. package/src/helpers/webPropsToSkip.native.ts +7 -8
  1215. package/src/helpers/wrapStyleTags.tsx +3 -1
  1216. package/src/hooks/getThemeProxied.ts +136 -101
  1217. package/src/hooks/isOptimizedForFirstRender.native.ts +7 -0
  1218. package/src/hooks/isOptimizedForFirstRender.ts +7 -0
  1219. package/src/hooks/useAnimationDriver.ts +37 -0
  1220. package/src/hooks/useComponentState.ts +99 -24
  1221. package/src/hooks/useMedia.tsx +260 -119
  1222. package/src/hooks/usePortalThemeState.ts +34 -0
  1223. package/src/hooks/useProps.tsx +34 -10
  1224. package/src/hooks/useTheme.tsx +19 -6
  1225. package/src/hooks/useThemeState.ts +204 -129
  1226. package/src/index.ts +32 -6
  1227. package/src/insertFont.ts +4 -4
  1228. package/src/interfaces/CSSColorNames.tsx +152 -149
  1229. package/src/interfaces/RNExclusiveTypes.ts +1 -0
  1230. package/src/interfaces/TamaguiComponentEvents.tsx +0 -1
  1231. package/src/interfaces/TamaguiComponentPropsBaseBase.tsx +2 -4
  1232. package/src/internal-runtime.ts +107 -0
  1233. package/src/internalRuntimeTypes.ts +22 -0
  1234. package/src/setupHooks.ts +9 -1
  1235. package/src/styled.tsx +302 -175
  1236. package/src/types.tsx +650 -471
  1237. package/src/views/ConfigRevisionCheck.tsx +55 -0
  1238. package/src/views/SafeAreaTracker.native.tsx +10 -0
  1239. package/src/views/SafeAreaTracker.tsx +7 -0
  1240. package/src/views/Slot.tsx +3 -2
  1241. package/src/views/TamaguiProvider.tsx +21 -8
  1242. package/src/views/Text.tsx +15 -10
  1243. package/src/views/Theme.tsx +112 -41
  1244. package/src/views/ThemeDebug.tsx +0 -1
  1245. package/src/views/ThemeProvider.tsx +6 -5
  1246. package/src/views/View.tsx +16 -7
  1247. package/types/Tamagui.d.ts.map +1 -1
  1248. package/types/_withNativeStyle.d.ts +5 -0
  1249. package/types/_withNativeStyle.d.ts.map +1 -0
  1250. package/types/_withStableStyle.d.ts +1 -1
  1251. package/types/_withStableStyle.d.ts.map +1 -1
  1252. package/types/config.d.ts +22 -32
  1253. package/types/config.d.ts.map +1 -1
  1254. package/types/contexts/ComponentContext.d.ts +1 -1
  1255. package/types/contexts/ComponentContext.d.ts.map +1 -1
  1256. package/types/createComponent.d.ts.map +1 -1
  1257. package/types/createFont.d.ts.map +1 -1
  1258. package/types/createStyledHOC.d.ts +4 -0
  1259. package/types/createStyledHOC.d.ts.map +1 -0
  1260. package/types/createTamagui.d.ts +2 -1
  1261. package/types/createTamagui.d.ts.map +1 -1
  1262. package/types/createTokens.d.ts.map +1 -1
  1263. package/types/createVariable.d.ts.map +1 -1
  1264. package/types/createVariables.d.ts.map +1 -1
  1265. package/types/dom/adapters.d.ts +42 -0
  1266. package/types/dom/adapters.d.ts.map +1 -0
  1267. package/types/dom/contract.d.ts +48 -0
  1268. package/types/dom/contract.d.ts.map +1 -0
  1269. package/types/dom/domEventProps.native.d.ts +7 -0
  1270. package/types/dom/domEventProps.native.d.ts.map +1 -0
  1271. package/types/dom/html.d.ts +54 -0
  1272. package/types/dom/html.d.ts.map +1 -0
  1273. package/types/dom/html.native.d.ts +63 -0
  1274. package/types/dom/html.native.d.ts.map +1 -0
  1275. package/types/dom/htmlRuntime.native.d.ts +63 -0
  1276. package/types/dom/htmlRuntime.native.d.ts.map +1 -0
  1277. package/types/dom/index.d.ts +11 -0
  1278. package/types/dom/index.d.ts.map +1 -0
  1279. package/types/dom/index.native.d.ts +12 -0
  1280. package/types/dom/index.native.d.ts.map +1 -0
  1281. package/types/dom/primitives.native.d.ts +43 -0
  1282. package/types/dom/primitives.native.d.ts.map +1 -0
  1283. package/types/dom/standalone.d.ts +89 -0
  1284. package/types/dom/standalone.d.ts.map +1 -0
  1285. package/types/dom/standaloneHtml.d.ts +67 -0
  1286. package/types/dom/standaloneHtml.d.ts.map +1 -0
  1287. package/types/dom/styleTypes.d.ts +494 -0
  1288. package/types/dom/styleTypes.d.ts.map +1 -0
  1289. package/types/eventDetails.d.ts +12 -0
  1290. package/types/eventDetails.d.ts.map +1 -0
  1291. package/types/helpers/componentDisplayName.d.ts +5 -0
  1292. package/types/helpers/componentDisplayName.d.ts.map +1 -0
  1293. package/types/helpers/createDesignSystem.d.ts +24 -6
  1294. package/types/helpers/createDesignSystem.d.ts.map +1 -1
  1295. package/types/helpers/createStyledContext.d.ts +29 -2
  1296. package/types/helpers/createStyledContext.d.ts.map +1 -1
  1297. package/types/helpers/defaultOffset.d.ts.map +1 -1
  1298. package/types/helpers/directStyle.d.ts +35 -0
  1299. package/types/helpers/directStyle.d.ts.map +1 -0
  1300. package/types/helpers/expandStyle.d.ts.map +1 -1
  1301. package/types/helpers/extractPseudoState.d.ts +14 -0
  1302. package/types/helpers/extractPseudoState.d.ts.map +1 -0
  1303. package/types/helpers/formatDiagnostic.d.ts +2 -0
  1304. package/types/helpers/formatDiagnostic.d.ts.map +1 -0
  1305. package/types/helpers/frontendProgram.d.ts +10 -0
  1306. package/types/helpers/frontendProgram.d.ts.map +1 -0
  1307. package/types/helpers/getCSSStylesAtomic.d.ts +3 -4
  1308. package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
  1309. package/types/helpers/getCSSStylesAtomic.native.d.ts +6 -3
  1310. package/types/helpers/getCSSStylesAtomic.native.d.ts.map +1 -1
  1311. package/types/helpers/getDefaultProps.d.ts +1 -1
  1312. package/types/helpers/getDefaultProps.d.ts.map +1 -1
  1313. package/types/helpers/getDynamicVal.d.ts +1 -1
  1314. package/types/helpers/getExpandedShorthands.d.ts +0 -5
  1315. package/types/helpers/getExpandedShorthands.d.ts.map +1 -1
  1316. package/types/helpers/getFontLanguage.d.ts.map +1 -1
  1317. package/types/helpers/getShorthandValue.d.ts.map +1 -1
  1318. package/types/helpers/getSplitStyles.d.ts +5 -5
  1319. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  1320. package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
  1321. package/types/helpers/getVariantExtras.d.ts.map +1 -1
  1322. package/types/helpers/grammarConfig.d.ts +9 -0
  1323. package/types/helpers/grammarConfig.d.ts.map +1 -0
  1324. package/types/helpers/insertStyleRule.d.ts +3 -1
  1325. package/types/helpers/insertStyleRule.d.ts.map +1 -1
  1326. package/types/helpers/isObj.d.ts +1 -0
  1327. package/types/helpers/isObj.d.ts.map +1 -1
  1328. package/types/helpers/isTamaguiComponent.d.ts +1 -1
  1329. package/types/helpers/isTamaguiComponent.d.ts.map +1 -1
  1330. package/types/helpers/isTamaguiElement.d.ts +1 -1
  1331. package/types/helpers/isTamaguiElement.d.ts.map +1 -1
  1332. package/types/helpers/matchMedia.d.ts +1 -1
  1333. package/types/helpers/matchMedia.native.d.ts.map +1 -1
  1334. package/types/helpers/mediaState.d.ts +1 -2
  1335. package/types/helpers/mediaState.d.ts.map +1 -1
  1336. package/types/helpers/mergeProps.d.ts +0 -2
  1337. package/types/helpers/mergeProps.d.ts.map +1 -1
  1338. package/types/helpers/mergeVariants.d.ts +1 -1
  1339. package/types/helpers/mergeVariants.d.ts.map +1 -1
  1340. package/types/helpers/nativeOnlyProps.d.ts.map +1 -1
  1341. package/types/helpers/nativeStyleEngine.d.ts +69 -0
  1342. package/types/helpers/nativeStyleEngine.d.ts.map +1 -0
  1343. package/types/helpers/nativeTransitionTarget.d.ts +3 -0
  1344. package/types/helpers/nativeTransitionTarget.d.ts.map +1 -0
  1345. package/types/helpers/nativeTransitionTarget.native.d.ts +3 -0
  1346. package/types/helpers/nativeTransitionTarget.native.d.ts.map +1 -0
  1347. package/types/helpers/normalizeColor.d.ts +0 -6
  1348. package/types/helpers/normalizeColor.d.ts.map +1 -1
  1349. package/types/helpers/normalizeColor.native.d.ts.map +1 -1
  1350. package/types/helpers/normalizeShadow.d.ts.map +1 -1
  1351. package/types/helpers/normalizeShadow.native.d.ts.map +1 -1
  1352. package/types/helpers/normalizeStyle.d.ts +1 -1
  1353. package/types/helpers/normalizeStyle.d.ts.map +1 -1
  1354. package/types/helpers/normalizeStylePropKeys.native.d.ts.map +1 -1
  1355. package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -1
  1356. package/types/helpers/noteOnce.d.ts +2 -0
  1357. package/types/helpers/noteOnce.d.ts.map +1 -0
  1358. package/types/helpers/{parseNativeStyle.d.ts → parseNativeStyle.native.d.ts} +1 -1
  1359. package/types/helpers/parseNativeStyle.native.d.ts.map +1 -0
  1360. package/types/helpers/parseNativeTransform.native.d.ts +2 -0
  1361. package/types/helpers/parseNativeTransform.native.d.ts.map +1 -0
  1362. package/types/helpers/propMapper.d.ts +2 -1
  1363. package/types/helpers/propMapper.d.ts.map +1 -1
  1364. package/types/helpers/registerCSSVariable.d.ts +12 -0
  1365. package/types/helpers/registerCSSVariable.d.ts.map +1 -1
  1366. package/types/helpers/resolveAnimationDriver.d.ts +4 -4
  1367. package/types/helpers/resolveAnimationDriver.d.ts.map +1 -1
  1368. package/types/helpers/resolveSafeArea.d.ts +2 -1
  1369. package/types/helpers/resolveSafeArea.d.ts.map +1 -1
  1370. package/types/helpers/resolveSafeArea.native.d.ts +2 -1
  1371. package/types/helpers/resolveSafeArea.native.d.ts.map +1 -1
  1372. package/types/helpers/resolveSafeAreaVariable.d.ts +3 -0
  1373. package/types/helpers/resolveSafeAreaVariable.d.ts.map +1 -0
  1374. package/types/helpers/resolveSafeAreaVariable.native.d.ts +3 -0
  1375. package/types/helpers/resolveSafeAreaVariable.native.d.ts.map +1 -0
  1376. package/types/helpers/resolveVariableValue.d.ts +3 -0
  1377. package/types/helpers/resolveVariableValue.d.ts.map +1 -0
  1378. package/types/helpers/setElementProps.d.ts.map +1 -1
  1379. package/types/helpers/skipProps.d.ts +3 -1
  1380. package/types/helpers/skipProps.d.ts.map +1 -1
  1381. package/types/helpers/sortString.d.ts +1 -1
  1382. package/types/helpers/sortString.d.ts.map +1 -1
  1383. package/types/helpers/styleFrontend.d.ts +87 -0
  1384. package/types/helpers/styleFrontend.d.ts.map +1 -0
  1385. package/types/helpers/styleProvenance.d.ts +14 -1
  1386. package/types/helpers/styleProvenance.d.ts.map +1 -1
  1387. package/types/helpers/subscribeToContextGroup.d.ts.map +1 -1
  1388. package/types/helpers/themeRef.d.ts +22 -0
  1389. package/types/helpers/themeRef.d.ts.map +1 -0
  1390. package/types/helpers/themeable.d.ts +1 -1
  1391. package/types/helpers/themeable.d.ts.map +1 -1
  1392. package/types/helpers/themes.d.ts.map +1 -1
  1393. package/types/helpers/tokenCategories.d.ts +5 -0
  1394. package/types/helpers/tokenCategories.d.ts.map +1 -0
  1395. package/types/helpers/transformsToString.d.ts.map +1 -1
  1396. package/types/helpers/variables.d.ts +90 -0
  1397. package/types/helpers/variables.d.ts.map +1 -0
  1398. package/types/helpers/warnOnce.d.ts +20 -0
  1399. package/types/helpers/warnOnce.d.ts.map +1 -0
  1400. package/types/helpers/webPropsToSkip.native.d.ts +63 -62
  1401. package/types/helpers/webPropsToSkip.native.d.ts.map +1 -1
  1402. package/types/helpers/wrapStyleTags.d.ts +1 -1
  1403. package/types/helpers/wrapStyleTags.d.ts.map +1 -1
  1404. package/types/hooks/getThemeProxied.d.ts +1 -1
  1405. package/types/hooks/getThemeProxied.d.ts.map +1 -1
  1406. package/types/hooks/isOptimizedForFirstRender.d.ts +2 -0
  1407. package/types/hooks/isOptimizedForFirstRender.d.ts.map +1 -0
  1408. package/types/hooks/isOptimizedForFirstRender.native.d.ts +2 -0
  1409. package/types/hooks/isOptimizedForFirstRender.native.d.ts.map +1 -0
  1410. package/types/hooks/useAnimationDriver.d.ts +7 -0
  1411. package/types/hooks/useAnimationDriver.d.ts.map +1 -0
  1412. package/types/hooks/useComponentState.d.ts +5 -4
  1413. package/types/hooks/useComponentState.d.ts.map +1 -1
  1414. package/types/hooks/useMedia.d.ts +13 -7
  1415. package/types/hooks/useMedia.d.ts.map +1 -1
  1416. package/types/hooks/usePortalThemeState.d.ts +15 -0
  1417. package/types/hooks/usePortalThemeState.d.ts.map +1 -0
  1418. package/types/hooks/useProps.d.ts +1 -3
  1419. package/types/hooks/useProps.d.ts.map +1 -1
  1420. package/types/hooks/useTheme.d.ts +1 -1
  1421. package/types/hooks/useTheme.d.ts.map +1 -1
  1422. package/types/hooks/useThemeState.d.ts +26 -3
  1423. package/types/hooks/useThemeState.d.ts.map +1 -1
  1424. package/types/index.d.ts +14 -7
  1425. package/types/index.d.ts.map +1 -1
  1426. package/types/inject-styles.d.ts.map +1 -1
  1427. package/types/interfaces/CSSColorNames.d.ts +2 -1
  1428. package/types/interfaces/CSSColorNames.d.ts.map +1 -1
  1429. package/types/interfaces/RNExclusiveTypes.d.ts +1 -1
  1430. package/types/interfaces/RNExclusiveTypes.d.ts.map +1 -1
  1431. package/types/interfaces/TamaguiComponentEvents.d.ts +0 -1
  1432. package/types/interfaces/TamaguiComponentEvents.d.ts.map +1 -1
  1433. package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts +2 -4
  1434. package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts.map +1 -1
  1435. package/types/internal-runtime.d.ts +33 -0
  1436. package/types/internal-runtime.d.ts.map +1 -0
  1437. package/types/internalRuntimeTypes.d.ts +16 -0
  1438. package/types/internalRuntimeTypes.d.ts.map +1 -0
  1439. package/types/setupHooks.d.ts +1 -1
  1440. package/types/setupHooks.d.ts.map +1 -1
  1441. package/types/styled.d.ts +47 -12
  1442. package/types/styled.d.ts.map +1 -1
  1443. package/types/types.d.ts +392 -231
  1444. package/types/types.d.ts.map +1 -1
  1445. package/types/views/ConfigRevisionCheck.d.ts +6 -0
  1446. package/types/views/ConfigRevisionCheck.d.ts.map +1 -0
  1447. package/types/views/Configuration.d.ts +1 -1
  1448. package/types/views/Configuration.d.ts.map +1 -1
  1449. package/types/views/FontLanguage.d.ts +4 -4
  1450. package/types/views/FontLanguage.d.ts.map +1 -1
  1451. package/types/views/FontLanguage.native.d.ts +2 -1
  1452. package/types/views/FontLanguage.native.d.ts.map +1 -1
  1453. package/types/views/SafeAreaTracker.d.ts +3 -0
  1454. package/types/views/SafeAreaTracker.d.ts.map +1 -0
  1455. package/types/views/SafeAreaTracker.native.d.ts +3 -0
  1456. package/types/views/SafeAreaTracker.native.d.ts.map +1 -0
  1457. package/types/views/Slot.d.ts +7 -7
  1458. package/types/views/Slot.d.ts.map +1 -1
  1459. package/types/views/TamaguiProvider.d.ts +2 -1
  1460. package/types/views/TamaguiProvider.d.ts.map +1 -1
  1461. package/types/views/TamaguiRoot.d.ts +1 -1
  1462. package/types/views/TamaguiRoot.d.ts.map +1 -1
  1463. package/types/views/Text.d.ts +6 -2
  1464. package/types/views/Text.d.ts.map +1 -1
  1465. package/types/views/Theme.d.ts +16 -8
  1466. package/types/views/Theme.d.ts.map +1 -1
  1467. package/types/views/ThemeDebug.d.ts.map +1 -1
  1468. package/types/views/ThemeProvider.d.ts +1 -1
  1469. package/types/views/ThemeProvider.d.ts.map +1 -1
  1470. package/types/views/View.d.ts +8 -2
  1471. package/types/views/View.d.ts.map +1 -1
  1472. package/.turbo/turbo-build.log +0 -2
  1473. package/.turbo/turbo-test$colon$web.log +0 -25
  1474. package/dist/cjs/animationDriverTypes.test-d.cjs +0 -77
  1475. package/dist/cjs/animationDriverTypes.test-d.native.js +0 -80
  1476. package/dist/cjs/animationDriverTypes.test-d.native.js.map +0 -1
  1477. package/dist/cjs/helpers/createMediaStyle.cjs +0 -127
  1478. package/dist/cjs/helpers/createMediaStyle.native.js +0 -140
  1479. package/dist/cjs/helpers/createMediaStyle.native.js.map +0 -1
  1480. package/dist/cjs/helpers/getGroupPropParts.cjs +0 -54
  1481. package/dist/cjs/helpers/getGroupPropParts.native.js +0 -59
  1482. package/dist/cjs/helpers/getGroupPropParts.native.js.map +0 -1
  1483. package/dist/cjs/helpers/getTokenForKey.cjs +0 -174
  1484. package/dist/cjs/helpers/getTokenForKey.native.js +0 -186
  1485. package/dist/cjs/helpers/getTokenForKey.native.js.map +0 -1
  1486. package/dist/cjs/helpers/isActivePlatform.cjs +0 -40
  1487. package/dist/cjs/helpers/isActivePlatform.native.js +0 -43
  1488. package/dist/cjs/helpers/isActivePlatform.native.js.map +0 -1
  1489. package/dist/cjs/helpers/isActiveTheme.cjs +0 -31
  1490. package/dist/cjs/helpers/isActiveTheme.native.js +0 -34
  1491. package/dist/cjs/helpers/isActiveTheme.native.js.map +0 -1
  1492. package/dist/cjs/helpers/parseNativeStyle.cjs +0 -167
  1493. package/dist/cjs/helpers/platformResolveValue.cjs +0 -38
  1494. package/dist/cjs/helpers/platformResolveValue.native.js +0 -74
  1495. package/dist/cjs/helpers/platformResolveValue.native.js.map +0 -1
  1496. package/dist/cjs/helpers/proxyThemeVariables.cjs +0 -38
  1497. package/dist/cjs/helpers/proxyThemeVariables.native.js +0 -43
  1498. package/dist/cjs/helpers/proxyThemeVariables.native.js.map +0 -1
  1499. package/dist/cjs/helpers/pseudoDescriptors.cjs +0 -82
  1500. package/dist/cjs/helpers/pseudoDescriptors.native.js +0 -85
  1501. package/dist/cjs/helpers/pseudoDescriptors.native.js.map +0 -1
  1502. package/dist/cjs/helpers/pseudoTransitions.cjs +0 -83
  1503. package/dist/cjs/helpers/pseudoTransitions.native.js +0 -88
  1504. package/dist/cjs/helpers/pseudoTransitions.native.js.map +0 -1
  1505. package/dist/cjs/helpers/resolveCompoundTokens.cjs +0 -41
  1506. package/dist/cjs/helpers/resolveCompoundTokens.native.js +0 -44
  1507. package/dist/cjs/helpers/resolveCompoundTokens.native.js.map +0 -1
  1508. package/dist/cjs/opacityModifier.test-d.cjs +0 -36
  1509. package/dist/cjs/opacityModifier.test-d.native.js +0 -39
  1510. package/dist/cjs/opacityModifier.test-d.native.js.map +0 -1
  1511. package/dist/cjs/styledHtml.test-d.cjs +0 -187
  1512. package/dist/cjs/styledHtml.test-d.native.js +0 -190
  1513. package/dist/cjs/styledHtml.test-d.native.js.map +0 -1
  1514. package/dist/cjs/styledNonStyleProps.test-d.cjs +0 -63
  1515. package/dist/cjs/styledNonStyleProps.test-d.native.js +0 -66
  1516. package/dist/cjs/styledNonStyleProps.test-d.native.js.map +0 -1
  1517. package/dist/esm/animationDriverTypes.test-d.mjs +0 -78
  1518. package/dist/esm/animationDriverTypes.test-d.mjs.map +0 -1
  1519. package/dist/esm/animationDriverTypes.test-d.native.js +0 -78
  1520. package/dist/esm/animationDriverTypes.test-d.native.js.map +0 -1
  1521. package/dist/esm/helpers/createMediaStyle.mjs +0 -100
  1522. package/dist/esm/helpers/createMediaStyle.mjs.map +0 -1
  1523. package/dist/esm/helpers/createMediaStyle.native.js +0 -110
  1524. package/dist/esm/helpers/createMediaStyle.native.js.map +0 -1
  1525. package/dist/esm/helpers/getGroupPropParts.mjs +0 -29
  1526. package/dist/esm/helpers/getGroupPropParts.mjs.map +0 -1
  1527. package/dist/esm/helpers/getGroupPropParts.native.js +0 -31
  1528. package/dist/esm/helpers/getGroupPropParts.native.js.map +0 -1
  1529. package/dist/esm/helpers/getTokenForKey.mjs +0 -146
  1530. package/dist/esm/helpers/getTokenForKey.mjs.map +0 -1
  1531. package/dist/esm/helpers/getTokenForKey.native.js +0 -155
  1532. package/dist/esm/helpers/getTokenForKey.native.js.map +0 -1
  1533. package/dist/esm/helpers/isActivePlatform.mjs +0 -14
  1534. package/dist/esm/helpers/isActivePlatform.mjs.map +0 -1
  1535. package/dist/esm/helpers/isActivePlatform.native.js +0 -14
  1536. package/dist/esm/helpers/isActivePlatform.native.js.map +0 -1
  1537. package/dist/esm/helpers/isActiveTheme.mjs +0 -6
  1538. package/dist/esm/helpers/isActiveTheme.mjs.map +0 -1
  1539. package/dist/esm/helpers/isActiveTheme.native.js +0 -6
  1540. package/dist/esm/helpers/isActiveTheme.native.js.map +0 -1
  1541. package/dist/esm/helpers/parseNativeStyle.mjs +0 -142
  1542. package/dist/esm/helpers/parseNativeStyle.mjs.map +0 -1
  1543. package/dist/esm/helpers/platformResolveValue.mjs +0 -13
  1544. package/dist/esm/helpers/platformResolveValue.mjs.map +0 -1
  1545. package/dist/esm/helpers/platformResolveValue.native.js +0 -46
  1546. package/dist/esm/helpers/platformResolveValue.native.js.map +0 -1
  1547. package/dist/esm/helpers/proxyThemeVariables.mjs +0 -13
  1548. package/dist/esm/helpers/proxyThemeVariables.mjs.map +0 -1
  1549. package/dist/esm/helpers/proxyThemeVariables.native.js +0 -15
  1550. package/dist/esm/helpers/proxyThemeVariables.native.js.map +0 -1
  1551. package/dist/esm/helpers/pseudoDescriptors.mjs +0 -54
  1552. package/dist/esm/helpers/pseudoDescriptors.mjs.map +0 -1
  1553. package/dist/esm/helpers/pseudoDescriptors.native.js +0 -54
  1554. package/dist/esm/helpers/pseudoDescriptors.native.js.map +0 -1
  1555. package/dist/esm/helpers/pseudoTransitions.mjs +0 -57
  1556. package/dist/esm/helpers/pseudoTransitions.mjs.map +0 -1
  1557. package/dist/esm/helpers/pseudoTransitions.native.js +0 -59
  1558. package/dist/esm/helpers/pseudoTransitions.native.js.map +0 -1
  1559. package/dist/esm/helpers/resolveCompoundTokens.mjs +0 -16
  1560. package/dist/esm/helpers/resolveCompoundTokens.mjs.map +0 -1
  1561. package/dist/esm/helpers/resolveCompoundTokens.native.js +0 -16
  1562. package/dist/esm/helpers/resolveCompoundTokens.native.js.map +0 -1
  1563. package/dist/esm/index.js.map +0 -1
  1564. package/dist/esm/index.mjs.map +0 -1
  1565. package/dist/esm/index.native.js.map +0 -1
  1566. package/dist/esm/interfaces/GetRef.mjs.map +0 -1
  1567. package/dist/esm/interfaces/GetRef.native.js.map +0 -1
  1568. package/dist/esm/interfaces/RNExclusiveTypes.mjs.map +0 -1
  1569. package/dist/esm/interfaces/RNExclusiveTypes.native.js.map +0 -1
  1570. package/dist/esm/interfaces/TamaguiComponentEvents.mjs.map +0 -1
  1571. package/dist/esm/interfaces/TamaguiComponentEvents.native.js.map +0 -1
  1572. package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.mjs.map +0 -1
  1573. package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.native.js.map +0 -1
  1574. package/dist/esm/opacityModifier.test-d.mjs +0 -37
  1575. package/dist/esm/opacityModifier.test-d.mjs.map +0 -1
  1576. package/dist/esm/opacityModifier.test-d.native.js +0 -37
  1577. package/dist/esm/opacityModifier.test-d.native.js.map +0 -1
  1578. package/dist/esm/styledHtml.test-d.mjs +0 -188
  1579. package/dist/esm/styledHtml.test-d.mjs.map +0 -1
  1580. package/dist/esm/styledHtml.test-d.native.js +0 -188
  1581. package/dist/esm/styledHtml.test-d.native.js.map +0 -1
  1582. package/dist/esm/styledNonStyleProps.test-d.mjs +0 -64
  1583. package/dist/esm/styledNonStyleProps.test-d.mjs.map +0 -1
  1584. package/dist/esm/styledNonStyleProps.test-d.native.js +0 -64
  1585. package/dist/esm/styledNonStyleProps.test-d.native.js.map +0 -1
  1586. package/dist/esm/type-utils.mjs.map +0 -1
  1587. package/dist/esm/type-utils.native.js.map +0 -1
  1588. package/src/animationDriverTypes.test-d.ts +0 -332
  1589. package/src/helpers/createMediaStyle.ts +0 -167
  1590. package/src/helpers/getGroupPropParts.ts +0 -46
  1591. package/src/helpers/getTokenForKey.ts +0 -236
  1592. package/src/helpers/isActivePlatform.ts +0 -43
  1593. package/src/helpers/isActiveTheme.ts +0 -4
  1594. package/src/helpers/platformResolveValue.native.ts +0 -75
  1595. package/src/helpers/platformResolveValue.ts +0 -26
  1596. package/src/helpers/proxyThemeVariables.tsx +0 -13
  1597. package/src/helpers/pseudoDescriptors.ts +0 -74
  1598. package/src/helpers/pseudoTransitions.ts +0 -97
  1599. package/src/helpers/resolveCompoundTokens.ts +0 -28
  1600. package/src/opacityModifier.test-d.ts +0 -65
  1601. package/src/styledHtml.test-d.ts +0 -286
  1602. package/src/styledNonStyleProps.test-d.ts +0 -106
  1603. package/tsconfig.json +0 -44
  1604. package/tsconfig.test.json +0 -9
  1605. package/types/helpers/createMediaStyle.d.ts +0 -5
  1606. package/types/helpers/createMediaStyle.d.ts.map +0 -1
  1607. package/types/helpers/getGroupPropParts.d.ts +0 -7
  1608. package/types/helpers/getGroupPropParts.d.ts.map +0 -1
  1609. package/types/helpers/getTokenForKey.d.ts +0 -6
  1610. package/types/helpers/getTokenForKey.d.ts.map +0 -1
  1611. package/types/helpers/isActivePlatform.d.ts +0 -16
  1612. package/types/helpers/isActivePlatform.d.ts.map +0 -1
  1613. package/types/helpers/isActiveTheme.d.ts +0 -2
  1614. package/types/helpers/isActiveTheme.d.ts.map +0 -1
  1615. package/types/helpers/parseNativeStyle.d.ts.map +0 -1
  1616. package/types/helpers/platformResolveValue.d.ts +0 -6
  1617. package/types/helpers/platformResolveValue.d.ts.map +0 -1
  1618. package/types/helpers/platformResolveValue.native.d.ts +0 -7
  1619. package/types/helpers/platformResolveValue.native.d.ts.map +0 -1
  1620. package/types/helpers/proxyThemeVariables.d.ts +0 -2
  1621. package/types/helpers/proxyThemeVariables.d.ts.map +0 -1
  1622. package/types/helpers/pseudoDescriptors.d.ts +0 -51
  1623. package/types/helpers/pseudoDescriptors.d.ts.map +0 -1
  1624. package/types/helpers/pseudoTransitions.d.ts +0 -29
  1625. package/types/helpers/pseudoTransitions.d.ts.map +0 -1
  1626. package/types/helpers/resolveCompoundTokens.d.ts +0 -9
  1627. package/types/helpers/resolveCompoundTokens.d.ts.map +0 -1
  1628. package/vitest.config.d.ts +0 -3
  1629. package/vitest.config.d.ts.map +0 -1
  1630. package/vitest.config.ts +0 -14
@@ -0,0 +1,901 @@
1
+ import { reservedThemeProps, simpleHash } from '@tamagui/helpers'
2
+ import {
3
+ grammarPlatformNames,
4
+ isRootThemeName,
5
+ parseValue,
6
+ type ModifierRegistryView,
7
+ } from '@tamagui/style-grammar/runtime'
8
+ import { getSetting } from '../config'
9
+ import { createVariable, isVariable } from '../createVariable'
10
+ import { platformMatches } from './directStyle'
11
+ import { warnOnce } from './warnOnce'
12
+ import type {
13
+ GenericVariables,
14
+ TamaguiInternalConfig,
15
+ ThemeKeys,
16
+ ThemeName,
17
+ TokensParsed,
18
+ Variable,
19
+ VariableValIn,
20
+ } from '../types'
21
+
22
+ export type InlineValues = {
23
+ values?: { [Key in ThemeKeys]?: VariableValIn }
24
+ themes?: {
25
+ [Name in ThemeName]?: { [Key in ThemeKeys]?: VariableValIn }
26
+ }
27
+ }
28
+
29
+ // keys whose numeric values stay unitless on web. audited against RN numeric
30
+ // style keys: opacity, zIndex, flex/flexGrow/flexShrink, aspectRatio, scale*,
31
+ // fontWeight, elevation, shadowOpacity all end in one of these suffixes.
32
+ // dimensional keys (radius, width, gap, size...) default to px.
33
+ const unitlessSuffixes = [
34
+ 'opacity',
35
+ 'scale',
36
+ 'zindex',
37
+ 'weight',
38
+ 'flex',
39
+ 'grow',
40
+ 'shrink',
41
+ 'ratio',
42
+ 'elevation',
43
+ ]
44
+
45
+ export const isUnitlessVariableKey = (key: string): boolean => {
46
+ const lower = key.toLowerCase()
47
+ return unitlessSuffixes.some((suffix) => lower.endsWith(suffix))
48
+ }
49
+
50
+ // Property-less variable references scan token categories in this fixed order.
51
+ const tokenCategoryOrder = ['color', 'space', 'size', 'radius', 'zIndex'] as const
52
+
53
+ const themeKeySets = new WeakMap<object, Set<string>>()
54
+
55
+ export const getThemeKeySet = (conf: TamaguiInternalConfig): Set<string> => {
56
+ const existing = themeKeySets.get(conf.themes)
57
+ if (existing) return existing
58
+ const set = new Set<string>()
59
+ for (const themeName in conf.themes) {
60
+ for (const key in conf.themes[themeName]) {
61
+ set.add(key)
62
+ }
63
+ }
64
+ if (process.env.NODE_ENV === 'development') {
65
+ // <Theme> reads every non-reserved prop as a theme key, so a theme key or
66
+ // config variable sharing a name with one of Theme's own props could never
67
+ // be set inline. Caught once per config, at the source.
68
+ for (const key of set) {
69
+ if (reservedThemeProps[key]) {
70
+ console.error(
71
+ `[tamagui] theme key "${key}" collides with a <Theme> prop, so it can never be set inline (<Theme ${key}="...">). Rename it.`
72
+ )
73
+ }
74
+ }
75
+ }
76
+ themeKeySets.set(conf.themes, set)
77
+ return set
78
+ }
79
+
80
+ const findToken = (tokensParsed: TokensParsed, name: string): Variable | undefined => {
81
+ let found: Variable | undefined
82
+ let foundCategory: string | undefined
83
+ for (const category of tokenCategoryOrder) {
84
+ const token = tokensParsed[category]?.[name] as Variable | undefined
85
+ if (!token) continue
86
+ if (!found) {
87
+ found = token
88
+ foundCategory = category
89
+ if (process.env.NODE_ENV !== 'development') break
90
+ } else {
91
+ warnOnce(
92
+ `ambiguous:${name}`,
93
+ `Theme inline value: "${name}" exists in multiple token categories; using "${foundCategory}". Rename one of the colliding tokens.`
94
+ )
95
+ break
96
+ }
97
+ }
98
+ return found
99
+ }
100
+
101
+ const cssVariablePrefix = process.env.TAMAGUI_CSS_VARIABLE_PREFIX || ''
102
+
103
+ // theme-key custom property reference, matching the declaration side in
104
+ // getThemeCSSRules (simpleHash(themeKey, 40))
105
+ const themeKeyVar = (key: string) => `var(--${cssVariablePrefix}${simpleHash(key, 40)})`
106
+
107
+ /**
108
+ * Resolves one inline `<Theme>` value to a CSS value string.
109
+ * References emit var() so they stay live in the cascade; literals serialize
110
+ * with the same unit rule numeric style props use (px unless unitless key).
111
+ * Configured names resolve first; a lookup miss stays literal.
112
+ */
113
+ export function resolveVariableValueToCSS(
114
+ key: string,
115
+ value: VariableValIn,
116
+ conf: TamaguiInternalConfig
117
+ ): string | undefined {
118
+ if (typeof value === 'number') {
119
+ return isUnitlessVariableKey(key) ? `${value}` : `${value}px`
120
+ }
121
+ if (typeof value === 'object' && value && 'needsPx' in value) {
122
+ return `${value.val}px`
123
+ }
124
+ if (typeof value !== 'string') {
125
+ return
126
+ }
127
+ const name = value
128
+
129
+ // theme keys and config-declared custom variables
130
+ if (getThemeKeySet(conf).has(name)) {
131
+ return themeKeyVar(name)
132
+ }
133
+
134
+ const token = findToken(conf.tokensParsed, name)
135
+ if (token) {
136
+ return token.variable
137
+ }
138
+ return value
139
+ }
140
+
141
+ type VariablesCSS = {
142
+ identifier: string
143
+ rules: string[]
144
+ }
145
+
146
+ type ResolvedDeclarations = [key: string, cssValue: string][]
147
+
148
+ const resolveDeclarations = (
149
+ valuesIn: InlineValues['values'],
150
+ conf: TamaguiInternalConfig,
151
+ skip?: Set<string> | null
152
+ ): ResolvedDeclarations => {
153
+ const out: ResolvedDeclarations = []
154
+ if (!valuesIn) return out
155
+ const values = valuesIn as Record<string, VariableValIn>
156
+ const keySet = getThemeKeySet(conf)
157
+ for (const key of Object.keys(values).sort()) {
158
+ const value = values[key]
159
+ if (value == null) continue
160
+ if (skip?.has(key)) continue
161
+ if (!keySet.has(key)) {
162
+ warnOnce(
163
+ `unknown:${key}`,
164
+ `Theme inline value: "${key}" is not a theme key or config-declared variable (createTamagui({ variables })) — dropping. Native can't resolve undeclared keys, so declaring it keeps platforms in sync.`
165
+ )
166
+ continue
167
+ }
168
+ const cssValue = resolveVariableValueToCSS(key, value, conf)
169
+ if (cssValue !== undefined) {
170
+ out.push([key, cssValue])
171
+ }
172
+ }
173
+ return out
174
+ }
175
+
176
+ const toDeclarationBlock = (declarations: ResolvedDeclarations) =>
177
+ declarations
178
+ .map(([key, value]) => `--${cssVariablePrefix}${simpleHash(key, 40)}:${value};`)
179
+ .join('')
180
+
181
+ // matches the theme-class scoping on web (Theme.tsx strips the scheme prefix
182
+ // before emitting t_ classes) and how theme nesting composes names: bucket
183
+ // "blue" applies under "dark_blue", "light_blue_surface1", or a top-level
184
+ // "blue" theme. scheme names never reach this (they resolve by scheme).
185
+ const schemePrefix = /^(light|dark)_/
186
+
187
+ // non-scheme bucket names of a themes map, sorted so prefix chains apply
188
+ // least-specific first (blue before blue_surface1) — the same order the CSS
189
+ // rules are emitted in, where the later equal-specificity rule wins
190
+ const getThemedBucketNames = (themes: InlineValues['themes']): string[] => {
191
+ if (!themes) return []
192
+ const names: string[] = []
193
+ for (const name in themes) {
194
+ if (name !== 'light' && name !== 'dark' && themes[name]) {
195
+ names.push(name)
196
+ }
197
+ }
198
+ return names.sort()
199
+ }
200
+
201
+ // the names a theme bucket can ever match: every '_'-joined prefix of every
202
+ // scheme-stripped theme name in the config. broader than the style grammar's
203
+ // theme modifiers, which require a top-level conf.themes key and so can't
204
+ // target a `blue` that only exists as `dark_blue`/`light_blue`
205
+ const themeBucketNameSets = new WeakMap<object, Set<string>>()
206
+
207
+ const getThemeBucketNames = (conf: TamaguiInternalConfig): Set<string> => {
208
+ let set = themeBucketNameSets.get(conf.themes)
209
+ if (!set) {
210
+ set = new Set()
211
+ for (const themeName in conf.themes) {
212
+ const parts = themeName.replace(schemePrefix, '').split('_')
213
+ for (let i = 1; i <= parts.length; i++) {
214
+ set.add(parts.slice(0, i).join('_'))
215
+ }
216
+ }
217
+ themeBucketNameSets.set(conf.themes, set)
218
+ }
219
+ return set
220
+ }
221
+
222
+ const warnOnUnknownThemeBucket = (name: string, conf: TamaguiInternalConfig) => {
223
+ if (!getThemeBucketNames(conf).has(name)) {
224
+ warnOnce(
225
+ `unknown-theme:${name}`,
226
+ `Theme inline value: modifier "${name}:" doesn't match any theme name in your config, so it will never apply.`
227
+ )
228
+ }
229
+ }
230
+
231
+ // sibling references that form a cycle compute to invalid CSS in the browser
232
+ // and are unresolvable in the native fixed-point resolver. contract
233
+ // (plans/variables.md): a key whose reference chain reaches a cycle in ANY
234
+ // effective map that can occur at runtime ({...values, ...matched theme
235
+ // buckets, ...scheme bucket}) is dropped from all emission, in every mode, so
236
+ // web and native stay identical regardless of the active theme. buckets can
237
+ // only co-occur when their names form a prefix chain (blue, blue_surface1),
238
+ // plus at most one scheme bucket, so those are exactly the maps checked.
239
+ const getCycleDroppedKeys = (props: InlineValues): Set<string> | null => {
240
+ const values = props.values as Record<string, VariableValIn> | undefined
241
+ const themes = props.themes as
242
+ | Record<string, Record<string, VariableValIn> | undefined>
243
+ | undefined
244
+ const light = themes?.light
245
+ const dark = themes?.dark
246
+
247
+ let dropped: Set<string> | null = null
248
+
249
+ const check = (map: Record<string, VariableValIn>) => {
250
+ for (const key in map) {
251
+ const path: string[] = []
252
+ const pathSet = new Set<string>()
253
+ let current = key
254
+ while (true) {
255
+ if (pathSet.has(current)) {
256
+ // everything from the cycle entry onward is unresolvable; the
257
+ // earlier chain into it is too, so drop the whole walked path
258
+ dropped ||= new Set()
259
+ for (const k of path) dropped.add(k)
260
+ break
261
+ }
262
+ path.push(current)
263
+ pathSet.add(current)
264
+ const value = map[current]
265
+ if (typeof value !== 'string') break
266
+ const next = value
267
+ if (!(next in map)) break
268
+ current = next
269
+ }
270
+ }
271
+ }
272
+
273
+ const checkWithSchemes = (base: Record<string, VariableValIn>) => {
274
+ check({ ...base, ...light })
275
+ check({ ...base, ...dark })
276
+ }
277
+
278
+ checkWithSchemes(values || {})
279
+
280
+ const bucketNames = getThemedBucketNames(props.themes)
281
+ for (const name of bucketNames) {
282
+ // full prefix chain present in the map, least-specific first (sorted
283
+ // order guarantees prefixes come before their extensions)
284
+ const merged: Record<string, VariableValIn> = { ...values }
285
+ for (const other of bucketNames) {
286
+ if (other === name || name.startsWith(`${other}_`)) {
287
+ Object.assign(merged, themes![other])
288
+ }
289
+ }
290
+ checkWithSchemes(merged)
291
+ }
292
+
293
+ if (dropped && process.env.NODE_ENV === 'development') {
294
+ const names = [...dropped]
295
+ warnOnce(
296
+ `cycle:${names.join(',')}`,
297
+ `Theme inline values: reference cycle involving "${names.join('", "')}". These keys cannot resolve on either platform and are dropped.`
298
+ )
299
+ }
300
+
301
+ return dropped
302
+ }
303
+
304
+ const rulesCache = new Map<string, VariablesCSS>()
305
+
306
+ /**
307
+ * Builds the deterministic identifier and CSS rules for inline `<Theme>` values.
308
+ * Identifier is a pure function of the resolved declarations so SSR and
309
+ * client agree, and a build-time extractor can precompute it.
310
+ *
311
+ * The themes map emits each bucket under its theme-class scope. dark/light
312
+ * buckets keep the scheme strategy (two levels of light/dark inversion plus
313
+ * the prefers-color-scheme fallback, matching getThemeCSSRules); other names
314
+ * scope by plain theme class.
315
+ */
316
+ export function getVariablesCSSRules(
317
+ props: InlineValues,
318
+ conf: TamaguiInternalConfig
319
+ ): VariablesCSS | null {
320
+ const cycleDropped = getCycleDroppedKeys(props)
321
+ const themes = props.themes as
322
+ | Record<string, InlineValues['values'] | undefined>
323
+ | undefined
324
+
325
+ const base = resolveDeclarations(props.values, conf, cycleDropped)
326
+ const dark = resolveDeclarations(themes?.dark, conf, cycleDropped)
327
+ const light = resolveDeclarations(themes?.light, conf, cycleDropped)
328
+
329
+ // non-scheme buckets, sorted: later rules win equal-specificity ties, so
330
+ // within a prefix chain (blue, blue_surface1) the more specific name wins
331
+ const themed: [string, ResolvedDeclarations][] = []
332
+ for (const name of getThemedBucketNames(props.themes)) {
333
+ if (process.env.NODE_ENV === 'development') {
334
+ warnOnUnknownThemeBucket(name, conf)
335
+ }
336
+ const declarations = resolveDeclarations(themes![name], conf, cycleDropped)
337
+ if (declarations.length) {
338
+ themed.push([name, declarations])
339
+ }
340
+ }
341
+
342
+ if (!base.length && !dark.length && !light.length && !themed.length) {
343
+ return null
344
+ }
345
+
346
+ const prefersColorThemes = !!getSetting('shouldAddPrefersColorThemes')
347
+ const payload = JSON.stringify([base, themed, dark, light, prefersColorThemes])
348
+
349
+ const cached = rulesCache.get(payload)
350
+ if (cached) return cached
351
+
352
+ const identifier = `tvar_${simpleHash(payload, 'strict')}`
353
+ // inline values patch named themes, so their selector family must meet or
354
+ // exceed the theme rules' id-anchored specificity. keeping the same
355
+ // always-matching anchor on the inline class raises the whole ladder while
356
+ // preserving its base, themed, and scheme ordering.
357
+ const cls = `.${identifier}:not(#t_theme_full_name)`
358
+ const rules: string[] = []
359
+
360
+ if (base.length) {
361
+ rules.push(`:root ${cls} {${toDeclarationBlock(base)}}`)
362
+ }
363
+
364
+ // non-scheme theme buckets: plain theme-class scoping (1,3,0). the class can
365
+ // sit on :root itself (addThemeClassName 'html') or below it, so emit both
366
+ // shapes. nested inversion is a scheme concept and doesn't apply here.
367
+ // emitted before the scheme rules so scheme buckets win overlapping keys —
368
+ // required for consistency, since the scheme inversion selector (1,4,0)
369
+ // outranks these regardless of order.
370
+ for (const [name, declarations] of themed) {
371
+ rules.push(
372
+ `:root .t_${name} ${cls}, :root.t_${name} ${cls} {${toDeclarationBlock(declarations)}}`
373
+ )
374
+ }
375
+
376
+ // explicit scheme classes: one level (1,3,0) then the two-level inversion
377
+ // override (1,4,0). the scheme class can sit on :root itself (addThemeClassName
378
+ // 'html') or below it, so emit both shapes. deeper alternation is undefined,
379
+ // same two-level limit as getThemeCSSRules.
380
+ const schemeRule = (scheme: 'dark' | 'light') => {
381
+ const opposite = scheme === 'dark' ? 'light' : 'dark'
382
+ const declarations = scheme === 'light' ? light : dark
383
+ return `:root .t_${scheme} ${cls}, :root.t_${scheme} ${cls}, :root .t_${opposite} .t_${scheme} ${cls}, :root.t_${opposite} .t_${scheme} ${cls} {${toDeclarationBlock(declarations)}}`
384
+ }
385
+
386
+ if (light.length) {
387
+ rules.push(schemeRule('light'))
388
+ }
389
+ if (dark.length) {
390
+ rules.push(schemeRule('dark'))
391
+ }
392
+
393
+ // when the app relies on prefers-color-scheme with no explicit root class,
394
+ // scheme values apply via media query at base-rule specificity (1,2,0),
395
+ // after the base rule so they win the tie; explicit classes (1,3,0+) win over
396
+ // the media rule in both directions
397
+ if (prefersColorThemes) {
398
+ if (light.length) {
399
+ rules.push(
400
+ `@media (prefers-color-scheme:light){:root ${cls} {${toDeclarationBlock(light)}}}`
401
+ )
402
+ }
403
+ if (dark.length) {
404
+ rules.push(
405
+ `@media (prefers-color-scheme:dark){:root ${cls} {${toDeclarationBlock(dark)}}}`
406
+ )
407
+ }
408
+ }
409
+
410
+ const result = { identifier, rules }
411
+ if (rulesCache.size >= 10_000) {
412
+ rulesCache.clear()
413
+ }
414
+ rulesCache.set(payload, result)
415
+ return result
416
+ }
417
+
418
+ // ---- inline theme layer (native + JS theme readers on web) ----
419
+
420
+ // non-enumerable marker on merged theme objects: cache key for idempotency,
421
+ // overridden key set, and literal light/dark pairs for the iOS fast-scheme path
422
+ export const inlineLayerKey = '_tmgInlineLayer'
423
+
424
+ export type InlineLayerInfo = {
425
+ key: string
426
+ overridden: Set<string>
427
+ pairs: Record<string, { light: string | number; dark: string | number }>
428
+ }
429
+
430
+ const serializeInlineValue = (value: VariableValIn): string =>
431
+ value && typeof value === 'object'
432
+ ? `object:px${value.val}`
433
+ : `${typeof value}:${String(value)}`
434
+
435
+ const serializeBucket = (bucket: InlineValues['values']): string => {
436
+ if (!bucket) return ''
437
+ const map = bucket as Record<string, VariableValIn>
438
+ return Object.keys(map)
439
+ .sort()
440
+ .map((key) => {
441
+ const value = serializeInlineValue(map[key])
442
+ return `${key.length}:${key}${value.length}:${value}`
443
+ })
444
+ .join('')
445
+ }
446
+
447
+ // memoized per layer object: the flat-props path hands back identity-stable
448
+ // layers, so this is one serialization per distinct value set instead of one
449
+ // per render (getPropsKey calls it on every render of every <Theme>)
450
+ const inlineKeys = new WeakMap<InlineValues, string>()
451
+
452
+ export const getInlineValuesKey = (inline: InlineValues): string => {
453
+ const cached = inlineKeys.get(inline)
454
+ if (cached !== undefined) return cached
455
+ let key = serializeBucket(inline.values)
456
+ if (inline.themes) {
457
+ const themes = inline.themes as Record<string, InlineValues['values']>
458
+ for (const name of Object.keys(themes).sort()) {
459
+ key += `;${name}=${serializeBucket(themes[name])}`
460
+ }
461
+ }
462
+ inlineKeys.set(inline, key)
463
+ return key
464
+ }
465
+
466
+ // ---- flat theme-value props: <Theme background-hover="blue4 dark:blue2"> ----
467
+
468
+ const registryViews = new WeakMap<object, ModifierRegistryView>()
469
+
470
+ /**
471
+ * Theme and platform are the only modifiers a subtree-wide value can honor.
472
+ * Everything else still parses as a modifier so it can be rejected by name
473
+ * below, rather than coming back as a generic "unregistered modifier".
474
+ */
475
+ const getModifierRegistry = (conf: TamaguiInternalConfig): ModifierRegistryView => {
476
+ let view = registryViews.get(conf.themes)
477
+ if (!view) {
478
+ view = {
479
+ get(name: string) {
480
+ if (grammarPlatformNames.has(name)) return 'platform'
481
+ if (isRootThemeName(name) && getThemeBucketNames(conf).has(name)) return 'theme'
482
+ return 'state'
483
+ },
484
+ }
485
+ registryViews.set(conf.themes, view)
486
+ }
487
+ return view
488
+ }
489
+
490
+ /**
491
+ * One authored theme-value clause the parser could not use. The runtime warns
492
+ * and drops; zero-runtime turns each one into a rule 3 violation.
493
+ */
494
+ export type InlineValueIssue = { key: string; raw: string; message: string }
495
+ export type InlineValueIssueSink = (issue: InlineValueIssue) => void
496
+
497
+ type FlatBuckets = {
498
+ values: Record<string, VariableValIn>
499
+ themes: Record<string, Record<string, VariableValIn>> | null
500
+ }
501
+
502
+ const parsedInlineValues = new WeakMap<
503
+ object,
504
+ Map<string, ReturnType<typeof parseValue>>
505
+ >()
506
+
507
+ const addFlatValue = (
508
+ out: FlatBuckets,
509
+ key: string,
510
+ raw: VariableValIn,
511
+ conf: TamaguiInternalConfig,
512
+ onIssue?: InlineValueIssueSink
513
+ ) => {
514
+ // one authored value, one place that decides whether each clause is usable.
515
+ // the runtime warns and says what it dropped; a build-time caller takes the
516
+ // same diagnosis and makes it a hard error, where nothing is dropped because
517
+ // nothing is built. so the disposition is the caller's and the diagnosis is
518
+ // shared, and the two can never diverge on what is legal.
519
+ const report = (once: string, message: string, dropped: string) => {
520
+ const diagnosis = message.replace(/\.$/, '')
521
+ if (onIssue) onIssue({ key, raw: String(raw), message: diagnosis })
522
+ else warnOnce(once, `${diagnosis}. ${dropped}`)
523
+ }
524
+ if (typeof raw !== 'string') {
525
+ out.values[key] = raw
526
+ return
527
+ }
528
+
529
+ let configValues = parsedInlineValues.get(conf.themes)
530
+ if (!configValues) {
531
+ configValues = new Map()
532
+ parsedInlineValues.set(conf.themes, configValues)
533
+ }
534
+
535
+ let parsed = configValues.get(raw)
536
+ if (!parsed) {
537
+ parsed = parseValue(raw, getModifierRegistry(conf))
538
+ if (configValues.size >= 10_000) {
539
+ configValues.clear()
540
+ }
541
+ configValues.set(raw, parsed)
542
+ }
543
+
544
+ if (!parsed.ok) {
545
+ report(
546
+ `parse:${key}:${raw}`,
547
+ `<Theme ${key}="${raw}">: ${parsed.errors[0].message}`,
548
+ 'Dropping.'
549
+ )
550
+ return
551
+ }
552
+
553
+ const { base, clauses } = parsed.value
554
+ if (base !== null) {
555
+ out.values[key] = base
556
+ }
557
+
558
+ for (const clause of clauses) {
559
+ let themeName: string | undefined
560
+ let applies = true
561
+
562
+ for (const modifier of clause.modifiers) {
563
+ if (grammarPlatformNames.has(modifier)) {
564
+ // platform is fixed for the process, so this resolves once per value
565
+ applies &&= platformMatches(modifier)
566
+ continue
567
+ }
568
+ if (isRootThemeName(modifier) && getThemeBucketNames(conf).has(modifier)) {
569
+ if (themeName !== undefined) {
570
+ report(
571
+ `two-themes:${key}:${raw}`,
572
+ `<Theme ${key}="${raw}">: "${themeName}:${modifier}:" targets two themes at once, which a subtree value can't express. Name the composed theme instead.`,
573
+ 'Dropping the clause.'
574
+ )
575
+ applies = false
576
+ break
577
+ }
578
+ themeName = modifier
579
+ continue
580
+ }
581
+ report(
582
+ `unsupported-modifier:${modifier}`,
583
+ `<Theme ${key}="${raw}">: "${modifier}:" isn't supported here. Theme values apply to a whole subtree, so only theme (dark:) and platform (ios:) modifiers work.`,
584
+ 'Dropping the clause.'
585
+ )
586
+ applies = false
587
+ break
588
+ }
589
+
590
+ if (!applies) continue
591
+ if (themeName === undefined) {
592
+ out.values[key] = clause.payload
593
+ } else {
594
+ ;((out.themes ||= {})[themeName] ||= {})[key] = clause.payload
595
+ }
596
+ }
597
+ }
598
+
599
+ // keyed by config and raw prop values, so repeat renders of the same <Theme>
600
+ // reuse one layer object. downstream identity caches and snapshot bailouts key
601
+ // off this object. each config cache is bounded with the same clear-on-limit
602
+ // pattern as simpleHash's string cache.
603
+ const flatLayers = new WeakMap<object, Map<string, InlineValues>>()
604
+
605
+ /**
606
+ * Reads theme-key props off a <Theme> into the inline layer shape the rest of
607
+ * the system already consumes. Returns null when the element carries no theme
608
+ * key props at all, which is one loop over its props (two entries for a plain
609
+ * `<Theme name="dark">`) and no allocation.
610
+ *
611
+ * A key that is present but currently undefined still produces an empty
612
+ * layer. Presence, not value, is what makes an element a theme-updating
613
+ * one (the same rule `hasThemeUpdatingProps` applies to `name`), and it is
614
+ * what keeps `<Theme background={on ? 'red' : undefined}>` rendering the same
615
+ * tree in both states instead of remounting its subtree when a value appears.
616
+ */
617
+ export function getInlineValuesFromProps(
618
+ props: Record<string, any>,
619
+ conf: TamaguiInternalConfig,
620
+ onIssue?: InlineValueIssueSink
621
+ ): InlineValues | null {
622
+ let hasKey = false
623
+ let cacheKey = ''
624
+ for (const key in props) {
625
+ if (reservedThemeProps[key]) continue
626
+ hasKey = true
627
+ const value = props[key]
628
+ if (value == null) continue
629
+ const serialized = serializeInlineValue(value)
630
+ cacheKey += `${key.length}:${key}${serialized.length}:${serialized}`
631
+ }
632
+
633
+ if (!hasKey) return null
634
+
635
+ let configLayers = flatLayers.get(conf.themes)
636
+ if (!configLayers) {
637
+ configLayers = new Map()
638
+ flatLayers.set(conf.themes, configLayers)
639
+ }
640
+
641
+ // a caller that asked for issues has to see them for every call, and a cache
642
+ // hit reports nothing. the render path never passes a sink, so it keeps the
643
+ // memo; the compiler calls this once per authored element.
644
+ const cached = onIssue ? undefined : configLayers.get(cacheKey)
645
+ if (cached) return cached
646
+
647
+ const out: FlatBuckets = { values: {}, themes: null }
648
+ for (const key in props) {
649
+ if (reservedThemeProps[key]) continue
650
+ const value = props[key]
651
+ if (value == null) continue
652
+ addFlatValue(out, key, value, conf, onIssue)
653
+ }
654
+
655
+ const layer: InlineValues = {
656
+ values: out.values as InlineValues['values'],
657
+ themes: (out.themes || undefined) as InlineValues['themes'],
658
+ }
659
+ if (!onIssue) {
660
+ if (configLayers.size >= 10_000) {
661
+ configLayers.clear()
662
+ }
663
+ configLayers.set(cacheKey, layer)
664
+ }
665
+ return layer
666
+ }
667
+
668
+ const mergedThemeCache = new WeakMap<object, Map<string, Record<string, Variable>>>()
669
+
670
+ /**
671
+ * Builds the merged theme for an inline `<Theme>` layer: parent theme spread plus
672
+ * overridden keys as variables, resolved per the shared contract (effective
673
+ * map = values + matching non-scheme theme buckets + scheme bucket,
674
+ * fixed-point references, cycle-involved keys dropped everywhere). Non-scheme
675
+ * buckets match the subtree's resolved theme name by segment (bucket "blue"
676
+ * under "dark_blue"), mirroring the theme-class scoping on web; dark/light
677
+ * buckets resolve by the scheme derived from the theme name. Returns the
678
+ * parent theme unchanged when nothing applies. Identity-stable per
679
+ * (parentTheme, values, matched buckets, scheme) so snapshot bailouts and
680
+ * proxy caches hold.
681
+ */
682
+ export function getMergedInlineTheme(
683
+ parentTheme: Record<string, Variable>,
684
+ inline: InlineValues,
685
+ themeName: string | undefined,
686
+ conf: TamaguiInternalConfig
687
+ ): Record<string, Variable> {
688
+ const name = themeName || 'light'
689
+ const activeScheme = name === 'dark' || name.startsWith('dark_') ? 'dark' : 'light'
690
+
691
+ const bucketNames = getThemedBucketNames(inline.themes)
692
+ let matched: string[] | undefined
693
+ if (bucketNames.length) {
694
+ const baseName = name.replace(schemePrefix, '')
695
+ for (const bucketName of bucketNames) {
696
+ if (process.env.NODE_ENV === 'development') {
697
+ warnOnUnknownThemeBucket(bucketName, conf)
698
+ }
699
+ if (baseName === bucketName || baseName.startsWith(`${bucketName}_`)) {
700
+ matched ||= []
701
+ matched.push(bucketName)
702
+ }
703
+ }
704
+ }
705
+
706
+ const cacheKey = `${getInlineValuesKey(inline)}|${activeScheme}|${matched ? matched.join(',') : ''}`
707
+
708
+ // idempotency: re-applying the same layer to its own output is a no-op
709
+ const existingInfo = (parentTheme as any)[inlineLayerKey] as InlineLayerInfo | undefined
710
+ if (existingInfo?.key === cacheKey) {
711
+ return parentTheme
712
+ }
713
+
714
+ let byKey = mergedThemeCache.get(parentTheme)
715
+ const cached = byKey?.get(cacheKey)
716
+ if (cached) return cached
717
+
718
+ const values = (inline.values || {}) as Record<string, VariableValIn>
719
+ const themes = (inline.themes || {}) as Record<
720
+ string,
721
+ Record<string, VariableValIn> | undefined
722
+ >
723
+ const light = themes.light || {}
724
+ const dark = themes.dark || {}
725
+ const base = { ...values }
726
+ if (matched) {
727
+ for (const bucketName of matched) {
728
+ Object.assign(base, themes[bucketName])
729
+ }
730
+ }
731
+ const effective = { ...base, ...(activeScheme === 'dark' ? dark : light) }
732
+ const opposite = { ...base, ...(activeScheme === 'dark' ? light : dark) }
733
+ const dropped = getCycleDroppedKeys(inline)
734
+ const keySet = getThemeKeySet(conf)
735
+
736
+ // resolve one key within an effective map to a raw value (fixed-point over
737
+ // sibling refs, then parent theme, then tokens); undefined = drop
738
+ const resolveRaw = (keyIn: string, map: Record<string, VariableValIn>): unknown => {
739
+ let key = keyIn
740
+ let value: VariableValIn | undefined = map[key]
741
+ while (typeof value === 'string') {
742
+ const name = value
743
+ if (name in map && !dropped?.has(name)) {
744
+ key = name
745
+ value = map[name]
746
+ continue
747
+ }
748
+ const themeValue = parentTheme[name]
749
+ if (themeValue !== undefined) {
750
+ return isVariable(themeValue) ? themeValue.val : themeValue
751
+ }
752
+ const token = findToken(conf.tokensParsed, name)
753
+ if (token) return token.val
754
+ return value
755
+ }
756
+ if (value && typeof value === 'object') {
757
+ return (value as { val: number }).val
758
+ }
759
+ return value
760
+ }
761
+
762
+ const info: InlineLayerInfo = {
763
+ key: cacheKey,
764
+ // nested layers: carry the parent layer's overrides forward (its values
765
+ // are plain enumerable entries after the spread, but the iOS pair info
766
+ // would otherwise be lost)
767
+ overridden: new Set(existingInfo?.overridden),
768
+ pairs: { ...existingInfo?.pairs },
769
+ }
770
+
771
+ const merged: Record<string, Variable> = { ...parentTheme }
772
+ let didOverride = false
773
+
774
+ for (const key of Object.keys(effective).sort()) {
775
+ if (dropped?.has(key)) continue
776
+ if (effective[key] == null) continue
777
+ if (!keySet.has(key)) {
778
+ warnOnce(
779
+ `unknown:${key}`,
780
+ `Theme inline value: "${key}" is not a theme key or config-declared variable (createTamagui({ variables })) — dropping. Native can't resolve undeclared keys, so declaring it keeps platforms in sync.`
781
+ )
782
+ continue
783
+ }
784
+ const raw = resolveRaw(key, effective)
785
+ if (raw === undefined) continue
786
+
787
+ didOverride = true
788
+ merged[key] = createVariable({ key, name: key, val: raw as any })
789
+ info.overridden.add(key)
790
+ delete info.pairs[key]
791
+
792
+ // iOS fast-scheme pairs only when both scheme-effective values are
793
+ // literals — references would need opposite-theme resolution, so those
794
+ // keys deopt from DynamicColorIOS instead (tracked normally)
795
+ const activeLiteral = effective[key]
796
+ const oppositeLiteral = opposite[key]
797
+ const isLiteral = (v: unknown) =>
798
+ (typeof v === 'string' &&
799
+ !(v in effective) &&
800
+ !(v in parentTheme) &&
801
+ !findToken(conf.tokensParsed, v)) ||
802
+ typeof v === 'number'
803
+ if (isLiteral(activeLiteral) && isLiteral(oppositeLiteral)) {
804
+ info.pairs[key] = {
805
+ light: (activeScheme === 'light' ? activeLiteral : oppositeLiteral) as
806
+ | string
807
+ | number,
808
+ dark: (activeScheme === 'dark' ? activeLiteral : oppositeLiteral) as
809
+ | string
810
+ | number,
811
+ }
812
+ }
813
+ }
814
+
815
+ // nothing applied: hand back the base unchanged (for a nested layer the
816
+ // base is the outer merged theme, which is exactly right)
817
+ if (!didOverride) {
818
+ return parentTheme
819
+ }
820
+
821
+ Object.defineProperty(merged, inlineLayerKey, {
822
+ value: info,
823
+ enumerable: false,
824
+ })
825
+
826
+ byKey ||= new Map()
827
+ mergedThemeCache.set(parentTheme, byKey)
828
+ if (byKey.size >= 10_000) {
829
+ byKey.clear()
830
+ }
831
+ byKey.set(cacheKey, merged)
832
+ return merged
833
+ }
834
+
835
+ /**
836
+ * Config-level custom variables: merged into every base theme at createTamagui
837
+ * time so they behave exactly like theme keys in every existing code path.
838
+ * References resolve per-theme at parse time; sub-themes inherit through
839
+ * proxyThemesToParents (native) and the cascade (web).
840
+ */
841
+ export function mergeConfigVariablesIntoTheme(
842
+ theme: Record<string, Variable>,
843
+ themeName: string,
844
+ variables: GenericVariables,
845
+ tokensParsed: TokensParsed
846
+ ) {
847
+ const scheme = themeName.startsWith('dark') ? 'dark' : 'light'
848
+ const resolving = new Set<string>()
849
+
850
+ const resolveRawValue = (key: string, value: unknown): unknown => {
851
+ if (typeof value === 'object' && value !== null) {
852
+ if (isVariable(value)) return value.val
853
+ if ('needsPx' in value) return value
854
+ if ('light' in value || 'dark' in value) {
855
+ return resolveRawValue(key, (value as any)[scheme] ?? (value as any).light)
856
+ }
857
+ return
858
+ }
859
+ if (typeof value === 'string') {
860
+ const name = value
861
+ // other config variables first (chains allowed, cycles dropped)
862
+ if (name in variables && !(name in theme)) {
863
+ if (resolving.has(name)) {
864
+ warnOnce(
865
+ `config-cycle:${name}`,
866
+ `createTamagui variables: reference cycle at "${name}" — dropping.`
867
+ )
868
+ return
869
+ }
870
+ resolving.add(name)
871
+ const res = resolveRawValue(name, variables[name])
872
+ resolving.delete(name)
873
+ return res
874
+ }
875
+ const themeValue = theme[name]
876
+ if (themeValue !== undefined) {
877
+ return isVariable(themeValue) ? themeValue.val : themeValue
878
+ }
879
+ const token = findToken(tokensParsed, name)
880
+ return token ? token.val : value
881
+ }
882
+ return value
883
+ }
884
+
885
+ for (const key in variables) {
886
+ // an explicit theme value always wins over a config variable default
887
+ if (key in theme) continue
888
+ let raw = resolveRawValue(key, variables[key])
889
+ if (raw === undefined) continue
890
+ let needsPx = typeof raw === 'number' && !isUnitlessVariableKey(key)
891
+ if (typeof raw === 'object' && raw !== null && 'needsPx' in raw) {
892
+ needsPx = true
893
+ raw = (raw as unknown as { val: number }).val
894
+ }
895
+ const variable = createVariable({ key, name: key, val: raw as any })
896
+ if (needsPx) {
897
+ variable.needsPx = true
898
+ }
899
+ theme[key] = variable
900
+ }
901
+ }