@tamagui/web 3.0.0-beta.924.1 → 3.0.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 (636) hide show
  1. package/dist/cjs/_withNativeStyle.cjs +3 -0
  2. package/dist/cjs/_withNativeStyle.native.cjs +3 -0
  3. package/dist/cjs/_withNativeStyle.native.js +3 -0
  4. package/dist/cjs/_withNativeStyle.native.js.map +1 -1
  5. package/dist/cjs/_withStableStyle.native.cjs +1 -5
  6. package/dist/cjs/_withStableStyle.native.js +1 -5
  7. package/dist/cjs/_withStableStyle.native.js.map +1 -1
  8. package/dist/cjs/config.cjs +6 -3
  9. package/dist/cjs/config.native.cjs +7 -5
  10. package/dist/cjs/config.native.js +7 -5
  11. package/dist/cjs/config.native.js.map +1 -1
  12. package/dist/cjs/contexts/ComponentContext.cjs +1 -0
  13. package/dist/cjs/contexts/ComponentContext.native.cjs +8 -0
  14. package/dist/cjs/contexts/ComponentContext.native.js +8 -0
  15. package/dist/cjs/contexts/ComponentContext.native.js.map +1 -1
  16. package/dist/cjs/createComponent.cjs +46 -32
  17. package/dist/cjs/createComponent.native.cjs +92 -72
  18. package/dist/cjs/createComponent.native.js +92 -72
  19. package/dist/cjs/createComponent.native.js.map +1 -1
  20. package/dist/cjs/createTamagui.cjs +32 -14
  21. package/dist/cjs/createTamagui.native.cjs +33 -19
  22. package/dist/cjs/createTamagui.native.js +33 -19
  23. package/dist/cjs/createTamagui.native.js.map +1 -1
  24. package/dist/cjs/createTokens.native.cjs +1 -5
  25. package/dist/cjs/createTokens.native.js +1 -5
  26. package/dist/cjs/createTokens.native.js.map +1 -1
  27. package/dist/cjs/createVariable.native.cjs +1 -5
  28. package/dist/cjs/createVariable.native.js +1 -5
  29. package/dist/cjs/createVariable.native.js.map +1 -1
  30. package/dist/cjs/createVariables.native.cjs +2 -6
  31. package/dist/cjs/createVariables.native.js +2 -6
  32. package/dist/cjs/createVariables.native.js.map +1 -1
  33. package/dist/cjs/dom/html.cjs +87 -329
  34. package/dist/cjs/dom/html.native.cjs +53 -2
  35. package/dist/cjs/dom/html.native.js +53 -2
  36. package/dist/cjs/dom/html.native.js.map +1 -1
  37. package/dist/cjs/{helpers/timer.native.js → dom/htmlReset.cjs} +6 -12
  38. package/dist/cjs/{helpers/timer.native.cjs → dom/htmlReset.native.cjs} +6 -8
  39. package/dist/cjs/dom/htmlReset.native.js +30 -0
  40. package/dist/cjs/dom/htmlReset.native.js.map +1 -0
  41. package/dist/cjs/dom/htmlRuntime.native.cjs +4 -0
  42. package/dist/cjs/dom/htmlRuntime.native.js +4 -0
  43. package/dist/cjs/dom/htmlRuntime.native.js.map +1 -1
  44. package/dist/cjs/dom/htmlStaticConfig.cjs +44 -0
  45. package/dist/cjs/dom/htmlStaticConfig.native.cjs +46 -0
  46. package/dist/cjs/dom/htmlStaticConfig.native.js +48 -0
  47. package/dist/cjs/dom/htmlStaticConfig.native.js.map +1 -0
  48. package/dist/cjs/dom/primitives.native.cjs +81 -34
  49. package/dist/cjs/dom/primitives.native.js +81 -34
  50. package/dist/cjs/dom/primitives.native.js.map +1 -1
  51. package/dist/cjs/eventHandling.cjs +10 -4
  52. package/dist/cjs/eventHandling.native.cjs +52 -16
  53. package/dist/cjs/eventHandling.native.js +52 -16
  54. package/dist/cjs/eventHandling.native.js.map +1 -1
  55. package/dist/cjs/helpers/NativeTextBinding.cjs +36 -0
  56. package/dist/cjs/helpers/NativeTextBinding.native.cjs +39 -0
  57. package/dist/cjs/helpers/NativeTextBinding.native.js +41 -0
  58. package/dist/cjs/helpers/NativeTextBinding.native.js.map +1 -0
  59. package/dist/cjs/helpers/configVariables.native.cjs +2 -6
  60. package/dist/cjs/helpers/configVariables.native.js +2 -6
  61. package/dist/cjs/helpers/configVariables.native.js.map +1 -1
  62. package/dist/cjs/helpers/createDesignSystem.cjs +14 -10
  63. package/dist/cjs/helpers/createDesignSystem.native.cjs +5 -4
  64. package/dist/cjs/helpers/createDesignSystem.native.js +5 -4
  65. package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
  66. package/dist/cjs/helpers/createStyledContext.native.cjs +1 -5
  67. package/dist/cjs/helpers/createStyledContext.native.js +1 -5
  68. package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
  69. package/dist/cjs/helpers/expandStyle.cjs +45 -1
  70. package/dist/cjs/helpers/expandStyle.native.cjs +38 -2
  71. package/dist/cjs/helpers/expandStyle.native.js +38 -2
  72. package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
  73. package/dist/cjs/helpers/expandStyles.cjs +15 -3
  74. package/dist/cjs/helpers/expandStyles.native.cjs +14 -8
  75. package/dist/cjs/helpers/expandStyles.native.js +14 -8
  76. package/dist/cjs/helpers/expandStyles.native.js.map +1 -1
  77. package/dist/cjs/helpers/fluid.cjs +56 -0
  78. package/dist/cjs/helpers/fluid.native.cjs +58 -0
  79. package/dist/cjs/helpers/fluid.native.js +60 -0
  80. package/dist/cjs/helpers/fluid.native.js.map +1 -0
  81. package/dist/cjs/helpers/formatDiagnostic.native.cjs +2 -6
  82. package/dist/cjs/helpers/formatDiagnostic.native.js +2 -6
  83. package/dist/cjs/helpers/formatDiagnostic.native.js.map +1 -1
  84. package/dist/cjs/helpers/getCSSStylesAtomic.cjs +6 -6
  85. package/dist/cjs/helpers/getSplitStyles.cjs +366 -150
  86. package/dist/cjs/helpers/getSplitStyles.native.cjs +584 -184
  87. package/dist/cjs/helpers/getSplitStyles.native.js +584 -184
  88. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  89. package/dist/cjs/helpers/getThemeCSSRules.cjs +37 -25
  90. package/dist/cjs/helpers/grammarConfig.cjs +6 -14
  91. package/dist/cjs/helpers/grammarConfig.native.cjs +32 -22
  92. package/dist/cjs/helpers/grammarConfig.native.js +32 -22
  93. package/dist/cjs/helpers/grammarConfig.native.js.map +1 -1
  94. package/dist/cjs/helpers/insertStyleRule.cjs +11 -4
  95. package/dist/cjs/helpers/insertStyleRule.native.cjs +8 -11
  96. package/dist/cjs/helpers/insertStyleRule.native.js +8 -11
  97. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  98. package/dist/cjs/helpers/isObj.native.cjs +1 -5
  99. package/dist/cjs/helpers/isObj.native.js +1 -5
  100. package/dist/cjs/helpers/isObj.native.js.map +1 -1
  101. package/dist/cjs/helpers/mainThreadPressEvents.native.cjs +48 -100
  102. package/dist/cjs/helpers/mainThreadPressEvents.native.js +48 -100
  103. package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
  104. package/dist/cjs/helpers/mergeProps.cjs +18 -21
  105. package/dist/cjs/helpers/mergeProps.native.cjs +20 -23
  106. package/dist/cjs/helpers/mergeProps.native.js +20 -23
  107. package/dist/cjs/helpers/mergeProps.native.js.map +1 -1
  108. package/dist/cjs/helpers/nativeOnlyProps.cjs +0 -1
  109. package/dist/cjs/helpers/nativeOnlyProps.native.cjs +0 -1
  110. package/dist/cjs/helpers/nativeOnlyProps.native.js +0 -1
  111. package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
  112. package/dist/cjs/helpers/nativeTextMetrics.cjs +74 -0
  113. package/dist/cjs/helpers/nativeTextMetrics.native.cjs +77 -0
  114. package/dist/cjs/helpers/nativeTextMetrics.native.js +79 -0
  115. package/dist/cjs/helpers/nativeTextMetrics.native.js.map +1 -0
  116. package/dist/cjs/helpers/normalizeColor.native.cjs +17 -2
  117. package/dist/cjs/helpers/normalizeColor.native.js +17 -2
  118. package/dist/cjs/helpers/normalizeColor.native.js.map +1 -1
  119. package/dist/cjs/helpers/normalizeValueWithProperty.cjs +2 -1
  120. package/dist/cjs/helpers/normalizeValueWithProperty.native.cjs +3 -6
  121. package/dist/cjs/helpers/normalizeValueWithProperty.native.js +3 -6
  122. package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
  123. package/dist/cjs/helpers/objectIdentityKey.native.cjs +1 -5
  124. package/dist/cjs/helpers/objectIdentityKey.native.js +1 -5
  125. package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -1
  126. package/dist/cjs/helpers/parseNativeStyle.cjs +187 -0
  127. package/dist/cjs/helpers/parseNativeStyle.native.cjs +6 -4
  128. package/dist/cjs/helpers/parseNativeStyle.native.js +6 -4
  129. package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -1
  130. package/dist/cjs/helpers/proxyThemeToParents.cjs +9 -2
  131. package/dist/cjs/helpers/proxyThemeToParents.native.cjs +28 -2
  132. package/dist/cjs/helpers/proxyThemeToParents.native.js +28 -2
  133. package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -1
  134. package/dist/cjs/helpers/resolveAnimationDriver.native.cjs +1 -5
  135. package/dist/cjs/helpers/resolveAnimationDriver.native.js +1 -5
  136. package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -1
  137. package/dist/cjs/helpers/{timer.cjs → resolveNativeUnits.cjs} +12 -8
  138. package/dist/cjs/helpers/resolveNativeUnits.native.cjs +205 -0
  139. package/dist/cjs/helpers/resolveNativeUnits.native.js +207 -0
  140. package/dist/cjs/helpers/resolveNativeUnits.native.js.map +1 -0
  141. package/dist/cjs/helpers/resolveRem.native.cjs +18 -21
  142. package/dist/cjs/helpers/resolveRem.native.js +18 -21
  143. package/dist/cjs/helpers/resolveRem.native.js.map +1 -1
  144. package/dist/cjs/helpers/resolveSizing.cjs +124 -0
  145. package/dist/cjs/helpers/resolveSizing.native.cjs +133 -0
  146. package/dist/cjs/helpers/resolveSizing.native.js +135 -0
  147. package/dist/cjs/helpers/resolveSizing.native.js.map +1 -0
  148. package/dist/cjs/helpers/resolveVariableValue.cjs +7 -7
  149. package/dist/cjs/helpers/resolveVariableValue.native.cjs +7 -9
  150. package/dist/cjs/helpers/resolveVariableValue.native.js +7 -9
  151. package/dist/cjs/helpers/resolveVariableValue.native.js.map +1 -1
  152. package/dist/cjs/helpers/resolveVariantStyle.native.cjs +2 -6
  153. package/dist/cjs/helpers/resolveVariantStyle.native.js +2 -6
  154. package/dist/cjs/helpers/resolveVariantStyle.native.js.map +1 -1
  155. package/dist/cjs/helpers/skipProps.cjs +0 -1
  156. package/dist/cjs/helpers/skipProps.native.cjs +0 -1
  157. package/dist/cjs/helpers/skipProps.native.js +0 -1
  158. package/dist/cjs/helpers/skipProps.native.js.map +1 -1
  159. package/dist/cjs/helpers/styleFrontend.cjs +23 -1
  160. package/dist/cjs/helpers/styleFrontend.native.cjs +23 -1
  161. package/dist/cjs/helpers/styleFrontend.native.js +23 -1
  162. package/dist/cjs/helpers/styleFrontend.native.js.map +1 -1
  163. package/dist/cjs/helpers/styleStaticConfigCore.cjs +5 -4
  164. package/dist/cjs/helpers/styleStaticConfigCore.native.cjs +7 -4
  165. package/dist/cjs/helpers/styleStaticConfigCore.native.js +7 -4
  166. package/dist/cjs/helpers/styleStaticConfigCore.native.js.map +1 -1
  167. package/dist/cjs/helpers/styledDynamic.cjs +5 -0
  168. package/dist/cjs/helpers/styledDynamic.native.cjs +8 -7
  169. package/dist/cjs/helpers/styledDynamic.native.js +8 -7
  170. package/dist/cjs/helpers/styledDynamic.native.js.map +1 -1
  171. package/dist/cjs/helpers/subscribeToContextGroup.cjs +16 -7
  172. package/dist/cjs/helpers/subscribeToContextGroup.native.cjs +18 -8
  173. package/dist/cjs/helpers/subscribeToContextGroup.native.js +18 -8
  174. package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
  175. package/dist/cjs/helpers/themeRef.native.cjs +1 -5
  176. package/dist/cjs/helpers/themeRef.native.js +1 -5
  177. package/dist/cjs/helpers/themeRef.native.js.map +1 -1
  178. package/dist/cjs/helpers/themes.cjs +26 -11
  179. package/dist/cjs/helpers/themes.native.cjs +26 -11
  180. package/dist/cjs/helpers/themes.native.js +26 -11
  181. package/dist/cjs/helpers/themes.native.js.map +1 -1
  182. package/dist/cjs/helpers/tokenCategories.cjs +2 -2
  183. package/dist/cjs/helpers/tokenCategories.native.cjs +2 -2
  184. package/dist/cjs/helpers/tokenCategories.native.js +2 -2
  185. package/dist/cjs/helpers/tokenCategories.native.js.map +1 -1
  186. package/dist/cjs/helpers/variables.cjs +1 -1
  187. package/dist/cjs/helpers/variables.native.cjs +4 -8
  188. package/dist/cjs/helpers/variables.native.js +4 -8
  189. package/dist/cjs/helpers/variables.native.js.map +1 -1
  190. package/dist/cjs/helpers/warnOnce.cjs +6 -0
  191. package/dist/cjs/helpers/warnOnce.native.cjs +6 -0
  192. package/dist/cjs/helpers/warnOnce.native.js +6 -0
  193. package/dist/cjs/helpers/warnOnce.native.js.map +1 -1
  194. package/dist/cjs/helpers/webPropsToSkip.native.cjs +3 -3
  195. package/dist/cjs/helpers/webPropsToSkip.native.js +3 -3
  196. package/dist/cjs/helpers/webPropsToSkip.native.js.map +1 -1
  197. package/dist/cjs/helpers/wrapStyleTags.cjs +1 -1
  198. package/dist/cjs/helpers/wrapStyleTags.native.cjs +1 -1
  199. package/dist/cjs/helpers/wrapStyleTags.native.js +1 -1
  200. package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
  201. package/dist/cjs/hooks/useComponentState.native.cjs +1 -5
  202. package/dist/cjs/hooks/useComponentState.native.js +1 -5
  203. package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
  204. package/dist/cjs/hooks/useMedia.cjs +27 -34
  205. package/dist/cjs/hooks/useMedia.native.cjs +45 -51
  206. package/dist/cjs/hooks/useMedia.native.js +45 -51
  207. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  208. package/dist/cjs/hooks/useSplitStyles.cjs +1 -1
  209. package/dist/cjs/hooks/useSplitStyles.native.cjs +1 -1
  210. package/dist/cjs/hooks/useSplitStyles.native.js +1 -1
  211. package/dist/cjs/hooks/useSplitStyles.native.js.map +1 -1
  212. package/dist/cjs/hooks/useThemeState.cjs +37 -47
  213. package/dist/cjs/hooks/useThemeState.native.cjs +44 -50
  214. package/dist/cjs/hooks/useThemeState.native.js +44 -50
  215. package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
  216. package/dist/cjs/index.cjs +7 -0
  217. package/dist/cjs/index.native.cjs +7 -0
  218. package/dist/cjs/index.native.js +7 -0
  219. package/dist/cjs/index.native.js.map +1 -1
  220. package/dist/cjs/internal-runtime.cjs +22 -0
  221. package/dist/cjs/internal-runtime.native.cjs +22 -0
  222. package/dist/cjs/internal-runtime.native.js +22 -0
  223. package/dist/cjs/internal-runtime.native.js.map +1 -1
  224. package/dist/cjs/static-resolve.native.cjs +2 -9
  225. package/dist/cjs/static-resolve.native.js +2 -9
  226. package/dist/cjs/static-resolve.native.js.map +1 -1
  227. package/dist/cjs/style.cjs +1 -1
  228. package/dist/cjs/style.native.cjs +4 -7
  229. package/dist/cjs/style.native.js +4 -7
  230. package/dist/cjs/style.native.js.map +1 -1
  231. package/dist/cjs/views/Theme.cjs +10 -17
  232. package/dist/cjs/views/Theme.native.cjs +9 -11
  233. package/dist/cjs/views/Theme.native.js +9 -11
  234. package/dist/cjs/views/Theme.native.js.map +1 -1
  235. package/dist/cjs/views/ThemeDebug.cjs +1 -1
  236. package/dist/cjs/views/ThemeUpdate.cjs +1 -1
  237. package/dist/cjs/views/ThemeUpdate.native.cjs +1 -1
  238. package/dist/cjs/views/ThemeUpdate.native.js +1 -1
  239. package/dist/cjs/views/ThemeUpdate.native.js.map +1 -1
  240. package/dist/esm/_withNativeStyle.mjs +4 -1
  241. package/dist/esm/_withNativeStyle.mjs.map +1 -1
  242. package/dist/esm/_withNativeStyle.native.js +4 -1
  243. package/dist/esm/_withNativeStyle.native.js.map +1 -1
  244. package/dist/esm/_withStableStyle.native.js +1 -5
  245. package/dist/esm/_withStableStyle.native.js.map +1 -1
  246. package/dist/esm/config.mjs +6 -3
  247. package/dist/esm/config.mjs.map +1 -1
  248. package/dist/esm/config.native.js +7 -5
  249. package/dist/esm/config.native.js.map +1 -1
  250. package/dist/esm/contexts/ComponentContext.mjs +9 -9
  251. package/dist/esm/contexts/ComponentContext.mjs.map +1 -1
  252. package/dist/esm/contexts/ComponentContext.native.js +16 -9
  253. package/dist/esm/contexts/ComponentContext.native.js.map +1 -1
  254. package/dist/esm/createComponent.mjs +45 -42
  255. package/dist/esm/createComponent.mjs.map +1 -1
  256. package/dist/esm/createComponent.native.js +93 -82
  257. package/dist/esm/createComponent.native.js.map +1 -1
  258. package/dist/esm/createTamagui.mjs +33 -15
  259. package/dist/esm/createTamagui.mjs.map +1 -1
  260. package/dist/esm/createTamagui.native.js +34 -20
  261. package/dist/esm/createTamagui.native.js.map +1 -1
  262. package/dist/esm/createTokens.native.js +1 -5
  263. package/dist/esm/createTokens.native.js.map +1 -1
  264. package/dist/esm/createVariable.native.js +1 -5
  265. package/dist/esm/createVariable.native.js.map +1 -1
  266. package/dist/esm/createVariables.native.js +2 -6
  267. package/dist/esm/createVariables.native.js.map +1 -1
  268. package/dist/esm/dom/html.mjs +87 -329
  269. package/dist/esm/dom/html.mjs.map +1 -1
  270. package/dist/esm/dom/html.native.js +53 -2
  271. package/dist/esm/dom/html.native.js.map +1 -1
  272. package/dist/esm/dom/htmlReset.mjs +6 -0
  273. package/dist/esm/dom/htmlReset.mjs.map +1 -0
  274. package/dist/esm/dom/htmlReset.native.js +6 -0
  275. package/dist/esm/dom/htmlReset.native.js.map +1 -0
  276. package/dist/esm/dom/htmlRuntime.native.js +4 -0
  277. package/dist/esm/dom/htmlRuntime.native.js.map +1 -1
  278. package/dist/esm/dom/htmlStaticConfig.mjs +22 -0
  279. package/dist/esm/dom/htmlStaticConfig.mjs.map +1 -0
  280. package/dist/esm/dom/htmlStaticConfig.native.js +22 -0
  281. package/dist/esm/dom/htmlStaticConfig.native.js.map +1 -0
  282. package/dist/esm/dom/primitives.native.js +81 -34
  283. package/dist/esm/dom/primitives.native.js.map +1 -1
  284. package/dist/esm/eventHandling.mjs +10 -4
  285. package/dist/esm/eventHandling.mjs.map +1 -1
  286. package/dist/esm/eventHandling.native.js +52 -16
  287. package/dist/esm/eventHandling.native.js.map +1 -1
  288. package/dist/esm/helpers/NativeTextBinding.mjs +17 -0
  289. package/dist/esm/helpers/NativeTextBinding.mjs.map +1 -0
  290. package/dist/esm/helpers/NativeTextBinding.native.js +18 -0
  291. package/dist/esm/helpers/NativeTextBinding.native.js.map +1 -0
  292. package/dist/esm/helpers/configVariables.native.js +2 -6
  293. package/dist/esm/helpers/configVariables.native.js.map +1 -1
  294. package/dist/esm/helpers/createDesignSystem.mjs +14 -10
  295. package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
  296. package/dist/esm/helpers/createDesignSystem.native.js +4 -4
  297. package/dist/esm/helpers/createDesignSystem.native.js.map +1 -1
  298. package/dist/esm/helpers/createStyledContext.native.js +1 -5
  299. package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
  300. package/dist/esm/helpers/expandStyle.mjs +41 -1
  301. package/dist/esm/helpers/expandStyle.mjs.map +1 -1
  302. package/dist/esm/helpers/expandStyle.native.js +36 -3
  303. package/dist/esm/helpers/expandStyle.native.js.map +1 -1
  304. package/dist/esm/helpers/expandStyles.mjs +15 -3
  305. package/dist/esm/helpers/expandStyles.mjs.map +1 -1
  306. package/dist/esm/helpers/expandStyles.native.js +14 -8
  307. package/dist/esm/helpers/expandStyles.native.js.map +1 -1
  308. package/dist/esm/helpers/fluid.mjs +36 -0
  309. package/dist/esm/helpers/fluid.mjs.map +1 -0
  310. package/dist/esm/helpers/fluid.native.js +36 -0
  311. package/dist/esm/helpers/fluid.native.js.map +1 -0
  312. package/dist/esm/helpers/formatDiagnostic.native.js +2 -6
  313. package/dist/esm/helpers/formatDiagnostic.native.js.map +1 -1
  314. package/dist/esm/helpers/getCSSStylesAtomic.mjs +6 -6
  315. package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
  316. package/dist/esm/helpers/getSplitStyles.mjs +364 -150
  317. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  318. package/dist/esm/helpers/getSplitStyles.native.js +588 -188
  319. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  320. package/dist/esm/helpers/getThemeCSSRules.mjs +37 -25
  321. package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
  322. package/dist/esm/helpers/grammarConfig.mjs +6 -14
  323. package/dist/esm/helpers/grammarConfig.mjs.map +1 -1
  324. package/dist/esm/helpers/grammarConfig.native.js +32 -22
  325. package/dist/esm/helpers/grammarConfig.native.js.map +1 -1
  326. package/dist/esm/helpers/insertStyleRule.mjs +11 -4
  327. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
  328. package/dist/esm/helpers/insertStyleRule.native.js +4 -4
  329. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
  330. package/dist/esm/helpers/isObj.native.js +1 -5
  331. package/dist/esm/helpers/isObj.native.js.map +1 -1
  332. package/dist/esm/helpers/mainThreadPressEvents.native.js +48 -100
  333. package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
  334. package/dist/esm/helpers/mergeProps.mjs +18 -21
  335. package/dist/esm/helpers/mergeProps.mjs.map +1 -1
  336. package/dist/esm/helpers/mergeProps.native.js +20 -23
  337. package/dist/esm/helpers/mergeProps.native.js.map +1 -1
  338. package/dist/esm/helpers/nativeOnlyProps.mjs +0 -1
  339. package/dist/esm/helpers/nativeOnlyProps.mjs.map +1 -1
  340. package/dist/esm/helpers/nativeOnlyProps.native.js +0 -1
  341. package/dist/esm/helpers/nativeOnlyProps.native.js.map +1 -1
  342. package/dist/esm/helpers/nativeTextMetrics.mjs +55 -0
  343. package/dist/esm/helpers/nativeTextMetrics.mjs.map +1 -0
  344. package/dist/esm/helpers/nativeTextMetrics.native.js +56 -0
  345. package/dist/esm/helpers/nativeTextMetrics.native.js.map +1 -0
  346. package/dist/esm/helpers/normalizeColor.native.js +17 -2
  347. package/dist/esm/helpers/normalizeColor.native.js.map +1 -1
  348. package/dist/esm/helpers/normalizeValueWithProperty.mjs +2 -1
  349. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
  350. package/dist/esm/helpers/normalizeValueWithProperty.native.js +3 -6
  351. package/dist/esm/helpers/normalizeValueWithProperty.native.js.map +1 -1
  352. package/dist/esm/helpers/objectIdentityKey.native.js +1 -5
  353. package/dist/esm/helpers/objectIdentityKey.native.js.map +1 -1
  354. package/dist/esm/helpers/parseNativeStyle.mjs +168 -0
  355. package/dist/esm/helpers/parseNativeStyle.mjs.map +1 -0
  356. package/dist/esm/helpers/parseNativeStyle.native.js +4 -1
  357. package/dist/esm/helpers/parseNativeStyle.native.js.map +1 -1
  358. package/dist/esm/helpers/proxyThemeToParents.mjs +10 -2
  359. package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -1
  360. package/dist/esm/helpers/proxyThemeToParents.native.js +29 -2
  361. package/dist/esm/helpers/proxyThemeToParents.native.js.map +1 -1
  362. package/dist/esm/helpers/resolveAnimationDriver.native.js +1 -5
  363. package/dist/esm/helpers/resolveAnimationDriver.native.js.map +1 -1
  364. package/dist/esm/helpers/resolveNativeUnits.mjs +9 -0
  365. package/dist/esm/helpers/resolveNativeUnits.mjs.map +1 -0
  366. package/dist/esm/helpers/resolveNativeUnits.native.js +178 -0
  367. package/dist/esm/helpers/resolveNativeUnits.native.js.map +1 -0
  368. package/dist/esm/helpers/resolveRem.native.js +18 -21
  369. package/dist/esm/helpers/resolveRem.native.js.map +1 -1
  370. package/dist/esm/helpers/resolveSizing.mjs +102 -0
  371. package/dist/esm/helpers/resolveSizing.mjs.map +1 -0
  372. package/dist/esm/helpers/resolveSizing.native.js +109 -0
  373. package/dist/esm/helpers/resolveSizing.native.js.map +1 -0
  374. package/dist/esm/helpers/resolveVariableValue.mjs +7 -7
  375. package/dist/esm/helpers/resolveVariableValue.mjs.map +1 -1
  376. package/dist/esm/helpers/resolveVariableValue.native.js +7 -9
  377. package/dist/esm/helpers/resolveVariableValue.native.js.map +1 -1
  378. package/dist/esm/helpers/resolveVariantStyle.native.js +2 -6
  379. package/dist/esm/helpers/resolveVariantStyle.native.js.map +1 -1
  380. package/dist/esm/helpers/skipProps.mjs +0 -1
  381. package/dist/esm/helpers/skipProps.mjs.map +1 -1
  382. package/dist/esm/helpers/skipProps.native.js +0 -1
  383. package/dist/esm/helpers/skipProps.native.js.map +1 -1
  384. package/dist/esm/helpers/styleFrontend.mjs +20 -1
  385. package/dist/esm/helpers/styleFrontend.mjs.map +1 -1
  386. package/dist/esm/helpers/styleFrontend.native.js +20 -1
  387. package/dist/esm/helpers/styleFrontend.native.js.map +1 -1
  388. package/dist/esm/helpers/styleStaticConfigCore.mjs +5 -4
  389. package/dist/esm/helpers/styleStaticConfigCore.mjs.map +1 -1
  390. package/dist/esm/helpers/styleStaticConfigCore.native.js +7 -4
  391. package/dist/esm/helpers/styleStaticConfigCore.native.js.map +1 -1
  392. package/dist/esm/helpers/styledDynamic.mjs +5 -0
  393. package/dist/esm/helpers/styledDynamic.mjs.map +1 -1
  394. package/dist/esm/helpers/styledDynamic.native.js +8 -7
  395. package/dist/esm/helpers/styledDynamic.native.js.map +1 -1
  396. package/dist/esm/helpers/subscribeToContextGroup.mjs +16 -7
  397. package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -1
  398. package/dist/esm/helpers/subscribeToContextGroup.native.js +18 -8
  399. package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
  400. package/dist/esm/helpers/themeRef.native.js +1 -5
  401. package/dist/esm/helpers/themeRef.native.js.map +1 -1
  402. package/dist/esm/helpers/themes.mjs +20 -11
  403. package/dist/esm/helpers/themes.mjs.map +1 -1
  404. package/dist/esm/helpers/themes.native.js +20 -11
  405. package/dist/esm/helpers/themes.native.js.map +1 -1
  406. package/dist/esm/helpers/tokenCategories.mjs +2 -2
  407. package/dist/esm/helpers/tokenCategories.mjs.map +1 -1
  408. package/dist/esm/helpers/tokenCategories.native.js +2 -2
  409. package/dist/esm/helpers/tokenCategories.native.js.map +1 -1
  410. package/dist/esm/helpers/variables.mjs +1 -1
  411. package/dist/esm/helpers/variables.mjs.map +1 -1
  412. package/dist/esm/helpers/variables.native.js +4 -8
  413. package/dist/esm/helpers/variables.native.js.map +1 -1
  414. package/dist/esm/helpers/warnOnce.mjs +6 -1
  415. package/dist/esm/helpers/warnOnce.mjs.map +1 -1
  416. package/dist/esm/helpers/warnOnce.native.js +6 -1
  417. package/dist/esm/helpers/warnOnce.native.js.map +1 -1
  418. package/dist/esm/helpers/webPropsToSkip.native.js +3 -3
  419. package/dist/esm/helpers/webPropsToSkip.native.js.map +1 -1
  420. package/dist/esm/helpers/wrapStyleTags.mjs +1 -1
  421. package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -1
  422. package/dist/esm/helpers/wrapStyleTags.native.js +1 -1
  423. package/dist/esm/helpers/wrapStyleTags.native.js.map +1 -1
  424. package/dist/esm/hooks/useComponentState.native.js +1 -5
  425. package/dist/esm/hooks/useComponentState.native.js.map +1 -1
  426. package/dist/esm/hooks/useMedia.mjs +27 -34
  427. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  428. package/dist/esm/hooks/useMedia.native.js +45 -51
  429. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  430. package/dist/esm/hooks/useSplitStyles.mjs +1 -1
  431. package/dist/esm/hooks/useSplitStyles.mjs.map +1 -1
  432. package/dist/esm/hooks/useSplitStyles.native.js +1 -1
  433. package/dist/esm/hooks/useSplitStyles.native.js.map +1 -1
  434. package/dist/esm/hooks/useThemeState.mjs +36 -48
  435. package/dist/esm/hooks/useThemeState.mjs.map +1 -1
  436. package/dist/esm/hooks/useThemeState.native.js +44 -50
  437. package/dist/esm/hooks/useThemeState.native.js.map +1 -1
  438. package/dist/esm/index.js +4 -1
  439. package/dist/esm/index.mjs +4 -1
  440. package/dist/esm/index.native.js +4 -1
  441. package/dist/esm/internal-runtime.mjs +22 -3
  442. package/dist/esm/internal-runtime.mjs.map +1 -1
  443. package/dist/esm/internal-runtime.native.js +22 -3
  444. package/dist/esm/internal-runtime.native.js.map +1 -1
  445. package/dist/esm/static-resolve.native.js +2 -9
  446. package/dist/esm/static-resolve.native.js.map +1 -1
  447. package/dist/esm/style.mjs +1 -1
  448. package/dist/esm/style.mjs.map +1 -1
  449. package/dist/esm/style.native.js +4 -7
  450. package/dist/esm/style.native.js.map +1 -1
  451. package/dist/esm/views/Theme.mjs +15 -14
  452. package/dist/esm/views/Theme.mjs.map +1 -1
  453. package/dist/esm/views/Theme.native.js +15 -15
  454. package/dist/esm/views/Theme.native.js.map +1 -1
  455. package/dist/esm/views/ThemeDebug.mjs +1 -1
  456. package/dist/esm/views/ThemeDebug.mjs.map +1 -1
  457. package/dist/esm/views/ThemeUpdate.mjs +1 -1
  458. package/dist/esm/views/ThemeUpdate.mjs.map +1 -1
  459. package/dist/esm/views/ThemeUpdate.native.js +1 -1
  460. package/dist/esm/views/ThemeUpdate.native.js.map +1 -1
  461. package/package.json +20 -18
  462. package/reset.css +11 -0
  463. package/src/_withNativeStyle.tsx +6 -1
  464. package/src/config.ts +6 -6
  465. package/src/contexts/ComponentContext.tsx +8 -0
  466. package/src/createComponent.tsx +177 -57
  467. package/src/createStyledHOC.tsx +25 -26
  468. package/src/createTamagui.ts +47 -28
  469. package/src/dom/contract.ts +4 -1
  470. package/src/dom/html.native.tsx +55 -2
  471. package/src/dom/html.tsx +189 -388
  472. package/src/dom/htmlReset.ts +15 -0
  473. package/src/dom/htmlRuntime.native.tsx +5 -0
  474. package/src/dom/htmlStaticConfig.ts +40 -0
  475. package/src/dom/primitives.native.tsx +138 -33
  476. package/src/dom/standalone.ts +2 -1
  477. package/src/dom/styleTypes.ts +82 -92
  478. package/src/eventHandling.native.ts +61 -11
  479. package/src/eventHandling.ts +19 -4
  480. package/src/helpers/NativeTextBinding.tsx +26 -0
  481. package/src/helpers/createDesignSystem.ts +24 -8
  482. package/src/helpers/expandStyle.ts +88 -4
  483. package/src/helpers/expandStyles.ts +6 -11
  484. package/src/helpers/fluid.ts +66 -0
  485. package/src/helpers/getCSSStylesAtomic.ts +11 -6
  486. package/src/helpers/getSplitStyles.tsx +1032 -296
  487. package/src/helpers/getThemeCSSRules.ts +73 -35
  488. package/src/helpers/grammarConfig.ts +23 -8
  489. package/src/helpers/insertStyleRule.tsx +14 -8
  490. package/src/helpers/mainThreadPressEvents.native.ts +65 -141
  491. package/src/helpers/mergeProps.ts +29 -62
  492. package/src/helpers/nativeOnlyProps.ts +0 -1
  493. package/src/helpers/nativeTextMetrics.ts +77 -0
  494. package/src/helpers/normalizeColor.native.ts +29 -4
  495. package/src/helpers/normalizeValueWithProperty.ts +2 -1
  496. package/src/helpers/{parseNativeStyle.native.ts → parseNativeStyle.ts} +8 -1
  497. package/src/helpers/proxyThemeToParents.ts +13 -2
  498. package/src/helpers/resolveNativeUnits.native.ts +247 -0
  499. package/src/helpers/resolveNativeUnits.ts +10 -0
  500. package/src/helpers/resolveRem.native.ts +25 -26
  501. package/src/helpers/resolveSizing.ts +167 -0
  502. package/src/helpers/resolveVariableValue.ts +21 -17
  503. package/src/helpers/skipProps.ts +0 -1
  504. package/src/helpers/styleFrontend.ts +39 -0
  505. package/src/helpers/styleProvenance.ts +1 -1
  506. package/src/helpers/styleStaticConfigCore.ts +15 -4
  507. package/src/helpers/styledDynamic.ts +3 -1
  508. package/src/helpers/subscribeToContextGroup.tsx +16 -7
  509. package/src/helpers/themes.ts +27 -11
  510. package/src/helpers/tokenCategories.ts +15 -3
  511. package/src/helpers/variables.ts +2 -2
  512. package/src/helpers/warnOnce.ts +6 -0
  513. package/src/helpers/webPropsToSkip.native.ts +9 -3
  514. package/src/helpers/wrapStyleTags.tsx +4 -1
  515. package/src/hooks/useMedia.tsx +36 -47
  516. package/src/hooks/useSplitStyles.tsx +4 -1
  517. package/src/hooks/useThemeState.ts +69 -74
  518. package/src/index.ts +13 -0
  519. package/src/interfaces/RNExclusiveTypes.ts +1 -3
  520. package/src/internal-runtime.ts +43 -2
  521. package/src/style.ts +4 -1
  522. package/src/styled.tsx +34 -3
  523. package/src/types.tsx +412 -132
  524. package/src/views/Theme.tsx +18 -21
  525. package/src/views/ThemeDebug.tsx +1 -1
  526. package/src/views/ThemeUpdate.tsx +1 -1
  527. package/types/_withNativeStyle.d.ts.map +1 -1
  528. package/types/config.d.ts.map +1 -1
  529. package/types/contexts/ComponentContext.d.ts +1 -1
  530. package/types/contexts/ComponentContext.d.ts.map +1 -1
  531. package/types/createComponent.d.ts.map +1 -1
  532. package/types/createStyledHOC.d.ts +5 -2
  533. package/types/createStyledHOC.d.ts.map +1 -1
  534. package/types/createTamagui.d.ts.map +1 -1
  535. package/types/dom/contract.d.ts +4 -1
  536. package/types/dom/contract.d.ts.map +1 -1
  537. package/types/dom/html.d.ts +60 -51
  538. package/types/dom/html.d.ts.map +1 -1
  539. package/types/dom/html.native.d.ts.map +1 -1
  540. package/types/dom/htmlReset.d.ts +10 -0
  541. package/types/dom/htmlReset.d.ts.map +1 -0
  542. package/types/dom/htmlRuntime.native.d.ts.map +1 -1
  543. package/types/dom/htmlStaticConfig.d.ts +22 -0
  544. package/types/dom/htmlStaticConfig.d.ts.map +1 -0
  545. package/types/dom/primitives.native.d.ts.map +1 -1
  546. package/types/dom/standalone.d.ts +2 -1
  547. package/types/dom/standalone.d.ts.map +1 -1
  548. package/types/dom/styleTypes.d.ts +63 -84
  549. package/types/dom/styleTypes.d.ts.map +1 -1
  550. package/types/eventHandling.d.ts +12 -4
  551. package/types/eventHandling.d.ts.map +1 -1
  552. package/types/eventHandling.native.d.ts.map +1 -1
  553. package/types/helpers/NativeTextBinding.d.ts +11 -0
  554. package/types/helpers/NativeTextBinding.d.ts.map +1 -0
  555. package/types/helpers/createDesignSystem.d.ts.map +1 -1
  556. package/types/helpers/expandStyle.d.ts +1 -0
  557. package/types/helpers/expandStyle.d.ts.map +1 -1
  558. package/types/helpers/expandStyles.d.ts.map +1 -1
  559. package/types/helpers/fluid.d.ts +21 -0
  560. package/types/helpers/fluid.d.ts.map +1 -0
  561. package/types/helpers/getCSSStylesAtomic.d.ts +3 -1
  562. package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
  563. package/types/helpers/getSplitStyles.d.ts +2 -1
  564. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  565. package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
  566. package/types/helpers/grammarConfig.d.ts.map +1 -1
  567. package/types/helpers/insertStyleRule.d.ts.map +1 -1
  568. package/types/helpers/mainThreadPressEvents.native.d.ts +0 -7
  569. package/types/helpers/mainThreadPressEvents.native.d.ts.map +1 -1
  570. package/types/helpers/mergeProps.d.ts +1 -15
  571. package/types/helpers/mergeProps.d.ts.map +1 -1
  572. package/types/helpers/nativeOnlyProps.d.ts +0 -1
  573. package/types/helpers/nativeOnlyProps.d.ts.map +1 -1
  574. package/types/helpers/nativeTextMetrics.d.ts +16 -0
  575. package/types/helpers/nativeTextMetrics.d.ts.map +1 -0
  576. package/types/helpers/normalizeColor.native.d.ts +4 -1
  577. package/types/helpers/normalizeColor.native.d.ts.map +1 -1
  578. package/types/helpers/normalizeShadow.native.d.ts +3 -1
  579. package/types/helpers/normalizeShadow.native.d.ts.map +1 -1
  580. package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -1
  581. package/types/helpers/{parseNativeStyle.native.d.ts → parseNativeStyle.d.ts} +1 -1
  582. package/types/helpers/parseNativeStyle.d.ts.map +1 -0
  583. package/types/helpers/proxyThemeToParents.d.ts +1 -1
  584. package/types/helpers/proxyThemeToParents.d.ts.map +1 -1
  585. package/types/helpers/resolveNativeUnits.d.ts +6 -0
  586. package/types/helpers/resolveNativeUnits.d.ts.map +1 -0
  587. package/types/helpers/resolveNativeUnits.native.d.ts +16 -0
  588. package/types/helpers/resolveNativeUnits.native.d.ts.map +1 -0
  589. package/types/helpers/resolveRem.native.d.ts +6 -4
  590. package/types/helpers/resolveRem.native.d.ts.map +1 -1
  591. package/types/helpers/resolveSizing.d.ts +90 -0
  592. package/types/helpers/resolveSizing.d.ts.map +1 -0
  593. package/types/helpers/resolveVariableValue.d.ts.map +1 -1
  594. package/types/helpers/skipProps.d.ts +0 -1
  595. package/types/helpers/skipProps.d.ts.map +1 -1
  596. package/types/helpers/styleFrontend.d.ts +21 -0
  597. package/types/helpers/styleFrontend.d.ts.map +1 -1
  598. package/types/helpers/styleProvenance.d.ts +1 -1
  599. package/types/helpers/styleProvenance.d.ts.map +1 -1
  600. package/types/helpers/styleStaticConfigCore.d.ts.map +1 -1
  601. package/types/helpers/styledDynamic.d.ts +1 -1
  602. package/types/helpers/styledDynamic.d.ts.map +1 -1
  603. package/types/helpers/themes.d.ts +4 -0
  604. package/types/helpers/themes.d.ts.map +1 -1
  605. package/types/helpers/tokenCategories.d.ts +1 -1
  606. package/types/helpers/tokenCategories.d.ts.map +1 -1
  607. package/types/helpers/warnOnce.d.ts +1 -0
  608. package/types/helpers/warnOnce.d.ts.map +1 -1
  609. package/types/helpers/webPropsToSkip.native.d.ts +6 -2
  610. package/types/helpers/webPropsToSkip.native.d.ts.map +1 -1
  611. package/types/helpers/wrapStyleTags.d.ts.map +1 -1
  612. package/types/hooks/useMedia.d.ts +5 -2
  613. package/types/hooks/useMedia.d.ts.map +1 -1
  614. package/types/hooks/useSplitStyles.d.ts.map +1 -1
  615. package/types/hooks/useThemeState.d.ts.map +1 -1
  616. package/types/index.d.ts +4 -1
  617. package/types/index.d.ts.map +1 -1
  618. package/types/interfaces/RNExclusiveTypes.d.ts +2 -3
  619. package/types/interfaces/RNExclusiveTypes.d.ts.map +1 -1
  620. package/types/internal-runtime.d.ts +12 -1
  621. package/types/internal-runtime.d.ts.map +1 -1
  622. package/types/style.d.ts.map +1 -1
  623. package/types/styled.d.ts +7 -4
  624. package/types/styled.d.ts.map +1 -1
  625. package/types/types.d.ts +258 -102
  626. package/types/types.d.ts.map +1 -1
  627. package/types/views/Theme.d.ts.map +1 -1
  628. package/dist/cjs/helpers/timer.native.js.map +0 -1
  629. package/dist/esm/helpers/timer.mjs +0 -13
  630. package/dist/esm/helpers/timer.mjs.map +0 -1
  631. package/dist/esm/helpers/timer.native.js +0 -13
  632. package/dist/esm/helpers/timer.native.js.map +0 -1
  633. package/src/helpers/timer.ts +0 -9
  634. package/types/helpers/parseNativeStyle.native.d.ts.map +0 -1
  635. package/types/helpers/timer.d.ts +0 -2
  636. package/types/helpers/timer.d.ts.map +0 -1
@@ -20,19 +20,20 @@ export function createStyledHOC<
20
20
  ParentStaticProperties,
21
21
  CustomProps extends object = {},
22
22
  >(
23
- component: TamaguiComponent<
24
- Props,
25
- Ref,
26
- NonStyledProps,
27
- BaseStyles,
28
- VariantProps,
29
- ParentStaticProperties
30
- >,
23
+ // infer from the stored tuple instead of comparing the expanded call signature.
24
+ // intersecting hundreds of conditional style props can exceed the union limit.
25
+ component: {
26
+ __tama: [Props, Ref, NonStyledProps, BaseStyles, VariantProps, ParentStaticProperties]
27
+ staticConfig: StaticConfig
28
+ },
31
29
  render: (
32
- props: NoInfer<
33
- Props extends TamaDefer
34
- ? GetFinalProps<NonStyledProps, BaseStyles, VariantProps>
35
- : Props
30
+ props: Omit<
31
+ NoInfer<
32
+ Props extends TamaDefer
33
+ ? GetFinalProps<NonStyledProps, BaseStyles, VariantProps>
34
+ : Props
35
+ >,
36
+ keyof CustomProps
36
37
  > &
37
38
  CustomProps,
38
39
  // always a ref value (null when the caller passed none), so a render
@@ -41,22 +42,20 @@ export function createStyledHOC<
41
42
  ) => ReactNode,
42
43
  options?: StyledHOCOptions
43
44
  ): TamaguiComponent<
44
- // with no custom props the wrapper adds nothing to the prop surface, so keep
45
- // the base component's deferred props: styled() then composes it through the
46
- // same lazy path as any styled component instead of re-expanding a fully
47
- // computed prop type (which hits TS2590 "union too complex" downstream)
48
- keyof CustomProps extends never
49
- ? Props
50
- : StyledHOCMergedProps<
51
- Props extends TamaDefer
52
- ? GetFinalProps<NonStyledProps, BaseStyles, VariantProps>
53
- : Props,
54
- CustomProps
55
- >,
45
+ // keep deferred parents deferred even when the receiver adds custom props.
46
+ // their declared owners live in the tuple until a caller needs the props.
47
+ Props extends TamaDefer
48
+ ? string extends keyof NonStyledProps
49
+ ? StyledHOCMergedProps<
50
+ GetFinalProps<NonStyledProps, BaseStyles, VariantProps>,
51
+ CustomProps
52
+ >
53
+ : TamaDefer
54
+ : StyledHOCMergedProps<Props, CustomProps>,
56
55
  Ref,
57
- NonStyledProps & CustomProps,
56
+ StyledHOCMergedProps<NonStyledProps, CustomProps>,
58
57
  BaseStyles,
59
- VariantProps,
58
+ keyof CustomProps extends never ? VariantProps : Omit<VariantProps, keyof CustomProps>,
60
59
  ParentStaticProperties
61
60
  > {
62
61
  const staticConfig = component.staticConfig
@@ -3,6 +3,7 @@ import type { DeepVariableObject } from './createVariables'
3
3
  import { createVariables } from './createVariables'
4
4
  import { defaultAnimationDriver } from './helpers/defaultAnimationDriver'
5
5
  import { resolveAnimationDriver } from './helpers/resolveAnimationDriver'
6
+ import { defaultSizing } from './helpers/resolveSizing'
6
7
  import {
7
8
  buildCSSRuleSets,
8
9
  createFontCSS,
@@ -13,7 +14,11 @@ import {
13
14
  } from './helpers/createDesignSystem'
14
15
  import { scanAllSheets } from './helpers/insertStyleRule'
15
16
  import { proxyThemesToParents } from './helpers/proxyThemeToParents'
16
- import { ensureThemeVariable } from './helpers/themes'
17
+ import {
18
+ copyAuthoredThemeScheme,
19
+ ensureThemeVariable,
20
+ getAuthoredThemeScheme,
21
+ } from './helpers/themes'
17
22
  import { mergeConfigVariablesIntoTheme } from './helpers/configVariables'
18
23
  import { configureMedia } from './hooks/useMedia'
19
24
  import { parseFont, registerFontVariables } from './insertFont'
@@ -50,13 +55,34 @@ const reservedCssIdentsLower: ReadonlySet<string> = new Set([
50
55
  'currentcolor',
51
56
  ])
52
57
 
53
- function shouldTokenCategoryHaveUnits(category: string): boolean {
54
- // From TokenCategories type: 'color' | 'space' | 'size' | 'radius' | 'zIndex'
55
- // These are the only predefined categories that should get px units
56
- const UNIT_CATEGORIES = new Set(['size', 'space', 'radius'])
58
+ // every built-in category whose values are bare numbers standing for a CSS
59
+ // length. a unitless length is invalid CSS outside quirks mode, so the browser
60
+ // drops the whole declaration: `width:var(--c-width-10)` against
61
+ // `--c-width-10:40` leaves the element at auto width, silently. the tailwind
62
+ // coverage work added the width/inline-size/flex-basis/outline/perspective
63
+ // scales without adding them here, which made every one of those tokens a no-op
64
+ // on web.
65
+ // zIndex is unitless by definition, and color/boxShadow hold strings (which
66
+ // variableToCSS passes through untouched), so none of them belong here. custom
67
+ // categories still default to unitless.
68
+ const UNIT_CATEGORIES: ReadonlySet<string> = new Set([
69
+ 'size',
70
+ 'space',
71
+ 'radius',
72
+ 'width',
73
+ 'minWidth',
74
+ 'maxWidth',
75
+ 'inlineSize',
76
+ 'minInlineSize',
77
+ 'maxInlineSize',
78
+ 'flexBasis',
79
+ 'borderWidth',
80
+ 'outlineWidth',
81
+ 'outlineOffset',
82
+ 'perspective',
83
+ ])
57
84
 
58
- // Only add px to predefined dimensional categories
59
- // Custom categories (like 'opacity', 'customWidth') default to unitless
85
+ function shouldTokenCategoryHaveUnits(category: string): boolean {
60
86
  return UNIT_CATEGORIES.has(category)
61
87
  }
62
88
 
@@ -211,11 +237,8 @@ export function createTamagui<Conf extends CreateTamaguiProps>(
211
237
 
212
238
  const themesIn = configIn.themes as ThemesLikeObject
213
239
  const dedupedThemes =
214
- foundThemes ??
215
- getThemesDeduped(themesIn, tokens.color, configIn.variables, {
216
- tokensParsed,
217
- })
218
- const themes = proxyThemesToParents(dedupedThemes)
240
+ foundThemes ?? getThemesDeduped(themesIn, tokensParsed, configIn.variables)
241
+ const themes = proxyThemesToParents(dedupedThemes, Object.keys(themesIn))
219
242
 
220
243
  return {
221
244
  themes,
@@ -268,6 +291,7 @@ export function createTamagui<Conf extends CreateTamaguiProps>(
268
291
  animations: resolvedDriver ?? defaultAnimationDriver,
269
292
  animationDrivers,
270
293
  settings: settingsIn,
294
+ sizing: { ...defaultSizing, ...configIn.sizing },
271
295
  tokens: tokens as any,
272
296
  // vite made this into a function if it wasn't set
273
297
  shorthands,
@@ -308,11 +332,8 @@ export function createTamagui<Conf extends CreateTamaguiProps>(
308
332
  // dedupes the themes if given them via JS config
309
333
  function getThemesDeduped(
310
334
  themes: ThemesLikeObject,
311
- colorTokens?: Record<string, any>,
312
- variables?: CreateTamaguiProps['variables'],
313
- variablesCtx?: {
314
- tokensParsed: TokensParsed
315
- }
335
+ tokensParsed: TokensParsed,
336
+ variables?: CreateTamaguiProps['variables']
316
337
  ): DedupedThemes {
317
338
  const dedupedThemes: DedupedThemes = []
318
339
  const existing = new Map<string, DedupedTheme>()
@@ -329,11 +350,12 @@ function getThemesDeduped(
329
350
  const rawTheme = themes[themeName]
330
351
 
331
352
  // dont force referential equality but may need something more consistent than JSON.stringify
332
- const key = JSON.stringify(rawTheme)
353
+ const scheme = getAuthoredThemeScheme(rawTheme)
354
+ const key = JSON.stringify(rawTheme) + scheme
333
355
 
334
356
  // if existing, avoid
335
- if (existing.has(key)) {
336
- const e = existing.get(key)!
357
+ const e = existing.get(key)
358
+ if (e) {
337
359
  e.names.push(themeName)
338
360
  continue
339
361
  }
@@ -341,7 +363,7 @@ function getThemesDeduped(
341
363
  // ensure each theme object unique for dedupe
342
364
  // is ThemeParsed because we call ensureThemeVariable
343
365
  // color tokens are spread first as fallbacks, theme values take precedence
344
- const theme = { ...colorTokens, ...rawTheme } as any as ThemeParsed
366
+ const theme = { ...tokensParsed.color, ...rawTheme } as any as ThemeParsed
345
367
 
346
368
  // parse into variables
347
369
  for (const key in theme) {
@@ -349,16 +371,13 @@ function getThemesDeduped(
349
371
  ensureThemeVariable(theme, key)
350
372
  }
351
373
 
374
+ copyAuthoredThemeScheme(theme, rawTheme)
375
+
352
376
  // custom variables merge into base themes only; sub-themes inherit them
353
377
  // via proxyThemesToParents (native) and the CSS cascade (web), so a
354
378
  // a ThemeUpdate patch survives sub-theme switches below it
355
- if (variables && variablesCtx && !themeName.includes('_')) {
356
- mergeConfigVariablesIntoTheme(
357
- theme as any,
358
- themeName,
359
- variables,
360
- variablesCtx.tokensParsed
361
- )
379
+ if (variables && !themeName.includes('_')) {
380
+ mergeConfigVariablesIntoTheme(theme as any, themeName, variables, tokensParsed)
362
381
  }
363
382
 
364
383
  // set deduped
@@ -7,6 +7,7 @@ import type {
7
7
  DOMKeyEvent,
8
8
  } from '@tamagui/dom'
9
9
  import type { ReactNode, Ref } from 'react'
10
+ import type { NativeTextMetrics } from '../helpers/nativeTextMetrics'
10
11
 
11
12
  /**
12
13
  * What the compiler emits for a DOM element on native.
@@ -30,7 +31,9 @@ import type { ReactNode, Ref } from 'react'
30
31
  /**
31
32
  * Props already resolved by the compiler and forwarded to the native host.
32
33
  */
33
- export type ResolvedNativeProps = Readonly<Record<string, unknown>>
34
+ export type ResolvedNativeProps = Readonly<Record<string, unknown>> & {
35
+ __textMetrics?: NativeTextMetrics
36
+ }
34
37
 
35
38
  export type DOMViewProps = ResolvedNativeProps & {
36
39
  children?: ReactNode
@@ -14,6 +14,7 @@ import type {
14
14
  StrictDOMVoidProps,
15
15
  } from '@tamagui/dom'
16
16
 
17
+ import { stylePropsInput } from '@tamagui/helpers'
17
18
  import { createComponent } from '../createComponent'
18
19
  import type {
19
20
  StackNonStyleProps,
@@ -170,6 +171,12 @@ const domValidStyles = {
170
171
  ...textStaticConfig.validStyles,
171
172
  }
172
173
 
174
+ /** text-entry tags also lower the input color styles to TextInput props */
175
+ const domInputValidStyles = {
176
+ ...domValidStyles,
177
+ ...stylePropsInput,
178
+ }
179
+
173
180
  /**
174
181
  * `StaticConfig.Component` is typed for Tamagui components, and the DOM
175
182
  * primitives are plain function components; the compiler injects them the
@@ -194,6 +201,7 @@ const a = domTag(
194
201
  >({
195
202
  ...textStaticConfig,
196
203
  validStyles: domValidStyles,
204
+ isDOM: true,
197
205
  neverSkipProps: domEventProps,
198
206
  Component: primitive(DOMText),
199
207
  defaultProps: {
@@ -215,6 +223,7 @@ const article = domTag(
215
223
  >({
216
224
  ...viewStaticConfig,
217
225
  validStyles: domValidStyles,
226
+ isDOM: true,
218
227
  neverSkipProps: domEventProps,
219
228
  Component: primitive(DOMView),
220
229
  defaultProps: {
@@ -243,6 +252,7 @@ const aside = domTag(
243
252
  >({
244
253
  ...viewStaticConfig,
245
254
  validStyles: domValidStyles,
255
+ isDOM: true,
246
256
  neverSkipProps: domEventProps,
247
257
  Component: primitive(DOMView),
248
258
  defaultProps: {
@@ -271,6 +281,7 @@ const b = domTag(
271
281
  >({
272
282
  ...textStaticConfig,
273
283
  validStyles: domValidStyles,
284
+ isDOM: true,
274
285
  neverSkipProps: domEventProps,
275
286
  Component: primitive(DOMText),
276
287
  defaultProps: {
@@ -293,6 +304,7 @@ const bdi = domTag(
293
304
  >({
294
305
  ...textStaticConfig,
295
306
  validStyles: domValidStyles,
307
+ isDOM: true,
296
308
  neverSkipProps: domEventProps,
297
309
  Component: primitive(DOMText),
298
310
  defaultProps: {
@@ -314,6 +326,7 @@ const bdo = domTag(
314
326
  >({
315
327
  ...textStaticConfig,
316
328
  validStyles: domValidStyles,
329
+ isDOM: true,
317
330
  neverSkipProps: domEventProps,
318
331
  Component: primitive(DOMText),
319
332
  defaultProps: {
@@ -335,6 +348,7 @@ const blockquote = domTag(
335
348
  >({
336
349
  ...viewStaticConfig,
337
350
  validStyles: domValidStyles,
351
+ isDOM: true,
338
352
  neverSkipProps: domEventProps,
339
353
  Component: primitive(DOMView),
340
354
  defaultProps: {
@@ -363,6 +377,7 @@ const br = domTag(
363
377
  >({
364
378
  ...textStaticConfig,
365
379
  validStyles: domValidStyles,
380
+ isDOM: true,
366
381
  neverSkipProps: domEventProps,
367
382
  Component: primitive(DOMText),
368
383
  defaultProps: {
@@ -384,6 +399,7 @@ const button = domTag(
384
399
  >({
385
400
  ...viewStaticConfig,
386
401
  validStyles: domValidStyles,
402
+ isDOM: true,
387
403
  neverSkipProps: domEventProps,
388
404
  Component: primitive(DOMView),
389
405
  defaultProps: {
@@ -406,6 +422,7 @@ const code = domTag(
406
422
  >({
407
423
  ...textStaticConfig,
408
424
  validStyles: domValidStyles,
425
+ isDOM: true,
409
426
  neverSkipProps: domEventProps,
410
427
  Component: primitive(DOMText),
411
428
  defaultProps: {
@@ -428,6 +445,7 @@ const del = domTag(
428
445
  >({
429
446
  ...textStaticConfig,
430
447
  validStyles: domValidStyles,
448
+ isDOM: true,
431
449
  neverSkipProps: domEventProps,
432
450
  Component: primitive(DOMText),
433
451
  defaultProps: {
@@ -450,6 +468,7 @@ const div = domTag(
450
468
  >({
451
469
  ...viewStaticConfig,
452
470
  validStyles: domValidStyles,
471
+ isDOM: true,
453
472
  neverSkipProps: domEventProps,
454
473
  Component: primitive(DOMView),
455
474
  defaultProps: {
@@ -478,6 +497,7 @@ const em = domTag(
478
497
  >({
479
498
  ...textStaticConfig,
480
499
  validStyles: domValidStyles,
500
+ isDOM: true,
481
501
  neverSkipProps: domEventProps,
482
502
  Component: primitive(DOMText),
483
503
  defaultProps: {
@@ -500,6 +520,7 @@ const fieldset = domTag(
500
520
  >({
501
521
  ...viewStaticConfig,
502
522
  validStyles: domValidStyles,
523
+ isDOM: true,
503
524
  neverSkipProps: domEventProps,
504
525
  Component: primitive(DOMView),
505
526
  defaultProps: {
@@ -528,6 +549,7 @@ const footer = domTag(
528
549
  >({
529
550
  ...viewStaticConfig,
530
551
  validStyles: domValidStyles,
552
+ isDOM: true,
531
553
  neverSkipProps: domEventProps,
532
554
  Component: primitive(DOMView),
533
555
  defaultProps: {
@@ -556,6 +578,7 @@ const form = domTag(
556
578
  >({
557
579
  ...viewStaticConfig,
558
580
  validStyles: domValidStyles,
581
+ isDOM: true,
559
582
  neverSkipProps: domEventProps,
560
583
  Component: primitive(DOMView),
561
584
  defaultProps: {
@@ -584,6 +607,7 @@ const h1 = domTag(
584
607
  >({
585
608
  ...textStaticConfig,
586
609
  validStyles: domValidStyles,
610
+ isDOM: true,
587
611
  neverSkipProps: domEventProps,
588
612
  Component: primitive(DOMText),
589
613
  defaultProps: {
@@ -614,6 +638,7 @@ const h2 = domTag(
614
638
  >({
615
639
  ...textStaticConfig,
616
640
  validStyles: domValidStyles,
641
+ isDOM: true,
617
642
  neverSkipProps: domEventProps,
618
643
  Component: primitive(DOMText),
619
644
  defaultProps: {
@@ -644,6 +669,7 @@ const h3 = domTag(
644
669
  >({
645
670
  ...textStaticConfig,
646
671
  validStyles: domValidStyles,
672
+ isDOM: true,
647
673
  neverSkipProps: domEventProps,
648
674
  Component: primitive(DOMText),
649
675
  defaultProps: {
@@ -674,6 +700,7 @@ const h4 = domTag(
674
700
  >({
675
701
  ...textStaticConfig,
676
702
  validStyles: domValidStyles,
703
+ isDOM: true,
677
704
  neverSkipProps: domEventProps,
678
705
  Component: primitive(DOMText),
679
706
  defaultProps: {
@@ -704,6 +731,7 @@ const h5 = domTag(
704
731
  >({
705
732
  ...textStaticConfig,
706
733
  validStyles: domValidStyles,
734
+ isDOM: true,
707
735
  neverSkipProps: domEventProps,
708
736
  Component: primitive(DOMText),
709
737
  defaultProps: {
@@ -734,6 +762,7 @@ const h6 = domTag(
734
762
  >({
735
763
  ...textStaticConfig,
736
764
  validStyles: domValidStyles,
765
+ isDOM: true,
737
766
  neverSkipProps: domEventProps,
738
767
  Component: primitive(DOMText),
739
768
  defaultProps: {
@@ -764,6 +793,7 @@ const header = domTag(
764
793
  >({
765
794
  ...viewStaticConfig,
766
795
  validStyles: domValidStyles,
796
+ isDOM: true,
767
797
  neverSkipProps: domEventProps,
768
798
  Component: primitive(DOMView),
769
799
  defaultProps: {
@@ -792,6 +822,7 @@ const hr = domTag(
792
822
  >({
793
823
  ...viewStaticConfig,
794
824
  validStyles: domValidStyles,
825
+ isDOM: true,
795
826
  neverSkipProps: domEventProps,
796
827
  Component: primitive(DOMView),
797
828
  defaultProps: {
@@ -822,6 +853,7 @@ const i = domTag(
822
853
  >({
823
854
  ...textStaticConfig,
824
855
  validStyles: domValidStyles,
856
+ isDOM: true,
825
857
  neverSkipProps: domEventProps,
826
858
  Component: primitive(DOMText),
827
859
  defaultProps: {
@@ -844,6 +876,7 @@ const img = domTag(
844
876
  >({
845
877
  ...viewStaticConfig,
846
878
  validStyles: domValidStyles,
879
+ isDOM: true,
847
880
  neverSkipProps: domEventProps,
848
881
  Component: primitive(DOMImage),
849
882
  defaultProps: {
@@ -864,7 +897,8 @@ const input = domTag(
864
897
  TextStylePropsBase
865
898
  >({
866
899
  ...textStaticConfig,
867
- validStyles: domValidStyles,
900
+ validStyles: domInputValidStyles,
901
+ isDOM: true,
868
902
  neverSkipProps: domEventProps,
869
903
  Component: primitive(DOMTextInput),
870
904
  isInput: true,
@@ -888,6 +922,7 @@ const ins = domTag(
888
922
  >({
889
923
  ...textStaticConfig,
890
924
  validStyles: domValidStyles,
925
+ isDOM: true,
891
926
  neverSkipProps: domEventProps,
892
927
  Component: primitive(DOMText),
893
928
  defaultProps: {
@@ -910,6 +945,7 @@ const kbd = domTag(
910
945
  >({
911
946
  ...textStaticConfig,
912
947
  validStyles: domValidStyles,
948
+ isDOM: true,
913
949
  neverSkipProps: domEventProps,
914
950
  Component: primitive(DOMText),
915
951
  defaultProps: {
@@ -932,6 +968,7 @@ const label = domTag(
932
968
  >({
933
969
  ...textStaticConfig,
934
970
  validStyles: domValidStyles,
971
+ isDOM: true,
935
972
  neverSkipProps: domEventProps,
936
973
  Component: primitive(DOMText),
937
974
  defaultProps: {
@@ -953,6 +990,7 @@ const li = domTag(
953
990
  >({
954
991
  ...viewStaticConfig,
955
992
  validStyles: domValidStyles,
993
+ isDOM: true,
956
994
  neverSkipProps: domEventProps,
957
995
  Component: primitive(DOMView),
958
996
  defaultProps: {
@@ -981,6 +1019,7 @@ const main = domTag(
981
1019
  >({
982
1020
  ...viewStaticConfig,
983
1021
  validStyles: domValidStyles,
1022
+ isDOM: true,
984
1023
  neverSkipProps: domEventProps,
985
1024
  Component: primitive(DOMView),
986
1025
  defaultProps: {
@@ -1009,6 +1048,7 @@ const mark = domTag(
1009
1048
  >({
1010
1049
  ...textStaticConfig,
1011
1050
  validStyles: domValidStyles,
1051
+ isDOM: true,
1012
1052
  neverSkipProps: domEventProps,
1013
1053
  Component: primitive(DOMText),
1014
1054
  defaultProps: {
@@ -1032,6 +1072,7 @@ const nav = domTag(
1032
1072
  >({
1033
1073
  ...viewStaticConfig,
1034
1074
  validStyles: domValidStyles,
1075
+ isDOM: true,
1035
1076
  neverSkipProps: domEventProps,
1036
1077
  Component: primitive(DOMView),
1037
1078
  defaultProps: {
@@ -1060,6 +1101,7 @@ const ol = domTag(
1060
1101
  >({
1061
1102
  ...viewStaticConfig,
1062
1103
  validStyles: domValidStyles,
1104
+ isDOM: true,
1063
1105
  neverSkipProps: domEventProps,
1064
1106
  Component: primitive(DOMView),
1065
1107
  defaultProps: {
@@ -1098,6 +1140,7 @@ const p = domTag(
1098
1140
  >({
1099
1141
  ...textStaticConfig,
1100
1142
  validStyles: domValidStyles,
1143
+ isDOM: true,
1101
1144
  neverSkipProps: domEventProps,
1102
1145
  Component: primitive(DOMText),
1103
1146
  defaultProps: {
@@ -1126,6 +1169,7 @@ const pre = domTag(
1126
1169
  >({
1127
1170
  ...textStaticConfig,
1128
1171
  validStyles: domValidStyles,
1172
+ isDOM: true,
1129
1173
  neverSkipProps: domEventProps,
1130
1174
  Component: primitive(DOMText),
1131
1175
  defaultProps: {
@@ -1155,6 +1199,7 @@ const s = domTag(
1155
1199
  >({
1156
1200
  ...textStaticConfig,
1157
1201
  validStyles: domValidStyles,
1202
+ isDOM: true,
1158
1203
  neverSkipProps: domEventProps,
1159
1204
  Component: primitive(DOMText),
1160
1205
  defaultProps: {
@@ -1177,6 +1222,7 @@ const section = domTag(
1177
1222
  >({
1178
1223
  ...viewStaticConfig,
1179
1224
  validStyles: domValidStyles,
1225
+ isDOM: true,
1180
1226
  neverSkipProps: domEventProps,
1181
1227
  Component: primitive(DOMView),
1182
1228
  defaultProps: {
@@ -1210,6 +1256,7 @@ const span = domTag(
1210
1256
  >({
1211
1257
  ...textStaticConfig,
1212
1258
  validStyles: domValidStyles,
1259
+ isDOM: true,
1213
1260
  neverSkipProps: domEventProps,
1214
1261
  Component: primitive(DOMText),
1215
1262
  defaultProps: {
@@ -1231,6 +1278,7 @@ const strong = domTag(
1231
1278
  >({
1232
1279
  ...textStaticConfig,
1233
1280
  validStyles: domValidStyles,
1281
+ isDOM: true,
1234
1282
  neverSkipProps: domEventProps,
1235
1283
  Component: primitive(DOMText),
1236
1284
  defaultProps: {
@@ -1253,6 +1301,7 @@ const sub = domTag(
1253
1301
  >({
1254
1302
  ...textStaticConfig,
1255
1303
  validStyles: domValidStyles,
1304
+ isDOM: true,
1256
1305
  neverSkipProps: domEventProps,
1257
1306
  Component: primitive(DOMText),
1258
1307
  defaultProps: {
@@ -1274,6 +1323,7 @@ const sup = domTag(
1274
1323
  >({
1275
1324
  ...textStaticConfig,
1276
1325
  validStyles: domValidStyles,
1326
+ isDOM: true,
1277
1327
  neverSkipProps: domEventProps,
1278
1328
  Component: primitive(DOMText),
1279
1329
  defaultProps: {
@@ -1294,7 +1344,8 @@ const textarea = domTag(
1294
1344
  TextStylePropsBase
1295
1345
  >({
1296
1346
  ...textStaticConfig,
1297
- validStyles: domValidStyles,
1347
+ validStyles: domInputValidStyles,
1348
+ isDOM: true,
1298
1349
  neverSkipProps: domEventProps,
1299
1350
  Component: primitive(DOMTextInput),
1300
1351
  isInput: true,
@@ -1319,6 +1370,7 @@ const u = domTag(
1319
1370
  >({
1320
1371
  ...textStaticConfig,
1321
1372
  validStyles: domValidStyles,
1373
+ isDOM: true,
1322
1374
  neverSkipProps: domEventProps,
1323
1375
  Component: primitive(DOMText),
1324
1376
  defaultProps: {
@@ -1341,6 +1393,7 @@ const ul = domTag(
1341
1393
  >({
1342
1394
  ...viewStaticConfig,
1343
1395
  validStyles: domValidStyles,
1396
+ isDOM: true,
1344
1397
  neverSkipProps: domEventProps,
1345
1398
  Component: primitive(DOMView),
1346
1399
  defaultProps: {