@tamagui/web 2.7.7 → 3.0.0-beta.1093.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 (1858) hide show
  1. package/dist/cjs/Tamagui.cjs +44 -53
  2. package/dist/cjs/Tamagui.native.cjs +123 -0
  3. package/dist/cjs/Tamagui.native.js +93 -96
  4. package/dist/cjs/Tamagui.native.js.map +1 -1
  5. package/dist/cjs/_withNativeStyle.cjs +80 -0
  6. package/dist/cjs/_withNativeStyle.native.cjs +85 -0
  7. package/dist/cjs/_withNativeStyle.native.js +87 -0
  8. package/dist/cjs/_withNativeStyle.native.js.map +1 -0
  9. package/dist/cjs/_withStableStyle.cjs +58 -54
  10. package/dist/cjs/_withStableStyle.native.cjs +88 -0
  11. package/dist/cjs/_withStableStyle.native.js +65 -57
  12. package/dist/cjs/_withStableStyle.native.js.map +1 -1
  13. package/dist/cjs/config.cjs +126 -133
  14. package/dist/cjs/config.native.cjs +199 -0
  15. package/dist/cjs/config.native.js +163 -173
  16. package/dist/cjs/config.native.js.map +1 -1
  17. package/dist/cjs/constants/constants.cjs +17 -19
  18. package/dist/cjs/constants/constants.native.cjs +40 -0
  19. package/dist/cjs/constants/constants.native.js +17 -18
  20. package/dist/cjs/constants/constants.native.js.map +1 -1
  21. package/dist/cjs/constants/isDevTools.cjs +20 -24
  22. package/dist/cjs/constants/isDevTools.native.cjs +33 -0
  23. package/dist/cjs/constants/isDevTools.native.js +22 -25
  24. package/dist/cjs/constants/isDevTools.native.js.map +1 -1
  25. package/dist/cjs/contexts/ComponentContext.cjs +31 -25
  26. package/dist/cjs/contexts/ComponentContext.native.cjs +49 -0
  27. package/dist/cjs/contexts/ComponentContext.native.js +32 -25
  28. package/dist/cjs/contexts/ComponentContext.native.js.map +1 -1
  29. package/dist/cjs/contexts/GroupContext.cjs +14 -18
  30. package/dist/cjs/contexts/GroupContext.native.cjs +27 -0
  31. package/dist/cjs/contexts/GroupContext.native.js +15 -18
  32. package/dist/cjs/contexts/GroupContext.native.js.map +1 -1
  33. package/dist/cjs/createComponent.cjs +1002 -1022
  34. package/dist/cjs/createComponent.native.cjs +1164 -0
  35. package/dist/cjs/createComponent.native.js +1099 -1001
  36. package/dist/cjs/createComponent.native.js.map +1 -1
  37. package/dist/cjs/createFont.cjs +40 -36
  38. package/dist/cjs/createFont.native.cjs +56 -0
  39. package/dist/cjs/createFont.native.js +43 -38
  40. package/dist/cjs/createFont.native.js.map +1 -1
  41. package/dist/cjs/createShorthands.cjs +15 -19
  42. package/dist/cjs/createShorthands.native.cjs +28 -0
  43. package/dist/cjs/createShorthands.native.js +15 -18
  44. package/dist/cjs/createShorthands.native.js.map +1 -1
  45. package/dist/cjs/createStyledHOC.cjs +104 -0
  46. package/dist/cjs/createStyledHOC.native.cjs +107 -0
  47. package/dist/cjs/createStyledHOC.native.js +109 -0
  48. package/dist/cjs/createStyledHOC.native.js.map +1 -0
  49. package/dist/cjs/createTamagui.cjs +287 -224
  50. package/dist/cjs/createTamagui.native.cjs +354 -0
  51. package/dist/cjs/createTamagui.native.js +321 -272
  52. package/dist/cjs/createTamagui.native.js.map +1 -1
  53. package/dist/cjs/createTokens.cjs +27 -19
  54. package/dist/cjs/createTokens.native.cjs +42 -0
  55. package/dist/cjs/createTokens.native.js +28 -19
  56. package/dist/cjs/createTokens.native.js.map +1 -1
  57. package/dist/cjs/createVariable.cjs +85 -90
  58. package/dist/cjs/createVariable.native.cjs +130 -0
  59. package/dist/cjs/createVariable.native.js +97 -106
  60. package/dist/cjs/createVariable.native.js.map +1 -1
  61. package/dist/cjs/createVariables.cjs +49 -60
  62. package/dist/cjs/createVariables.native.cjs +66 -0
  63. package/dist/cjs/createVariables.native.js +51 -66
  64. package/dist/cjs/createVariables.native.js.map +1 -1
  65. package/dist/cjs/defaultComponentState.cjs +28 -30
  66. package/dist/cjs/defaultComponentState.native.cjs +47 -0
  67. package/dist/cjs/defaultComponentState.native.js +28 -29
  68. package/dist/cjs/defaultComponentState.native.js.map +1 -1
  69. package/dist/cjs/dom/adapters.cjs +95 -0
  70. package/dist/cjs/dom/adapters.native.cjs +116 -0
  71. package/dist/cjs/dom/adapters.native.js +118 -0
  72. package/dist/cjs/dom/adapters.native.js.map +1 -0
  73. package/dist/cjs/dom/contract.cjs +16 -0
  74. package/dist/cjs/dom/contract.native.cjs +18 -0
  75. package/dist/cjs/dom/contract.native.js +20 -0
  76. package/dist/cjs/dom/contract.native.js.map +1 -0
  77. package/dist/cjs/dom/domEventProps.native.cjs +56 -0
  78. package/dist/cjs/dom/domEventProps.native.js +58 -0
  79. package/dist/cjs/dom/domEventProps.native.js.map +1 -0
  80. package/dist/cjs/dom/html.cjs +630 -0
  81. package/dist/cjs/dom/html.native.cjs +951 -0
  82. package/dist/cjs/dom/html.native.js +953 -0
  83. package/dist/cjs/dom/html.native.js.map +1 -0
  84. package/dist/cjs/dom/htmlRuntime.native.cjs +176 -0
  85. package/dist/cjs/dom/htmlRuntime.native.js +178 -0
  86. package/dist/cjs/dom/htmlRuntime.native.js.map +1 -0
  87. package/dist/cjs/dom/index.cjs +28 -0
  88. package/dist/cjs/dom/index.native.cjs +41 -0
  89. package/dist/cjs/dom/index.native.js +43 -0
  90. package/dist/cjs/dom/index.native.js.map +1 -0
  91. package/dist/cjs/dom/primitives.native.cjs +642 -0
  92. package/dist/cjs/dom/primitives.native.js +644 -0
  93. package/dist/cjs/dom/primitives.native.js.map +1 -0
  94. package/dist/cjs/dom/standalone.cjs +33 -0
  95. package/dist/cjs/dom/standalone.native.cjs +39 -0
  96. package/dist/cjs/dom/standalone.native.js +41 -0
  97. package/dist/cjs/dom/standalone.native.js.map +1 -0
  98. package/dist/cjs/dom/standaloneHtml.cjs +75 -0
  99. package/dist/cjs/dom/standaloneHtml.native.cjs +77 -0
  100. package/dist/cjs/dom/standaloneHtml.native.js +79 -0
  101. package/dist/cjs/dom/standaloneHtml.native.js.map +1 -0
  102. package/dist/cjs/dom/styleTypes.cjs +16 -0
  103. package/dist/cjs/dom/styleTypes.native.cjs +18 -0
  104. package/dist/cjs/dom/styleTypes.native.js +20 -0
  105. package/dist/cjs/dom/styleTypes.native.js.map +1 -0
  106. package/dist/cjs/eventDetails.cjs +38 -0
  107. package/dist/cjs/eventDetails.native.cjs +40 -0
  108. package/dist/cjs/eventDetails.native.js +42 -0
  109. package/dist/cjs/eventDetails.native.js.map +1 -0
  110. package/dist/cjs/eventHandling.cjs +29 -31
  111. package/dist/cjs/eventHandling.native.cjs +191 -0
  112. package/dist/cjs/eventHandling.native.js +158 -188
  113. package/dist/cjs/eventHandling.native.js.map +1 -1
  114. package/dist/cjs/helpers/borderComponents.cjs +62 -0
  115. package/dist/cjs/helpers/borderComponents.native.cjs +82 -0
  116. package/dist/cjs/helpers/borderComponents.native.js +84 -0
  117. package/dist/cjs/helpers/borderComponents.native.js.map +1 -0
  118. package/dist/cjs/helpers/componentDisplayName.cjs +24 -0
  119. package/dist/cjs/helpers/componentDisplayName.native.cjs +26 -0
  120. package/dist/cjs/helpers/componentDisplayName.native.js +28 -0
  121. package/dist/cjs/helpers/componentDisplayName.native.js.map +1 -0
  122. package/dist/cjs/helpers/configVariables.cjs +79 -0
  123. package/dist/cjs/helpers/configVariables.native.cjs +82 -0
  124. package/dist/cjs/helpers/configVariables.native.js +84 -0
  125. package/dist/cjs/helpers/configVariables.native.js.map +1 -0
  126. package/dist/cjs/helpers/consoleLog.native.cjs +30 -0
  127. package/dist/cjs/helpers/consoleLog.native.js +16 -17
  128. package/dist/cjs/helpers/consoleLog.native.js.map +1 -1
  129. package/dist/cjs/helpers/createDesignSystem.cjs +146 -152
  130. package/dist/cjs/helpers/createDesignSystem.native.cjs +195 -0
  131. package/dist/cjs/helpers/createDesignSystem.native.js +167 -205
  132. package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
  133. package/dist/cjs/helpers/createStyledContext.cjs +64 -84
  134. package/dist/cjs/helpers/createStyledContext.native.cjs +88 -0
  135. package/dist/cjs/helpers/createStyledContext.native.js +69 -88
  136. package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
  137. package/dist/cjs/helpers/defaultAnimationDriver.cjs +23 -32
  138. package/dist/cjs/helpers/defaultAnimationDriver.native.cjs +46 -0
  139. package/dist/cjs/helpers/defaultAnimationDriver.native.js +32 -48
  140. package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -1
  141. package/dist/cjs/helpers/defaultOffset.cjs +16 -20
  142. package/dist/cjs/helpers/defaultOffset.native.cjs +29 -0
  143. package/dist/cjs/helpers/defaultOffset.native.js +16 -19
  144. package/dist/cjs/helpers/defaultOffset.native.js.map +1 -1
  145. package/dist/cjs/helpers/expandStyle.cjs +150 -84
  146. package/dist/cjs/helpers/expandStyle.native.cjs +185 -0
  147. package/dist/cjs/helpers/expandStyle.native.js +153 -124
  148. package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
  149. package/dist/cjs/helpers/expandStyles.cjs +21 -25
  150. package/dist/cjs/helpers/expandStyles.native.cjs +46 -0
  151. package/dist/cjs/helpers/expandStyles.native.js +28 -31
  152. package/dist/cjs/helpers/expandStyles.native.js.map +1 -1
  153. package/dist/cjs/helpers/extractPseudoState.cjs +44 -0
  154. package/dist/cjs/helpers/extractPseudoState.native.cjs +47 -0
  155. package/dist/cjs/helpers/extractPseudoState.native.js +49 -0
  156. package/dist/cjs/helpers/extractPseudoState.native.js.map +1 -0
  157. package/dist/cjs/helpers/fluid.cjs +56 -0
  158. package/dist/cjs/helpers/fluid.native.cjs +58 -0
  159. package/dist/cjs/helpers/fluid.native.js +60 -0
  160. package/dist/cjs/helpers/fluid.native.js.map +1 -0
  161. package/dist/cjs/helpers/formatDiagnostic.cjs +69 -0
  162. package/dist/cjs/helpers/formatDiagnostic.native.cjs +74 -0
  163. package/dist/cjs/helpers/formatDiagnostic.native.js +76 -0
  164. package/dist/cjs/helpers/formatDiagnostic.native.js.map +1 -0
  165. package/dist/cjs/helpers/getCSSStylesAtomic.cjs +242 -193
  166. package/dist/cjs/helpers/getCSSStylesAtomic.native.cjs +45 -0
  167. package/dist/cjs/helpers/getCSSStylesAtomic.native.js +29 -20
  168. package/dist/cjs/helpers/getCSSStylesAtomic.native.js.map +1 -1
  169. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.cjs +44 -0
  170. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.cjs +48 -0
  171. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js +50 -0
  172. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -0
  173. package/dist/cjs/helpers/getDynamicVal.cjs +48 -52
  174. package/dist/cjs/helpers/getDynamicVal.native.cjs +71 -0
  175. package/dist/cjs/helpers/getDynamicVal.native.js +48 -51
  176. package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -1
  177. package/dist/cjs/helpers/getExpandedShorthands.cjs +16 -30
  178. package/dist/cjs/helpers/getExpandedShorthands.native.cjs +31 -0
  179. package/dist/cjs/helpers/getExpandedShorthands.native.js +17 -30
  180. package/dist/cjs/helpers/getExpandedShorthands.native.js.map +1 -1
  181. package/dist/cjs/helpers/getShorthandValue.cjs +16 -20
  182. package/dist/cjs/helpers/getShorthandValue.native.cjs +32 -0
  183. package/dist/cjs/helpers/getShorthandValue.native.js +18 -21
  184. package/dist/cjs/helpers/getShorthandValue.native.js.map +1 -1
  185. package/dist/cjs/helpers/getSplitStyles.cjs +1623 -919
  186. package/dist/cjs/helpers/getSplitStyles.native.cjs +1835 -0
  187. package/dist/cjs/helpers/getSplitStyles.native.js +1800 -948
  188. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  189. package/dist/cjs/helpers/getThemeCSSRules.cjs +105 -109
  190. package/dist/cjs/helpers/getThemeCSSRules.native.cjs +28 -0
  191. package/dist/cjs/helpers/getThemeCSSRules.native.js +15 -18
  192. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +1 -1
  193. package/dist/cjs/helpers/grammarConfig.cjs +276 -0
  194. package/dist/cjs/helpers/grammarConfig.native.cjs +412 -0
  195. package/dist/cjs/helpers/grammarConfig.native.js +414 -0
  196. package/dist/cjs/helpers/grammarConfig.native.js.map +1 -0
  197. package/dist/cjs/helpers/insertStyleRule.cjs +253 -184
  198. package/dist/cjs/helpers/insertStyleRule.native.cjs +223 -0
  199. package/dist/cjs/helpers/insertStyleRule.native.js +189 -68
  200. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  201. package/dist/cjs/helpers/isObj.cjs +22 -16
  202. package/dist/cjs/helpers/isObj.native.cjs +38 -0
  203. package/dist/cjs/helpers/isObj.native.js +24 -22
  204. package/dist/cjs/helpers/isObj.native.js.map +1 -1
  205. package/dist/cjs/helpers/isTamaguiComponent.cjs +17 -21
  206. package/dist/cjs/helpers/isTamaguiComponent.native.cjs +29 -0
  207. package/dist/cjs/helpers/isTamaguiComponent.native.js +17 -20
  208. package/dist/cjs/helpers/isTamaguiComponent.native.js.map +1 -1
  209. package/dist/cjs/helpers/isTamaguiElement.cjs +19 -28
  210. package/dist/cjs/helpers/isTamaguiElement.native.cjs +36 -0
  211. package/dist/cjs/helpers/isTamaguiElement.native.js +19 -27
  212. package/dist/cjs/helpers/isTamaguiElement.native.js.map +1 -1
  213. package/dist/cjs/helpers/log.cjs +24 -27
  214. package/dist/cjs/helpers/log.native.cjs +39 -0
  215. package/dist/cjs/helpers/log.native.js +25 -27
  216. package/dist/cjs/helpers/log.native.js.map +1 -1
  217. package/dist/cjs/helpers/mainThreadPressEvents.cjs +14 -18
  218. package/dist/cjs/helpers/mainThreadPressEvents.native.cjs +155 -0
  219. package/dist/cjs/helpers/mainThreadPressEvents.native.js +138 -142
  220. package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
  221. package/dist/cjs/helpers/matchMedia.cjs +21 -23
  222. package/dist/cjs/helpers/matchMedia.native.cjs +68 -0
  223. package/dist/cjs/helpers/matchMedia.native.js +49 -41
  224. package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
  225. package/dist/cjs/helpers/mediaObjectToString.cjs +34 -38
  226. package/dist/cjs/helpers/mediaObjectToString.native.cjs +52 -0
  227. package/dist/cjs/helpers/mediaObjectToString.native.js +37 -40
  228. package/dist/cjs/helpers/mediaObjectToString.native.js.map +1 -1
  229. package/dist/cjs/helpers/mediaState.cjs +34 -43
  230. package/dist/cjs/helpers/mediaState.native.cjs +52 -0
  231. package/dist/cjs/helpers/mediaState.native.js +37 -46
  232. package/dist/cjs/helpers/mediaState.native.js.map +1 -1
  233. package/dist/cjs/helpers/mergeProps.cjs +50 -63
  234. package/dist/cjs/helpers/mergeProps.native.cjs +68 -0
  235. package/dist/cjs/helpers/mergeProps.native.js +53 -70
  236. package/dist/cjs/helpers/mergeProps.native.js.map +1 -1
  237. package/dist/cjs/helpers/mergeRenderElementProps.cjs +17 -23
  238. package/dist/cjs/helpers/mergeRenderElementProps.native.cjs +31 -0
  239. package/dist/cjs/helpers/mergeRenderElementProps.native.js +17 -22
  240. package/dist/cjs/helpers/mergeRenderElementProps.native.js.map +1 -1
  241. package/dist/cjs/helpers/mergeSlotStyleProps.cjs +34 -38
  242. package/dist/cjs/helpers/mergeSlotStyleProps.native.cjs +50 -0
  243. package/dist/cjs/helpers/mergeSlotStyleProps.native.js +34 -37
  244. package/dist/cjs/helpers/mergeSlotStyleProps.native.js.map +1 -1
  245. package/dist/cjs/helpers/mergeVariants.cjs +82 -41
  246. package/dist/cjs/helpers/mergeVariants.native.cjs +130 -0
  247. package/dist/cjs/helpers/mergeVariants.native.js +118 -42
  248. package/dist/cjs/helpers/mergeVariants.native.js.map +1 -1
  249. package/dist/cjs/helpers/nativeOnlyProps.cjs +46 -51
  250. package/dist/cjs/helpers/nativeOnlyProps.native.cjs +59 -0
  251. package/dist/cjs/helpers/nativeOnlyProps.native.js +46 -50
  252. package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
  253. package/dist/cjs/helpers/nativeStyleEngine.cjs +269 -0
  254. package/dist/cjs/helpers/nativeStyleEngine.native.cjs +400 -0
  255. package/dist/cjs/helpers/nativeStyleEngine.native.js +402 -0
  256. package/dist/cjs/helpers/nativeStyleEngine.native.js.map +1 -0
  257. package/dist/cjs/helpers/nativeTransitionTarget.cjs +26 -0
  258. package/dist/cjs/helpers/nativeTransitionTarget.native.cjs +42 -0
  259. package/dist/cjs/helpers/nativeTransitionTarget.native.js +44 -0
  260. package/dist/cjs/helpers/nativeTransitionTarget.native.js.map +1 -0
  261. package/dist/cjs/helpers/normalizeColor.cjs +22 -35
  262. package/dist/cjs/helpers/normalizeColor.native.cjs +49 -0
  263. package/dist/cjs/helpers/normalizeColor.native.js +32 -34
  264. package/dist/cjs/helpers/normalizeColor.native.js.map +1 -1
  265. package/dist/cjs/helpers/normalizeShadow.cjs +25 -39
  266. package/dist/cjs/helpers/normalizeShadow.native.cjs +41 -0
  267. package/dist/cjs/helpers/normalizeShadow.native.js +26 -37
  268. package/dist/cjs/helpers/normalizeShadow.native.js.map +1 -1
  269. package/dist/cjs/helpers/normalizeStyle.cjs +59 -61
  270. package/dist/cjs/helpers/normalizeStyle.native.cjs +93 -0
  271. package/dist/cjs/helpers/normalizeStyle.native.js +76 -79
  272. package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -1
  273. package/dist/cjs/helpers/normalizeValueWithProperty.cjs +42 -41
  274. package/dist/cjs/helpers/normalizeValueWithProperty.native.cjs +60 -0
  275. package/dist/cjs/helpers/normalizeValueWithProperty.native.js +45 -46
  276. package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
  277. package/dist/cjs/helpers/noteOnce.cjs +31 -0
  278. package/dist/cjs/helpers/noteOnce.native.cjs +33 -0
  279. package/dist/cjs/helpers/noteOnce.native.js +35 -0
  280. package/dist/cjs/helpers/noteOnce.native.js.map +1 -0
  281. package/dist/cjs/helpers/objectIdentityKey.cjs +30 -34
  282. package/dist/cjs/helpers/objectIdentityKey.native.cjs +44 -0
  283. package/dist/cjs/helpers/objectIdentityKey.native.js +31 -39
  284. package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -1
  285. package/dist/cjs/helpers/parseBorderShorthand.cjs +15 -19
  286. package/dist/cjs/helpers/parseBorderShorthand.native.cjs +65 -0
  287. package/dist/cjs/helpers/parseBorderShorthand.native.js +50 -69
  288. package/dist/cjs/helpers/parseBorderShorthand.native.js.map +1 -1
  289. package/dist/cjs/helpers/parseNativeStyle.native.cjs +205 -0
  290. package/dist/cjs/helpers/parseNativeStyle.native.js +182 -165
  291. package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -1
  292. package/dist/cjs/helpers/parseNativeTransform.native.cjs +67 -0
  293. package/dist/cjs/helpers/parseNativeTransform.native.js +69 -0
  294. package/dist/cjs/helpers/parseNativeTransform.native.js.map +1 -0
  295. package/dist/cjs/helpers/parseOutlineShorthand.cjs +15 -19
  296. package/dist/cjs/helpers/parseOutlineShorthand.native.cjs +44 -0
  297. package/dist/cjs/helpers/parseOutlineShorthand.native.js +31 -65
  298. package/dist/cjs/helpers/parseOutlineShorthand.native.js.map +1 -1
  299. package/dist/cjs/helpers/pointerEvents.cjs +14 -18
  300. package/dist/cjs/helpers/pointerEvents.native.cjs +131 -0
  301. package/dist/cjs/helpers/pointerEvents.native.js +116 -144
  302. package/dist/cjs/helpers/pointerEvents.native.js.map +1 -1
  303. package/dist/cjs/helpers/proxyThemeToParents.cjs +46 -48
  304. package/dist/cjs/helpers/proxyThemeToParents.native.cjs +167 -0
  305. package/dist/cjs/helpers/proxyThemeToParents.native.js +150 -142
  306. package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -1
  307. package/dist/cjs/helpers/registerCSSVariable.cjs +97 -60
  308. package/dist/cjs/helpers/registerCSSVariable.native.cjs +135 -0
  309. package/dist/cjs/helpers/registerCSSVariable.native.js +113 -61
  310. package/dist/cjs/helpers/registerCSSVariable.native.js.map +1 -1
  311. package/dist/cjs/helpers/resolveAnimationDriver.cjs +27 -26
  312. package/dist/cjs/helpers/resolveAnimationDriver.native.cjs +40 -0
  313. package/dist/cjs/helpers/resolveAnimationDriver.native.js +27 -26
  314. package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -1
  315. package/dist/cjs/helpers/resolveNativeUnits.cjs +32 -0
  316. package/dist/cjs/helpers/resolveNativeUnits.native.cjs +168 -0
  317. package/dist/cjs/helpers/resolveNativeUnits.native.js +170 -0
  318. package/dist/cjs/helpers/resolveNativeUnits.native.js.map +1 -0
  319. package/dist/cjs/helpers/resolveRem.cjs +17 -19
  320. package/dist/cjs/helpers/resolveRem.native.cjs +53 -0
  321. package/dist/cjs/helpers/resolveRem.native.js +34 -38
  322. package/dist/cjs/helpers/resolveRem.native.js.map +1 -1
  323. package/dist/cjs/helpers/resolveSafeArea.cjs +50 -25
  324. package/dist/cjs/helpers/resolveSafeArea.native.cjs +129 -0
  325. package/dist/cjs/helpers/resolveSafeArea.native.js +114 -29
  326. package/dist/cjs/helpers/resolveSafeArea.native.js.map +1 -1
  327. package/dist/cjs/helpers/resolveSafeAreaVariable.cjs +33 -0
  328. package/dist/cjs/helpers/resolveSafeAreaVariable.native.cjs +51 -0
  329. package/dist/cjs/helpers/resolveSafeAreaVariable.native.js +53 -0
  330. package/dist/cjs/helpers/resolveSafeAreaVariable.native.js.map +1 -0
  331. package/dist/cjs/helpers/resolveVariableValue.cjs +34 -0
  332. package/dist/cjs/helpers/resolveVariableValue.native.cjs +38 -0
  333. package/dist/cjs/helpers/resolveVariableValue.native.js +40 -0
  334. package/dist/cjs/helpers/resolveVariableValue.native.js.map +1 -0
  335. package/dist/cjs/helpers/resolveVariantStyle.cjs +57 -0
  336. package/dist/cjs/helpers/resolveVariantStyle.native.cjs +63 -0
  337. package/dist/cjs/helpers/resolveVariantStyle.native.js +65 -0
  338. package/dist/cjs/helpers/resolveVariantStyle.native.js.map +1 -0
  339. package/dist/cjs/helpers/setElementProps.cjs +16 -20
  340. package/dist/cjs/helpers/setElementProps.native.cjs +34 -0
  341. package/dist/cjs/helpers/setElementProps.native.js +21 -24
  342. package/dist/cjs/helpers/setElementProps.native.js.map +1 -1
  343. package/dist/cjs/helpers/skipProps.cjs +32 -29
  344. package/dist/cjs/helpers/skipProps.native.cjs +51 -0
  345. package/dist/cjs/helpers/skipProps.native.js +32 -28
  346. package/dist/cjs/helpers/skipProps.native.js.map +1 -1
  347. package/dist/cjs/helpers/sortString.cjs +14 -18
  348. package/dist/cjs/helpers/sortString.native.cjs +28 -0
  349. package/dist/cjs/helpers/sortString.native.js +16 -19
  350. package/dist/cjs/helpers/sortString.native.js.map +1 -1
  351. package/dist/cjs/helpers/splitStyleProps.cjs +46 -0
  352. package/dist/cjs/helpers/splitStyleProps.native.cjs +49 -0
  353. package/dist/cjs/helpers/splitStyleProps.native.js +51 -0
  354. package/dist/cjs/helpers/splitStyleProps.native.js.map +1 -0
  355. package/dist/cjs/helpers/styleFrontend.cjs +46 -0
  356. package/dist/cjs/helpers/styleFrontend.native.cjs +48 -0
  357. package/dist/cjs/helpers/styleFrontend.native.js +50 -0
  358. package/dist/cjs/helpers/styleFrontend.native.js.map +1 -0
  359. package/dist/cjs/helpers/styleOriginalValues.cjs +14 -18
  360. package/dist/cjs/helpers/styleOriginalValues.native.cjs +26 -0
  361. package/dist/cjs/helpers/styleOriginalValues.native.js +15 -18
  362. package/dist/cjs/helpers/styleOriginalValues.native.js.map +1 -1
  363. package/dist/cjs/helpers/styleProvenance.cjs +25 -27
  364. package/dist/cjs/helpers/styleProvenance.native.cjs +43 -0
  365. package/dist/cjs/helpers/styleProvenance.native.js +25 -26
  366. package/dist/cjs/helpers/styleProvenance.native.js.map +1 -1
  367. package/dist/cjs/helpers/styleStaticConfig.cjs +27 -0
  368. package/dist/cjs/helpers/styleStaticConfig.native.cjs +29 -0
  369. package/dist/cjs/helpers/styleStaticConfig.native.js +31 -0
  370. package/dist/cjs/helpers/styleStaticConfig.native.js.map +1 -0
  371. package/dist/cjs/helpers/styleStaticConfigCore.cjs +107 -0
  372. package/dist/cjs/helpers/styleStaticConfigCore.native.cjs +127 -0
  373. package/dist/cjs/helpers/styleStaticConfigCore.native.js +129 -0
  374. package/dist/cjs/helpers/styleStaticConfigCore.native.js.map +1 -0
  375. package/dist/cjs/helpers/styleToCSS.cjs +59 -0
  376. package/dist/cjs/helpers/styleToCSS.native.cjs +26 -0
  377. package/dist/cjs/helpers/styleToCSS.native.js +28 -0
  378. package/dist/cjs/helpers/styleToCSS.native.js.map +1 -0
  379. package/dist/cjs/helpers/styledDynamic.cjs +161 -0
  380. package/dist/cjs/helpers/styledDynamic.native.cjs +192 -0
  381. package/dist/cjs/helpers/styledDynamic.native.js +194 -0
  382. package/dist/cjs/helpers/styledDynamic.native.js.map +1 -0
  383. package/dist/cjs/helpers/subscribeToContextGroup.cjs +110 -94
  384. package/dist/cjs/helpers/subscribeToContextGroup.native.cjs +186 -0
  385. package/dist/cjs/helpers/subscribeToContextGroup.native.js +169 -138
  386. package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
  387. package/dist/cjs/helpers/themeRef.cjs +41 -0
  388. package/dist/cjs/helpers/themeRef.native.cjs +43 -0
  389. package/dist/cjs/helpers/themeRef.native.js +45 -0
  390. package/dist/cjs/helpers/themeRef.native.js.map +1 -0
  391. package/dist/cjs/helpers/themeUpdateState.cjs +24 -0
  392. package/dist/cjs/helpers/themeUpdateState.native.cjs +26 -0
  393. package/dist/cjs/helpers/themeUpdateState.native.js +28 -0
  394. package/dist/cjs/helpers/themeUpdateState.native.js.map +1 -0
  395. package/dist/cjs/helpers/themes.cjs +29 -34
  396. package/dist/cjs/helpers/themes.native.cjs +43 -0
  397. package/dist/cjs/helpers/themes.native.js +29 -33
  398. package/dist/cjs/helpers/themes.native.js.map +1 -1
  399. package/dist/cjs/helpers/timer.cjs +15 -21
  400. package/dist/cjs/helpers/timer.native.cjs +30 -0
  401. package/dist/cjs/helpers/timer.native.js +17 -22
  402. package/dist/cjs/helpers/timer.native.js.map +1 -1
  403. package/dist/cjs/helpers/tokenCategories.cjs +40 -0
  404. package/dist/cjs/helpers/tokenCategories.native.cjs +42 -0
  405. package/dist/cjs/helpers/tokenCategories.native.js +44 -0
  406. package/dist/cjs/helpers/tokenCategories.native.js.map +1 -0
  407. package/dist/cjs/helpers/transformsToString.cjs +24 -31
  408. package/dist/cjs/helpers/transformsToString.native.cjs +55 -0
  409. package/dist/cjs/helpers/transformsToString.native.js +41 -30
  410. package/dist/cjs/helpers/transformsToString.native.js.map +1 -1
  411. package/dist/cjs/helpers/variableValue.cjs +71 -0
  412. package/dist/cjs/helpers/variableValue.native.cjs +111 -0
  413. package/dist/cjs/helpers/variableValue.native.js +113 -0
  414. package/dist/cjs/helpers/variableValue.native.js.map +1 -0
  415. package/dist/cjs/helpers/variables.cjs +568 -0
  416. package/dist/cjs/helpers/variables.native.cjs +806 -0
  417. package/dist/cjs/helpers/variables.native.js +808 -0
  418. package/dist/cjs/helpers/variables.native.js.map +1 -0
  419. package/dist/cjs/helpers/warnOnce.cjs +38 -0
  420. package/dist/cjs/helpers/warnOnce.native.cjs +42 -0
  421. package/dist/cjs/helpers/warnOnce.native.js +44 -0
  422. package/dist/cjs/helpers/warnOnce.native.js.map +1 -0
  423. package/dist/cjs/helpers/webPropsToSkip.cjs +14 -18
  424. package/dist/cjs/helpers/webPropsToSkip.native.cjs +67 -0
  425. package/dist/cjs/helpers/webPropsToSkip.native.js +53 -62
  426. package/dist/cjs/helpers/webPropsToSkip.native.js.map +1 -1
  427. package/dist/cjs/helpers/wrapStyleTags.cjs +46 -48
  428. package/dist/cjs/helpers/wrapStyleTags.native.cjs +31 -0
  429. package/dist/cjs/helpers/wrapStyleTags.native.js +18 -18
  430. package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
  431. package/dist/cjs/hooks/doesRootSchemeMatchSystem.cjs +15 -19
  432. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.cjs +31 -0
  433. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js +16 -19
  434. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js.map +1 -1
  435. package/dist/cjs/hooks/getThemeProxied.cjs +60 -58
  436. package/dist/cjs/hooks/getThemeProxied.native.cjs +123 -0
  437. package/dist/cjs/hooks/getThemeProxied.native.js +97 -79
  438. package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -1
  439. package/dist/cjs/hooks/isOptimizedForFirstRender.cjs +27 -0
  440. package/dist/cjs/hooks/isOptimizedForFirstRender.native.cjs +29 -0
  441. package/dist/cjs/hooks/isOptimizedForFirstRender.native.js +31 -0
  442. package/dist/cjs/hooks/isOptimizedForFirstRender.native.js.map +1 -0
  443. package/dist/cjs/hooks/useAnimationDriver.cjs +51 -0
  444. package/dist/cjs/hooks/useAnimationDriver.native.cjs +59 -0
  445. package/dist/cjs/hooks/useAnimationDriver.native.js +61 -0
  446. package/dist/cjs/hooks/useAnimationDriver.native.js.map +1 -0
  447. package/dist/cjs/hooks/useComponentState.cjs +178 -200
  448. package/dist/cjs/hooks/useComponentState.native.cjs +212 -0
  449. package/dist/cjs/hooks/useComponentState.native.js +190 -211
  450. package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
  451. package/dist/cjs/hooks/useDisableSSR.cjs +15 -19
  452. package/dist/cjs/hooks/useDisableSSR.native.cjs +30 -0
  453. package/dist/cjs/hooks/useDisableSSR.native.js +16 -19
  454. package/dist/cjs/hooks/useDisableSSR.native.js.map +1 -1
  455. package/dist/cjs/hooks/useIsTouchDevice.cjs +15 -19
  456. package/dist/cjs/hooks/useIsTouchDevice.native.cjs +30 -0
  457. package/dist/cjs/hooks/useIsTouchDevice.native.js +16 -19
  458. package/dist/cjs/hooks/useIsTouchDevice.native.js.map +1 -1
  459. package/dist/cjs/hooks/useMedia.cjs +317 -257
  460. package/dist/cjs/hooks/useMedia.native.cjs +519 -0
  461. package/dist/cjs/hooks/useMedia.native.js +470 -307
  462. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  463. package/dist/cjs/hooks/usePortalThemeState.cjs +40 -0
  464. package/dist/cjs/hooks/usePortalThemeState.native.cjs +42 -0
  465. package/dist/cjs/hooks/usePortalThemeState.native.js +44 -0
  466. package/dist/cjs/hooks/usePortalThemeState.native.js.map +1 -0
  467. package/dist/cjs/hooks/useSplitStyles.cjs +42 -0
  468. package/dist/cjs/hooks/useSplitStyles.native.cjs +42 -0
  469. package/dist/cjs/hooks/useSplitStyles.native.js +44 -0
  470. package/dist/cjs/hooks/useSplitStyles.native.js.map +1 -0
  471. package/dist/cjs/hooks/useStyle.cjs +30 -0
  472. package/dist/cjs/hooks/useStyle.native.cjs +32 -0
  473. package/dist/cjs/hooks/useStyle.native.js +34 -0
  474. package/dist/cjs/hooks/useStyle.native.js.map +1 -0
  475. package/dist/cjs/hooks/useTheme.cjs +40 -49
  476. package/dist/cjs/hooks/useTheme.native.cjs +64 -0
  477. package/dist/cjs/hooks/useTheme.native.js +43 -52
  478. package/dist/cjs/hooks/useTheme.native.js.map +1 -1
  479. package/dist/cjs/hooks/useThemeName.cjs +19 -25
  480. package/dist/cjs/hooks/useThemeName.native.cjs +38 -0
  481. package/dist/cjs/hooks/useThemeName.native.js +22 -27
  482. package/dist/cjs/hooks/useThemeName.native.js.map +1 -1
  483. package/dist/cjs/hooks/useThemeState.cjs +282 -368
  484. package/dist/cjs/hooks/useThemeState.native.cjs +378 -0
  485. package/dist/cjs/hooks/useThemeState.native.js +334 -477
  486. package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
  487. package/dist/cjs/index.cjs +233 -105
  488. package/dist/cjs/index.native.cjs +255 -0
  489. package/dist/cjs/index.native.js +234 -105
  490. package/dist/cjs/index.native.js.map +1 -1
  491. package/dist/cjs/inject-styles.cjs +24 -31
  492. package/dist/cjs/inject-styles.native.cjs +38 -0
  493. package/dist/cjs/inject-styles.native.js +25 -31
  494. package/dist/cjs/inject-styles.native.js.map +1 -1
  495. package/dist/cjs/insertFont.cjs +60 -61
  496. package/dist/cjs/insertFont.native.cjs +79 -0
  497. package/dist/cjs/insertFont.native.js +54 -54
  498. package/dist/cjs/insertFont.native.js.map +1 -1
  499. package/dist/cjs/interfaces/CSSColorNames.cjs +166 -11
  500. package/dist/cjs/interfaces/CSSColorNames.native.cjs +175 -0
  501. package/dist/cjs/interfaces/CSSColorNames.native.js +166 -10
  502. package/dist/cjs/interfaces/CSSColorNames.native.js.map +1 -1
  503. package/dist/cjs/interfaces/GetRef.cjs +9 -11
  504. package/dist/cjs/interfaces/GetRef.native.cjs +18 -0
  505. package/dist/cjs/interfaces/GetRef.native.js +9 -10
  506. package/dist/cjs/interfaces/GetRef.native.js.map +1 -1
  507. package/dist/cjs/interfaces/RNExclusiveTypes.cjs +9 -11
  508. package/dist/cjs/interfaces/RNExclusiveTypes.native.cjs +18 -0
  509. package/dist/cjs/interfaces/RNExclusiveTypes.native.js +9 -10
  510. package/dist/cjs/interfaces/RNExclusiveTypes.native.js.map +1 -1
  511. package/dist/cjs/interfaces/TamaguiComponentEvents.cjs +9 -11
  512. package/dist/cjs/interfaces/TamaguiComponentEvents.native.cjs +18 -0
  513. package/dist/cjs/interfaces/TamaguiComponentEvents.native.js +9 -10
  514. package/dist/cjs/interfaces/TamaguiComponentEvents.native.js.map +1 -1
  515. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.cjs +9 -11
  516. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.cjs +18 -0
  517. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js +9 -10
  518. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js.map +1 -1
  519. package/dist/cjs/internal-runtime.cjs +123 -0
  520. package/dist/cjs/internal-runtime.native.cjs +125 -0
  521. package/dist/cjs/internal-runtime.native.js +127 -0
  522. package/dist/cjs/internal-runtime.native.js.map +1 -0
  523. package/dist/cjs/internalRuntimeTypes.cjs +16 -0
  524. package/dist/cjs/internalRuntimeTypes.native.cjs +18 -0
  525. package/dist/cjs/internalRuntimeTypes.native.js +20 -0
  526. package/dist/cjs/internalRuntimeTypes.native.js.map +1 -0
  527. package/dist/cjs/setupHooks.cjs +16 -18
  528. package/dist/cjs/setupHooks.native.cjs +32 -0
  529. package/dist/cjs/setupHooks.native.js +16 -17
  530. package/dist/cjs/setupHooks.native.js.map +1 -1
  531. package/dist/cjs/setupReactNative.cjs +14 -44
  532. package/dist/cjs/setupReactNative.native.cjs +53 -0
  533. package/dist/cjs/setupReactNative.native.js +38 -41
  534. package/dist/cjs/setupReactNative.native.js.map +1 -1
  535. package/dist/cjs/static-resolve.cjs +230 -0
  536. package/dist/cjs/static-resolve.native.cjs +236 -0
  537. package/dist/cjs/static-resolve.native.js +238 -0
  538. package/dist/cjs/static-resolve.native.js.map +1 -0
  539. package/dist/cjs/style.cjs +91 -0
  540. package/dist/cjs/style.native.cjs +94 -0
  541. package/dist/cjs/style.native.js +96 -0
  542. package/dist/cjs/style.native.js.map +1 -0
  543. package/dist/cjs/styled.cjs +110 -143
  544. package/dist/cjs/styled.native.cjs +133 -0
  545. package/dist/cjs/styled.native.js +115 -145
  546. package/dist/cjs/styled.native.js.map +1 -1
  547. package/dist/cjs/theme-update.cjs +19 -0
  548. package/dist/cjs/theme-update.native.cjs +21 -0
  549. package/dist/cjs/theme-update.native.js +23 -0
  550. package/dist/cjs/theme-update.native.js.map +1 -0
  551. package/dist/cjs/type-utils.cjs +9 -11
  552. package/dist/cjs/type-utils.native.cjs +18 -0
  553. package/dist/cjs/type-utils.native.js +9 -10
  554. package/dist/cjs/type-utils.native.js.map +1 -1
  555. package/dist/cjs/types.cjs +21 -11
  556. package/dist/cjs/types.native.cjs +30 -0
  557. package/dist/cjs/types.native.js +21 -10
  558. package/dist/cjs/types.native.js.map +1 -1
  559. package/dist/cjs/views/ConfigRevisionCheck.cjs +68 -0
  560. package/dist/cjs/views/ConfigRevisionCheck.native.cjs +73 -0
  561. package/dist/cjs/views/ConfigRevisionCheck.native.js +75 -0
  562. package/dist/cjs/views/ConfigRevisionCheck.native.js.map +1 -0
  563. package/dist/cjs/views/Configuration.cjs +26 -35
  564. package/dist/cjs/views/Configuration.native.cjs +46 -0
  565. package/dist/cjs/views/Configuration.native.js +27 -35
  566. package/dist/cjs/views/Configuration.native.js.map +1 -1
  567. package/dist/cjs/views/FontLanguage.cjs +20 -29
  568. package/dist/cjs/views/FontLanguage.native.cjs +46 -0
  569. package/dist/cjs/views/FontLanguage.native.js +27 -38
  570. package/dist/cjs/views/FontLanguage.native.js.map +1 -1
  571. package/dist/cjs/views/SafeAreaTracker.cjs +32 -0
  572. package/dist/cjs/views/SafeAreaTracker.native.cjs +36 -0
  573. package/dist/cjs/views/SafeAreaTracker.native.js +38 -0
  574. package/dist/cjs/views/SafeAreaTracker.native.js.map +1 -0
  575. package/dist/cjs/views/Slot.cjs +51 -59
  576. package/dist/cjs/views/Slot.native.cjs +77 -0
  577. package/dist/cjs/views/Slot.native.js +52 -59
  578. package/dist/cjs/views/Slot.native.js.map +1 -1
  579. package/dist/cjs/views/TamaguiProvider.cjs +69 -76
  580. package/dist/cjs/views/TamaguiProvider.native.cjs +98 -0
  581. package/dist/cjs/views/TamaguiProvider.native.js +68 -76
  582. package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
  583. package/dist/cjs/views/TamaguiRoot.cjs +46 -61
  584. package/dist/cjs/views/TamaguiRoot.native.cjs +28 -0
  585. package/dist/cjs/views/TamaguiRoot.native.js +15 -18
  586. package/dist/cjs/views/TamaguiRoot.native.js.map +1 -1
  587. package/dist/cjs/views/Text.cjs +50 -46
  588. package/dist/cjs/views/Text.native.cjs +49 -0
  589. package/dist/cjs/views/Text.native.js +34 -36
  590. package/dist/cjs/views/Text.native.js.map +1 -1
  591. package/dist/cjs/views/Theme.cjs +117 -167
  592. package/dist/cjs/views/Theme.native.cjs +159 -0
  593. package/dist/cjs/views/Theme.native.js +127 -173
  594. package/dist/cjs/views/Theme.native.js.map +1 -1
  595. package/dist/cjs/views/ThemeDebug.cjs +73 -81
  596. package/dist/cjs/views/ThemeDebug.native.cjs +30 -0
  597. package/dist/cjs/views/ThemeDebug.native.js +16 -23
  598. package/dist/cjs/views/ThemeDebug.native.js.map +1 -1
  599. package/dist/cjs/views/ThemeProvider.cjs +34 -39
  600. package/dist/cjs/views/ThemeProvider.native.cjs +43 -0
  601. package/dist/cjs/views/ThemeProvider.native.js +25 -28
  602. package/dist/cjs/views/ThemeProvider.native.js.map +1 -1
  603. package/dist/cjs/views/ThemeUpdate.cjs +82 -0
  604. package/dist/cjs/views/ThemeUpdate.native.cjs +84 -0
  605. package/dist/cjs/views/ThemeUpdate.native.js +86 -0
  606. package/dist/cjs/views/ThemeUpdate.native.js.map +1 -0
  607. package/dist/cjs/views/View.cjs +21 -18
  608. package/dist/cjs/views/View.native.cjs +38 -0
  609. package/dist/cjs/views/View.native.js +21 -17
  610. package/dist/cjs/views/View.native.js.map +1 -1
  611. package/dist/esm/Tamagui.mjs +27 -27
  612. package/dist/esm/Tamagui.mjs.map +1 -1
  613. package/dist/esm/Tamagui.native.js +76 -71
  614. package/dist/esm/Tamagui.native.js.map +1 -1
  615. package/dist/esm/_withNativeStyle.mjs +55 -0
  616. package/dist/esm/_withNativeStyle.mjs.map +1 -0
  617. package/dist/esm/_withNativeStyle.native.js +58 -0
  618. package/dist/esm/_withNativeStyle.native.js.map +1 -0
  619. package/dist/esm/_withStableStyle.mjs +44 -29
  620. package/dist/esm/_withStableStyle.mjs.map +1 -1
  621. package/dist/esm/_withStableStyle.native.js +51 -33
  622. package/dist/esm/_withStableStyle.native.js.map +1 -1
  623. package/dist/esm/config.mjs +97 -100
  624. package/dist/esm/config.mjs.map +1 -1
  625. package/dist/esm/config.native.js +122 -129
  626. package/dist/esm/config.native.js.map +1 -1
  627. package/dist/esm/constants/constants.mjs +1 -0
  628. package/dist/esm/constants/constants.mjs.map +1 -1
  629. package/dist/esm/constants/constants.native.js +1 -0
  630. package/dist/esm/constants/constants.native.js.map +1 -1
  631. package/dist/esm/constants/isDevTools.mjs +7 -6
  632. package/dist/esm/constants/isDevTools.mjs.map +1 -1
  633. package/dist/esm/constants/isDevTools.native.js +9 -8
  634. package/dist/esm/constants/isDevTools.native.js.map +1 -1
  635. package/dist/esm/contexts/ComponentContext.mjs +18 -8
  636. package/dist/esm/contexts/ComponentContext.mjs.map +1 -1
  637. package/dist/esm/contexts/ComponentContext.native.js +19 -9
  638. package/dist/esm/contexts/ComponentContext.native.js.map +1 -1
  639. package/dist/esm/contexts/GroupContext.mjs +2 -0
  640. package/dist/esm/contexts/GroupContext.mjs.map +1 -1
  641. package/dist/esm/contexts/GroupContext.native.js +3 -1
  642. package/dist/esm/contexts/GroupContext.native.js.map +1 -1
  643. package/dist/esm/createComponent.mjs +992 -996
  644. package/dist/esm/createComponent.mjs.map +1 -1
  645. package/dist/esm/createComponent.native.js +1091 -979
  646. package/dist/esm/createComponent.native.js.map +1 -1
  647. package/dist/esm/createFont.mjs +27 -18
  648. package/dist/esm/createFont.mjs.map +1 -1
  649. package/dist/esm/createFont.native.js +30 -21
  650. package/dist/esm/createFont.native.js.map +1 -1
  651. package/dist/esm/createShorthands.mjs +2 -1
  652. package/dist/esm/createShorthands.mjs.map +1 -1
  653. package/dist/esm/createShorthands.native.js +2 -1
  654. package/dist/esm/createShorthands.native.js.map +1 -1
  655. package/dist/esm/createStyledHOC.mjs +79 -0
  656. package/dist/esm/createStyledHOC.mjs.map +1 -0
  657. package/dist/esm/createStyledHOC.native.js +80 -0
  658. package/dist/esm/createStyledHOC.native.js.map +1 -0
  659. package/dist/esm/createTamagui.mjs +275 -207
  660. package/dist/esm/createTamagui.mjs.map +1 -1
  661. package/dist/esm/createTamagui.native.js +309 -255
  662. package/dist/esm/createTamagui.native.js.map +1 -1
  663. package/dist/esm/createTokens.mjs +15 -1
  664. package/dist/esm/createTokens.mjs.map +1 -1
  665. package/dist/esm/createTokens.native.js +16 -2
  666. package/dist/esm/createTokens.native.js.map +1 -1
  667. package/dist/esm/createVariable.mjs +66 -65
  668. package/dist/esm/createVariable.mjs.map +1 -1
  669. package/dist/esm/createVariable.native.js +77 -81
  670. package/dist/esm/createVariable.native.js.map +1 -1
  671. package/dist/esm/createVariables.mjs +37 -42
  672. package/dist/esm/createVariables.mjs.map +1 -1
  673. package/dist/esm/createVariables.native.js +38 -48
  674. package/dist/esm/createVariables.native.js.map +1 -1
  675. package/dist/esm/defaultComponentState.mjs +13 -12
  676. package/dist/esm/defaultComponentState.mjs.map +1 -1
  677. package/dist/esm/defaultComponentState.native.js +13 -12
  678. package/dist/esm/defaultComponentState.native.js.map +1 -1
  679. package/dist/esm/dom/adapters.mjs +67 -0
  680. package/dist/esm/dom/adapters.mjs.map +1 -0
  681. package/dist/esm/dom/adapters.native.js +86 -0
  682. package/dist/esm/dom/adapters.native.js.map +1 -0
  683. package/dist/esm/dom/contract.mjs +0 -0
  684. package/dist/esm/dom/contract.native.js +0 -0
  685. package/dist/esm/dom/domEventProps.native.js +34 -0
  686. package/dist/esm/dom/domEventProps.native.js.map +1 -0
  687. package/dist/esm/dom/html.mjs +611 -0
  688. package/dist/esm/dom/html.mjs.map +1 -0
  689. package/dist/esm/dom/html.native.js +930 -0
  690. package/dist/esm/dom/html.native.js.map +1 -0
  691. package/dist/esm/dom/htmlRuntime.native.js +152 -0
  692. package/dist/esm/dom/htmlRuntime.native.js.map +1 -0
  693. package/dist/esm/dom/index.mjs +4 -0
  694. package/dist/esm/dom/index.native.js +5 -0
  695. package/dist/esm/dom/primitives.native.js +609 -0
  696. package/dist/esm/dom/primitives.native.js.map +1 -0
  697. package/dist/esm/dom/standalone.mjs +10 -0
  698. package/dist/esm/dom/standalone.mjs.map +1 -0
  699. package/dist/esm/dom/standalone.native.js +14 -0
  700. package/dist/esm/dom/standalone.native.js.map +1 -0
  701. package/dist/esm/dom/standaloneHtml.mjs +56 -0
  702. package/dist/esm/dom/standaloneHtml.mjs.map +1 -0
  703. package/dist/esm/dom/standaloneHtml.native.js +56 -0
  704. package/dist/esm/dom/standaloneHtml.native.js.map +1 -0
  705. package/dist/esm/dom/styleTypes.mjs +0 -0
  706. package/dist/esm/dom/styleTypes.native.js +0 -0
  707. package/dist/esm/eventDetails.mjs +18 -0
  708. package/dist/esm/eventDetails.mjs.map +1 -0
  709. package/dist/esm/eventDetails.native.js +18 -0
  710. package/dist/esm/eventDetails.native.js.map +1 -0
  711. package/dist/esm/eventHandling.mjs +14 -13
  712. package/dist/esm/eventHandling.mjs.map +1 -1
  713. package/dist/esm/eventHandling.native.js +141 -163
  714. package/dist/esm/eventHandling.native.js.map +1 -1
  715. package/dist/esm/helpers/borderComponents.mjs +37 -0
  716. package/dist/esm/helpers/borderComponents.mjs.map +1 -0
  717. package/dist/esm/helpers/borderComponents.native.js +55 -0
  718. package/dist/esm/helpers/borderComponents.native.js.map +1 -0
  719. package/dist/esm/helpers/componentDisplayName.mjs +4 -0
  720. package/dist/esm/helpers/componentDisplayName.mjs.map +1 -0
  721. package/dist/esm/helpers/componentDisplayName.native.js +4 -0
  722. package/dist/esm/helpers/componentDisplayName.native.js.map +1 -0
  723. package/dist/esm/helpers/configVariables.mjs +60 -0
  724. package/dist/esm/helpers/configVariables.mjs.map +1 -0
  725. package/dist/esm/helpers/configVariables.native.js +61 -0
  726. package/dist/esm/helpers/configVariables.native.js.map +1 -0
  727. package/dist/esm/helpers/consoleLog.native.js +2 -1
  728. package/dist/esm/helpers/consoleLog.native.js.map +1 -1
  729. package/dist/esm/helpers/createDesignSystem.mjs +133 -134
  730. package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
  731. package/dist/esm/helpers/createDesignSystem.native.js +151 -186
  732. package/dist/esm/helpers/createDesignSystem.native.js.map +1 -1
  733. package/dist/esm/helpers/createStyledContext.mjs +49 -58
  734. package/dist/esm/helpers/createStyledContext.mjs.map +1 -1
  735. package/dist/esm/helpers/createStyledContext.native.js +54 -63
  736. package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
  737. package/dist/esm/helpers/defaultAnimationDriver.mjs +10 -14
  738. package/dist/esm/helpers/defaultAnimationDriver.mjs.map +1 -1
  739. package/dist/esm/helpers/defaultAnimationDriver.native.js +19 -31
  740. package/dist/esm/helpers/defaultAnimationDriver.native.js.map +1 -1
  741. package/dist/esm/helpers/defaultOffset.mjs +3 -2
  742. package/dist/esm/helpers/defaultOffset.mjs.map +1 -1
  743. package/dist/esm/helpers/defaultOffset.native.js +3 -2
  744. package/dist/esm/helpers/defaultOffset.native.js.map +1 -1
  745. package/dist/esm/helpers/expandStyle.mjs +138 -66
  746. package/dist/esm/helpers/expandStyle.mjs.map +1 -1
  747. package/dist/esm/helpers/expandStyle.native.js +141 -107
  748. package/dist/esm/helpers/expandStyle.native.js.map +1 -1
  749. package/dist/esm/helpers/expandStyles.mjs +9 -7
  750. package/dist/esm/helpers/expandStyles.mjs.map +1 -1
  751. package/dist/esm/helpers/expandStyles.native.js +16 -14
  752. package/dist/esm/helpers/expandStyles.native.js.map +1 -1
  753. package/dist/esm/helpers/extractPseudoState.mjs +24 -0
  754. package/dist/esm/helpers/extractPseudoState.mjs.map +1 -0
  755. package/dist/esm/helpers/extractPseudoState.native.js +25 -0
  756. package/dist/esm/helpers/extractPseudoState.native.js.map +1 -0
  757. package/dist/esm/helpers/fluid.mjs +36 -0
  758. package/dist/esm/helpers/fluid.mjs.map +1 -0
  759. package/dist/esm/helpers/fluid.native.js +36 -0
  760. package/dist/esm/helpers/fluid.native.js.map +1 -0
  761. package/dist/esm/helpers/formatDiagnostic.mjs +49 -0
  762. package/dist/esm/helpers/formatDiagnostic.mjs.map +1 -0
  763. package/dist/esm/helpers/formatDiagnostic.native.js +52 -0
  764. package/dist/esm/helpers/formatDiagnostic.native.js.map +1 -0
  765. package/dist/esm/helpers/getCSSStylesAtomic.mjs +224 -177
  766. package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
  767. package/dist/esm/helpers/getCSSStylesAtomic.native.js +9 -4
  768. package/dist/esm/helpers/getCSSStylesAtomic.native.js.map +1 -1
  769. package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs +16 -0
  770. package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs.map +1 -0
  771. package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js +18 -0
  772. package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -0
  773. package/dist/esm/helpers/getDynamicVal.mjs +32 -33
  774. package/dist/esm/helpers/getDynamicVal.mjs.map +1 -1
  775. package/dist/esm/helpers/getDynamicVal.native.js +32 -33
  776. package/dist/esm/helpers/getDynamicVal.native.js.map +1 -1
  777. package/dist/esm/helpers/getExpandedShorthands.mjs +5 -12
  778. package/dist/esm/helpers/getExpandedShorthands.mjs.map +1 -1
  779. package/dist/esm/helpers/getExpandedShorthands.native.js +6 -13
  780. package/dist/esm/helpers/getExpandedShorthands.native.js.map +1 -1
  781. package/dist/esm/helpers/getShorthandValue.mjs +4 -2
  782. package/dist/esm/helpers/getShorthandValue.mjs.map +1 -1
  783. package/dist/esm/helpers/getShorthandValue.native.js +6 -4
  784. package/dist/esm/helpers/getShorthandValue.native.js.map +1 -1
  785. package/dist/esm/helpers/getSplitStyles.mjs +1605 -893
  786. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  787. package/dist/esm/helpers/getSplitStyles.native.js +1786 -916
  788. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  789. package/dist/esm/helpers/getThemeCSSRules.mjs +94 -92
  790. package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
  791. package/dist/esm/helpers/getThemeCSSRules.native.js +2 -1
  792. package/dist/esm/helpers/getThemeCSSRules.native.js.map +1 -1
  793. package/dist/esm/helpers/grammarConfig.mjs +253 -0
  794. package/dist/esm/helpers/grammarConfig.mjs.map +1 -0
  795. package/dist/esm/helpers/grammarConfig.native.js +387 -0
  796. package/dist/esm/helpers/grammarConfig.native.js.map +1 -0
  797. package/dist/esm/helpers/insertStyleRule.mjs +232 -160
  798. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
  799. package/dist/esm/helpers/insertStyleRule.native.js +135 -27
  800. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
  801. package/dist/esm/helpers/isObj.mjs +10 -2
  802. package/dist/esm/helpers/isObj.mjs.map +1 -1
  803. package/dist/esm/helpers/isObj.native.js +11 -8
  804. package/dist/esm/helpers/isObj.native.js.map +1 -1
  805. package/dist/esm/helpers/isTamaguiComponent.mjs +4 -3
  806. package/dist/esm/helpers/isTamaguiComponent.mjs.map +1 -1
  807. package/dist/esm/helpers/isTamaguiComponent.native.js +4 -3
  808. package/dist/esm/helpers/isTamaguiComponent.native.js.map +1 -1
  809. package/dist/esm/helpers/isTamaguiElement.mjs +4 -2
  810. package/dist/esm/helpers/isTamaguiElement.mjs.map +1 -1
  811. package/dist/esm/helpers/isTamaguiElement.native.js +4 -2
  812. package/dist/esm/helpers/isTamaguiElement.native.js.map +1 -1
  813. package/dist/esm/helpers/log.mjs +12 -9
  814. package/dist/esm/helpers/log.mjs.map +1 -1
  815. package/dist/esm/helpers/log.native.js +13 -10
  816. package/dist/esm/helpers/log.native.js.map +1 -1
  817. package/dist/esm/helpers/mainThreadPressEvents.mjs +1 -0
  818. package/dist/esm/helpers/mainThreadPressEvents.mjs.map +1 -1
  819. package/dist/esm/helpers/mainThreadPressEvents.native.js +126 -125
  820. package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
  821. package/dist/esm/helpers/matchMedia.mjs +7 -6
  822. package/dist/esm/helpers/matchMedia.mjs.map +1 -1
  823. package/dist/esm/helpers/matchMedia.native.js +36 -25
  824. package/dist/esm/helpers/matchMedia.native.js.map +1 -1
  825. package/dist/esm/helpers/mediaObjectToString.mjs +21 -20
  826. package/dist/esm/helpers/mediaObjectToString.mjs.map +1 -1
  827. package/dist/esm/helpers/mediaObjectToString.native.js +24 -23
  828. package/dist/esm/helpers/mediaObjectToString.native.js.map +1 -1
  829. package/dist/esm/helpers/mediaState.mjs +18 -24
  830. package/dist/esm/helpers/mediaState.mjs.map +1 -1
  831. package/dist/esm/helpers/mediaState.native.js +20 -27
  832. package/dist/esm/helpers/mediaState.native.js.map +1 -1
  833. package/dist/esm/helpers/mergeProps.mjs +37 -47
  834. package/dist/esm/helpers/mergeProps.mjs.map +1 -1
  835. package/dist/esm/helpers/mergeProps.native.js +39 -54
  836. package/dist/esm/helpers/mergeProps.native.js.map +1 -1
  837. package/dist/esm/helpers/mergeRenderElementProps.mjs +5 -5
  838. package/dist/esm/helpers/mergeRenderElementProps.mjs.map +1 -1
  839. package/dist/esm/helpers/mergeRenderElementProps.native.js +5 -5
  840. package/dist/esm/helpers/mergeRenderElementProps.native.js.map +1 -1
  841. package/dist/esm/helpers/mergeSlotStyleProps.mjs +22 -20
  842. package/dist/esm/helpers/mergeSlotStyleProps.mjs.map +1 -1
  843. package/dist/esm/helpers/mergeSlotStyleProps.native.js +22 -20
  844. package/dist/esm/helpers/mergeSlotStyleProps.native.js.map +1 -1
  845. package/dist/esm/helpers/mergeVariants.mjs +70 -23
  846. package/dist/esm/helpers/mergeVariants.mjs.map +1 -1
  847. package/dist/esm/helpers/mergeVariants.native.js +106 -25
  848. package/dist/esm/helpers/mergeVariants.native.js.map +1 -1
  849. package/dist/esm/helpers/nativeOnlyProps.mjs +33 -33
  850. package/dist/esm/helpers/nativeOnlyProps.mjs.map +1 -1
  851. package/dist/esm/helpers/nativeOnlyProps.native.js +33 -33
  852. package/dist/esm/helpers/nativeOnlyProps.native.js.map +1 -1
  853. package/dist/esm/helpers/nativeStyleEngine.mjs +237 -0
  854. package/dist/esm/helpers/nativeStyleEngine.mjs.map +1 -0
  855. package/dist/esm/helpers/nativeStyleEngine.native.js +366 -0
  856. package/dist/esm/helpers/nativeStyleEngine.native.js.map +1 -0
  857. package/dist/esm/helpers/nativeTransitionTarget.mjs +6 -0
  858. package/dist/esm/helpers/nativeTransitionTarget.mjs.map +1 -0
  859. package/dist/esm/helpers/nativeTransitionTarget.native.js +21 -0
  860. package/dist/esm/helpers/nativeTransitionTarget.native.js.map +1 -0
  861. package/dist/esm/helpers/normalizeColor.mjs +11 -18
  862. package/dist/esm/helpers/normalizeColor.mjs.map +1 -1
  863. package/dist/esm/helpers/normalizeColor.native.js +19 -19
  864. package/dist/esm/helpers/normalizeColor.native.js.map +1 -1
  865. package/dist/esm/helpers/normalizeShadow.mjs +13 -21
  866. package/dist/esm/helpers/normalizeShadow.mjs.map +1 -1
  867. package/dist/esm/helpers/normalizeShadow.native.js +14 -20
  868. package/dist/esm/helpers/normalizeShadow.native.js.map +1 -1
  869. package/dist/esm/helpers/normalizeStyle.mjs +47 -43
  870. package/dist/esm/helpers/normalizeStyle.mjs.map +1 -1
  871. package/dist/esm/helpers/normalizeStyle.native.js +64 -62
  872. package/dist/esm/helpers/normalizeStyle.native.js.map +1 -1
  873. package/dist/esm/helpers/normalizeValueWithProperty.mjs +30 -23
  874. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
  875. package/dist/esm/helpers/normalizeValueWithProperty.native.js +32 -28
  876. package/dist/esm/helpers/normalizeValueWithProperty.native.js.map +1 -1
  877. package/dist/esm/helpers/noteOnce.mjs +11 -0
  878. package/dist/esm/helpers/noteOnce.mjs.map +1 -0
  879. package/dist/esm/helpers/noteOnce.native.js +11 -0
  880. package/dist/esm/helpers/noteOnce.native.js.map +1 -0
  881. package/dist/esm/helpers/objectIdentityKey.mjs +18 -17
  882. package/dist/esm/helpers/objectIdentityKey.mjs.map +1 -1
  883. package/dist/esm/helpers/objectIdentityKey.native.js +18 -22
  884. package/dist/esm/helpers/objectIdentityKey.native.js.map +1 -1
  885. package/dist/esm/helpers/parseBorderShorthand.mjs +2 -1
  886. package/dist/esm/helpers/parseBorderShorthand.mjs.map +1 -1
  887. package/dist/esm/helpers/parseBorderShorthand.native.js +38 -55
  888. package/dist/esm/helpers/parseBorderShorthand.native.js.map +1 -1
  889. package/dist/esm/helpers/parseNativeStyle.native.js +167 -146
  890. package/dist/esm/helpers/parseNativeStyle.native.js.map +1 -1
  891. package/dist/esm/helpers/parseNativeTransform.native.js +45 -0
  892. package/dist/esm/helpers/parseNativeTransform.native.js.map +1 -0
  893. package/dist/esm/helpers/parseOutlineShorthand.mjs +2 -1
  894. package/dist/esm/helpers/parseOutlineShorthand.mjs.map +1 -1
  895. package/dist/esm/helpers/parseOutlineShorthand.native.js +19 -48
  896. package/dist/esm/helpers/parseOutlineShorthand.native.js.map +1 -1
  897. package/dist/esm/helpers/pointerEvents.mjs +1 -0
  898. package/dist/esm/helpers/pointerEvents.mjs.map +1 -1
  899. package/dist/esm/helpers/pointerEvents.native.js +104 -127
  900. package/dist/esm/helpers/pointerEvents.native.js.map +1 -1
  901. package/dist/esm/helpers/proxyThemeToParents.mjs +32 -31
  902. package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -1
  903. package/dist/esm/helpers/proxyThemeToParents.native.js +136 -126
  904. package/dist/esm/helpers/proxyThemeToParents.native.js.map +1 -1
  905. package/dist/esm/helpers/registerCSSVariable.mjs +76 -39
  906. package/dist/esm/helpers/registerCSSVariable.mjs.map +1 -1
  907. package/dist/esm/helpers/registerCSSVariable.native.js +95 -44
  908. package/dist/esm/helpers/registerCSSVariable.native.js.map +1 -1
  909. package/dist/esm/helpers/resolveAnimationDriver.mjs +14 -8
  910. package/dist/esm/helpers/resolveAnimationDriver.mjs.map +1 -1
  911. package/dist/esm/helpers/resolveAnimationDriver.native.js +14 -9
  912. package/dist/esm/helpers/resolveAnimationDriver.native.js.map +1 -1
  913. package/dist/esm/helpers/resolveNativeUnits.mjs +9 -0
  914. package/dist/esm/helpers/resolveNativeUnits.mjs.map +1 -0
  915. package/dist/esm/helpers/resolveNativeUnits.native.js +142 -0
  916. package/dist/esm/helpers/resolveNativeUnits.native.js.map +1 -0
  917. package/dist/esm/helpers/resolveRem.mjs +3 -2
  918. package/dist/esm/helpers/resolveRem.mjs.map +1 -1
  919. package/dist/esm/helpers/resolveRem.native.js +21 -22
  920. package/dist/esm/helpers/resolveRem.native.js.map +1 -1
  921. package/dist/esm/helpers/resolveSafeArea.mjs +38 -8
  922. package/dist/esm/helpers/resolveSafeArea.mjs.map +1 -1
  923. package/dist/esm/helpers/resolveSafeArea.native.js +101 -15
  924. package/dist/esm/helpers/resolveSafeArea.native.js.map +1 -1
  925. package/dist/esm/helpers/resolveSafeAreaVariable.mjs +10 -0
  926. package/dist/esm/helpers/resolveSafeAreaVariable.mjs.map +1 -0
  927. package/dist/esm/helpers/resolveSafeAreaVariable.native.js +27 -0
  928. package/dist/esm/helpers/resolveSafeAreaVariable.native.js.map +1 -0
  929. package/dist/esm/helpers/resolveVariableValue.mjs +15 -0
  930. package/dist/esm/helpers/resolveVariableValue.mjs.map +1 -0
  931. package/dist/esm/helpers/resolveVariableValue.native.js +17 -0
  932. package/dist/esm/helpers/resolveVariableValue.native.js.map +1 -0
  933. package/dist/esm/helpers/resolveVariantStyle.mjs +38 -0
  934. package/dist/esm/helpers/resolveVariantStyle.mjs.map +1 -0
  935. package/dist/esm/helpers/resolveVariantStyle.native.js +42 -0
  936. package/dist/esm/helpers/resolveVariantStyle.native.js.map +1 -0
  937. package/dist/esm/helpers/setElementProps.mjs +4 -2
  938. package/dist/esm/helpers/setElementProps.mjs.map +1 -1
  939. package/dist/esm/helpers/setElementProps.native.js +8 -7
  940. package/dist/esm/helpers/setElementProps.native.js.map +1 -1
  941. package/dist/esm/helpers/skipProps.mjs +20 -14
  942. package/dist/esm/helpers/skipProps.mjs.map +1 -1
  943. package/dist/esm/helpers/skipProps.native.js +20 -14
  944. package/dist/esm/helpers/skipProps.native.js.map +1 -1
  945. package/dist/esm/helpers/sortString.mjs +1 -0
  946. package/dist/esm/helpers/sortString.mjs.map +1 -1
  947. package/dist/esm/helpers/sortString.native.js +3 -2
  948. package/dist/esm/helpers/sortString.native.js.map +1 -1
  949. package/dist/esm/helpers/splitStyleProps.mjs +27 -0
  950. package/dist/esm/helpers/splitStyleProps.mjs.map +1 -0
  951. package/dist/esm/helpers/splitStyleProps.native.js +28 -0
  952. package/dist/esm/helpers/splitStyleProps.native.js.map +1 -0
  953. package/dist/esm/helpers/styleFrontend.mjs +23 -0
  954. package/dist/esm/helpers/styleFrontend.mjs.map +1 -0
  955. package/dist/esm/helpers/styleFrontend.native.js +23 -0
  956. package/dist/esm/helpers/styleFrontend.native.js.map +1 -0
  957. package/dist/esm/helpers/styleOriginalValues.mjs +2 -1
  958. package/dist/esm/helpers/styleOriginalValues.mjs.map +1 -1
  959. package/dist/esm/helpers/styleOriginalValues.native.js +2 -1
  960. package/dist/esm/helpers/styleOriginalValues.native.js.map +1 -1
  961. package/dist/esm/helpers/styleProvenance.mjs +10 -9
  962. package/dist/esm/helpers/styleProvenance.mjs.map +1 -1
  963. package/dist/esm/helpers/styleProvenance.native.js +10 -9
  964. package/dist/esm/helpers/styleProvenance.native.js.map +1 -1
  965. package/dist/esm/helpers/styleStaticConfig.mjs +8 -0
  966. package/dist/esm/helpers/styleStaticConfig.mjs.map +1 -0
  967. package/dist/esm/helpers/styleStaticConfig.native.js +8 -0
  968. package/dist/esm/helpers/styleStaticConfig.native.js.map +1 -0
  969. package/dist/esm/helpers/styleStaticConfigCore.mjs +88 -0
  970. package/dist/esm/helpers/styleStaticConfigCore.mjs.map +1 -0
  971. package/dist/esm/helpers/styleStaticConfigCore.native.js +106 -0
  972. package/dist/esm/helpers/styleStaticConfigCore.native.js.map +1 -0
  973. package/dist/esm/helpers/styleToCSS.mjs +40 -0
  974. package/dist/esm/helpers/styleToCSS.mjs.map +1 -0
  975. package/dist/esm/helpers/styleToCSS.native.js +4 -0
  976. package/dist/esm/helpers/styleToCSS.native.js.map +1 -0
  977. package/dist/esm/helpers/styledDynamic.mjs +137 -0
  978. package/dist/esm/helpers/styledDynamic.mjs.map +1 -0
  979. package/dist/esm/helpers/styledDynamic.native.js +166 -0
  980. package/dist/esm/helpers/styledDynamic.native.js.map +1 -0
  981. package/dist/esm/helpers/subscribeToContextGroup.mjs +98 -79
  982. package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -1
  983. package/dist/esm/helpers/subscribeToContextGroup.native.js +157 -124
  984. package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
  985. package/dist/esm/helpers/themeRef.mjs +17 -0
  986. package/dist/esm/helpers/themeRef.mjs.map +1 -0
  987. package/dist/esm/helpers/themeRef.native.js +17 -0
  988. package/dist/esm/helpers/themeRef.native.js.map +1 -0
  989. package/dist/esm/helpers/themeUpdateState.mjs +4 -0
  990. package/dist/esm/helpers/themeUpdateState.mjs.map +1 -0
  991. package/dist/esm/helpers/themeUpdateState.native.js +4 -0
  992. package/dist/esm/helpers/themeUpdateState.native.js.map +1 -0
  993. package/dist/esm/helpers/themes.mjs +17 -16
  994. package/dist/esm/helpers/themes.mjs.map +1 -1
  995. package/dist/esm/helpers/themes.native.js +17 -16
  996. package/dist/esm/helpers/themes.native.js.map +1 -1
  997. package/dist/esm/helpers/timer.mjs +9 -5
  998. package/dist/esm/helpers/timer.mjs.map +1 -1
  999. package/dist/esm/helpers/timer.native.js +9 -5
  1000. package/dist/esm/helpers/timer.native.js.map +1 -1
  1001. package/dist/esm/helpers/tokenCategories.mjs +20 -0
  1002. package/dist/esm/helpers/tokenCategories.mjs.map +1 -0
  1003. package/dist/esm/helpers/tokenCategories.native.js +20 -0
  1004. package/dist/esm/helpers/tokenCategories.native.js.map +1 -0
  1005. package/dist/esm/helpers/transformsToString.mjs +12 -13
  1006. package/dist/esm/helpers/transformsToString.mjs.map +1 -1
  1007. package/dist/esm/helpers/transformsToString.native.js +29 -13
  1008. package/dist/esm/helpers/transformsToString.native.js.map +1 -1
  1009. package/dist/esm/helpers/variableValue.mjs +49 -0
  1010. package/dist/esm/helpers/variableValue.mjs.map +1 -0
  1011. package/dist/esm/helpers/variableValue.native.js +87 -0
  1012. package/dist/esm/helpers/variableValue.native.js.map +1 -0
  1013. package/dist/esm/helpers/variables.mjs +542 -0
  1014. package/dist/esm/helpers/variables.mjs.map +1 -0
  1015. package/dist/esm/helpers/variables.native.js +778 -0
  1016. package/dist/esm/helpers/variables.native.js.map +1 -0
  1017. package/dist/esm/helpers/warnOnce.mjs +15 -0
  1018. package/dist/esm/helpers/warnOnce.mjs.map +1 -0
  1019. package/dist/esm/helpers/warnOnce.native.js +17 -0
  1020. package/dist/esm/helpers/warnOnce.native.js.map +1 -0
  1021. package/dist/esm/helpers/webPropsToSkip.mjs +1 -0
  1022. package/dist/esm/helpers/webPropsToSkip.mjs.map +1 -1
  1023. package/dist/esm/helpers/webPropsToSkip.native.js +41 -45
  1024. package/dist/esm/helpers/webPropsToSkip.native.js.map +1 -1
  1025. package/dist/esm/helpers/wrapStyleTags.mjs +34 -30
  1026. package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -1
  1027. package/dist/esm/helpers/wrapStyleTags.native.js +4 -1
  1028. package/dist/esm/helpers/wrapStyleTags.native.js.map +1 -1
  1029. package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs +2 -1
  1030. package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs.map +1 -1
  1031. package/dist/esm/hooks/doesRootSchemeMatchSystem.native.js +4 -2
  1032. package/dist/esm/hooks/doesRootSchemeMatchSystem.native.js.map +1 -1
  1033. package/dist/esm/hooks/getThemeProxied.mjs +47 -40
  1034. package/dist/esm/hooks/getThemeProxied.mjs.map +1 -1
  1035. package/dist/esm/hooks/getThemeProxied.native.js +85 -62
  1036. package/dist/esm/hooks/getThemeProxied.native.js.map +1 -1
  1037. package/dist/esm/hooks/isOptimizedForFirstRender.mjs +8 -0
  1038. package/dist/esm/hooks/isOptimizedForFirstRender.mjs.map +1 -0
  1039. package/dist/esm/hooks/isOptimizedForFirstRender.native.js +8 -0
  1040. package/dist/esm/hooks/isOptimizedForFirstRender.native.js.map +1 -0
  1041. package/dist/esm/hooks/useAnimationDriver.mjs +26 -0
  1042. package/dist/esm/hooks/useAnimationDriver.mjs.map +1 -0
  1043. package/dist/esm/hooks/useAnimationDriver.native.js +32 -0
  1044. package/dist/esm/hooks/useAnimationDriver.native.js.map +1 -0
  1045. package/dist/esm/hooks/useComponentState.mjs +167 -183
  1046. package/dist/esm/hooks/useComponentState.mjs.map +1 -1
  1047. package/dist/esm/hooks/useComponentState.native.js +178 -194
  1048. package/dist/esm/hooks/useComponentState.native.js.map +1 -1
  1049. package/dist/esm/hooks/useDisableSSR.mjs +3 -1
  1050. package/dist/esm/hooks/useDisableSSR.mjs.map +1 -1
  1051. package/dist/esm/hooks/useDisableSSR.native.js +4 -2
  1052. package/dist/esm/hooks/useDisableSSR.native.js.map +1 -1
  1053. package/dist/esm/hooks/useIsTouchDevice.mjs +3 -1
  1054. package/dist/esm/hooks/useIsTouchDevice.mjs.map +1 -1
  1055. package/dist/esm/hooks/useIsTouchDevice.native.js +4 -2
  1056. package/dist/esm/hooks/useIsTouchDevice.native.js.map +1 -1
  1057. package/dist/esm/hooks/useMedia.mjs +299 -233
  1058. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  1059. package/dist/esm/hooks/useMedia.native.js +451 -283
  1060. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  1061. package/dist/esm/hooks/usePortalThemeState.mjs +21 -0
  1062. package/dist/esm/hooks/usePortalThemeState.mjs.map +1 -0
  1063. package/dist/esm/hooks/usePortalThemeState.native.js +21 -0
  1064. package/dist/esm/hooks/usePortalThemeState.native.js.map +1 -0
  1065. package/dist/esm/hooks/useSplitStyles.mjs +17 -0
  1066. package/dist/esm/hooks/useSplitStyles.mjs.map +1 -0
  1067. package/dist/esm/hooks/useSplitStyles.native.js +14 -0
  1068. package/dist/esm/hooks/useSplitStyles.native.js.map +1 -0
  1069. package/dist/esm/hooks/useStyle.mjs +11 -0
  1070. package/dist/esm/hooks/useStyle.mjs.map +1 -0
  1071. package/dist/esm/hooks/useStyle.native.js +11 -0
  1072. package/dist/esm/hooks/useStyle.native.js.map +1 -0
  1073. package/dist/esm/hooks/useTheme.mjs +27 -32
  1074. package/dist/esm/hooks/useTheme.mjs.map +1 -1
  1075. package/dist/esm/hooks/useTheme.native.js +30 -36
  1076. package/dist/esm/hooks/useTheme.native.js.map +1 -1
  1077. package/dist/esm/hooks/useThemeName.mjs +7 -7
  1078. package/dist/esm/hooks/useThemeName.mjs.map +1 -1
  1079. package/dist/esm/hooks/useThemeName.native.js +10 -10
  1080. package/dist/esm/hooks/useThemeName.native.js.map +1 -1
  1081. package/dist/esm/hooks/useThemeState.mjs +261 -349
  1082. package/dist/esm/hooks/useThemeState.mjs.map +1 -1
  1083. package/dist/esm/hooks/useThemeState.native.js +312 -458
  1084. package/dist/esm/hooks/useThemeState.native.js.map +1 -1
  1085. package/dist/esm/index.js +64 -72
  1086. package/dist/esm/index.mjs +64 -72
  1087. package/dist/esm/index.native.js +64 -72
  1088. package/dist/esm/inject-styles.mjs +11 -13
  1089. package/dist/esm/inject-styles.mjs.map +1 -1
  1090. package/dist/esm/inject-styles.native.js +12 -14
  1091. package/dist/esm/inject-styles.native.js.map +1 -1
  1092. package/dist/esm/insertFont.mjs +44 -41
  1093. package/dist/esm/insertFont.mjs.map +1 -1
  1094. package/dist/esm/insertFont.native.js +38 -35
  1095. package/dist/esm/insertFont.native.js.map +1 -1
  1096. package/dist/esm/interfaces/CSSColorNames.mjs +151 -0
  1097. package/dist/esm/interfaces/CSSColorNames.mjs.map +1 -1
  1098. package/dist/esm/interfaces/CSSColorNames.native.js +151 -0
  1099. package/dist/esm/interfaces/CSSColorNames.native.js.map +1 -1
  1100. package/dist/esm/interfaces/GetRef.mjs +0 -2
  1101. package/dist/esm/interfaces/GetRef.native.js +0 -2
  1102. package/dist/esm/interfaces/RNExclusiveTypes.mjs +0 -2
  1103. package/dist/esm/interfaces/RNExclusiveTypes.native.js +0 -2
  1104. package/dist/esm/interfaces/TamaguiComponentEvents.mjs +0 -2
  1105. package/dist/esm/interfaces/TamaguiComponentEvents.native.js +0 -2
  1106. package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.mjs +0 -2
  1107. package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.native.js +0 -2
  1108. package/dist/esm/internal-runtime.mjs +83 -0
  1109. package/dist/esm/internal-runtime.mjs.map +1 -0
  1110. package/dist/esm/internal-runtime.native.js +83 -0
  1111. package/dist/esm/internal-runtime.native.js.map +1 -0
  1112. package/dist/esm/internalRuntimeTypes.mjs +0 -0
  1113. package/dist/esm/internalRuntimeTypes.native.js +0 -0
  1114. package/dist/esm/setupHooks.mjs +2 -1
  1115. package/dist/esm/setupHooks.mjs.map +1 -1
  1116. package/dist/esm/setupHooks.native.js +2 -1
  1117. package/dist/esm/setupHooks.native.js.map +1 -1
  1118. package/dist/esm/setupReactNative.mjs +2 -27
  1119. package/dist/esm/setupReactNative.mjs.map +1 -1
  1120. package/dist/esm/setupReactNative.native.js +25 -24
  1121. package/dist/esm/setupReactNative.native.js.map +1 -1
  1122. package/dist/esm/static-resolve.mjs +196 -0
  1123. package/dist/esm/static-resolve.mjs.map +1 -0
  1124. package/dist/esm/static-resolve.native.js +200 -0
  1125. package/dist/esm/static-resolve.native.js.map +1 -0
  1126. package/dist/esm/style.mjs +58 -0
  1127. package/dist/esm/style.mjs.map +1 -0
  1128. package/dist/esm/style.native.js +59 -0
  1129. package/dist/esm/style.native.js.map +1 -0
  1130. package/dist/esm/styled.mjs +97 -128
  1131. package/dist/esm/styled.mjs.map +1 -1
  1132. package/dist/esm/styled.native.js +101 -130
  1133. package/dist/esm/styled.native.js.map +1 -1
  1134. package/dist/esm/theme-update.mjs +3 -0
  1135. package/dist/esm/theme-update.native.js +3 -0
  1136. package/dist/esm/type-utils.mjs +0 -2
  1137. package/dist/esm/type-utils.native.js +0 -2
  1138. package/dist/esm/types.mjs +3 -0
  1139. package/dist/esm/types.mjs.map +1 -1
  1140. package/dist/esm/types.native.js +3 -0
  1141. package/dist/esm/types.native.js.map +1 -1
  1142. package/dist/esm/views/ConfigRevisionCheck.mjs +43 -0
  1143. package/dist/esm/views/ConfigRevisionCheck.mjs.map +1 -0
  1144. package/dist/esm/views/ConfigRevisionCheck.native.js +46 -0
  1145. package/dist/esm/views/ConfigRevisionCheck.native.js.map +1 -0
  1146. package/dist/esm/views/Configuration.mjs +11 -9
  1147. package/dist/esm/views/Configuration.mjs.map +1 -1
  1148. package/dist/esm/views/Configuration.native.js +13 -11
  1149. package/dist/esm/views/Configuration.native.js.map +1 -1
  1150. package/dist/esm/views/FontLanguage.mjs +8 -11
  1151. package/dist/esm/views/FontLanguage.mjs.map +1 -1
  1152. package/dist/esm/views/FontLanguage.native.js +13 -14
  1153. package/dist/esm/views/FontLanguage.native.js.map +1 -1
  1154. package/dist/esm/views/SafeAreaTracker.mjs +9 -0
  1155. package/dist/esm/views/SafeAreaTracker.mjs.map +1 -0
  1156. package/dist/esm/views/SafeAreaTracker.native.js +12 -0
  1157. package/dist/esm/views/SafeAreaTracker.native.js.map +1 -0
  1158. package/dist/esm/views/Slot.mjs +39 -44
  1159. package/dist/esm/views/Slot.mjs.map +1 -1
  1160. package/dist/esm/views/Slot.native.js +41 -46
  1161. package/dist/esm/views/Slot.native.js.map +1 -1
  1162. package/dist/esm/views/TamaguiProvider.mjs +54 -50
  1163. package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
  1164. package/dist/esm/views/TamaguiProvider.native.js +52 -51
  1165. package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
  1166. package/dist/esm/views/TamaguiRoot.mjs +31 -35
  1167. package/dist/esm/views/TamaguiRoot.mjs.map +1 -1
  1168. package/dist/esm/views/TamaguiRoot.native.js +2 -1
  1169. package/dist/esm/views/TamaguiRoot.native.js.map +1 -1
  1170. package/dist/esm/views/Text.mjs +38 -31
  1171. package/dist/esm/views/Text.mjs.map +1 -1
  1172. package/dist/esm/views/Text.native.js +19 -21
  1173. package/dist/esm/views/Text.native.js.map +1 -1
  1174. package/dist/esm/views/Theme.mjs +102 -145
  1175. package/dist/esm/views/Theme.mjs.map +1 -1
  1176. package/dist/esm/views/Theme.native.js +113 -152
  1177. package/dist/esm/views/Theme.native.js.map +1 -1
  1178. package/dist/esm/views/ThemeDebug.mjs +61 -63
  1179. package/dist/esm/views/ThemeDebug.mjs.map +1 -1
  1180. package/dist/esm/views/ThemeDebug.native.js +3 -6
  1181. package/dist/esm/views/ThemeDebug.native.js.map +1 -1
  1182. package/dist/esm/views/ThemeProvider.mjs +21 -20
  1183. package/dist/esm/views/ThemeProvider.mjs.map +1 -1
  1184. package/dist/esm/views/ThemeProvider.native.js +12 -10
  1185. package/dist/esm/views/ThemeProvider.native.js.map +1 -1
  1186. package/dist/esm/views/ThemeUpdate.mjs +54 -0
  1187. package/dist/esm/views/ThemeUpdate.mjs.map +1 -0
  1188. package/dist/esm/views/ThemeUpdate.native.js +53 -0
  1189. package/dist/esm/views/ThemeUpdate.native.js.map +1 -0
  1190. package/dist/esm/views/View.mjs +9 -3
  1191. package/dist/esm/views/View.mjs.map +1 -1
  1192. package/dist/esm/views/View.native.js +9 -3
  1193. package/dist/esm/views/View.native.js.map +1 -1
  1194. package/internal-runtime/index.cjs +2 -0
  1195. package/internal-runtime/index.js +4 -0
  1196. package/internal-runtime/index.native.js +2 -0
  1197. package/package.json +71 -18
  1198. package/reset.css +15 -12
  1199. package/src/_withNativeStyle.tsx +84 -0
  1200. package/src/_withStableStyle.tsx +61 -43
  1201. package/src/config.ts +34 -36
  1202. package/src/contexts/ComponentContext.tsx +25 -8
  1203. package/src/createComponent.tsx +628 -265
  1204. package/src/createStyledHOC.tsx +137 -0
  1205. package/src/createTamagui.ts +181 -92
  1206. package/src/createTokens.ts +16 -0
  1207. package/src/createVariable.ts +17 -12
  1208. package/src/createVariables.ts +5 -17
  1209. package/src/dom/adapters.ts +99 -0
  1210. package/src/dom/contract.ts +60 -0
  1211. package/src/dom/domEventProps.native.ts +40 -0
  1212. package/src/dom/html.native.tsx +1412 -0
  1213. package/src/dom/html.tsx +887 -0
  1214. package/src/dom/htmlRuntime.native.tsx +230 -0
  1215. package/src/dom/index.native.ts +28 -0
  1216. package/src/dom/index.ts +16 -0
  1217. package/src/dom/primitives.native.tsx +658 -0
  1218. package/src/dom/standalone.ts +107 -0
  1219. package/src/dom/standaloneHtml.ts +104 -0
  1220. package/src/dom/styleTypes.ts +620 -0
  1221. package/src/eventDetails.ts +85 -0
  1222. package/src/eventHandling.native.ts +16 -16
  1223. package/src/helpers/borderComponents.ts +62 -0
  1224. package/src/helpers/componentDisplayName.ts +3 -0
  1225. package/src/helpers/configVariables.ts +64 -0
  1226. package/src/helpers/createDesignSystem.ts +127 -89
  1227. package/src/helpers/createStyledContext.tsx +85 -43
  1228. package/src/helpers/defaultAnimationDriver.tsx +0 -5
  1229. package/src/helpers/expandStyle.ts +49 -2
  1230. package/src/helpers/extractPseudoState.ts +32 -0
  1231. package/src/helpers/fluid.ts +66 -0
  1232. package/src/helpers/formatDiagnostic.ts +69 -0
  1233. package/src/helpers/getCSSStylesAtomic.native.ts +7 -3
  1234. package/src/helpers/getCSSStylesAtomic.ts +306 -166
  1235. package/src/helpers/getCSSStylesAtomicCompiled.ts +21 -0
  1236. package/src/helpers/getDynamicVal.ts +4 -0
  1237. package/src/helpers/getExpandedShorthands.ts +0 -17
  1238. package/src/helpers/getSplitStyles.tsx +3231 -1599
  1239. package/src/helpers/getThemeCSSRules.ts +16 -1
  1240. package/src/helpers/grammarConfig.ts +369 -0
  1241. package/src/helpers/insertStyleRule.tsx +109 -24
  1242. package/src/helpers/isObj.ts +8 -0
  1243. package/src/helpers/isTamaguiComponent.tsx +2 -5
  1244. package/src/helpers/isTamaguiElement.tsx +2 -3
  1245. package/src/helpers/log.ts +12 -11
  1246. package/src/helpers/matchMedia.native.ts +16 -1
  1247. package/src/helpers/mediaState.ts +18 -32
  1248. package/src/helpers/mergeProps.ts +2 -32
  1249. package/src/helpers/mergeVariants.ts +80 -21
  1250. package/src/helpers/nativeOnlyProps.ts +0 -1
  1251. package/src/helpers/nativeStyleEngine.ts +385 -0
  1252. package/src/helpers/nativeTransitionTarget.native.ts +22 -0
  1253. package/src/helpers/nativeTransitionTarget.ts +6 -0
  1254. package/src/helpers/normalizeColor.native.ts +2 -3
  1255. package/src/helpers/normalizeColor.ts +4 -14
  1256. package/src/helpers/normalizeShadow.native.ts +1 -1
  1257. package/src/helpers/normalizeStyle.ts +26 -15
  1258. package/src/helpers/normalizeValueWithProperty.ts +18 -11
  1259. package/src/helpers/noteOnce.ts +9 -0
  1260. package/src/helpers/parseBorderShorthand.native.ts +23 -45
  1261. package/src/helpers/parseNativeStyle.native.ts +238 -0
  1262. package/src/helpers/parseNativeTransform.native.ts +35 -0
  1263. package/src/helpers/parseOutlineShorthand.native.ts +9 -40
  1264. package/src/helpers/proxyThemeToParents.ts +11 -1
  1265. package/src/helpers/registerCSSVariable.ts +52 -4
  1266. package/src/helpers/resolveAnimationDriver.ts +16 -13
  1267. package/src/helpers/resolveNativeUnits.native.ts +187 -0
  1268. package/src/helpers/resolveNativeUnits.ts +10 -0
  1269. package/src/helpers/resolveRem.native.ts +25 -26
  1270. package/src/helpers/resolveRem.ts +1 -1
  1271. package/src/helpers/resolveSafeArea.native.ts +90 -10
  1272. package/src/helpers/resolveSafeArea.ts +46 -7
  1273. package/src/helpers/resolveSafeAreaVariable.native.ts +28 -0
  1274. package/src/helpers/resolveSafeAreaVariable.ts +10 -0
  1275. package/src/helpers/resolveVariableValue.ts +31 -0
  1276. package/src/helpers/resolveVariantStyle.ts +77 -0
  1277. package/src/helpers/skipProps.ts +11 -3
  1278. package/src/helpers/splitStyleProps.ts +166 -0
  1279. package/src/helpers/styleFrontend.ts +143 -0
  1280. package/src/helpers/styleProvenance.ts +17 -2
  1281. package/src/helpers/styleStaticConfig.ts +21 -0
  1282. package/src/helpers/styleStaticConfigCore.ts +110 -0
  1283. package/src/helpers/styleToCSS.native.ts +1 -0
  1284. package/src/helpers/styleToCSS.ts +43 -0
  1285. package/src/helpers/styledDynamic.ts +192 -0
  1286. package/src/helpers/subscribeToContextGroup.tsx +46 -7
  1287. package/src/helpers/themeRef.ts +34 -0
  1288. package/src/helpers/themeUpdateState.ts +27 -0
  1289. package/src/helpers/themes.ts +9 -10
  1290. package/src/helpers/tokenCategories.ts +54 -0
  1291. package/src/helpers/transformsToString.ts +18 -16
  1292. package/src/helpers/variableValue.ts +50 -0
  1293. package/src/helpers/variables.ts +856 -0
  1294. package/src/helpers/warnOnce.ts +47 -0
  1295. package/src/helpers/webPropsToSkip.native.ts +7 -8
  1296. package/src/helpers/wrapStyleTags.tsx +4 -2
  1297. package/src/hooks/getThemeProxied.ts +139 -101
  1298. package/src/hooks/isOptimizedForFirstRender.native.ts +7 -0
  1299. package/src/hooks/isOptimizedForFirstRender.ts +7 -0
  1300. package/src/hooks/useAnimationDriver.ts +56 -0
  1301. package/src/hooks/useComponentState.ts +128 -174
  1302. package/src/hooks/useMedia.tsx +258 -131
  1303. package/src/hooks/usePortalThemeState.ts +34 -0
  1304. package/src/hooks/useSplitStyles.tsx +41 -0
  1305. package/src/hooks/useStyle.ts +10 -0
  1306. package/src/hooks/useTheme.tsx +20 -7
  1307. package/src/hooks/useThemeState.ts +185 -332
  1308. package/src/index.ts +328 -70
  1309. package/src/insertFont.ts +9 -5
  1310. package/src/interfaces/CSSColorNames.tsx +152 -149
  1311. package/src/interfaces/RNExclusiveTypes.ts +2 -1
  1312. package/src/interfaces/TamaguiComponentEvents.tsx +0 -1
  1313. package/src/interfaces/TamaguiComponentPropsBaseBase.tsx +2 -4
  1314. package/src/internal-runtime.ts +169 -0
  1315. package/src/internalRuntimeTypes.ts +18 -0
  1316. package/src/setupHooks.ts +9 -1
  1317. package/src/setupReactNative.ts +7 -30
  1318. package/src/static-resolve.ts +403 -0
  1319. package/src/style.ts +97 -0
  1320. package/src/styled.tsx +290 -416
  1321. package/src/theme-update.ts +2 -0
  1322. package/src/types.tsx +813 -610
  1323. package/src/views/ConfigRevisionCheck.tsx +55 -0
  1324. package/src/views/SafeAreaTracker.native.tsx +10 -0
  1325. package/src/views/SafeAreaTracker.tsx +7 -0
  1326. package/src/views/Slot.tsx +3 -2
  1327. package/src/views/TamaguiProvider.tsx +36 -24
  1328. package/src/views/Text.tsx +33 -23
  1329. package/src/views/Theme.tsx +62 -46
  1330. package/src/views/ThemeDebug.tsx +0 -2
  1331. package/src/views/ThemeProvider.tsx +6 -5
  1332. package/src/views/ThemeUpdate.tsx +90 -0
  1333. package/src/views/View.tsx +12 -4
  1334. package/types/Tamagui.d.ts.map +1 -1
  1335. package/types/_withNativeStyle.d.ts +5 -0
  1336. package/types/_withNativeStyle.d.ts.map +1 -0
  1337. package/types/_withStableStyle.d.ts +1 -1
  1338. package/types/_withStableStyle.d.ts.map +1 -1
  1339. package/types/config.d.ts +22 -32
  1340. package/types/config.d.ts.map +1 -1
  1341. package/types/contexts/ComponentContext.d.ts +1 -1
  1342. package/types/contexts/ComponentContext.d.ts.map +1 -1
  1343. package/types/createComponent.d.ts.map +1 -1
  1344. package/types/createFont.d.ts.map +1 -1
  1345. package/types/createStyledHOC.d.ts +4 -0
  1346. package/types/createStyledHOC.d.ts.map +1 -0
  1347. package/types/createTamagui.d.ts +2 -1
  1348. package/types/createTamagui.d.ts.map +1 -1
  1349. package/types/createTokens.d.ts.map +1 -1
  1350. package/types/createVariable.d.ts +0 -2
  1351. package/types/createVariable.d.ts.map +1 -1
  1352. package/types/createVariables.d.ts.map +1 -1
  1353. package/types/dom/adapters.d.ts +42 -0
  1354. package/types/dom/adapters.d.ts.map +1 -0
  1355. package/types/dom/contract.d.ts +48 -0
  1356. package/types/dom/contract.d.ts.map +1 -0
  1357. package/types/dom/domEventProps.native.d.ts +7 -0
  1358. package/types/dom/domEventProps.native.d.ts.map +1 -0
  1359. package/types/dom/html.d.ts +58 -0
  1360. package/types/dom/html.d.ts.map +1 -0
  1361. package/types/dom/html.native.d.ts +67 -0
  1362. package/types/dom/html.native.d.ts.map +1 -0
  1363. package/types/dom/htmlRuntime.native.d.ts +63 -0
  1364. package/types/dom/htmlRuntime.native.d.ts.map +1 -0
  1365. package/types/dom/index.d.ts +11 -0
  1366. package/types/dom/index.d.ts.map +1 -0
  1367. package/types/dom/index.native.d.ts +12 -0
  1368. package/types/dom/index.native.d.ts.map +1 -0
  1369. package/types/dom/primitives.native.d.ts +43 -0
  1370. package/types/dom/primitives.native.d.ts.map +1 -0
  1371. package/types/dom/standalone.d.ts +89 -0
  1372. package/types/dom/standalone.d.ts.map +1 -0
  1373. package/types/dom/standaloneHtml.d.ts +67 -0
  1374. package/types/dom/standaloneHtml.d.ts.map +1 -0
  1375. package/types/dom/styleTypes.d.ts +486 -0
  1376. package/types/dom/styleTypes.d.ts.map +1 -0
  1377. package/types/eventDetails.d.ts +12 -0
  1378. package/types/eventDetails.d.ts.map +1 -0
  1379. package/types/helpers/borderComponents.d.ts +10 -0
  1380. package/types/helpers/borderComponents.d.ts.map +1 -0
  1381. package/types/helpers/componentDisplayName.d.ts +2 -0
  1382. package/types/helpers/componentDisplayName.d.ts.map +1 -0
  1383. package/types/helpers/configVariables.d.ts +3 -0
  1384. package/types/helpers/configVariables.d.ts.map +1 -0
  1385. package/types/helpers/createDesignSystem.d.ts +24 -6
  1386. package/types/helpers/createDesignSystem.d.ts.map +1 -1
  1387. package/types/helpers/createStyledContext.d.ts +29 -2
  1388. package/types/helpers/createStyledContext.d.ts.map +1 -1
  1389. package/types/helpers/defaultAnimationDriver.d.ts.map +1 -1
  1390. package/types/helpers/defaultOffset.d.ts.map +1 -1
  1391. package/types/helpers/expandStyle.d.ts.map +1 -1
  1392. package/types/helpers/extractPseudoState.d.ts +14 -0
  1393. package/types/helpers/extractPseudoState.d.ts.map +1 -0
  1394. package/types/helpers/fluid.d.ts +21 -0
  1395. package/types/helpers/fluid.d.ts.map +1 -0
  1396. package/types/helpers/formatDiagnostic.d.ts +2 -0
  1397. package/types/helpers/formatDiagnostic.d.ts.map +1 -0
  1398. package/types/helpers/getCSSStylesAtomic.d.ts +29 -6
  1399. package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
  1400. package/types/helpers/getCSSStylesAtomic.native.d.ts +11 -3
  1401. package/types/helpers/getCSSStylesAtomic.native.d.ts.map +1 -1
  1402. package/types/helpers/getCSSStylesAtomicCompiled.d.ts +9 -0
  1403. package/types/helpers/getCSSStylesAtomicCompiled.d.ts.map +1 -0
  1404. package/types/helpers/getDynamicVal.d.ts +1 -1
  1405. package/types/helpers/getDynamicVal.d.ts.map +1 -1
  1406. package/types/helpers/getExpandedShorthands.d.ts +0 -5
  1407. package/types/helpers/getExpandedShorthands.d.ts.map +1 -1
  1408. package/types/helpers/getShorthandValue.d.ts.map +1 -1
  1409. package/types/helpers/getSplitStyles.d.ts +14 -8
  1410. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  1411. package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
  1412. package/types/helpers/grammarConfig.d.ts +41 -0
  1413. package/types/helpers/grammarConfig.d.ts.map +1 -0
  1414. package/types/helpers/insertStyleRule.d.ts +4 -1
  1415. package/types/helpers/insertStyleRule.d.ts.map +1 -1
  1416. package/types/helpers/isObj.d.ts +1 -0
  1417. package/types/helpers/isObj.d.ts.map +1 -1
  1418. package/types/helpers/isTamaguiComponent.d.ts +1 -1
  1419. package/types/helpers/isTamaguiComponent.d.ts.map +1 -1
  1420. package/types/helpers/isTamaguiElement.d.ts +1 -1
  1421. package/types/helpers/isTamaguiElement.d.ts.map +1 -1
  1422. package/types/helpers/log.d.ts.map +1 -1
  1423. package/types/helpers/matchMedia.d.ts +1 -1
  1424. package/types/helpers/matchMedia.native.d.ts.map +1 -1
  1425. package/types/helpers/mediaState.d.ts +5 -2
  1426. package/types/helpers/mediaState.d.ts.map +1 -1
  1427. package/types/helpers/mergeProps.d.ts +0 -2
  1428. package/types/helpers/mergeProps.d.ts.map +1 -1
  1429. package/types/helpers/mergeVariants.d.ts +1 -1
  1430. package/types/helpers/mergeVariants.d.ts.map +1 -1
  1431. package/types/helpers/nativeOnlyProps.d.ts +0 -1
  1432. package/types/helpers/nativeOnlyProps.d.ts.map +1 -1
  1433. package/types/helpers/nativeStyleEngine.d.ts +77 -0
  1434. package/types/helpers/nativeStyleEngine.d.ts.map +1 -0
  1435. package/types/helpers/nativeTransitionTarget.d.ts +3 -0
  1436. package/types/helpers/nativeTransitionTarget.d.ts.map +1 -0
  1437. package/types/helpers/nativeTransitionTarget.native.d.ts +3 -0
  1438. package/types/helpers/nativeTransitionTarget.native.d.ts.map +1 -0
  1439. package/types/helpers/normalizeColor.d.ts +0 -6
  1440. package/types/helpers/normalizeColor.d.ts.map +1 -1
  1441. package/types/helpers/normalizeColor.native.d.ts.map +1 -1
  1442. package/types/helpers/normalizeShadow.d.ts.map +1 -1
  1443. package/types/helpers/normalizeShadow.native.d.ts.map +1 -1
  1444. package/types/helpers/normalizeStyle.d.ts +2 -2
  1445. package/types/helpers/normalizeStyle.d.ts.map +1 -1
  1446. package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -1
  1447. package/types/helpers/noteOnce.d.ts +2 -0
  1448. package/types/helpers/noteOnce.d.ts.map +1 -0
  1449. package/types/helpers/parseBorderShorthand.native.d.ts +1 -0
  1450. package/types/helpers/parseBorderShorthand.native.d.ts.map +1 -1
  1451. package/types/helpers/parseNativeStyle.native.d.ts +14 -0
  1452. package/types/helpers/parseNativeStyle.native.d.ts.map +1 -0
  1453. package/types/helpers/parseNativeTransform.native.d.ts +2 -0
  1454. package/types/helpers/parseNativeTransform.native.d.ts.map +1 -0
  1455. package/types/helpers/parseOutlineShorthand.native.d.ts.map +1 -1
  1456. package/types/helpers/proxyThemeToParents.d.ts +1 -1
  1457. package/types/helpers/proxyThemeToParents.d.ts.map +1 -1
  1458. package/types/helpers/registerCSSVariable.d.ts +12 -0
  1459. package/types/helpers/registerCSSVariable.d.ts.map +1 -1
  1460. package/types/helpers/resolveAnimationDriver.d.ts +4 -4
  1461. package/types/helpers/resolveAnimationDriver.d.ts.map +1 -1
  1462. package/types/helpers/resolveNativeUnits.d.ts +6 -0
  1463. package/types/helpers/resolveNativeUnits.d.ts.map +1 -0
  1464. package/types/helpers/resolveNativeUnits.native.d.ts +15 -0
  1465. package/types/helpers/resolveNativeUnits.native.d.ts.map +1 -0
  1466. package/types/helpers/resolveRem.native.d.ts +6 -4
  1467. package/types/helpers/resolveRem.native.d.ts.map +1 -1
  1468. package/types/helpers/resolveSafeArea.d.ts +1 -1
  1469. package/types/helpers/resolveSafeArea.d.ts.map +1 -1
  1470. package/types/helpers/resolveSafeArea.native.d.ts +2 -1
  1471. package/types/helpers/resolveSafeArea.native.d.ts.map +1 -1
  1472. package/types/helpers/resolveSafeAreaVariable.d.ts +3 -0
  1473. package/types/helpers/resolveSafeAreaVariable.d.ts.map +1 -0
  1474. package/types/helpers/resolveSafeAreaVariable.native.d.ts +3 -0
  1475. package/types/helpers/resolveSafeAreaVariable.native.d.ts.map +1 -0
  1476. package/types/helpers/resolveVariableValue.d.ts +3 -0
  1477. package/types/helpers/resolveVariableValue.d.ts.map +1 -0
  1478. package/types/helpers/resolveVariantStyle.d.ts +3 -0
  1479. package/types/helpers/resolveVariantStyle.d.ts.map +1 -0
  1480. package/types/helpers/setElementProps.d.ts.map +1 -1
  1481. package/types/helpers/skipProps.d.ts +5 -2
  1482. package/types/helpers/skipProps.d.ts.map +1 -1
  1483. package/types/helpers/sortString.d.ts +1 -1
  1484. package/types/helpers/sortString.d.ts.map +1 -1
  1485. package/types/helpers/splitStyleProps.d.ts +44 -0
  1486. package/types/helpers/splitStyleProps.d.ts.map +1 -0
  1487. package/types/helpers/styleFrontend.d.ts +102 -0
  1488. package/types/helpers/styleFrontend.d.ts.map +1 -0
  1489. package/types/helpers/styleProvenance.d.ts +14 -1
  1490. package/types/helpers/styleProvenance.d.ts.map +1 -1
  1491. package/types/helpers/styleStaticConfig.d.ts +14 -0
  1492. package/types/helpers/styleStaticConfig.d.ts.map +1 -0
  1493. package/types/helpers/styleStaticConfigCore.d.ts +4 -0
  1494. package/types/helpers/styleStaticConfigCore.d.ts.map +1 -0
  1495. package/types/helpers/styleToCSS.d.ts +2 -0
  1496. package/types/helpers/styleToCSS.d.ts.map +1 -0
  1497. package/types/helpers/styleToCSS.native.d.ts +2 -0
  1498. package/types/helpers/styleToCSS.native.d.ts.map +1 -0
  1499. package/types/helpers/styledDynamic.d.ts +18 -0
  1500. package/types/helpers/styledDynamic.d.ts.map +1 -0
  1501. package/types/helpers/subscribeToContextGroup.d.ts +1 -0
  1502. package/types/helpers/subscribeToContextGroup.d.ts.map +1 -1
  1503. package/types/helpers/themeRef.d.ts +22 -0
  1504. package/types/helpers/themeRef.d.ts.map +1 -0
  1505. package/types/helpers/themeUpdateState.d.ts +23 -0
  1506. package/types/helpers/themeUpdateState.d.ts.map +1 -0
  1507. package/types/helpers/themes.d.ts.map +1 -1
  1508. package/types/helpers/tokenCategories.d.ts +4 -0
  1509. package/types/helpers/tokenCategories.d.ts.map +1 -0
  1510. package/types/helpers/transformsToString.d.ts.map +1 -1
  1511. package/types/helpers/variableValue.d.ts +4 -0
  1512. package/types/helpers/variableValue.d.ts.map +1 -0
  1513. package/types/helpers/variables.d.ts +73 -0
  1514. package/types/helpers/variables.d.ts.map +1 -0
  1515. package/types/helpers/warnOnce.d.ts +20 -0
  1516. package/types/helpers/warnOnce.d.ts.map +1 -0
  1517. package/types/helpers/webPropsToSkip.native.d.ts +68 -62
  1518. package/types/helpers/webPropsToSkip.native.d.ts.map +1 -1
  1519. package/types/helpers/wrapStyleTags.d.ts +1 -1
  1520. package/types/helpers/wrapStyleTags.d.ts.map +1 -1
  1521. package/types/hooks/getThemeProxied.d.ts +1 -1
  1522. package/types/hooks/getThemeProxied.d.ts.map +1 -1
  1523. package/types/hooks/isOptimizedForFirstRender.d.ts +2 -0
  1524. package/types/hooks/isOptimizedForFirstRender.d.ts.map +1 -0
  1525. package/types/hooks/isOptimizedForFirstRender.native.d.ts +2 -0
  1526. package/types/hooks/isOptimizedForFirstRender.native.d.ts.map +1 -0
  1527. package/types/hooks/useAnimationDriver.d.ts +7 -0
  1528. package/types/hooks/useAnimationDriver.d.ts.map +1 -0
  1529. package/types/hooks/useComponentState.d.ts +6 -4
  1530. package/types/hooks/useComponentState.d.ts.map +1 -1
  1531. package/types/hooks/useMedia.d.ts +14 -12
  1532. package/types/hooks/useMedia.d.ts.map +1 -1
  1533. package/types/hooks/usePortalThemeState.d.ts +15 -0
  1534. package/types/hooks/usePortalThemeState.d.ts.map +1 -0
  1535. package/types/hooks/useSplitStyles.d.ts +3 -0
  1536. package/types/hooks/useSplitStyles.d.ts.map +1 -0
  1537. package/types/hooks/useStyle.d.ts +4 -0
  1538. package/types/hooks/useStyle.d.ts.map +1 -0
  1539. package/types/hooks/useTheme.d.ts +1 -1
  1540. package/types/hooks/useTheme.d.ts.map +1 -1
  1541. package/types/hooks/useThemeState.d.ts +13 -3
  1542. package/types/hooks/useThemeState.d.ts.map +1 -1
  1543. package/types/index.d.ts +63 -70
  1544. package/types/index.d.ts.map +1 -1
  1545. package/types/inject-styles.d.ts.map +1 -1
  1546. package/types/insertFont.d.ts.map +1 -1
  1547. package/types/interfaces/CSSColorNames.d.ts +2 -1
  1548. package/types/interfaces/CSSColorNames.d.ts.map +1 -1
  1549. package/types/interfaces/RNExclusiveTypes.d.ts +2 -2
  1550. package/types/interfaces/RNExclusiveTypes.d.ts.map +1 -1
  1551. package/types/interfaces/TamaguiComponentEvents.d.ts +0 -1
  1552. package/types/interfaces/TamaguiComponentEvents.d.ts.map +1 -1
  1553. package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts +2 -4
  1554. package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts.map +1 -1
  1555. package/types/internal-runtime.d.ts +56 -0
  1556. package/types/internal-runtime.d.ts.map +1 -0
  1557. package/types/internalRuntimeTypes.d.ts +11 -0
  1558. package/types/internalRuntimeTypes.d.ts.map +1 -0
  1559. package/types/setupHooks.d.ts +1 -1
  1560. package/types/setupHooks.d.ts.map +1 -1
  1561. package/types/setupReactNative.d.ts +2 -3
  1562. package/types/setupReactNative.d.ts.map +1 -1
  1563. package/types/static-resolve.d.ts +79 -0
  1564. package/types/static-resolve.d.ts.map +1 -0
  1565. package/types/style.d.ts +18 -0
  1566. package/types/style.d.ts.map +1 -0
  1567. package/types/styled.d.ts +41 -41
  1568. package/types/styled.d.ts.map +1 -1
  1569. package/types/theme-update.d.ts +3 -0
  1570. package/types/theme-update.d.ts.map +1 -0
  1571. package/types/types.d.ts +575 -309
  1572. package/types/types.d.ts.map +1 -1
  1573. package/types/views/ConfigRevisionCheck.d.ts +6 -0
  1574. package/types/views/ConfigRevisionCheck.d.ts.map +1 -0
  1575. package/types/views/Configuration.d.ts +1 -1
  1576. package/types/views/Configuration.d.ts.map +1 -1
  1577. package/types/views/FontLanguage.d.ts +4 -4
  1578. package/types/views/FontLanguage.d.ts.map +1 -1
  1579. package/types/views/FontLanguage.native.d.ts +2 -1
  1580. package/types/views/FontLanguage.native.d.ts.map +1 -1
  1581. package/types/views/SafeAreaTracker.d.ts +3 -0
  1582. package/types/views/SafeAreaTracker.d.ts.map +1 -0
  1583. package/types/views/SafeAreaTracker.native.d.ts +3 -0
  1584. package/types/views/SafeAreaTracker.native.d.ts.map +1 -0
  1585. package/types/views/Slot.d.ts +7 -7
  1586. package/types/views/Slot.d.ts.map +1 -1
  1587. package/types/views/TamaguiProvider.d.ts +2 -1
  1588. package/types/views/TamaguiProvider.d.ts.map +1 -1
  1589. package/types/views/TamaguiRoot.d.ts +1 -1
  1590. package/types/views/TamaguiRoot.d.ts.map +1 -1
  1591. package/types/views/Text.d.ts +6 -2
  1592. package/types/views/Text.d.ts.map +1 -1
  1593. package/types/views/Theme.d.ts +3 -8
  1594. package/types/views/Theme.d.ts.map +1 -1
  1595. package/types/views/ThemeDebug.d.ts.map +1 -1
  1596. package/types/views/ThemeProvider.d.ts +1 -1
  1597. package/types/views/ThemeProvider.d.ts.map +1 -1
  1598. package/types/views/ThemeUpdate.d.ts +15 -0
  1599. package/types/views/ThemeUpdate.d.ts.map +1 -0
  1600. package/types/views/View.d.ts +8 -2
  1601. package/types/views/View.d.ts.map +1 -1
  1602. package/.turbo/turbo-build.log +0 -2
  1603. package/.turbo/turbo-test$colon$web.log +0 -25
  1604. package/dist/cjs/animationDriverTypes.test-d.cjs +0 -77
  1605. package/dist/cjs/animationDriverTypes.test-d.native.js +0 -80
  1606. package/dist/cjs/animationDriverTypes.test-d.native.js.map +0 -1
  1607. package/dist/cjs/constants/accessibilityDirectMap.cjs +0 -36
  1608. package/dist/cjs/constants/accessibilityDirectMap.native.js +0 -39
  1609. package/dist/cjs/constants/accessibilityDirectMap.native.js.map +0 -1
  1610. package/dist/cjs/helpers/createMediaStyle.cjs +0 -127
  1611. package/dist/cjs/helpers/createMediaStyle.native.js +0 -140
  1612. package/dist/cjs/helpers/createMediaStyle.native.js.map +0 -1
  1613. package/dist/cjs/helpers/getDefaultProps.cjs +0 -43
  1614. package/dist/cjs/helpers/getDefaultProps.native.js +0 -47
  1615. package/dist/cjs/helpers/getDefaultProps.native.js.map +0 -1
  1616. package/dist/cjs/helpers/getFontLanguage.cjs +0 -28
  1617. package/dist/cjs/helpers/getFontLanguage.native.js +0 -33
  1618. package/dist/cjs/helpers/getFontLanguage.native.js.map +0 -1
  1619. package/dist/cjs/helpers/getGroupPropParts.cjs +0 -54
  1620. package/dist/cjs/helpers/getGroupPropParts.native.js +0 -59
  1621. package/dist/cjs/helpers/getGroupPropParts.native.js.map +0 -1
  1622. package/dist/cjs/helpers/getTokenForKey.cjs +0 -174
  1623. package/dist/cjs/helpers/getTokenForKey.native.js +0 -186
  1624. package/dist/cjs/helpers/getTokenForKey.native.js.map +0 -1
  1625. package/dist/cjs/helpers/getVariantExtras.cjs +0 -85
  1626. package/dist/cjs/helpers/getVariantExtras.native.js +0 -89
  1627. package/dist/cjs/helpers/getVariantExtras.native.js.map +0 -1
  1628. package/dist/cjs/helpers/isActivePlatform.cjs +0 -40
  1629. package/dist/cjs/helpers/isActivePlatform.native.js +0 -43
  1630. package/dist/cjs/helpers/isActivePlatform.native.js.map +0 -1
  1631. package/dist/cjs/helpers/isActiveTheme.cjs +0 -31
  1632. package/dist/cjs/helpers/isActiveTheme.native.js +0 -34
  1633. package/dist/cjs/helpers/isActiveTheme.native.js.map +0 -1
  1634. package/dist/cjs/helpers/normalizeStylePropKeys.cjs +0 -28
  1635. package/dist/cjs/helpers/normalizeStylePropKeys.native.js +0 -42
  1636. package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +0 -1
  1637. package/dist/cjs/helpers/parseNativeStyle.cjs +0 -167
  1638. package/dist/cjs/helpers/platformResolveValue.cjs +0 -38
  1639. package/dist/cjs/helpers/platformResolveValue.native.js +0 -74
  1640. package/dist/cjs/helpers/platformResolveValue.native.js.map +0 -1
  1641. package/dist/cjs/helpers/propMapper.cjs +0 -281
  1642. package/dist/cjs/helpers/propMapper.native.js +0 -381
  1643. package/dist/cjs/helpers/propMapper.native.js.map +0 -1
  1644. package/dist/cjs/helpers/proxyThemeVariables.cjs +0 -38
  1645. package/dist/cjs/helpers/proxyThemeVariables.native.js +0 -43
  1646. package/dist/cjs/helpers/proxyThemeVariables.native.js.map +0 -1
  1647. package/dist/cjs/helpers/pseudoDescriptors.cjs +0 -82
  1648. package/dist/cjs/helpers/pseudoDescriptors.native.js +0 -85
  1649. package/dist/cjs/helpers/pseudoDescriptors.native.js.map +0 -1
  1650. package/dist/cjs/helpers/pseudoTransitions.cjs +0 -83
  1651. package/dist/cjs/helpers/pseudoTransitions.native.js +0 -88
  1652. package/dist/cjs/helpers/pseudoTransitions.native.js.map +0 -1
  1653. package/dist/cjs/helpers/resolveCompoundTokens.cjs +0 -41
  1654. package/dist/cjs/helpers/resolveCompoundTokens.native.js +0 -44
  1655. package/dist/cjs/helpers/resolveCompoundTokens.native.js.map +0 -1
  1656. package/dist/cjs/helpers/themeable.cjs +0 -114
  1657. package/dist/cjs/helpers/themeable.native.js +0 -119
  1658. package/dist/cjs/helpers/themeable.native.js.map +0 -1
  1659. package/dist/cjs/helpers/useRenderElement.cjs +0 -53
  1660. package/dist/cjs/helpers/useRenderElement.native.js +0 -60
  1661. package/dist/cjs/helpers/useRenderElement.native.js.map +0 -1
  1662. package/dist/cjs/hooks/useProps.cjs +0 -120
  1663. package/dist/cjs/hooks/useProps.native.js +0 -125
  1664. package/dist/cjs/hooks/useProps.native.js.map +0 -1
  1665. package/dist/cjs/opacityModifier.test-d.cjs +0 -36
  1666. package/dist/cjs/opacityModifier.test-d.native.js +0 -39
  1667. package/dist/cjs/opacityModifier.test-d.native.js.map +0 -1
  1668. package/dist/cjs/styledHtml.test-d.cjs +0 -187
  1669. package/dist/cjs/styledHtml.test-d.native.js +0 -190
  1670. package/dist/cjs/styledHtml.test-d.native.js.map +0 -1
  1671. package/dist/cjs/styledNonStyleProps.test-d.cjs +0 -63
  1672. package/dist/cjs/styledNonStyleProps.test-d.native.js +0 -66
  1673. package/dist/cjs/styledNonStyleProps.test-d.native.js.map +0 -1
  1674. package/dist/esm/animationDriverTypes.test-d.mjs +0 -78
  1675. package/dist/esm/animationDriverTypes.test-d.mjs.map +0 -1
  1676. package/dist/esm/animationDriverTypes.test-d.native.js +0 -78
  1677. package/dist/esm/animationDriverTypes.test-d.native.js.map +0 -1
  1678. package/dist/esm/constants/accessibilityDirectMap.mjs +0 -7
  1679. package/dist/esm/constants/accessibilityDirectMap.mjs.map +0 -1
  1680. package/dist/esm/constants/accessibilityDirectMap.native.js +0 -7
  1681. package/dist/esm/constants/accessibilityDirectMap.native.js.map +0 -1
  1682. package/dist/esm/helpers/createMediaStyle.mjs +0 -100
  1683. package/dist/esm/helpers/createMediaStyle.mjs.map +0 -1
  1684. package/dist/esm/helpers/createMediaStyle.native.js +0 -110
  1685. package/dist/esm/helpers/createMediaStyle.native.js.map +0 -1
  1686. package/dist/esm/helpers/getDefaultProps.mjs +0 -18
  1687. package/dist/esm/helpers/getDefaultProps.mjs.map +0 -1
  1688. package/dist/esm/helpers/getDefaultProps.native.js +0 -19
  1689. package/dist/esm/helpers/getDefaultProps.native.js.map +0 -1
  1690. package/dist/esm/helpers/getFontLanguage.mjs +0 -3
  1691. package/dist/esm/helpers/getFontLanguage.mjs.map +0 -1
  1692. package/dist/esm/helpers/getFontLanguage.native.js +0 -5
  1693. package/dist/esm/helpers/getFontLanguage.native.js.map +0 -1
  1694. package/dist/esm/helpers/getGroupPropParts.mjs +0 -29
  1695. package/dist/esm/helpers/getGroupPropParts.mjs.map +0 -1
  1696. package/dist/esm/helpers/getGroupPropParts.native.js +0 -31
  1697. package/dist/esm/helpers/getGroupPropParts.native.js.map +0 -1
  1698. package/dist/esm/helpers/getTokenForKey.mjs +0 -146
  1699. package/dist/esm/helpers/getTokenForKey.mjs.map +0 -1
  1700. package/dist/esm/helpers/getTokenForKey.native.js +0 -155
  1701. package/dist/esm/helpers/getTokenForKey.native.js.map +0 -1
  1702. package/dist/esm/helpers/getVariantExtras.mjs +0 -59
  1703. package/dist/esm/helpers/getVariantExtras.mjs.map +0 -1
  1704. package/dist/esm/helpers/getVariantExtras.native.js +0 -60
  1705. package/dist/esm/helpers/getVariantExtras.native.js.map +0 -1
  1706. package/dist/esm/helpers/isActivePlatform.mjs +0 -14
  1707. package/dist/esm/helpers/isActivePlatform.mjs.map +0 -1
  1708. package/dist/esm/helpers/isActivePlatform.native.js +0 -14
  1709. package/dist/esm/helpers/isActivePlatform.native.js.map +0 -1
  1710. package/dist/esm/helpers/isActiveTheme.mjs +0 -6
  1711. package/dist/esm/helpers/isActiveTheme.mjs.map +0 -1
  1712. package/dist/esm/helpers/isActiveTheme.native.js +0 -6
  1713. package/dist/esm/helpers/isActiveTheme.native.js.map +0 -1
  1714. package/dist/esm/helpers/normalizeStylePropKeys.mjs +0 -3
  1715. package/dist/esm/helpers/normalizeStylePropKeys.mjs.map +0 -1
  1716. package/dist/esm/helpers/normalizeStylePropKeys.native.js +0 -14
  1717. package/dist/esm/helpers/normalizeStylePropKeys.native.js.map +0 -1
  1718. package/dist/esm/helpers/parseNativeStyle.mjs +0 -142
  1719. package/dist/esm/helpers/parseNativeStyle.mjs.map +0 -1
  1720. package/dist/esm/helpers/platformResolveValue.mjs +0 -13
  1721. package/dist/esm/helpers/platformResolveValue.mjs.map +0 -1
  1722. package/dist/esm/helpers/platformResolveValue.native.js +0 -46
  1723. package/dist/esm/helpers/platformResolveValue.native.js.map +0 -1
  1724. package/dist/esm/helpers/propMapper.mjs +0 -251
  1725. package/dist/esm/helpers/propMapper.mjs.map +0 -1
  1726. package/dist/esm/helpers/propMapper.native.js +0 -350
  1727. package/dist/esm/helpers/propMapper.native.js.map +0 -1
  1728. package/dist/esm/helpers/proxyThemeVariables.mjs +0 -13
  1729. package/dist/esm/helpers/proxyThemeVariables.mjs.map +0 -1
  1730. package/dist/esm/helpers/proxyThemeVariables.native.js +0 -15
  1731. package/dist/esm/helpers/proxyThemeVariables.native.js.map +0 -1
  1732. package/dist/esm/helpers/pseudoDescriptors.mjs +0 -54
  1733. package/dist/esm/helpers/pseudoDescriptors.mjs.map +0 -1
  1734. package/dist/esm/helpers/pseudoDescriptors.native.js +0 -54
  1735. package/dist/esm/helpers/pseudoDescriptors.native.js.map +0 -1
  1736. package/dist/esm/helpers/pseudoTransitions.mjs +0 -57
  1737. package/dist/esm/helpers/pseudoTransitions.mjs.map +0 -1
  1738. package/dist/esm/helpers/pseudoTransitions.native.js +0 -59
  1739. package/dist/esm/helpers/pseudoTransitions.native.js.map +0 -1
  1740. package/dist/esm/helpers/resolveCompoundTokens.mjs +0 -16
  1741. package/dist/esm/helpers/resolveCompoundTokens.mjs.map +0 -1
  1742. package/dist/esm/helpers/resolveCompoundTokens.native.js +0 -16
  1743. package/dist/esm/helpers/resolveCompoundTokens.native.js.map +0 -1
  1744. package/dist/esm/helpers/themeable.mjs +0 -79
  1745. package/dist/esm/helpers/themeable.mjs.map +0 -1
  1746. package/dist/esm/helpers/themeable.native.js +0 -80
  1747. package/dist/esm/helpers/themeable.native.js.map +0 -1
  1748. package/dist/esm/helpers/useRenderElement.mjs +0 -26
  1749. package/dist/esm/helpers/useRenderElement.mjs.map +0 -1
  1750. package/dist/esm/helpers/useRenderElement.native.js +0 -31
  1751. package/dist/esm/helpers/useRenderElement.native.js.map +0 -1
  1752. package/dist/esm/hooks/useProps.mjs +0 -82
  1753. package/dist/esm/hooks/useProps.mjs.map +0 -1
  1754. package/dist/esm/hooks/useProps.native.js +0 -84
  1755. package/dist/esm/hooks/useProps.native.js.map +0 -1
  1756. package/dist/esm/index.js.map +0 -1
  1757. package/dist/esm/index.mjs.map +0 -1
  1758. package/dist/esm/index.native.js.map +0 -1
  1759. package/dist/esm/interfaces/GetRef.mjs.map +0 -1
  1760. package/dist/esm/interfaces/GetRef.native.js.map +0 -1
  1761. package/dist/esm/interfaces/RNExclusiveTypes.mjs.map +0 -1
  1762. package/dist/esm/interfaces/RNExclusiveTypes.native.js.map +0 -1
  1763. package/dist/esm/interfaces/TamaguiComponentEvents.mjs.map +0 -1
  1764. package/dist/esm/interfaces/TamaguiComponentEvents.native.js.map +0 -1
  1765. package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.mjs.map +0 -1
  1766. package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.native.js.map +0 -1
  1767. package/dist/esm/opacityModifier.test-d.mjs +0 -37
  1768. package/dist/esm/opacityModifier.test-d.mjs.map +0 -1
  1769. package/dist/esm/opacityModifier.test-d.native.js +0 -37
  1770. package/dist/esm/opacityModifier.test-d.native.js.map +0 -1
  1771. package/dist/esm/styledHtml.test-d.mjs +0 -188
  1772. package/dist/esm/styledHtml.test-d.mjs.map +0 -1
  1773. package/dist/esm/styledHtml.test-d.native.js +0 -188
  1774. package/dist/esm/styledHtml.test-d.native.js.map +0 -1
  1775. package/dist/esm/styledNonStyleProps.test-d.mjs +0 -64
  1776. package/dist/esm/styledNonStyleProps.test-d.mjs.map +0 -1
  1777. package/dist/esm/styledNonStyleProps.test-d.native.js +0 -64
  1778. package/dist/esm/styledNonStyleProps.test-d.native.js.map +0 -1
  1779. package/dist/esm/type-utils.mjs.map +0 -1
  1780. package/dist/esm/type-utils.native.js.map +0 -1
  1781. package/src/animationDriverTypes.test-d.ts +0 -332
  1782. package/src/constants/accessibilityDirectMap.native.tsx +0 -10
  1783. package/src/constants/accessibilityDirectMap.tsx +0 -11
  1784. package/src/helpers/createMediaStyle.ts +0 -167
  1785. package/src/helpers/getDefaultProps.ts +0 -28
  1786. package/src/helpers/getFontLanguage.ts +0 -2
  1787. package/src/helpers/getGroupPropParts.ts +0 -46
  1788. package/src/helpers/getTokenForKey.ts +0 -236
  1789. package/src/helpers/getVariantExtras.tsx +0 -68
  1790. package/src/helpers/isActivePlatform.ts +0 -43
  1791. package/src/helpers/isActiveTheme.ts +0 -4
  1792. package/src/helpers/normalizeStylePropKeys.native.ts +0 -12
  1793. package/src/helpers/normalizeStylePropKeys.ts +0 -3
  1794. package/src/helpers/parseNativeStyle.ts +0 -193
  1795. package/src/helpers/platformResolveValue.native.ts +0 -75
  1796. package/src/helpers/platformResolveValue.ts +0 -26
  1797. package/src/helpers/propMapper.ts +0 -459
  1798. package/src/helpers/proxyThemeVariables.tsx +0 -13
  1799. package/src/helpers/pseudoDescriptors.ts +0 -74
  1800. package/src/helpers/pseudoTransitions.ts +0 -97
  1801. package/src/helpers/resolveCompoundTokens.ts +0 -28
  1802. package/src/helpers/themeable.tsx +0 -104
  1803. package/src/helpers/useRenderElement.tsx +0 -73
  1804. package/src/hooks/useProps.tsx +0 -158
  1805. package/src/opacityModifier.test-d.ts +0 -65
  1806. package/src/styledHtml.test-d.ts +0 -286
  1807. package/src/styledNonStyleProps.test-d.ts +0 -106
  1808. package/tsconfig.json +0 -44
  1809. package/tsconfig.test.json +0 -9
  1810. package/types/constants/accessibilityDirectMap.d.ts +0 -6
  1811. package/types/constants/accessibilityDirectMap.d.ts.map +0 -1
  1812. package/types/constants/accessibilityDirectMap.native.d.ts +0 -6
  1813. package/types/constants/accessibilityDirectMap.native.d.ts.map +0 -1
  1814. package/types/helpers/createMediaStyle.d.ts +0 -5
  1815. package/types/helpers/createMediaStyle.d.ts.map +0 -1
  1816. package/types/helpers/getDefaultProps.d.ts +0 -3
  1817. package/types/helpers/getDefaultProps.d.ts.map +0 -1
  1818. package/types/helpers/getFontLanguage.d.ts +0 -2
  1819. package/types/helpers/getFontLanguage.d.ts.map +0 -1
  1820. package/types/helpers/getGroupPropParts.d.ts +0 -7
  1821. package/types/helpers/getGroupPropParts.d.ts.map +0 -1
  1822. package/types/helpers/getTokenForKey.d.ts +0 -6
  1823. package/types/helpers/getTokenForKey.d.ts.map +0 -1
  1824. package/types/helpers/getVariantExtras.d.ts +0 -4
  1825. package/types/helpers/getVariantExtras.d.ts.map +0 -1
  1826. package/types/helpers/isActivePlatform.d.ts +0 -16
  1827. package/types/helpers/isActivePlatform.d.ts.map +0 -1
  1828. package/types/helpers/isActiveTheme.d.ts +0 -2
  1829. package/types/helpers/isActiveTheme.d.ts.map +0 -1
  1830. package/types/helpers/normalizeStylePropKeys.d.ts +0 -2
  1831. package/types/helpers/normalizeStylePropKeys.d.ts.map +0 -1
  1832. package/types/helpers/normalizeStylePropKeys.native.d.ts +0 -13
  1833. package/types/helpers/normalizeStylePropKeys.native.d.ts.map +0 -1
  1834. package/types/helpers/parseNativeStyle.d.ts +0 -14
  1835. package/types/helpers/parseNativeStyle.d.ts.map +0 -1
  1836. package/types/helpers/platformResolveValue.d.ts +0 -6
  1837. package/types/helpers/platformResolveValue.d.ts.map +0 -1
  1838. package/types/helpers/platformResolveValue.native.d.ts +0 -7
  1839. package/types/helpers/platformResolveValue.native.d.ts.map +0 -1
  1840. package/types/helpers/propMapper.d.ts +0 -5
  1841. package/types/helpers/propMapper.d.ts.map +0 -1
  1842. package/types/helpers/proxyThemeVariables.d.ts +0 -2
  1843. package/types/helpers/proxyThemeVariables.d.ts.map +0 -1
  1844. package/types/helpers/pseudoDescriptors.d.ts +0 -51
  1845. package/types/helpers/pseudoDescriptors.d.ts.map +0 -1
  1846. package/types/helpers/pseudoTransitions.d.ts +0 -29
  1847. package/types/helpers/pseudoTransitions.d.ts.map +0 -1
  1848. package/types/helpers/resolveCompoundTokens.d.ts +0 -9
  1849. package/types/helpers/resolveCompoundTokens.d.ts.map +0 -1
  1850. package/types/helpers/themeable.d.ts +0 -3
  1851. package/types/helpers/themeable.d.ts.map +0 -1
  1852. package/types/helpers/useRenderElement.d.ts +0 -13
  1853. package/types/helpers/useRenderElement.d.ts.map +0 -1
  1854. package/types/hooks/useProps.d.ts +0 -41
  1855. package/types/hooks/useProps.d.ts.map +0 -1
  1856. package/vitest.config.d.ts +0 -3
  1857. package/vitest.config.d.ts.map +0 -1
  1858. package/vitest.config.ts +0 -14
@@ -8,6 +8,7 @@ import {
8
8
  useRef,
9
9
  type MutableRefObject,
10
10
  } from 'react'
11
+ import { getThemeScheme as getScheme } from '@tamagui/helpers'
11
12
  import { getConfig, getSetting } from '../config'
12
13
  import { MISSING_THEME_MESSAGE } from '../constants/constants'
13
14
  import type {
@@ -16,6 +17,7 @@ import type {
16
17
  ThemeState,
17
18
  UseThemeWithStateProps,
18
19
  } from '../types'
20
+ import type { ThemeUpdateState } from '../helpers/themeUpdateState'
19
21
 
20
22
  type ID = string
21
23
 
@@ -27,7 +29,6 @@ const HasRenderedOnce = new WeakMap<object, boolean>()
27
29
  const HadTheme = new WeakMap<object, boolean>()
28
30
  const PendingUpdate = new Map<any, boolean | 'force'>()
29
31
 
30
- // TODO this will gain memory over time but its not going to be a ton
31
32
  const states: Map<ID, ThemeState | undefined> = new Map()
32
33
  const localStates: Map<ID, ThemeState | undefined> = new Map()
33
34
 
@@ -41,9 +42,31 @@ export const forceUpdateThemes = () => {
41
42
 
42
43
  export const getThemeState = (id: ID) => states.get(id)
43
44
 
44
- let cacheVersion = 0
45
+ const themeUpdateLayers = new Map<ID, ThemeUpdateState>()
46
+ const themeProviderParents = new Map<ID, ID>()
47
+
48
+ export const getThemeUpdateLayer = (id: ID) => themeUpdateLayers.get(id)
49
+ export const getThemeProviderParent = (id: ID) => themeProviderParents.get(id)
50
+
51
+ export const getThemeProviderChainSizes = () => ({
52
+ layers: themeUpdateLayers.size,
53
+ parents: themeProviderParents.size,
54
+ })
55
+
56
+ const registerThemeProviderChain = (
57
+ id: ID,
58
+ parentId: ID,
59
+ props: UseThemeWithStateProps
60
+ ) => {
61
+ themeProviderParents.set(id, parentId)
62
+ if (props._themeUpdate) {
63
+ themeUpdateLayers.set(id, props._themeUpdate)
64
+ } else {
65
+ themeUpdateLayers.delete(id)
66
+ }
67
+ }
45
68
 
46
- // cache for getNewThemeName - invalidated on cacheVersion change
69
+ let cacheVersion = 0
47
70
  const themeNameCache = new Map<string, string | null>()
48
71
  let themeNameCacheVer = -1
49
72
 
@@ -52,11 +75,8 @@ let themes: Record<string, ThemeParsed> | null = null
52
75
  let rootThemeState: ThemeState | null = null
53
76
  export const getRootThemeState = () => rootThemeState
54
77
 
55
- // extracts base name without scheme: "light_red_surface1" -> "red_surface1"
56
78
  const getThemeBaseName = (name: string) => name.replace(/^(light|dark)_/, '')
57
79
 
58
- // useReducer-based force-update; cheaper than useSyncExternalStore's internal
59
- // useState+useLayoutEffect+useEffect+useDebugValue chain on Hermes.
60
80
  const incReducer = (c: number): number => c + 1
61
81
 
62
82
  export const useThemeState = (
@@ -64,13 +84,8 @@ export const useThemeState = (
64
84
  isRoot = false,
65
85
  keys: MutableRefObject<Set<string> | null>,
66
86
  schemeKeys?: MutableRefObject<Set<string> | null>,
67
- // when true, install the propsKey-watching useIsomorphicLayoutEffect that
68
- // schedules descendant updates via listenersByParent[id]. Only <Theme>
69
- // providers actually push their themeState.id into ThemeStateContext, so
70
- // only they can have descendants subscribed under their id. Leaf styled
71
- // components pass false (the default) and save one hook slot per mount.
72
- // Stable per call-site (rule of hooks satisfied).
73
- cascadeOnChange = false
87
+ cascadeOnChange = false,
88
+ optimizeForFirstRender = false
74
89
  ): ThemeState => {
75
90
  'use no memo'
76
91
 
@@ -80,9 +95,7 @@ export const useThemeState = (
80
95
  if (!parentId && !isRoot) {
81
96
  throw new Error(
82
97
  process.env.NODE_ENV === 'development'
83
- ? `${MISSING_THEME_MESSAGE}
84
-
85
- Looked for theme${props.name ? ` "${props.name}"` : ''}${props.componentName ? ` (component: ${props.componentName})` : ''}, but no parent theme context was found (parentId: ${parentId}).`
98
+ ? `${MISSING_THEME_MESSAGE}\n\nLooked for theme${props.name ? ` "${props.name}"` : ''}, but no parent theme context was found (parentId: ${parentId}).`
86
99
  : MISSING_THEME_MESSAGE
87
100
  )
88
101
  }
@@ -93,72 +106,53 @@ Looked for theme${props.name ? ` "${props.name}"` : ''}${props.componentName ? `
93
106
  id: '',
94
107
  name: 'light',
95
108
  theme: getConfig().themes.light,
96
- // inverses: 0,
97
109
  }
98
110
  )
99
111
  }
100
112
 
101
- // useId keeps theme-provider ids tied to the React tree. A process-wide
102
- // counter can let children observe a provider context id whose matching
103
- // states Map entry was never populated in multi-root/native surfaces.
104
113
  const id = useId()
105
114
  const propsKey = getPropsKey(props)
106
115
 
107
- // stable ref-bag for render inputs and the optional subscription cleanup.
108
- // lastSnap caches the last getSnapshot result for the subscription bailout.
109
- const ref = useRef<ThemeStateRef>(null as any)
110
- if (!ref.current) {
111
- ref.current = {
112
- id,
113
- parentId,
114
- props,
115
- propsKey,
116
- isRoot,
117
- keys,
118
- schemeKeys,
119
- renderVersion: 0,
120
- }
121
- } else {
122
- // refresh latest values for the stable closures to read
123
- ref.current.props = props
124
- ref.current.propsKey = propsKey
125
- ref.current.isRoot = isRoot
126
- ref.current.keys = keys
127
- ref.current.schemeKeys = schemeKeys
128
- ref.current.parentId = parentId
116
+ if (cascadeOnChange) {
117
+ registerThemeProviderChain(id, parentId, props)
129
118
  }
130
- ref.current.renderVersion++
131
119
 
132
- if (process.env.NODE_ENV === 'development' && globalThis.time)
133
- globalThis.time`theme-prep-uses`
120
+ const ref = useRef<ThemeStateRef>(null as any)
121
+ const r = (ref.current ||= {
122
+ id,
123
+ parentId,
124
+ props,
125
+ propsKey,
126
+ isRoot,
127
+ keys,
128
+ schemeKeys,
129
+ optimizeForFirstRender,
130
+ renderVersion: 0,
131
+ })
132
+ r.props = props
133
+ r.propsKey = propsKey
134
+ r.isRoot = isRoot
135
+ r.keys = keys
136
+ r.schemeKeys = schemeKeys
137
+ r.parentId = parentId
138
+ r.renderVersion++
134
139
 
135
- // manual subscription replaces useSyncExternalStore: same granular bailout
136
- // (getSnapshot returning the same ref → React doesn't re-render), fewer
137
- // React-internal hook slots on Hermes. We don't need tearing prevention
138
- // here: theme/media updates are event-driven, not transition-driven, and
139
- // useReducer in normal mode already gives same-tick batching.
140
140
  const [, forceUpdate] = useReducer(incReducer, 0)
141
- const state = getSnapshotImpl(ref.current)
142
- ref.current.lastSnap = state
141
+ const state = getSnapshotImpl(r)
142
+ r.lastSnap = state
143
143
 
144
144
  useEffect(() => {
145
- const r = ref.current
146
145
  const renderVersion = r.renderVersion
147
146
 
148
- // strict-mode dev double-invokes effects: cleanup runs between the two
149
- // invocations with no render in between, so the "unchanged renderVersion
150
- // means unmount" check below false-positives and deletes this component's
151
- // registered theme state mid-lifecycle. the registry is only re-populated
152
- // on this component's next render, so until then children resolve a
153
- // missing parent and fall back to the root theme state (isNew: true) —
154
- // which flips getThemedChildren to wrap and re-parents/remounts their
155
- // hosts, losing focus (keyboard dismiss on first Input tap). per react's
156
- // strict-mode contract, setup restores whatever cleanup tore down.
157
147
  if (r.lastSnap && !states.has(r.id)) {
158
148
  states.set(r.id, r.lastSnap)
159
149
  localStates.set(r.id, r.lastSnap)
160
150
  }
161
151
 
152
+ if (cascadeOnChange && !themeProviderParents.has(r.id)) {
153
+ registerThemeProviderChain(r.id, r.parentId, r.props)
154
+ }
155
+
162
156
  if (r.unsubscribe && r.subscribedParentId !== r.parentId) {
163
157
  cleanupThemeSubscription(r)
164
158
  }
@@ -167,19 +161,22 @@ Looked for theme${props.name ? ` "${props.name}"` : ''}${props.componentName ? `
167
161
  if (!r.unsubscribe) {
168
162
  const pid = r.parentId
169
163
  const sid = r.id
170
- const cb = () => {
164
+ const cb = (forced?: boolean) => {
171
165
  const next = getSnapshotImpl(r)
172
166
  if (next !== r.lastSnap) {
173
167
  r.lastSnap = next
168
+ if (!forced && r.props.nativeUpdate?.(next)) {
169
+ return
170
+ }
174
171
  forceUpdate()
175
172
  }
176
173
  }
177
174
 
178
- listenersByParent[pid] = listenersByParent[pid] || new Set()
179
- listenersByParent[pid].add(sid)
175
+ ;(listenersByParent[pid] ||= new Set()).add(sid)
180
176
  allListeners.set(sid, () => {
181
- PendingUpdate.set(sid, shouldForce ? 'force' : true)
182
- cb()
177
+ const forced = shouldForce
178
+ PendingUpdate.set(sid, forced ? 'force' : true)
179
+ cb(forced)
183
180
  })
184
181
  r.subscribedParentId = pid
185
182
  r.unsubscribe = () => {
@@ -197,9 +194,6 @@ Looked for theme${props.name ? ` "${props.name}"` : ''}${props.componentName ? `
197
194
  }
198
195
 
199
196
  return () => {
200
- // react runs passive cleanup before the next effect as well as on unmount.
201
- // a newer render bumps renderVersion before that cleanup, so equality here
202
- // means this is the final unmount cleanup.
203
197
  if (r.renderVersion === renderVersion) {
204
198
  cleanupThemeState(r)
205
199
  }
@@ -215,15 +209,11 @@ Looked for theme${props.name ? ` "${props.name}"` : ''}${props.componentName ? `
215
209
  }
216
210
  if (!propsKey) {
217
211
  if (HadTheme.get(keys)) {
218
- // we're removing the last theme, make sure to notify
219
212
  scheduleUpdate(id)
220
213
  }
221
214
  HadTheme.set(keys, false)
222
215
  return
223
216
  }
224
- if (process.env.NODE_ENV === 'development' && props.debug === 'verbose') {
225
- console.warn(` · useTheme(${id}) scheduleUpdate`, propsKey, states.get(id)?.name)
226
- }
227
217
  scheduleUpdate(id)
228
218
  HadTheme.set(keys, true)
229
219
  }, [keys, propsKey])
@@ -240,6 +230,7 @@ type SnapshotRef = {
240
230
  isRoot: boolean
241
231
  keys: MutableRefObject<Set<string> | null>
242
232
  schemeKeys?: MutableRefObject<Set<string> | null>
233
+ optimizeForFirstRender: boolean
243
234
  }
244
235
 
245
236
  type ThemeStateRef = SnapshotRef & {
@@ -250,11 +241,14 @@ type ThemeStateRef = SnapshotRef & {
250
241
  }
251
242
 
252
243
  const shouldSubscribeToTheme = (r: ThemeStateRef, cascadeOnChange: boolean): boolean =>
253
- r.isRoot ||
254
- cascadeOnChange ||
255
- hasThemeUpdatingProps(r.props) ||
256
- !!r.keys.current?.size ||
257
- !!r.props.needsUpdate?.()
244
+ Boolean(
245
+ r.optimizeForFirstRender ||
246
+ r.isRoot ||
247
+ cascadeOnChange ||
248
+ hasThemeUpdatingProps(r.props) ||
249
+ r.keys.current?.size ||
250
+ r.props.needsUpdate?.()
251
+ )
258
252
 
259
253
  function cleanupThemeSubscription(r: ThemeStateRef) {
260
254
  r.unsubscribe?.()
@@ -268,26 +262,37 @@ function cleanupThemeState(r: ThemeStateRef) {
268
262
  states.delete(r.id)
269
263
  PendingUpdate.delete(r.id)
270
264
  }
265
+ themeUpdateLayers.delete(r.id)
266
+ themeProviderParents.delete(r.id)
271
267
  }
272
268
 
273
269
  const getSnapshotImpl = (r: SnapshotRef): ThemeState => {
274
- const { id, parentId, props, propsKey, isRoot, keys, schemeKeys } = r
270
+ const {
271
+ id,
272
+ parentId,
273
+ props,
274
+ propsKey,
275
+ isRoot,
276
+ keys,
277
+ schemeKeys,
278
+ optimizeForFirstRender,
279
+ } = r
275
280
  let local = localStates.get(id)
276
281
  const parentState = states.get(parentId)
277
282
 
278
- // fast path: nothing changed since last snapshot
279
283
  if (local && !PendingUpdate.has(id)) {
280
284
  if (
281
285
  parentState &&
282
286
  (local as any)._parentName === parentState.name &&
287
+ (local as any)._parentSchemeAuthored === parentState.schemeAuthored &&
283
288
  (local as any)._propsKey === propsKey
284
289
  ) {
285
290
  return local
286
291
  }
287
292
  }
288
293
 
289
- // check if this is a scheme-only change (light↔dark) where DynamicColorIOS handles it
290
294
  const isSchemeOnlyChange =
295
+ !optimizeForFirstRender &&
291
296
  process.env.TAMAGUI_TARGET === 'native' &&
292
297
  supportsDynamicColorIOS &&
293
298
  getSetting('fastSchemeChange') &&
@@ -296,26 +301,27 @@ const getSnapshotImpl = (r: SnapshotRef): ThemeState => {
296
301
  local.scheme !== parentState.scheme &&
297
302
  getThemeBaseName(local.name) === getThemeBaseName(parentState.name)
298
303
 
299
- // all tracked keys are scheme-optimized = can skip re-render for scheme changes
300
- const keysSize = keys?.current?.size ?? 0
301
- const schemeKeysSize = schemeKeys?.current?.size ?? 0
302
- const allKeysSchemeOptimized = schemeKeysSize === keysSize && keysSize > 0
304
+ const allKeysSchemeOptimized =
305
+ !optimizeForFirstRender &&
306
+ Boolean(keys.current?.size && schemeKeys?.current?.size === keys.current.size)
303
307
 
304
- const canSkipForSchemeChange = isSchemeOnlyChange && allKeysSchemeOptimized
308
+ const canSkipForSchemeChange = Boolean(isSchemeOnlyChange && allKeysSchemeOptimized)
305
309
 
306
310
  const needsUpdate = props.passThrough
307
311
  ? false
308
- : isRoot || props.name === 'light' || props.name === 'dark' || props.name === null
312
+ : optimizeForFirstRender
309
313
  ? true
310
- : !HasRenderedOnce.get(keys)
314
+ : isRoot || props.name === 'light' || props.name === 'dark' || props.name === null
311
315
  ? true
312
- : canSkipForSchemeChange
313
- ? false // skip re-render for scheme-only changes with DynamicColorIOS
314
- : keys?.current?.size
315
- ? true
316
- : props.needsUpdate?.()
317
-
318
- const [rerender, next] = getNextState(
316
+ : !HasRenderedOnce.get(keys)
317
+ ? true
318
+ : canSkipForSchemeChange
319
+ ? false
320
+ : keys?.current?.size
321
+ ? true
322
+ : props.needsUpdate?.()
323
+
324
+ const [rerender, nextRaw] = getNextState(
319
325
  local,
320
326
  props,
321
327
  propsKey,
@@ -326,39 +332,29 @@ const getSnapshotImpl = (r: SnapshotRef): ThemeState => {
326
332
  PendingUpdate.get(id)
327
333
  )
328
334
 
335
+ let next = nextRaw
336
+ if (props._themeUpdate && nextRaw?.theme) {
337
+ const parentTheme = states.get(parentId)?.theme || nextRaw.theme
338
+ const merged = props._themeUpdate.getTheme(parentTheme, nextRaw.name, getConfig())
339
+ if (merged !== nextRaw.theme) {
340
+ next = { ...nextRaw, theme: merged as ThemeParsed }
341
+ }
342
+ }
343
+
329
344
  PendingUpdate.delete(id)
330
345
 
331
- // we always create a new localState for every component
332
- // that way we can use it to de-opt and avoid renders granularly
333
- // we always return the localState object in each component
334
- // the global state (states) should always be up to date with the latest
335
346
  if (!local || rerender) {
336
347
  local = { ...next }
337
348
  localStates.set(id, local)
338
349
  }
339
350
 
340
- if (process.env.NODE_ENV === 'development' && props.debug === 'verbose') {
341
- console.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, '>', next.name)
342
- console.info({
343
- props,
344
- propsKey,
345
- isRoot,
346
- parentId,
347
- local,
348
- next,
349
- needsUpdate,
350
- isSchemeOnlyChange,
351
- allKeysSchemeOptimized,
352
- canSkipForSchemeChange,
353
- })
354
- console.groupEnd()
355
- }
356
-
357
351
  if (next !== local) {
358
352
  Object.assign(local, next)
359
353
  local.id = id
360
354
  }
361
355
  ;(local as any)._parentName = parentState?.name
356
+ // scheme intent can change while the resolved name stays the same.
357
+ ;(local as any)._parentSchemeAuthored = parentState?.schemeAuthored
362
358
  ;(local as any)._propsKey = propsKey
363
359
  states.set(id, next)
364
360
 
@@ -375,59 +371,55 @@ const getNextState = (
375
371
  needsUpdate: boolean | undefined,
376
372
  pendingUpdate: boolean | 'force' | undefined
377
373
  ): [boolean, ThemeState] => {
378
- const { debug } = props
379
374
  const parentState = states.get(parentId)
380
375
 
381
376
  if (props.passThrough) {
382
377
  return [false, lastState || parentState || ({ name: '' } as any)]
383
378
  }
384
379
 
385
- if (!themes) {
386
- themes = getConfig().themes
387
- }
380
+ themes ||= getConfig().themes
388
381
 
389
382
  const name =
390
- !propsKey && (!lastState || !lastState?.isNew)
383
+ !propsKey && (!lastState || !lastState.isNew)
391
384
  ? null
392
385
  : getNewThemeName(
393
386
  parentState?.name,
394
387
  props,
395
388
  pendingUpdate === 'force' ? true : !!needsUpdate
396
389
  )
397
- const isSameAsParent = parentState && (!name || name === parentState.name)
390
+ // explicit schemes pin even when resolution reuses the parent's theme name.
391
+ const authoredName = props.name
392
+ const parentSchemeAuthored = !!parentState?.schemeAuthored
393
+ const schemeAuthored = isRoot
394
+ ? !!props.forceClassName
395
+ : parentSchemeAuthored ||
396
+ !!(authoredName && getScheme(authoredName) && authoredName in themes)
397
+ const intentChanged = schemeAuthored !== parentSchemeAuthored
398
+ const resolvedName = name || parentState?.name
399
+ const sameAsLast =
400
+ lastState &&
401
+ lastState.name === resolvedName &&
402
+ !!lastState.schemeAuthored === schemeAuthored
403
+
404
+ const isSameAsParent = Boolean(
405
+ parentState && resolvedName === parentState.name && !intentChanged
406
+ )
398
407
  const shouldRerender = Boolean(
399
408
  pendingUpdate === 'force' ||
400
- (needsUpdate && (pendingUpdate || lastState?.name !== parentState?.name))
409
+ (needsUpdate &&
410
+ (pendingUpdate ||
411
+ lastState?.name !== parentState?.name ||
412
+ !!lastState?.schemeAuthored !== schemeAuthored))
401
413
  )
402
414
 
403
- if (process.env.NODE_ENV === 'development' && debug === 'verbose') {
404
- const message = ` · useTheme(${id}) getNextState => ${name} needsUpdate ${needsUpdate} shouldRerender ${shouldRerender}`
405
- if (process.env.TAMAGUI_TARGET === 'native') {
406
- console.info(message)
407
- } else {
408
- console.groupCollapsed(message)
409
- console.trace({ name, lastState, parentState, props, propsKey, id, isSameAsParent })
410
- console.groupEnd()
411
- }
412
- }
413
-
414
415
  if (isSameAsParent) {
415
- if (!shouldRerender && lastState && lastState.name === parentState!.name) {
416
+ if (!shouldRerender && sameAsLast) {
416
417
  return [false, lastState]
417
418
  }
418
- return [shouldRerender, { ...parentState, isNew: false }]
419
+ return [shouldRerender, { ...parentState!, isNew: false }]
419
420
  }
420
421
 
421
- if (!name) {
422
- // parentState can be transiently missing when a consumer renders in a
423
- // separate sync flush (a portal/Toast viewport, or a native multi-root
424
- // surface) before its provider has populated the module-level `states` map.
425
- // that's recoverable — the next render resolves it — so fall back to the
426
- // root theme (or a light stub) instead of throwing. the "no parent context"
427
- // throw above still catches a genuinely missing provider. going back to
428
- // useSyncExternalStore would avoid the race but force every themed node out
429
- // of concurrent rendering, so we keep the manual store and tolerate the
430
- // ordering here.
422
+ if (!resolvedName) {
431
423
  const next = lastState ??
432
424
  parentState ??
433
425
  rootThemeState ?? {
@@ -437,62 +429,36 @@ const getNextState = (
437
429
  }
438
430
 
439
431
  if (shouldRerender) {
440
- const updated = { ...(parentState || lastState || next)! }
441
- return [true, updated]
432
+ return [true, { ...(parentState || lastState || next) }]
442
433
  }
443
434
 
444
435
  return [false, next]
445
436
  }
446
437
 
447
- const scheme = getScheme(name)
438
+ // a same-name pin still introduces its own scope.
439
+ const scheme = getScheme(resolvedName)
448
440
  const parentInverses = parentState?.inverses ?? 0
449
- const isInverse = parentState && scheme !== parentState.scheme
450
- // cumulative from the root: once any level flips scheme, every descendant is
451
- // considered inverted vs the OS, even sub-themes that match their immediate
452
- // parent (dark_blue under dark). gates the DynamicColorIOS optimization below.
441
+ const isInverse = Boolean(parentState && scheme !== parentState.scheme)
453
442
  const inverses = parentInverses + (isInverse ? 1 : 0)
454
443
 
455
- const nextState = {
444
+ const nextState: ThemeState = {
456
445
  id,
457
- name,
458
- theme: themes[name],
446
+ name: resolvedName,
447
+ theme: themes[resolvedName],
459
448
  scheme,
460
449
  parentId,
461
450
  parentName: parentState?.name,
462
451
  inverses,
463
452
  isInverse,
453
+ schemeAuthored,
464
454
  isNew: true,
465
- } satisfies ThemeState
455
+ }
466
456
 
467
457
  if (isRoot) {
468
458
  rootThemeState = nextState
469
459
  }
470
460
 
471
- if (pendingUpdate !== 'force' && lastState && lastState.name === name) {
472
- return [false, nextState]
473
- }
474
-
475
- const shouldAvoidRerender =
476
- pendingUpdate !== 'force' &&
477
- lastState &&
478
- !needsUpdate &&
479
- nextState.name === lastState.name
480
-
481
- if (process.env.NODE_ENV === 'development' && debug === 'verbose') {
482
- console.groupCollapsed(
483
- ` · useTheme(${id}) ⏭️ ${name} shouldAvoidRerender: ${shouldAvoidRerender}`
484
- )
485
- console.info({ lastState, needsUpdate, nextState, pendingUpdate })
486
- console.groupEnd()
487
- }
488
-
489
- // we still update the state (not changing identity), that way children can properly resolve the right state
490
- // but this one wont trigger an update
491
- if (shouldAvoidRerender) {
492
- return [false, nextState]
493
- }
494
-
495
- return [true, nextState]
461
+ return [pendingUpdate === 'force' || !sameAsLast, nextState]
496
462
  }
497
463
 
498
464
  function scheduleUpdate(id: string) {
@@ -513,38 +479,18 @@ function scheduleUpdate(id: string) {
513
479
  }
514
480
 
515
481
  visited.forEach((childId) => {
516
- const cb = allListeners.get(childId)
517
- cb?.()
482
+ allListeners.get(childId)?.()
518
483
  })
519
484
  }
520
485
 
521
- const validSchemes = {
522
- light: 'light',
523
- dark: 'dark',
524
- } as const
525
-
526
- function getScheme(name: string) {
527
- return validSchemes[name.split('_')[0]]
528
- }
529
-
530
- function getNewThemeName(
486
+ export function getNewThemeName(
531
487
  parentName = '',
532
488
  props: UseThemeWithStateProps,
533
489
  forceUpdate = false
534
490
  ): string | null {
535
- const { name, reset } = props
536
- const componentName = props.unstyled ? undefined : props.componentName
491
+ const { name } = props
537
492
 
538
- if (name && reset) {
539
- throw new Error(
540
- process.env.NODE_ENV === 'production'
541
- ? `❌004`
542
- : 'Cannot reset and set a new name at the same time.'
543
- )
544
- }
545
-
546
- // check cache
547
- const cacheKey = `${parentName}|${name || ''}|${componentName || ''}|${reset ? 1 : 0}|${forceUpdate ? 1 : 0}`
493
+ const cacheKey = `${parentName}|${name || ''}|${forceUpdate ? 1 : 0}`
548
494
  if (themeNameCacheVer !== cacheVersion) {
549
495
  themeNameCache.clear()
550
496
  themeNameCacheVer = cacheVersion
@@ -553,149 +499,56 @@ function getNewThemeName(
553
499
  if (cached !== undefined) return cached
554
500
  }
555
501
 
556
- const { themes } = getConfig()
557
-
558
- if (reset) {
559
- // For reset, we need to go back to the grandparent theme
560
- // If parentName is just a scheme (like "dark" or "light"),
561
- // we should return the opposite scheme or a default
562
- const isSchemeOnly = parentName === 'light' || parentName === 'dark'
563
- if (isSchemeOnly) {
564
- // If parent is just a scheme, go to the opposite scheme
565
- const result = parentName === 'light' ? 'dark' : 'light'
566
- themeNameCache.set(cacheKey, result)
567
- return result
568
- }
569
-
570
- // For compound themes like "dark_blue", extract the scheme
571
- const lastPartIndex = parentName.lastIndexOf('_')
572
- // parentName will have format light_{name} or dark_{name}
573
- const name = lastPartIndex <= 0 ? parentName : parentName.slice(lastPartIndex)
574
- const scheme = parentName.slice(0, lastPartIndex)
575
- const result = themes[name] ? name : scheme
576
- themeNameCache.set(cacheKey, result)
577
- return result
578
- }
579
-
580
- const parentParts = parentName.split('_')
581
-
582
- // always remove component theme if it exists, we never sub a component theme
583
- const lastName = parentParts[parentParts.length - 1]
584
- if (lastName && lastName[0].toLowerCase() !== lastName[0]) {
585
- parentParts.pop()
502
+ const result = resolveThemeName(
503
+ parentName,
504
+ name ?? undefined,
505
+ getConfig().themes,
506
+ forceUpdate
507
+ )
508
+ if (themeNameCache.size >= 10_000) {
509
+ themeNameCache.clear()
586
510
  }
511
+ themeNameCache.set(cacheKey, result)
512
+ return result
513
+ }
587
514
 
588
- const subNames = [
589
- name && componentName ? `${name}_${componentName}` : undefined,
590
- name,
591
- componentName,
592
- ].filter(Boolean) as string[]
515
+ export const getThemeNameCacheSize = () => themeNameCache.size
593
516
 
517
+ export function resolveThemeName(
518
+ parentName: string,
519
+ name: string | undefined,
520
+ themes: Record<string, any>,
521
+ forceUpdate = false
522
+ ): string | null {
523
+ const parentParts = parentName ? parentName.split('_') : []
594
524
  let found: string | null = null
595
525
 
596
- // If name is provided, try it as a standalone theme first (both with and without scheme)
597
- // This allows explicit theme overrides like:
598
- // - <Theme name="blue"><Button theme="dark_green"> → finds "dark_green_Button"
599
- // - <Theme name="blue"><Button theme="green"> → finds "light_green_Button"
600
- // - <Theme name="blue"><Button theme="green_active"> → finds "light_green_active_Button"
601
526
  if (name) {
602
- // First try the exact name as-is, but only if it already has a scheme prefix
603
- // This prevents "green" from matching before we try "light_green_Button"
604
527
  const nameHasScheme = getScheme(name)
605
-
606
- if (nameHasScheme) {
607
- // Name has scheme (like "dark_green"), try as-is with priority to component theme
608
- for (const subName of subNames) {
609
- if (subName in themes) {
610
- found = subName
611
- break
612
- }
613
- }
528
+ if (nameHasScheme && name in themes) {
529
+ found = name
614
530
  }
615
-
616
- // If not found and name doesn't have a scheme, try adding parent's scheme
617
531
  if (!found && !nameHasScheme) {
618
- const parentScheme = getScheme(parentName)
619
-
620
- if (parentScheme) {
621
- // Try progressively shorter parent bases to preserve color context
622
- // For parent "light_blue_surface1" + name "surface3":
623
- // Try: light_blue_surface1_surface3, light_blue_surface3, light_surface3
624
- // This ensures color context (blue) is preserved before falling back to scheme-only
625
-
626
- // Build list of potential bases from most specific to least specific
627
- const potentialBases: string[] = []
628
- for (let i = parentParts.length; i >= 1; i--) {
629
- potentialBases.push(parentParts.slice(0, i).join('_'))
630
- }
631
-
632
- outer: for (const base of potentialBases) {
633
- // Try with componentName first, then without
634
- const candidates = [
635
- componentName ? `${base}_${name}_${componentName}` : undefined,
636
- `${base}_${name}`,
637
- ].filter(Boolean) as string[]
638
-
639
- for (const potential of candidates) {
640
- if (potential in themes) {
641
- found = potential
642
- break outer
643
- }
644
- }
645
- }
646
- }
647
- }
648
- }
649
-
650
- // If not found, fall back to the original search algorithm combining with parent
651
- if (!found) {
652
- // If we're only adding componentName (no explicit name prop), don't backtrack through parent parts
653
- // This preserves sub-themes like "light_red_surface1" when adding Button component
654
- if (!name && componentName) {
655
- // Just try adding component to full parent
656
- const potential = `${parentParts.join('_')}_${componentName}`
657
- if (potential in themes) {
658
- found = potential
659
- }
660
- // If not found, don't add component theme - return null to keep parent theme
661
- } else {
662
- // Original backtracking search for when explicit name is provided
663
- const max = parentParts.length
664
-
665
- for (let i = 0; i <= max; i++) {
666
- const base = (i === 0 ? parentParts : parentParts.slice(0, -i)).join('_')
667
-
668
- for (const subName of subNames) {
669
- const potential = base ? `${base}_${subName}` : subName
670
-
671
- if (potential in themes) {
672
- found = potential
673
- break
674
- }
532
+ for (let i = parentParts.length; i >= 0; i--) {
533
+ const base = parentParts.slice(0, i).join('_')
534
+ const potential = base ? `${base}_${name}` : name
535
+ if (potential in themes) {
536
+ found = potential
537
+ break
675
538
  }
676
-
677
- if (found) break
678
539
  }
679
540
  }
680
541
  }
681
542
 
682
- if (
683
- !forceUpdate &&
684
- found === parentName &&
685
- // if its a scheme only sub-theme, we always consider it "new" because it likely inverses
686
- // and we want to avoid reparenting
687
- !validSchemes[found]
688
- ) {
689
- themeNameCache.set(cacheKey, null)
543
+ if (!forceUpdate && found === parentName && found !== 'light' && found !== 'dark') {
690
544
  return null
691
545
  }
692
546
 
693
- themeNameCache.set(cacheKey, found)
694
547
  return found
695
548
  }
696
549
 
697
- const getPropsKey = ({ name, reset, forceClassName, componentName }: ThemeProps) =>
698
- `${name || ''}${reset || ''}${forceClassName || ''}${componentName || ''}`
550
+ const getPropsKey = ({ name, forceClassName, _themeUpdate }: UseThemeWithStateProps) =>
551
+ `${name || ''}${forceClassName || ''}${_themeUpdate?.key || ''}`
699
552
 
700
- export const hasThemeUpdatingProps = (props: ThemeProps) =>
701
- 'name' in props || 'reset' in props || 'forceClassName' in props
553
+ export const hasThemeUpdatingProps = (props: UseThemeWithStateProps) =>
554
+ 'name' in props || 'forceClassName' in props || '_themeUpdate' in props