@tamagui/web 2.0.0-rc.9 → 2.0.0

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 (1383) hide show
  1. package/.turbo/turbo-build.log +2 -0
  2. package/.turbo/turbo-test$colon$web.log +15 -0
  3. package/dist/cjs/Tamagui.cjs +57 -53
  4. package/dist/cjs/Tamagui.native.js +95 -79
  5. package/dist/cjs/Tamagui.native.js.map +1 -1
  6. package/dist/cjs/_withStableStyle.cjs +56 -35
  7. package/dist/cjs/_withStableStyle.native.js +64 -46
  8. package/dist/cjs/_withStableStyle.native.js.map +1 -1
  9. package/dist/cjs/animationDriverTypes.test-d.cjs +39 -11
  10. package/dist/cjs/animationDriverTypes.test-d.native.js +39 -11
  11. package/dist/cjs/animationDriverTypes.test-d.native.js.map +1 -1
  12. package/dist/cjs/config.cjs +135 -75
  13. package/dist/cjs/config.native.js +158 -106
  14. package/dist/cjs/config.native.js.map +1 -1
  15. package/dist/cjs/constants/accessibilityDirectMap.cjs +17 -15
  16. package/dist/cjs/constants/accessibilityDirectMap.native.js +17 -15
  17. package/dist/cjs/constants/accessibilityDirectMap.native.js.map +1 -1
  18. package/dist/cjs/constants/constants.cjs +17 -29
  19. package/dist/cjs/constants/constants.native.js +18 -29
  20. package/dist/cjs/constants/constants.native.js.map +1 -1
  21. package/dist/cjs/constants/isDevTools.cjs +18 -14
  22. package/dist/cjs/constants/isDevTools.native.js +18 -14
  23. package/dist/cjs/constants/isDevTools.native.js.map +1 -1
  24. package/dist/cjs/contexts/ComponentContext.cjs +24 -20
  25. package/dist/cjs/contexts/ComponentContext.native.js +25 -23
  26. package/dist/cjs/contexts/ComponentContext.native.js.map +1 -1
  27. package/dist/cjs/contexts/GroupContext.cjs +12 -10
  28. package/dist/cjs/contexts/GroupContext.native.js +14 -12
  29. package/dist/cjs/contexts/GroupContext.native.js.map +1 -1
  30. package/dist/cjs/createComponent.cjs +916 -636
  31. package/dist/cjs/createComponent.native.js +917 -692
  32. package/dist/cjs/createComponent.native.js.map +1 -1
  33. package/dist/cjs/createFont.cjs +33 -27
  34. package/dist/cjs/createFont.native.js +35 -32
  35. package/dist/cjs/createFont.native.js.map +1 -1
  36. package/dist/cjs/createShorthands.cjs +12 -10
  37. package/dist/cjs/createShorthands.native.js +12 -10
  38. package/dist/cjs/createShorthands.native.js.map +1 -1
  39. package/dist/cjs/createTamagui.cjs +118 -97
  40. package/dist/cjs/createTamagui.native.js +155 -141
  41. package/dist/cjs/createTamagui.native.js.map +1 -1
  42. package/dist/cjs/createTokens.cjs +12 -10
  43. package/dist/cjs/createTokens.native.js +12 -10
  44. package/dist/cjs/createTokens.native.js.map +1 -1
  45. package/dist/cjs/createVariable.cjs +57 -31
  46. package/dist/cjs/createVariable.native.js +67 -42
  47. package/dist/cjs/createVariable.native.js.map +1 -1
  48. package/dist/cjs/createVariables.cjs +55 -49
  49. package/dist/cjs/createVariables.native.js +57 -51
  50. package/dist/cjs/createVariables.native.js.map +1 -1
  51. package/dist/cjs/defaultComponentState.cjs +29 -27
  52. package/dist/cjs/defaultComponentState.native.js +29 -27
  53. package/dist/cjs/defaultComponentState.native.js.map +1 -1
  54. package/dist/cjs/eventHandling.cjs +15 -13
  55. package/dist/cjs/eventHandling.native.js +198 -92
  56. package/dist/cjs/eventHandling.native.js.map +1 -1
  57. package/dist/cjs/helpers/consoleLog.native.js +14 -12
  58. package/dist/cjs/helpers/consoleLog.native.js.map +1 -1
  59. package/dist/cjs/helpers/createDesignSystem.cjs +84 -44
  60. package/dist/cjs/helpers/createDesignSystem.native.js +118 -88
  61. package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
  62. package/dist/cjs/helpers/createMediaStyle.cjs +91 -61
  63. package/dist/cjs/helpers/createMediaStyle.native.js +97 -68
  64. package/dist/cjs/helpers/createMediaStyle.native.js.map +1 -1
  65. package/dist/cjs/helpers/createStyledContext.cjs +84 -61
  66. package/dist/cjs/helpers/createStyledContext.native.js +88 -68
  67. package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
  68. package/dist/cjs/helpers/defaultAnimationDriver.cjs +29 -28
  69. package/dist/cjs/helpers/defaultAnimationDriver.native.js +45 -42
  70. package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -1
  71. package/dist/cjs/helpers/defaultOffset.cjs +12 -10
  72. package/dist/cjs/helpers/defaultOffset.native.js +12 -10
  73. package/dist/cjs/helpers/defaultOffset.native.js.map +1 -1
  74. package/dist/cjs/helpers/expandStyle.cjs +54 -39
  75. package/dist/cjs/helpers/expandStyle.native.js +68 -77
  76. package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
  77. package/dist/cjs/helpers/expandStyles.cjs +24 -23
  78. package/dist/cjs/helpers/expandStyles.native.js +27 -21
  79. package/dist/cjs/helpers/expandStyles.native.js.map +1 -1
  80. package/dist/cjs/helpers/getCSSStylesAtomic.cjs +110 -73
  81. package/dist/cjs/helpers/getCSSStylesAtomic.native.js +17 -15
  82. package/dist/cjs/helpers/getCSSStylesAtomic.native.js.map +1 -1
  83. package/dist/cjs/helpers/getDefaultProps.cjs +22 -23
  84. package/dist/cjs/helpers/getDefaultProps.native.js +27 -23
  85. package/dist/cjs/helpers/getDefaultProps.native.js.map +1 -1
  86. package/dist/cjs/helpers/getDynamicVal.cjs +32 -27
  87. package/dist/cjs/helpers/getDynamicVal.native.js +37 -32
  88. package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -1
  89. package/dist/cjs/helpers/getExpandedShorthands.cjs +15 -11
  90. package/dist/cjs/helpers/getExpandedShorthands.native.js +17 -13
  91. package/dist/cjs/helpers/getExpandedShorthands.native.js.map +1 -1
  92. package/dist/cjs/helpers/getFontLanguage.cjs +12 -10
  93. package/dist/cjs/helpers/getFontLanguage.native.js +12 -10
  94. package/dist/cjs/helpers/getFontLanguage.native.js.map +1 -1
  95. package/dist/cjs/helpers/getGroupPropParts.cjs +27 -18
  96. package/dist/cjs/helpers/getGroupPropParts.native.js +28 -19
  97. package/dist/cjs/helpers/getGroupPropParts.native.js.map +1 -1
  98. package/dist/cjs/helpers/getShorthandValue.cjs +16 -11
  99. package/dist/cjs/helpers/getShorthandValue.native.js +19 -17
  100. package/dist/cjs/helpers/getShorthandValue.native.js.map +1 -1
  101. package/dist/cjs/helpers/getSplitStyles.cjs +638 -395
  102. package/dist/cjs/helpers/getSplitStyles.native.js +754 -598
  103. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  104. package/dist/cjs/helpers/getThemeCSSRules.cjs +94 -88
  105. package/dist/cjs/helpers/getThemeCSSRules.native.js +12 -10
  106. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +1 -1
  107. package/dist/cjs/helpers/getTokenForKey.cjs +174 -0
  108. package/dist/cjs/helpers/getTokenForKey.native.js +186 -0
  109. package/dist/cjs/helpers/getTokenForKey.native.js.map +1 -0
  110. package/dist/cjs/helpers/getVariantExtras.cjs +60 -44
  111. package/dist/cjs/helpers/getVariantExtras.native.js +60 -44
  112. package/dist/cjs/helpers/getVariantExtras.native.js.map +1 -1
  113. package/dist/cjs/helpers/insertStyleRule.cjs +109 -75
  114. package/dist/cjs/helpers/insertStyleRule.native.js +52 -263
  115. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  116. package/dist/cjs/helpers/isActivePlatform.cjs +21 -17
  117. package/dist/cjs/helpers/isActivePlatform.native.js +21 -17
  118. package/dist/cjs/helpers/isActivePlatform.native.js.map +1 -1
  119. package/dist/cjs/helpers/isActiveTheme.cjs +14 -11
  120. package/dist/cjs/helpers/isActiveTheme.native.js +14 -11
  121. package/dist/cjs/helpers/isActiveTheme.native.js.map +1 -1
  122. package/dist/cjs/helpers/isObj.cjs +13 -11
  123. package/dist/cjs/helpers/isObj.native.js +14 -12
  124. package/dist/cjs/helpers/isObj.native.js.map +1 -1
  125. package/dist/cjs/helpers/isTamaguiComponent.cjs +14 -12
  126. package/dist/cjs/helpers/isTamaguiComponent.native.js +14 -12
  127. package/dist/cjs/helpers/isTamaguiComponent.native.js.map +1 -1
  128. package/dist/cjs/helpers/isTamaguiElement.cjs +29 -25
  129. package/dist/cjs/helpers/isTamaguiElement.native.js +29 -27
  130. package/dist/cjs/helpers/isTamaguiElement.native.js.map +1 -1
  131. package/dist/cjs/helpers/log.cjs +20 -19
  132. package/dist/cjs/helpers/log.native.js +20 -19
  133. package/dist/cjs/helpers/log.native.js.map +1 -1
  134. package/dist/cjs/helpers/mainThreadPressEvents.cjs +13 -11
  135. package/dist/cjs/helpers/mainThreadPressEvents.native.js +111 -26
  136. package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
  137. package/dist/cjs/helpers/matchMedia.cjs +15 -13
  138. package/dist/cjs/helpers/matchMedia.native.js +34 -19
  139. package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
  140. package/dist/cjs/helpers/mediaObjectToString.cjs +30 -14
  141. package/dist/cjs/helpers/mediaObjectToString.native.js +28 -14
  142. package/dist/cjs/helpers/mediaObjectToString.native.js.map +1 -1
  143. package/dist/cjs/helpers/mediaState.cjs +21 -17
  144. package/dist/cjs/helpers/mediaState.native.js +30 -26
  145. package/dist/cjs/helpers/mediaState.native.js.map +1 -1
  146. package/dist/cjs/helpers/mergeProps.cjs +54 -30
  147. package/dist/cjs/helpers/mergeProps.native.js +55 -30
  148. package/dist/cjs/helpers/mergeProps.native.js.map +1 -1
  149. package/dist/cjs/helpers/mergeRenderElementProps.cjs +14 -11
  150. package/dist/cjs/helpers/mergeRenderElementProps.native.js +14 -11
  151. package/dist/cjs/helpers/mergeRenderElementProps.native.js.map +1 -1
  152. package/dist/cjs/helpers/mergeSlotStyleProps.cjs +31 -18
  153. package/dist/cjs/helpers/mergeSlotStyleProps.native.js +32 -19
  154. package/dist/cjs/helpers/mergeSlotStyleProps.native.js.map +1 -1
  155. package/dist/cjs/helpers/mergeVariants.cjs +28 -16
  156. package/dist/cjs/helpers/mergeVariants.native.js +30 -18
  157. package/dist/cjs/helpers/mergeVariants.native.js.map +1 -1
  158. package/dist/cjs/helpers/nativeOnlyProps.cjs +12 -10
  159. package/dist/cjs/helpers/nativeOnlyProps.native.js +12 -10
  160. package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
  161. package/dist/cjs/helpers/normalizeColor.cjs +30 -13
  162. package/dist/cjs/helpers/normalizeColor.native.js +33 -30
  163. package/dist/cjs/helpers/normalizeColor.native.js.map +1 -1
  164. package/dist/cjs/helpers/normalizeShadow.cjs +12 -10
  165. package/dist/cjs/helpers/normalizeShadow.native.js +25 -23
  166. package/dist/cjs/helpers/normalizeShadow.native.js.map +1 -1
  167. package/dist/cjs/helpers/normalizeStyle.cjs +48 -20
  168. package/dist/cjs/helpers/normalizeStyle.native.js +73 -27
  169. package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -1
  170. package/dist/cjs/helpers/normalizeStylePropKeys.cjs +12 -10
  171. package/dist/cjs/helpers/normalizeStylePropKeys.native.js +22 -20
  172. package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +1 -1
  173. package/dist/cjs/helpers/normalizeValueWithProperty.cjs +33 -17
  174. package/dist/cjs/helpers/normalizeValueWithProperty.native.js +34 -18
  175. package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
  176. package/dist/cjs/helpers/objectIdentityKey.cjs +19 -12
  177. package/dist/cjs/helpers/objectIdentityKey.native.js +22 -15
  178. package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -1
  179. package/dist/cjs/helpers/parseBorderShorthand.cjs +15 -11
  180. package/dist/cjs/helpers/parseBorderShorthand.native.js +52 -24
  181. package/dist/cjs/helpers/parseBorderShorthand.native.js.map +1 -1
  182. package/dist/cjs/helpers/parseNativeStyle.cjs +84 -49
  183. package/dist/cjs/helpers/parseNativeStyle.native.js +130 -88
  184. package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -1
  185. package/dist/cjs/helpers/parseOutlineShorthand.cjs +15 -11
  186. package/dist/cjs/helpers/parseOutlineShorthand.native.js +46 -24
  187. package/dist/cjs/helpers/parseOutlineShorthand.native.js.map +1 -1
  188. package/dist/cjs/helpers/platformResolveValue.cjs +38 -0
  189. package/dist/cjs/helpers/platformResolveValue.native.js +74 -0
  190. package/dist/cjs/helpers/platformResolveValue.native.js.map +1 -0
  191. package/dist/cjs/helpers/pointerEvents.cjs +12 -10
  192. package/dist/cjs/helpers/pointerEvents.native.js +124 -89
  193. package/dist/cjs/helpers/pointerEvents.native.js.map +1 -1
  194. package/dist/cjs/helpers/propMapper.cjs +216 -211
  195. package/dist/cjs/helpers/propMapper.native.js +297 -339
  196. package/dist/cjs/helpers/propMapper.native.js.map +1 -1
  197. package/dist/cjs/helpers/proxyThemeToParents.cjs +33 -19
  198. package/dist/cjs/helpers/proxyThemeToParents.native.js +84 -55
  199. package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -1
  200. package/dist/cjs/helpers/proxyThemeVariables.cjs +13 -11
  201. package/dist/cjs/helpers/proxyThemeVariables.native.js +13 -11
  202. package/dist/cjs/helpers/proxyThemeVariables.native.js.map +1 -1
  203. package/dist/cjs/helpers/pseudoDescriptors.cjs +60 -58
  204. package/dist/cjs/helpers/pseudoDescriptors.native.js +60 -58
  205. package/dist/cjs/helpers/pseudoDescriptors.native.js.map +1 -1
  206. package/dist/cjs/helpers/pseudoTransitions.cjs +83 -0
  207. package/dist/cjs/helpers/pseudoTransitions.native.js +88 -0
  208. package/dist/cjs/helpers/pseudoTransitions.native.js.map +1 -0
  209. package/dist/cjs/helpers/registerCSSVariable.cjs +55 -38
  210. package/dist/cjs/helpers/registerCSSVariable.native.js +60 -45
  211. package/dist/cjs/helpers/registerCSSVariable.native.js.map +1 -1
  212. package/dist/cjs/helpers/resolveAnimationDriver.cjs +37 -0
  213. package/dist/cjs/helpers/resolveAnimationDriver.native.js +41 -0
  214. package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -0
  215. package/dist/cjs/helpers/resolveCompoundTokens.cjs +41 -0
  216. package/dist/cjs/helpers/resolveCompoundTokens.native.js +44 -0
  217. package/dist/cjs/helpers/resolveCompoundTokens.native.js.map +1 -0
  218. package/dist/cjs/helpers/resolveRem.cjs +13 -11
  219. package/dist/cjs/helpers/resolveRem.native.js +31 -22
  220. package/dist/cjs/helpers/resolveRem.native.js.map +1 -1
  221. package/dist/cjs/helpers/resolveSafeArea.cjs +12 -10
  222. package/dist/cjs/helpers/resolveSafeArea.native.js +18 -14
  223. package/dist/cjs/helpers/resolveSafeArea.native.js.map +1 -1
  224. package/dist/cjs/helpers/setElementProps.cjs +12 -10
  225. package/dist/cjs/helpers/setElementProps.native.js +19 -13
  226. package/dist/cjs/helpers/setElementProps.native.js.map +1 -1
  227. package/dist/cjs/helpers/skipProps.cjs +16 -14
  228. package/dist/cjs/helpers/skipProps.native.js +30 -28
  229. package/dist/cjs/helpers/skipProps.native.js.map +1 -1
  230. package/dist/cjs/helpers/sortString.cjs +12 -10
  231. package/dist/cjs/helpers/sortString.native.js +12 -10
  232. package/dist/cjs/helpers/sortString.native.js.map +1 -1
  233. package/dist/cjs/helpers/styleOriginalValues.cjs +28 -0
  234. package/dist/cjs/helpers/styleOriginalValues.native.js +31 -0
  235. package/dist/cjs/helpers/styleOriginalValues.native.js.map +1 -0
  236. package/dist/cjs/helpers/subscribeToContextGroup.cjs +83 -55
  237. package/dist/cjs/helpers/subscribeToContextGroup.native.js +118 -92
  238. package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
  239. package/dist/cjs/helpers/themeable.cjs +77 -48
  240. package/dist/cjs/helpers/themeable.native.js +97 -69
  241. package/dist/cjs/helpers/themeable.native.js.map +1 -1
  242. package/dist/cjs/helpers/themes.cjs +27 -19
  243. package/dist/cjs/helpers/themes.native.js +27 -19
  244. package/dist/cjs/helpers/themes.native.js.map +1 -1
  245. package/dist/cjs/helpers/timer.cjs +13 -11
  246. package/dist/cjs/helpers/timer.native.js +13 -11
  247. package/dist/cjs/helpers/timer.native.js.map +1 -1
  248. package/dist/cjs/helpers/transformsToString.cjs +18 -13
  249. package/dist/cjs/helpers/transformsToString.native.js +18 -13
  250. package/dist/cjs/helpers/transformsToString.native.js.map +1 -1
  251. package/dist/cjs/helpers/useRenderElement.cjs +29 -24
  252. package/dist/cjs/helpers/useRenderElement.native.js +33 -25
  253. package/dist/cjs/helpers/useRenderElement.native.js.map +1 -1
  254. package/dist/cjs/helpers/webPropsToSkip.cjs +12 -10
  255. package/dist/cjs/helpers/webPropsToSkip.native.js +60 -58
  256. package/dist/cjs/helpers/webPropsToSkip.native.js.map +1 -1
  257. package/dist/cjs/helpers/wrapStyleTags.cjs +16 -15
  258. package/dist/cjs/helpers/wrapStyleTags.native.js +14 -12
  259. package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
  260. package/dist/cjs/hooks/doesRootSchemeMatchSystem.cjs +13 -11
  261. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js +14 -12
  262. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js.map +1 -1
  263. package/dist/cjs/hooks/getThemeProxied.cjs +45 -27
  264. package/dist/cjs/hooks/getThemeProxied.native.js +79 -65
  265. package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -1
  266. package/dist/cjs/hooks/useComponentState.cjs +141 -86
  267. package/dist/cjs/hooks/useComponentState.native.js +145 -97
  268. package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
  269. package/dist/cjs/hooks/useDisableSSR.cjs +12 -10
  270. package/dist/cjs/hooks/useDisableSSR.native.js +13 -11
  271. package/dist/cjs/hooks/useDisableSSR.native.js.map +1 -1
  272. package/dist/cjs/hooks/useIsTouchDevice.cjs +17 -13
  273. package/dist/cjs/hooks/useIsTouchDevice.native.js +17 -15
  274. package/dist/cjs/hooks/useIsTouchDevice.native.js.map +1 -1
  275. package/dist/cjs/hooks/useMedia.cjs +153 -93
  276. package/dist/cjs/hooks/useMedia.native.js +164 -108
  277. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  278. package/dist/cjs/hooks/useProps.cjs +83 -77
  279. package/dist/cjs/hooks/useProps.native.js +85 -79
  280. package/dist/cjs/hooks/useProps.native.js.map +1 -1
  281. package/dist/cjs/hooks/useTheme.cjs +40 -25
  282. package/dist/cjs/hooks/useTheme.native.js +40 -28
  283. package/dist/cjs/hooks/useTheme.native.js.map +1 -1
  284. package/dist/cjs/hooks/useThemeName.cjs +20 -18
  285. package/dist/cjs/hooks/useThemeName.native.js +24 -22
  286. package/dist/cjs/hooks/useThemeName.native.js.map +1 -1
  287. package/dist/cjs/hooks/useThemeState.cjs +248 -172
  288. package/dist/cjs/hooks/useThemeState.native.js +315 -248
  289. package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
  290. package/dist/cjs/index.cjs +22 -18
  291. package/dist/cjs/index.native.js +22 -18
  292. package/dist/cjs/index.native.js.map +1 -1
  293. package/dist/cjs/inject-styles.cjs +27 -22
  294. package/dist/cjs/inject-styles.native.js +28 -23
  295. package/dist/cjs/inject-styles.native.js.map +1 -1
  296. package/dist/cjs/insertFont.cjs +37 -28
  297. package/dist/cjs/insertFont.native.js +35 -30
  298. package/dist/cjs/insertFont.native.js.map +1 -1
  299. package/dist/cjs/interfaces/CSSColorNames.cjs +7 -5
  300. package/dist/cjs/interfaces/CSSColorNames.native.js +7 -5
  301. package/dist/cjs/interfaces/CSSColorNames.native.js.map +1 -1
  302. package/dist/cjs/interfaces/GetRef.cjs +7 -5
  303. package/dist/cjs/interfaces/GetRef.native.js +7 -5
  304. package/dist/cjs/interfaces/GetRef.native.js.map +1 -1
  305. package/dist/cjs/interfaces/RNExclusiveTypes.cjs +7 -5
  306. package/dist/cjs/interfaces/RNExclusiveTypes.native.js +7 -5
  307. package/dist/cjs/interfaces/RNExclusiveTypes.native.js.map +1 -1
  308. package/dist/cjs/interfaces/TamaguiComponentEvents.cjs +7 -5
  309. package/dist/cjs/interfaces/TamaguiComponentEvents.native.js +7 -5
  310. package/dist/cjs/interfaces/TamaguiComponentEvents.native.js.map +1 -1
  311. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.cjs +7 -5
  312. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js +7 -5
  313. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js.map +1 -1
  314. package/dist/cjs/setupHooks.cjs +12 -10
  315. package/dist/cjs/setupHooks.native.js +12 -10
  316. package/dist/cjs/setupHooks.native.js.map +1 -1
  317. package/dist/cjs/setupReactNative.cjs +25 -18
  318. package/dist/cjs/setupReactNative.native.js +25 -21
  319. package/dist/cjs/setupReactNative.native.js.map +1 -1
  320. package/dist/cjs/styled.cjs +121 -77
  321. package/dist/cjs/styled.native.js +125 -87
  322. package/dist/cjs/styled.native.js.map +1 -1
  323. package/dist/cjs/styledHtml.test-d.cjs +58 -27
  324. package/dist/cjs/styledHtml.test-d.native.js +58 -27
  325. package/dist/cjs/styledHtml.test-d.native.js.map +1 -1
  326. package/dist/cjs/styledNonStyleProps.test-d.cjs +63 -0
  327. package/dist/cjs/styledNonStyleProps.test-d.native.js +66 -0
  328. package/dist/cjs/styledNonStyleProps.test-d.native.js.map +1 -0
  329. package/dist/cjs/type-utils.cjs +7 -5
  330. package/dist/cjs/type-utils.native.js +7 -5
  331. package/dist/cjs/type-utils.native.js.map +1 -1
  332. package/dist/cjs/types.cjs +7 -5
  333. package/dist/cjs/types.native.js +7 -5
  334. package/dist/cjs/types.native.js.map +1 -1
  335. package/dist/cjs/views/Configuration.cjs +28 -26
  336. package/dist/cjs/views/Configuration.native.js +39 -37
  337. package/dist/cjs/views/Configuration.native.js.map +1 -1
  338. package/dist/cjs/views/FontLanguage.cjs +22 -18
  339. package/dist/cjs/views/FontLanguage.native.js +34 -32
  340. package/dist/cjs/views/FontLanguage.native.js.map +1 -1
  341. package/dist/cjs/views/Slot.cjs +55 -37
  342. package/dist/cjs/views/Slot.native.js +57 -41
  343. package/dist/cjs/views/Slot.native.js.map +1 -1
  344. package/dist/cjs/views/TamaguiProvider.cjs +65 -53
  345. package/dist/cjs/views/TamaguiProvider.native.js +69 -55
  346. package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
  347. package/dist/cjs/views/TamaguiRoot.cjs +60 -42
  348. package/dist/cjs/views/TamaguiRoot.native.js +12 -10
  349. package/dist/cjs/views/TamaguiRoot.native.js.map +1 -1
  350. package/dist/cjs/views/Text.cjs +44 -48
  351. package/dist/cjs/views/Text.native.js +32 -32
  352. package/dist/cjs/views/Text.native.js.map +1 -1
  353. package/dist/cjs/views/Theme.cjs +139 -101
  354. package/dist/cjs/views/Theme.native.js +148 -113
  355. package/dist/cjs/views/Theme.native.js.map +1 -1
  356. package/dist/cjs/views/ThemeDebug.cjs +39 -18
  357. package/dist/cjs/views/ThemeDebug.native.js +13 -11
  358. package/dist/cjs/views/ThemeDebug.native.js.map +1 -1
  359. package/dist/cjs/views/ThemeProvider.cjs +25 -20
  360. package/dist/cjs/views/ThemeProvider.native.js +30 -28
  361. package/dist/cjs/views/ThemeProvider.native.js.map +1 -1
  362. package/dist/cjs/views/View.cjs +15 -15
  363. package/dist/cjs/views/View.native.js +18 -18
  364. package/dist/cjs/views/View.native.js.map +1 -1
  365. package/dist/esm/Tamagui.mjs +29 -27
  366. package/dist/esm/Tamagui.mjs.map +1 -1
  367. package/dist/esm/Tamagui.native.js +67 -53
  368. package/dist/esm/Tamagui.native.js.map +1 -1
  369. package/dist/esm/_withStableStyle.mjs +29 -10
  370. package/dist/esm/_withStableStyle.mjs.map +1 -1
  371. package/dist/esm/_withStableStyle.native.js +32 -16
  372. package/dist/esm/_withStableStyle.native.js.map +1 -1
  373. package/dist/esm/animationDriverTypes.test-d.mjs +39 -11
  374. package/dist/esm/animationDriverTypes.test-d.mjs.map +1 -1
  375. package/dist/esm/animationDriverTypes.test-d.native.js +39 -11
  376. package/dist/esm/animationDriverTypes.test-d.native.js.map +1 -1
  377. package/dist/esm/config.mjs +121 -64
  378. package/dist/esm/config.mjs.map +1 -1
  379. package/dist/esm/config.native.js +144 -95
  380. package/dist/esm/config.native.js.map +1 -1
  381. package/dist/esm/constants/accessibilityDirectMap.mjs +5 -5
  382. package/dist/esm/constants/accessibilityDirectMap.mjs.map +1 -1
  383. package/dist/esm/constants/accessibilityDirectMap.native.js +5 -5
  384. package/dist/esm/constants/accessibilityDirectMap.native.js.map +1 -1
  385. package/dist/esm/constants/constants.mjs +5 -17
  386. package/dist/esm/constants/constants.mjs.map +1 -1
  387. package/dist/esm/constants/constants.native.js +6 -17
  388. package/dist/esm/constants/constants.native.js.map +1 -1
  389. package/dist/esm/constants/isDevTools.mjs +6 -4
  390. package/dist/esm/constants/isDevTools.mjs.map +1 -1
  391. package/dist/esm/constants/isDevTools.native.js +6 -4
  392. package/dist/esm/constants/isDevTools.native.js.map +1 -1
  393. package/dist/esm/contexts/ComponentContext.mjs +10 -8
  394. package/dist/esm/contexts/ComponentContext.mjs.map +1 -1
  395. package/dist/esm/contexts/ComponentContext.native.js +10 -10
  396. package/dist/esm/contexts/ComponentContext.native.js.map +1 -1
  397. package/dist/esm/createComponent.mjs +861 -586
  398. package/dist/esm/createComponent.mjs.map +1 -1
  399. package/dist/esm/createComponent.native.js +864 -645
  400. package/dist/esm/createComponent.native.js.map +1 -1
  401. package/dist/esm/createFont.mjs +21 -17
  402. package/dist/esm/createFont.mjs.map +1 -1
  403. package/dist/esm/createFont.native.js +23 -22
  404. package/dist/esm/createFont.native.js.map +1 -1
  405. package/dist/esm/createTamagui.mjs +94 -77
  406. package/dist/esm/createTamagui.mjs.map +1 -1
  407. package/dist/esm/createTamagui.native.js +130 -121
  408. package/dist/esm/createTamagui.native.js.map +1 -1
  409. package/dist/esm/createVariable.mjs +42 -18
  410. package/dist/esm/createVariable.mjs.map +1 -1
  411. package/dist/esm/createVariable.native.js +52 -29
  412. package/dist/esm/createVariable.native.js.map +1 -1
  413. package/dist/esm/createVariables.mjs +40 -36
  414. package/dist/esm/createVariables.mjs.map +1 -1
  415. package/dist/esm/createVariables.native.js +42 -38
  416. package/dist/esm/createVariables.native.js.map +1 -1
  417. package/dist/esm/defaultComponentState.mjs +17 -17
  418. package/dist/esm/defaultComponentState.mjs.map +1 -1
  419. package/dist/esm/defaultComponentState.native.js +17 -17
  420. package/dist/esm/defaultComponentState.native.js.map +1 -1
  421. package/dist/esm/eventHandling.mjs +3 -3
  422. package/dist/esm/eventHandling.mjs.map +1 -1
  423. package/dist/esm/eventHandling.native.js +170 -66
  424. package/dist/esm/eventHandling.native.js.map +1 -1
  425. package/dist/esm/helpers/consoleLog.native.js +2 -2
  426. package/dist/esm/helpers/consoleLog.native.js.map +1 -1
  427. package/dist/esm/helpers/createDesignSystem.mjs +67 -30
  428. package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
  429. package/dist/esm/helpers/createDesignSystem.native.js +103 -76
  430. package/dist/esm/helpers/createDesignSystem.native.js.map +1 -1
  431. package/dist/esm/helpers/createMediaStyle.mjs +76 -48
  432. package/dist/esm/helpers/createMediaStyle.mjs.map +1 -1
  433. package/dist/esm/helpers/createMediaStyle.native.js +82 -55
  434. package/dist/esm/helpers/createMediaStyle.native.js.map +1 -1
  435. package/dist/esm/helpers/createStyledContext.mjs +57 -36
  436. package/dist/esm/helpers/createStyledContext.mjs.map +1 -1
  437. package/dist/esm/helpers/createStyledContext.native.js +61 -43
  438. package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
  439. package/dist/esm/helpers/defaultAnimationDriver.mjs +17 -18
  440. package/dist/esm/helpers/defaultAnimationDriver.mjs.map +1 -1
  441. package/dist/esm/helpers/defaultAnimationDriver.native.js +33 -32
  442. package/dist/esm/helpers/defaultAnimationDriver.native.js.map +1 -1
  443. package/dist/esm/helpers/expandStyle.mjs +42 -29
  444. package/dist/esm/helpers/expandStyle.mjs.map +1 -1
  445. package/dist/esm/helpers/expandStyle.native.js +48 -59
  446. package/dist/esm/helpers/expandStyle.native.js.map +1 -1
  447. package/dist/esm/helpers/expandStyles.mjs +10 -11
  448. package/dist/esm/helpers/expandStyles.mjs.map +1 -1
  449. package/dist/esm/helpers/expandStyles.native.js +13 -9
  450. package/dist/esm/helpers/expandStyles.native.js.map +1 -1
  451. package/dist/esm/helpers/getCSSStylesAtomic.mjs +89 -54
  452. package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
  453. package/dist/esm/helpers/getCSSStylesAtomic.native.js +5 -5
  454. package/dist/esm/helpers/getCSSStylesAtomic.native.js.map +1 -1
  455. package/dist/esm/helpers/getDefaultProps.mjs +10 -13
  456. package/dist/esm/helpers/getDefaultProps.mjs.map +1 -1
  457. package/dist/esm/helpers/getDefaultProps.native.js +14 -12
  458. package/dist/esm/helpers/getDefaultProps.native.js.map +1 -1
  459. package/dist/esm/helpers/getDynamicVal.mjs +20 -17
  460. package/dist/esm/helpers/getDynamicVal.mjs.map +1 -1
  461. package/dist/esm/helpers/getDynamicVal.native.js +25 -22
  462. package/dist/esm/helpers/getDynamicVal.native.js.map +1 -1
  463. package/dist/esm/helpers/getExpandedShorthands.mjs +3 -1
  464. package/dist/esm/helpers/getExpandedShorthands.mjs.map +1 -1
  465. package/dist/esm/helpers/getExpandedShorthands.native.js +5 -3
  466. package/dist/esm/helpers/getExpandedShorthands.native.js.map +1 -1
  467. package/dist/esm/helpers/getGroupPropParts.mjs +13 -6
  468. package/dist/esm/helpers/getGroupPropParts.mjs.map +1 -1
  469. package/dist/esm/helpers/getGroupPropParts.native.js +14 -7
  470. package/dist/esm/helpers/getGroupPropParts.native.js.map +1 -1
  471. package/dist/esm/helpers/getShorthandValue.mjs +4 -1
  472. package/dist/esm/helpers/getShorthandValue.mjs.map +1 -1
  473. package/dist/esm/helpers/getShorthandValue.native.js +6 -6
  474. package/dist/esm/helpers/getShorthandValue.native.js.map +1 -1
  475. package/dist/esm/helpers/getSplitStyles.mjs +595 -355
  476. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  477. package/dist/esm/helpers/getSplitStyles.native.js +708 -556
  478. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  479. package/dist/esm/helpers/getThemeCSSRules.mjs +76 -72
  480. package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
  481. package/dist/esm/helpers/getTokenForKey.mjs +146 -0
  482. package/dist/esm/helpers/getTokenForKey.mjs.map +1 -0
  483. package/dist/esm/helpers/getTokenForKey.native.js +155 -0
  484. package/dist/esm/helpers/getTokenForKey.native.js.map +1 -0
  485. package/dist/esm/helpers/getVariantExtras.mjs +46 -32
  486. package/dist/esm/helpers/getVariantExtras.mjs.map +1 -1
  487. package/dist/esm/helpers/getVariantExtras.native.js +46 -32
  488. package/dist/esm/helpers/getVariantExtras.native.js.map +1 -1
  489. package/dist/esm/helpers/insertStyleRule.mjs +95 -63
  490. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
  491. package/dist/esm/helpers/insertStyleRule.native.js +38 -251
  492. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
  493. package/dist/esm/helpers/isActivePlatform.mjs +10 -9
  494. package/dist/esm/helpers/isActivePlatform.mjs.map +1 -1
  495. package/dist/esm/helpers/isActivePlatform.native.js +10 -9
  496. package/dist/esm/helpers/isActivePlatform.native.js.map +1 -1
  497. package/dist/esm/helpers/isActiveTheme.mjs +2 -1
  498. package/dist/esm/helpers/isActiveTheme.mjs.map +1 -1
  499. package/dist/esm/helpers/isActiveTheme.native.js +2 -1
  500. package/dist/esm/helpers/isActiveTheme.native.js.map +1 -1
  501. package/dist/esm/helpers/isObj.mjs +1 -1
  502. package/dist/esm/helpers/isObj.mjs.map +1 -1
  503. package/dist/esm/helpers/isObj.native.js +2 -2
  504. package/dist/esm/helpers/isTamaguiComponent.mjs +2 -2
  505. package/dist/esm/helpers/isTamaguiComponent.mjs.map +1 -1
  506. package/dist/esm/helpers/isTamaguiComponent.native.js +2 -2
  507. package/dist/esm/helpers/isTamaguiComponent.native.js.map +1 -1
  508. package/dist/esm/helpers/isTamaguiElement.mjs +3 -1
  509. package/dist/esm/helpers/isTamaguiElement.mjs.map +1 -1
  510. package/dist/esm/helpers/isTamaguiElement.native.js.map +1 -1
  511. package/dist/esm/helpers/log.mjs +8 -9
  512. package/dist/esm/helpers/log.mjs.map +1 -1
  513. package/dist/esm/helpers/log.native.js +8 -9
  514. package/dist/esm/helpers/log.native.js.map +1 -1
  515. package/dist/esm/helpers/mainThreadPressEvents.mjs +1 -1
  516. package/dist/esm/helpers/mainThreadPressEvents.mjs.map +1 -1
  517. package/dist/esm/helpers/mainThreadPressEvents.native.js +99 -16
  518. package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
  519. package/dist/esm/helpers/matchMedia.mjs +3 -3
  520. package/dist/esm/helpers/matchMedia.mjs.map +1 -1
  521. package/dist/esm/helpers/matchMedia.native.js +22 -9
  522. package/dist/esm/helpers/matchMedia.native.js.map +1 -1
  523. package/dist/esm/helpers/mediaObjectToString.mjs +18 -4
  524. package/dist/esm/helpers/mediaObjectToString.mjs.map +1 -1
  525. package/dist/esm/helpers/mediaObjectToString.native.js +16 -4
  526. package/dist/esm/helpers/mediaObjectToString.native.js.map +1 -1
  527. package/dist/esm/helpers/mediaState.mjs +9 -7
  528. package/dist/esm/helpers/mediaState.mjs.map +1 -1
  529. package/dist/esm/helpers/mediaState.native.js +18 -16
  530. package/dist/esm/helpers/mediaState.native.js.map +1 -1
  531. package/dist/esm/helpers/mergeProps.mjs +42 -20
  532. package/dist/esm/helpers/mergeProps.mjs.map +1 -1
  533. package/dist/esm/helpers/mergeProps.native.js +43 -20
  534. package/dist/esm/helpers/mergeProps.native.js.map +1 -1
  535. package/dist/esm/helpers/mergeRenderElementProps.mjs +2 -1
  536. package/dist/esm/helpers/mergeRenderElementProps.mjs.map +1 -1
  537. package/dist/esm/helpers/mergeRenderElementProps.native.js +2 -1
  538. package/dist/esm/helpers/mergeRenderElementProps.native.js.map +1 -1
  539. package/dist/esm/helpers/mergeSlotStyleProps.mjs +17 -6
  540. package/dist/esm/helpers/mergeSlotStyleProps.mjs.map +1 -1
  541. package/dist/esm/helpers/mergeSlotStyleProps.native.js +17 -6
  542. package/dist/esm/helpers/mergeSlotStyleProps.native.js.map +1 -1
  543. package/dist/esm/helpers/mergeVariants.mjs +16 -6
  544. package/dist/esm/helpers/mergeVariants.mjs.map +1 -1
  545. package/dist/esm/helpers/mergeVariants.native.js +18 -8
  546. package/dist/esm/helpers/mergeVariants.native.js.map +1 -1
  547. package/dist/esm/helpers/normalizeColor.mjs +18 -3
  548. package/dist/esm/helpers/normalizeColor.mjs.map +1 -1
  549. package/dist/esm/helpers/normalizeColor.native.js +18 -17
  550. package/dist/esm/helpers/normalizeColor.native.js.map +1 -1
  551. package/dist/esm/helpers/normalizeShadow.native.js +11 -11
  552. package/dist/esm/helpers/normalizeShadow.native.js.map +1 -1
  553. package/dist/esm/helpers/normalizeStyle.mjs +31 -5
  554. package/dist/esm/helpers/normalizeStyle.mjs.map +1 -1
  555. package/dist/esm/helpers/normalizeStyle.native.js +56 -12
  556. package/dist/esm/helpers/normalizeStyle.native.js.map +1 -1
  557. package/dist/esm/helpers/normalizeStylePropKeys.native.js +10 -10
  558. package/dist/esm/helpers/normalizeValueWithProperty.mjs +19 -5
  559. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
  560. package/dist/esm/helpers/normalizeValueWithProperty.native.js +20 -6
  561. package/dist/esm/helpers/normalizeValueWithProperty.native.js.map +1 -1
  562. package/dist/esm/helpers/objectIdentityKey.mjs +7 -2
  563. package/dist/esm/helpers/objectIdentityKey.mjs.map +1 -1
  564. package/dist/esm/helpers/objectIdentityKey.native.js +10 -5
  565. package/dist/esm/helpers/objectIdentityKey.native.js.map +1 -1
  566. package/dist/esm/helpers/parseBorderShorthand.mjs +3 -1
  567. package/dist/esm/helpers/parseBorderShorthand.mjs.map +1 -1
  568. package/dist/esm/helpers/parseBorderShorthand.native.js +40 -14
  569. package/dist/esm/helpers/parseBorderShorthand.native.js.map +1 -1
  570. package/dist/esm/helpers/parseNativeStyle.mjs +72 -39
  571. package/dist/esm/helpers/parseNativeStyle.mjs.map +1 -1
  572. package/dist/esm/helpers/parseNativeStyle.native.js +118 -78
  573. package/dist/esm/helpers/parseNativeStyle.native.js.map +1 -1
  574. package/dist/esm/helpers/parseOutlineShorthand.mjs +3 -1
  575. package/dist/esm/helpers/parseOutlineShorthand.mjs.map +1 -1
  576. package/dist/esm/helpers/parseOutlineShorthand.native.js +34 -14
  577. package/dist/esm/helpers/parseOutlineShorthand.native.js.map +1 -1
  578. package/dist/esm/helpers/platformResolveValue.mjs +13 -0
  579. package/dist/esm/helpers/platformResolveValue.mjs.map +1 -0
  580. package/dist/esm/helpers/platformResolveValue.native.js +46 -0
  581. package/dist/esm/helpers/platformResolveValue.native.js.map +1 -0
  582. package/dist/esm/helpers/pointerEvents.native.js +110 -77
  583. package/dist/esm/helpers/pointerEvents.native.js.map +1 -1
  584. package/dist/esm/helpers/propMapper.mjs +197 -194
  585. package/dist/esm/helpers/propMapper.mjs.map +1 -1
  586. package/dist/esm/helpers/propMapper.native.js +276 -320
  587. package/dist/esm/helpers/propMapper.native.js.map +1 -1
  588. package/dist/esm/helpers/proxyThemeToParents.mjs +21 -9
  589. package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -1
  590. package/dist/esm/helpers/proxyThemeToParents.native.js +72 -45
  591. package/dist/esm/helpers/proxyThemeToParents.native.js.map +1 -1
  592. package/dist/esm/helpers/proxyThemeVariables.mjs +1 -1
  593. package/dist/esm/helpers/proxyThemeVariables.mjs.map +1 -1
  594. package/dist/esm/helpers/proxyThemeVariables.native.js +1 -1
  595. package/dist/esm/helpers/pseudoDescriptors.mjs +48 -48
  596. package/dist/esm/helpers/pseudoDescriptors.mjs.map +1 -1
  597. package/dist/esm/helpers/pseudoDescriptors.native.js +48 -48
  598. package/dist/esm/helpers/pseudoDescriptors.native.js.map +1 -1
  599. package/dist/esm/helpers/pseudoTransitions.mjs +57 -0
  600. package/dist/esm/helpers/pseudoTransitions.mjs.map +1 -0
  601. package/dist/esm/helpers/pseudoTransitions.native.js +59 -0
  602. package/dist/esm/helpers/pseudoTransitions.native.js.map +1 -0
  603. package/dist/esm/helpers/registerCSSVariable.mjs +42 -27
  604. package/dist/esm/helpers/registerCSSVariable.mjs.map +1 -1
  605. package/dist/esm/helpers/registerCSSVariable.native.js +46 -33
  606. package/dist/esm/helpers/registerCSSVariable.native.js.map +1 -1
  607. package/dist/esm/helpers/resolveAnimationDriver.mjs +12 -0
  608. package/dist/esm/helpers/resolveAnimationDriver.mjs.map +1 -0
  609. package/dist/esm/helpers/resolveAnimationDriver.native.js +13 -0
  610. package/dist/esm/helpers/resolveAnimationDriver.native.js.map +1 -0
  611. package/dist/esm/helpers/resolveCompoundTokens.mjs +16 -0
  612. package/dist/esm/helpers/resolveCompoundTokens.mjs.map +1 -0
  613. package/dist/esm/helpers/resolveCompoundTokens.native.js +16 -0
  614. package/dist/esm/helpers/resolveCompoundTokens.native.js.map +1 -0
  615. package/dist/esm/helpers/resolveRem.mjs +1 -1
  616. package/dist/esm/helpers/resolveRem.mjs.map +1 -1
  617. package/dist/esm/helpers/resolveRem.native.js +16 -9
  618. package/dist/esm/helpers/resolveRem.native.js.map +1 -1
  619. package/dist/esm/helpers/resolveSafeArea.native.js +6 -4
  620. package/dist/esm/helpers/resolveSafeArea.native.js.map +1 -1
  621. package/dist/esm/helpers/setElementProps.native.js +7 -3
  622. package/dist/esm/helpers/setElementProps.native.js.map +1 -1
  623. package/dist/esm/helpers/skipProps.mjs +3 -3
  624. package/dist/esm/helpers/skipProps.mjs.map +1 -1
  625. package/dist/esm/helpers/skipProps.native.js +3 -3
  626. package/dist/esm/helpers/skipProps.native.js.map +1 -1
  627. package/dist/esm/helpers/styleOriginalValues.mjs +3 -0
  628. package/dist/esm/helpers/styleOriginalValues.mjs.map +1 -0
  629. package/dist/esm/helpers/styleOriginalValues.native.js +3 -0
  630. package/dist/esm/helpers/styleOriginalValues.native.js.map +1 -0
  631. package/dist/esm/helpers/subscribeToContextGroup.mjs +68 -42
  632. package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -1
  633. package/dist/esm/helpers/subscribeToContextGroup.native.js +103 -79
  634. package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
  635. package/dist/esm/helpers/themeable.mjs +47 -20
  636. package/dist/esm/helpers/themeable.mjs.map +1 -1
  637. package/dist/esm/helpers/themeable.native.js +69 -43
  638. package/dist/esm/helpers/themeable.native.js.map +1 -1
  639. package/dist/esm/helpers/themes.mjs +15 -9
  640. package/dist/esm/helpers/themes.mjs.map +1 -1
  641. package/dist/esm/helpers/themes.native.js +15 -9
  642. package/dist/esm/helpers/themes.native.js.map +1 -1
  643. package/dist/esm/helpers/timer.mjs +1 -1
  644. package/dist/esm/helpers/timer.native.js +1 -1
  645. package/dist/esm/helpers/transformsToString.mjs +6 -3
  646. package/dist/esm/helpers/transformsToString.mjs.map +1 -1
  647. package/dist/esm/helpers/transformsToString.native.js +6 -3
  648. package/dist/esm/helpers/transformsToString.native.js.map +1 -1
  649. package/dist/esm/helpers/useRenderElement.mjs +14 -13
  650. package/dist/esm/helpers/useRenderElement.mjs.map +1 -1
  651. package/dist/esm/helpers/useRenderElement.native.js +18 -13
  652. package/dist/esm/helpers/useRenderElement.native.js.map +1 -1
  653. package/dist/esm/helpers/webPropsToSkip.native.js +46 -46
  654. package/dist/esm/helpers/webPropsToSkip.native.js.map +1 -1
  655. package/dist/esm/helpers/wrapStyleTags.mjs +2 -3
  656. package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -1
  657. package/dist/esm/helpers/wrapStyleTags.native.js +2 -2
  658. package/dist/esm/helpers/wrapStyleTags.native.js.map +1 -1
  659. package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs +1 -1
  660. package/dist/esm/hooks/getThemeProxied.mjs +32 -16
  661. package/dist/esm/hooks/getThemeProxied.mjs.map +1 -1
  662. package/dist/esm/hooks/getThemeProxied.native.js +62 -50
  663. package/dist/esm/hooks/getThemeProxied.native.js.map +1 -1
  664. package/dist/esm/hooks/useComponentState.mjs +121 -68
  665. package/dist/esm/hooks/useComponentState.mjs.map +1 -1
  666. package/dist/esm/hooks/useComponentState.native.js +125 -79
  667. package/dist/esm/hooks/useComponentState.native.js.map +1 -1
  668. package/dist/esm/hooks/useDisableSSR.native.js +1 -1
  669. package/dist/esm/hooks/useDisableSSR.native.js.map +1 -1
  670. package/dist/esm/hooks/useIsTouchDevice.mjs +3 -1
  671. package/dist/esm/hooks/useIsTouchDevice.mjs.map +1 -1
  672. package/dist/esm/hooks/useIsTouchDevice.native.js +1 -1
  673. package/dist/esm/hooks/useIsTouchDevice.native.js.map +1 -1
  674. package/dist/esm/hooks/useMedia.mjs +133 -75
  675. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  676. package/dist/esm/hooks/useMedia.native.js +144 -90
  677. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  678. package/dist/esm/hooks/useProps.mjs +47 -43
  679. package/dist/esm/hooks/useProps.mjs.map +1 -1
  680. package/dist/esm/hooks/useProps.native.js +49 -45
  681. package/dist/esm/hooks/useProps.native.js.map +1 -1
  682. package/dist/esm/hooks/useTheme.mjs +25 -12
  683. package/dist/esm/hooks/useTheme.mjs.map +1 -1
  684. package/dist/esm/hooks/useTheme.native.js +25 -15
  685. package/dist/esm/hooks/useTheme.native.js.map +1 -1
  686. package/dist/esm/hooks/useThemeName.mjs +8 -8
  687. package/dist/esm/hooks/useThemeName.mjs.map +1 -1
  688. package/dist/esm/hooks/useThemeName.native.js +10 -10
  689. package/dist/esm/hooks/useThemeName.native.js.map +1 -1
  690. package/dist/esm/hooks/useThemeState.mjs +233 -159
  691. package/dist/esm/hooks/useThemeState.mjs.map +1 -1
  692. package/dist/esm/hooks/useThemeState.native.js +298 -233
  693. package/dist/esm/hooks/useThemeState.native.js.map +1 -1
  694. package/dist/esm/index.js +67 -106
  695. package/dist/esm/index.js.map +1 -6
  696. package/dist/esm/index.mjs +3 -2
  697. package/dist/esm/index.mjs.map +1 -1
  698. package/dist/esm/index.native.js +3 -2
  699. package/dist/esm/index.native.js.map +1 -1
  700. package/dist/esm/inject-styles.mjs +15 -12
  701. package/dist/esm/inject-styles.mjs.map +1 -1
  702. package/dist/esm/inject-styles.native.js +16 -13
  703. package/dist/esm/inject-styles.native.js.map +1 -1
  704. package/dist/esm/insertFont.mjs +19 -13
  705. package/dist/esm/insertFont.mjs.map +1 -1
  706. package/dist/esm/insertFont.native.js +18 -16
  707. package/dist/esm/insertFont.native.js.map +1 -1
  708. package/dist/esm/setupReactNative.mjs +13 -8
  709. package/dist/esm/setupReactNative.mjs.map +1 -1
  710. package/dist/esm/setupReactNative.native.js +13 -11
  711. package/dist/esm/setupReactNative.native.js.map +1 -1
  712. package/dist/esm/styled.mjs +106 -64
  713. package/dist/esm/styled.mjs.map +1 -1
  714. package/dist/esm/styled.native.js +109 -73
  715. package/dist/esm/styled.native.js.map +1 -1
  716. package/dist/esm/styledHtml.test-d.mjs +56 -25
  717. package/dist/esm/styledHtml.test-d.mjs.map +1 -1
  718. package/dist/esm/styledHtml.test-d.native.js +56 -25
  719. package/dist/esm/styledHtml.test-d.native.js.map +1 -1
  720. package/dist/esm/styledNonStyleProps.test-d.mjs +64 -0
  721. package/dist/esm/styledNonStyleProps.test-d.mjs.map +1 -0
  722. package/dist/esm/styledNonStyleProps.test-d.native.js +64 -0
  723. package/dist/esm/styledNonStyleProps.test-d.native.js.map +1 -0
  724. package/dist/esm/views/Configuration.native.js +2 -2
  725. package/dist/esm/views/Configuration.native.js.map +1 -1
  726. package/dist/esm/views/FontLanguage.mjs +10 -8
  727. package/dist/esm/views/FontLanguage.mjs.map +1 -1
  728. package/dist/esm/views/FontLanguage.native.js +7 -7
  729. package/dist/esm/views/FontLanguage.native.js.map +1 -1
  730. package/dist/esm/views/Slot.mjs +38 -22
  731. package/dist/esm/views/Slot.mjs.map +1 -1
  732. package/dist/esm/views/Slot.native.js +40 -26
  733. package/dist/esm/views/Slot.native.js.map +1 -1
  734. package/dist/esm/views/TamaguiProvider.mjs +30 -20
  735. package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
  736. package/dist/esm/views/TamaguiProvider.native.js +35 -23
  737. package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
  738. package/dist/esm/views/TamaguiRoot.mjs +33 -17
  739. package/dist/esm/views/TamaguiRoot.mjs.map +1 -1
  740. package/dist/esm/views/Text.mjs +30 -36
  741. package/dist/esm/views/Text.mjs.map +1 -1
  742. package/dist/esm/views/Text.native.js +19 -20
  743. package/dist/esm/views/Text.native.js.map +1 -1
  744. package/dist/esm/views/Theme.mjs +108 -72
  745. package/dist/esm/views/Theme.mjs.map +1 -1
  746. package/dist/esm/views/Theme.native.js +114 -81
  747. package/dist/esm/views/Theme.native.js.map +1 -1
  748. package/dist/esm/views/ThemeDebug.mjs +22 -3
  749. package/dist/esm/views/ThemeDebug.mjs.map +1 -1
  750. package/dist/esm/views/ThemeDebug.native.js +1 -1
  751. package/dist/esm/views/ThemeDebug.native.js.map +1 -1
  752. package/dist/esm/views/ThemeProvider.mjs +7 -4
  753. package/dist/esm/views/ThemeProvider.mjs.map +1 -1
  754. package/dist/esm/views/ThemeProvider.native.js +5 -5
  755. package/dist/esm/views/ThemeProvider.native.js.map +1 -1
  756. package/dist/esm/views/View.mjs +1 -3
  757. package/dist/esm/views/View.mjs.map +1 -1
  758. package/dist/esm/views/View.native.js +1 -3
  759. package/dist/esm/views/View.native.js.map +1 -1
  760. package/inject-styles/index.cjs +2 -0
  761. package/inject-styles/index.js +2 -0
  762. package/package.json +21 -25
  763. package/src/_withStableStyle.tsx +54 -19
  764. package/src/animationDriverTypes.test-d.ts +76 -0
  765. package/src/config.ts +12 -1
  766. package/src/constants/constants.ts +0 -17
  767. package/src/createComponent.tsx +287 -102
  768. package/src/createTamagui.ts +37 -20
  769. package/src/createVariable.ts +1 -1
  770. package/src/eventHandling.native.ts +219 -61
  771. package/src/eventHandling.ts +6 -2
  772. package/src/helpers/createDesignSystem.ts +79 -8
  773. package/src/helpers/createMediaStyle.ts +8 -2
  774. package/src/helpers/createStyledContext.tsx +27 -18
  775. package/src/helpers/defaultAnimationDriver.tsx +1 -2
  776. package/src/helpers/expandStyle.ts +56 -7
  777. package/src/helpers/getCSSStylesAtomic.ts +5 -10
  778. package/src/helpers/getDefaultProps.ts +4 -15
  779. package/src/helpers/getSplitStyles.tsx +302 -84
  780. package/src/helpers/getTokenForKey.ts +236 -0
  781. package/src/helpers/getVariantExtras.tsx +5 -4
  782. package/src/helpers/insertStyleRule.tsx +1 -1
  783. package/src/helpers/isActivePlatform.ts +33 -4
  784. package/src/helpers/mainThreadPressEvents.native.ts +122 -25
  785. package/src/helpers/mainThreadPressEvents.ts +2 -1
  786. package/src/helpers/normalizeColor.ts +12 -8
  787. package/src/helpers/normalizeStyle.ts +23 -1
  788. package/src/helpers/parseNativeStyle.ts +10 -11
  789. package/src/helpers/platformResolveValue.native.ts +72 -0
  790. package/src/helpers/platformResolveValue.ts +22 -0
  791. package/src/helpers/propMapper.ts +60 -258
  792. package/src/helpers/pseudoTransitions.ts +97 -0
  793. package/src/helpers/resolveAnimationDriver.ts +23 -0
  794. package/src/helpers/resolveCompoundTokens.ts +28 -0
  795. package/src/helpers/skipProps.ts +1 -0
  796. package/src/helpers/styleOriginalValues.ts +2 -0
  797. package/src/helpers/themeable.tsx +7 -5
  798. package/src/helpers/useRenderElement.tsx +7 -0
  799. package/src/hooks/useComponentState.ts +11 -8
  800. package/src/hooks/useMedia.tsx +2 -0
  801. package/src/hooks/useTheme.tsx +4 -0
  802. package/src/hooks/useThemeState.ts +44 -12
  803. package/src/index.ts +3 -0
  804. package/src/styled.tsx +2 -2
  805. package/src/styledNonStyleProps.test-d.ts +106 -0
  806. package/src/types.tsx +140 -59
  807. package/src/views/TamaguiProvider.tsx +32 -21
  808. package/src/views/TamaguiRoot.tsx +40 -14
  809. package/src/views/Text.tsx +3 -9
  810. package/src/views/Theme.tsx +2 -0
  811. package/src/views/ThemeProvider.tsx +2 -0
  812. package/src/views/View.tsx +0 -2
  813. package/tsconfig.json +44 -0
  814. package/tsconfig.test.json +9 -0
  815. package/types/_withStableStyle.d.ts +1 -2
  816. package/types/_withStableStyle.d.ts.map +1 -1
  817. package/types/config.d.ts +2 -0
  818. package/types/config.d.ts.map +1 -1
  819. package/types/constants/constants.d.ts +0 -3
  820. package/types/constants/constants.d.ts.map +1 -1
  821. package/types/createComponent.d.ts.map +1 -1
  822. package/types/createTamagui.d.ts.map +1 -1
  823. package/types/createVariable.d.ts +1 -1
  824. package/types/createVariable.d.ts.map +1 -1
  825. package/types/eventHandling.d.ts +2 -2
  826. package/types/eventHandling.d.ts.map +1 -1
  827. package/types/eventHandling.native.d.ts +3 -3
  828. package/types/eventHandling.native.d.ts.map +1 -1
  829. package/types/helpers/createDesignSystem.d.ts +5 -2
  830. package/types/helpers/createDesignSystem.d.ts.map +1 -1
  831. package/types/helpers/createMediaStyle.d.ts.map +1 -1
  832. package/types/helpers/createStyledContext.d.ts +1 -1
  833. package/types/helpers/createStyledContext.d.ts.map +1 -1
  834. package/types/helpers/defaultAnimationDriver.d.ts.map +1 -1
  835. package/types/helpers/expandStyle.d.ts +2 -1
  836. package/types/helpers/expandStyle.d.ts.map +1 -1
  837. package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
  838. package/types/helpers/getDefaultProps.d.ts +1 -1
  839. package/types/helpers/getDefaultProps.d.ts.map +1 -1
  840. package/types/helpers/getSplitStyles.d.ts +4 -4
  841. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  842. package/types/helpers/getTokenForKey.d.ts +6 -0
  843. package/types/helpers/getTokenForKey.d.ts.map +1 -0
  844. package/types/helpers/getVariantExtras.d.ts.map +1 -1
  845. package/types/helpers/isActivePlatform.d.ts +14 -0
  846. package/types/helpers/isActivePlatform.d.ts.map +1 -1
  847. package/types/helpers/mainThreadPressEvents.d.ts +1 -1
  848. package/types/helpers/mainThreadPressEvents.d.ts.map +1 -1
  849. package/types/helpers/mainThreadPressEvents.native.d.ts +5 -6
  850. package/types/helpers/mainThreadPressEvents.native.d.ts.map +1 -1
  851. package/types/helpers/normalizeColor.d.ts +1 -1
  852. package/types/helpers/normalizeColor.d.ts.map +1 -1
  853. package/types/helpers/normalizeStyle.d.ts.map +1 -1
  854. package/types/helpers/platformResolveValue.d.ts +6 -0
  855. package/types/helpers/platformResolveValue.d.ts.map +1 -0
  856. package/types/helpers/platformResolveValue.native.d.ts +7 -0
  857. package/types/helpers/platformResolveValue.native.d.ts.map +1 -0
  858. package/types/helpers/propMapper.d.ts +2 -2
  859. package/types/helpers/propMapper.d.ts.map +1 -1
  860. package/types/helpers/pseudoTransitions.d.ts +29 -0
  861. package/types/helpers/pseudoTransitions.d.ts.map +1 -0
  862. package/types/helpers/resolveAnimationDriver.d.ts +7 -0
  863. package/types/helpers/resolveAnimationDriver.d.ts.map +1 -0
  864. package/types/helpers/resolveCompoundTokens.d.ts +9 -0
  865. package/types/helpers/resolveCompoundTokens.d.ts.map +1 -0
  866. package/types/helpers/skipProps.d.ts +1 -0
  867. package/types/helpers/skipProps.d.ts.map +1 -1
  868. package/types/helpers/styleOriginalValues.d.ts +2 -0
  869. package/types/helpers/styleOriginalValues.d.ts.map +1 -0
  870. package/types/helpers/themeable.d.ts.map +1 -1
  871. package/types/helpers/useRenderElement.d.ts.map +1 -1
  872. package/types/helpers/webPropsToSkip.native.d.ts +20 -20
  873. package/types/hooks/useComponentState.d.ts +2 -1
  874. package/types/hooks/useComponentState.d.ts.map +1 -1
  875. package/types/hooks/useMedia.d.ts.map +1 -1
  876. package/types/hooks/useTheme.d.ts.map +1 -1
  877. package/types/hooks/useThemeState.d.ts.map +1 -1
  878. package/types/index.d.ts +2 -1
  879. package/types/index.d.ts.map +1 -1
  880. package/types/styled.d.ts +2 -2
  881. package/types/styled.d.ts.map +1 -1
  882. package/types/types.d.ts +68 -34
  883. package/types/types.d.ts.map +1 -1
  884. package/types/views/TamaguiProvider.d.ts +1 -4
  885. package/types/views/TamaguiProvider.d.ts.map +1 -1
  886. package/types/views/TamaguiRoot.d.ts +5 -2
  887. package/types/views/TamaguiRoot.d.ts.map +1 -1
  888. package/types/views/Text.d.ts.map +1 -1
  889. package/types/views/Theme.d.ts.map +1 -1
  890. package/types/views/ThemeProvider.d.ts.map +1 -1
  891. package/types/views/View.d.ts.map +1 -1
  892. package/vitest.config.d.ts +3 -0
  893. package/vitest.config.d.ts.map +1 -0
  894. package/vitest.config.ts +14 -0
  895. package/dist/cjs/Tamagui.js +0 -56
  896. package/dist/cjs/Tamagui.js.map +0 -6
  897. package/dist/cjs/_withStableStyle.js +0 -33
  898. package/dist/cjs/_withStableStyle.js.map +0 -6
  899. package/dist/cjs/animationDriverTypes.test-d.js +0 -51
  900. package/dist/cjs/animationDriverTypes.test-d.js.map +0 -6
  901. package/dist/cjs/config.js +0 -109
  902. package/dist/cjs/config.js.map +0 -6
  903. package/dist/cjs/constants/accessibilityDirectMap.js +0 -25
  904. package/dist/cjs/constants/accessibilityDirectMap.js.map +0 -6
  905. package/dist/cjs/constants/constants.js +0 -43
  906. package/dist/cjs/constants/constants.js.map +0 -6
  907. package/dist/cjs/constants/isDevTools.js +0 -28
  908. package/dist/cjs/constants/isDevTools.js.map +0 -6
  909. package/dist/cjs/constants/webToNativeProps.cjs +0 -28
  910. package/dist/cjs/constants/webToNativeProps.js +0 -22
  911. package/dist/cjs/constants/webToNativeProps.js.map +0 -6
  912. package/dist/cjs/constants/webToNativeProps.native.js +0 -115
  913. package/dist/cjs/constants/webToNativeProps.native.js.map +0 -1
  914. package/dist/cjs/contexts/ComponentContext.js +0 -30
  915. package/dist/cjs/contexts/ComponentContext.js.map +0 -6
  916. package/dist/cjs/contexts/GroupContext.js +0 -22
  917. package/dist/cjs/contexts/GroupContext.js.map +0 -6
  918. package/dist/cjs/createComponent.js +0 -697
  919. package/dist/cjs/createComponent.js.map +0 -6
  920. package/dist/cjs/createFont.js +0 -53
  921. package/dist/cjs/createFont.js.map +0 -6
  922. package/dist/cjs/createShorthands.js +0 -23
  923. package/dist/cjs/createShorthands.js.map +0 -6
  924. package/dist/cjs/createTamagui.js +0 -190
  925. package/dist/cjs/createTamagui.js.map +0 -6
  926. package/dist/cjs/createTheme.cjs +0 -26
  927. package/dist/cjs/createTheme.js +0 -21
  928. package/dist/cjs/createTheme.js.map +0 -6
  929. package/dist/cjs/createTheme.native.js +0 -31
  930. package/dist/cjs/createTheme.native.js.map +0 -1
  931. package/dist/cjs/createTokens.js +0 -24
  932. package/dist/cjs/createTokens.js.map +0 -6
  933. package/dist/cjs/createVariable.js +0 -89
  934. package/dist/cjs/createVariable.js.map +0 -6
  935. package/dist/cjs/createVariables.js +0 -56
  936. package/dist/cjs/createVariables.js.map +0 -6
  937. package/dist/cjs/defaultComponentState.js +0 -38
  938. package/dist/cjs/defaultComponentState.js.map +0 -6
  939. package/dist/cjs/eventHandling.js +0 -41
  940. package/dist/cjs/eventHandling.js.map +0 -6
  941. package/dist/cjs/helpers/createDesignSystem.js +0 -120
  942. package/dist/cjs/helpers/createDesignSystem.js.map +0 -6
  943. package/dist/cjs/helpers/createMediaStyle.js +0 -74
  944. package/dist/cjs/helpers/createMediaStyle.js.map +0 -6
  945. package/dist/cjs/helpers/createStyledContext.js +0 -52
  946. package/dist/cjs/helpers/createStyledContext.js.map +0 -6
  947. package/dist/cjs/helpers/defaultAnimationDriver.js +0 -39
  948. package/dist/cjs/helpers/defaultAnimationDriver.js.map +0 -6
  949. package/dist/cjs/helpers/defaultOffset.js +0 -21
  950. package/dist/cjs/helpers/defaultOffset.js.map +0 -6
  951. package/dist/cjs/helpers/expandStyle.js +0 -73
  952. package/dist/cjs/helpers/expandStyle.js.map +0 -6
  953. package/dist/cjs/helpers/expandStyles.js +0 -34
  954. package/dist/cjs/helpers/expandStyles.js.map +0 -6
  955. package/dist/cjs/helpers/getCSSStylesAtomic.js +0 -156
  956. package/dist/cjs/helpers/getCSSStylesAtomic.js.map +0 -6
  957. package/dist/cjs/helpers/getDefaultProps.js +0 -31
  958. package/dist/cjs/helpers/getDefaultProps.js.map +0 -6
  959. package/dist/cjs/helpers/getDynamicVal.js +0 -62
  960. package/dist/cjs/helpers/getDynamicVal.js.map +0 -6
  961. package/dist/cjs/helpers/getExpandedShorthands.js +0 -34
  962. package/dist/cjs/helpers/getExpandedShorthands.js.map +0 -6
  963. package/dist/cjs/helpers/getFontLanguage.js +0 -21
  964. package/dist/cjs/helpers/getFontLanguage.js.map +0 -6
  965. package/dist/cjs/helpers/getGroupPropParts.js +0 -34
  966. package/dist/cjs/helpers/getGroupPropParts.js.map +0 -6
  967. package/dist/cjs/helpers/getShorthandValue.js +0 -23
  968. package/dist/cjs/helpers/getShorthandValue.js.map +0 -6
  969. package/dist/cjs/helpers/getSplitStyles.js +0 -630
  970. package/dist/cjs/helpers/getSplitStyles.js.map +0 -6
  971. package/dist/cjs/helpers/getThemeCSSRules.js +0 -98
  972. package/dist/cjs/helpers/getThemeCSSRules.js.map +0 -6
  973. package/dist/cjs/helpers/getVariantExtras.js +0 -59
  974. package/dist/cjs/helpers/getVariantExtras.js.map +0 -6
  975. package/dist/cjs/helpers/insertStyleRule.js +0 -196
  976. package/dist/cjs/helpers/insertStyleRule.js.map +0 -6
  977. package/dist/cjs/helpers/isActivePlatform.js +0 -31
  978. package/dist/cjs/helpers/isActivePlatform.js.map +0 -6
  979. package/dist/cjs/helpers/isActiveTheme.js +0 -24
  980. package/dist/cjs/helpers/isActiveTheme.js.map +0 -6
  981. package/dist/cjs/helpers/isObj.js +0 -21
  982. package/dist/cjs/helpers/isObj.js.map +0 -6
  983. package/dist/cjs/helpers/isTamaguiComponent.js +0 -24
  984. package/dist/cjs/helpers/isTamaguiComponent.js.map +0 -6
  985. package/dist/cjs/helpers/isTamaguiElement.js +0 -30
  986. package/dist/cjs/helpers/isTamaguiElement.js.map +0 -6
  987. package/dist/cjs/helpers/log.js +0 -33
  988. package/dist/cjs/helpers/log.js.map +0 -6
  989. package/dist/cjs/helpers/mainThreadPressEvents.js +0 -22
  990. package/dist/cjs/helpers/mainThreadPressEvents.js.map +0 -6
  991. package/dist/cjs/helpers/matchMedia.js +0 -34
  992. package/dist/cjs/helpers/matchMedia.js.map +0 -6
  993. package/dist/cjs/helpers/mediaObjectToString.js +0 -32
  994. package/dist/cjs/helpers/mediaObjectToString.js.map +0 -6
  995. package/dist/cjs/helpers/mediaState.js +0 -41
  996. package/dist/cjs/helpers/mediaState.js.map +0 -6
  997. package/dist/cjs/helpers/mergeProps.js +0 -55
  998. package/dist/cjs/helpers/mergeProps.js.map +0 -6
  999. package/dist/cjs/helpers/mergeRenderElementProps.js +0 -25
  1000. package/dist/cjs/helpers/mergeRenderElementProps.js.map +0 -6
  1001. package/dist/cjs/helpers/mergeSlotStyleProps.js +0 -29
  1002. package/dist/cjs/helpers/mergeSlotStyleProps.js.map +0 -6
  1003. package/dist/cjs/helpers/mergeVariants.js +0 -38
  1004. package/dist/cjs/helpers/mergeVariants.js.map +0 -6
  1005. package/dist/cjs/helpers/nativeOnlyProps.js +0 -55
  1006. package/dist/cjs/helpers/nativeOnlyProps.js.map +0 -6
  1007. package/dist/cjs/helpers/normalizeColor.js +0 -26
  1008. package/dist/cjs/helpers/normalizeColor.js.map +0 -6
  1009. package/dist/cjs/helpers/normalizeShadow.js +0 -40
  1010. package/dist/cjs/helpers/normalizeShadow.js.map +0 -6
  1011. package/dist/cjs/helpers/normalizeStyle.js +0 -36
  1012. package/dist/cjs/helpers/normalizeStyle.js.map +0 -6
  1013. package/dist/cjs/helpers/normalizeStylePropKeys.js +0 -21
  1014. package/dist/cjs/helpers/normalizeStylePropKeys.js.map +0 -6
  1015. package/dist/cjs/helpers/normalizeValueWithProperty.js +0 -37
  1016. package/dist/cjs/helpers/normalizeValueWithProperty.js.map +0 -6
  1017. package/dist/cjs/helpers/objectIdentityKey.js +0 -38
  1018. package/dist/cjs/helpers/objectIdentityKey.js.map +0 -6
  1019. package/dist/cjs/helpers/parseBorderShorthand.js +0 -22
  1020. package/dist/cjs/helpers/parseBorderShorthand.js.map +0 -6
  1021. package/dist/cjs/helpers/parseNativeStyle.js +0 -116
  1022. package/dist/cjs/helpers/parseNativeStyle.js.map +0 -6
  1023. package/dist/cjs/helpers/parseOutlineShorthand.js +0 -22
  1024. package/dist/cjs/helpers/parseOutlineShorthand.js.map +0 -6
  1025. package/dist/cjs/helpers/pointerEvents.js +0 -22
  1026. package/dist/cjs/helpers/pointerEvents.js.map +0 -6
  1027. package/dist/cjs/helpers/propMapper.js +0 -257
  1028. package/dist/cjs/helpers/propMapper.js.map +0 -6
  1029. package/dist/cjs/helpers/proxyThemeToParents.js +0 -40
  1030. package/dist/cjs/helpers/proxyThemeToParents.js.map +0 -6
  1031. package/dist/cjs/helpers/proxyThemeVariables.js +0 -31
  1032. package/dist/cjs/helpers/proxyThemeVariables.js.map +0 -6
  1033. package/dist/cjs/helpers/pseudoDescriptors.js +0 -72
  1034. package/dist/cjs/helpers/pseudoDescriptors.js.map +0 -6
  1035. package/dist/cjs/helpers/registerCSSVariable.js +0 -47
  1036. package/dist/cjs/helpers/registerCSSVariable.js.map +0 -6
  1037. package/dist/cjs/helpers/resolveRem.js +0 -27
  1038. package/dist/cjs/helpers/resolveRem.js.map +0 -6
  1039. package/dist/cjs/helpers/resolveSafeArea.js +0 -29
  1040. package/dist/cjs/helpers/resolveSafeArea.js.map +0 -6
  1041. package/dist/cjs/helpers/setElementProps.js +0 -24
  1042. package/dist/cjs/helpers/setElementProps.js.map +0 -6
  1043. package/dist/cjs/helpers/skipProps.js +0 -38
  1044. package/dist/cjs/helpers/skipProps.js.map +0 -6
  1045. package/dist/cjs/helpers/sortString.js +0 -21
  1046. package/dist/cjs/helpers/sortString.js.map +0 -6
  1047. package/dist/cjs/helpers/subscribeToContextGroup.js +0 -74
  1048. package/dist/cjs/helpers/subscribeToContextGroup.js.map +0 -6
  1049. package/dist/cjs/helpers/themeable.js +0 -56
  1050. package/dist/cjs/helpers/themeable.js.map +0 -6
  1051. package/dist/cjs/helpers/themes.js +0 -33
  1052. package/dist/cjs/helpers/themes.js.map +0 -6
  1053. package/dist/cjs/helpers/timer.js +0 -27
  1054. package/dist/cjs/helpers/timer.js.map +0 -6
  1055. package/dist/cjs/helpers/transformsToString.js +0 -33
  1056. package/dist/cjs/helpers/transformsToString.js.map +0 -6
  1057. package/dist/cjs/helpers/useRenderElement.js +0 -42
  1058. package/dist/cjs/helpers/useRenderElement.js.map +0 -6
  1059. package/dist/cjs/helpers/webPropsToSkip.js +0 -21
  1060. package/dist/cjs/helpers/webPropsToSkip.js.map +0 -6
  1061. package/dist/cjs/helpers/wrapStyleTags.js +0 -38
  1062. package/dist/cjs/helpers/wrapStyleTags.js.map +0 -6
  1063. package/dist/cjs/hooks/doesRootSchemeMatchSystem.js +0 -23
  1064. package/dist/cjs/hooks/doesRootSchemeMatchSystem.js.map +0 -6
  1065. package/dist/cjs/hooks/getThemeProxied.js +0 -56
  1066. package/dist/cjs/hooks/getThemeProxied.js.map +0 -6
  1067. package/dist/cjs/hooks/useComponentState.js +0 -96
  1068. package/dist/cjs/hooks/useComponentState.js.map +0 -6
  1069. package/dist/cjs/hooks/useDisableSSR.js +0 -24
  1070. package/dist/cjs/hooks/useDisableSSR.js.map +0 -6
  1071. package/dist/cjs/hooks/useIsTouchDevice.js +0 -22
  1072. package/dist/cjs/hooks/useIsTouchDevice.js.map +0 -6
  1073. package/dist/cjs/hooks/useMedia.js +0 -153
  1074. package/dist/cjs/hooks/useMedia.js.map +0 -6
  1075. package/dist/cjs/hooks/useProps.js +0 -106
  1076. package/dist/cjs/hooks/useProps.js.map +0 -6
  1077. package/dist/cjs/hooks/useTheme.js +0 -35
  1078. package/dist/cjs/hooks/useTheme.js.map +0 -6
  1079. package/dist/cjs/hooks/useThemeName.js +0 -25
  1080. package/dist/cjs/hooks/useThemeName.js.map +0 -6
  1081. package/dist/cjs/hooks/useThemeState.js +0 -226
  1082. package/dist/cjs/hooks/useThemeState.js.map +0 -6
  1083. package/dist/cjs/index.js +0 -109
  1084. package/dist/cjs/index.js.map +0 -6
  1085. package/dist/cjs/inject-styles.js +0 -28
  1086. package/dist/cjs/inject-styles.js.map +0 -6
  1087. package/dist/cjs/insertFont.js +0 -68
  1088. package/dist/cjs/insertFont.js.map +0 -6
  1089. package/dist/cjs/interfaces/CSSColorNames.js +0 -14
  1090. package/dist/cjs/interfaces/CSSColorNames.js.map +0 -6
  1091. package/dist/cjs/interfaces/GetRef.js +0 -14
  1092. package/dist/cjs/interfaces/GetRef.js.map +0 -6
  1093. package/dist/cjs/interfaces/RNExclusiveTypes.js +0 -14
  1094. package/dist/cjs/interfaces/RNExclusiveTypes.js.map +0 -6
  1095. package/dist/cjs/interfaces/TamaguiComponentEvents.js +0 -14
  1096. package/dist/cjs/interfaces/TamaguiComponentEvents.js.map +0 -6
  1097. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.js +0 -14
  1098. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.js.map +0 -6
  1099. package/dist/cjs/setupHooks.js +0 -25
  1100. package/dist/cjs/setupHooks.js.map +0 -6
  1101. package/dist/cjs/setupReactNative.js +0 -43
  1102. package/dist/cjs/setupReactNative.js.map +0 -6
  1103. package/dist/cjs/styled.js +0 -116
  1104. package/dist/cjs/styled.js.map +0 -6
  1105. package/dist/cjs/styledHtml.test-d.js +0 -136
  1106. package/dist/cjs/styledHtml.test-d.js.map +0 -6
  1107. package/dist/cjs/type-utils.js +0 -14
  1108. package/dist/cjs/type-utils.js.map +0 -6
  1109. package/dist/cjs/types.js +0 -14
  1110. package/dist/cjs/types.js.map +0 -6
  1111. package/dist/cjs/views/Configuration.js +0 -33
  1112. package/dist/cjs/views/Configuration.js.map +0 -6
  1113. package/dist/cjs/views/FontLanguage.js +0 -32
  1114. package/dist/cjs/views/FontLanguage.js.map +0 -6
  1115. package/dist/cjs/views/Slot.js +0 -55
  1116. package/dist/cjs/views/Slot.js.map +0 -6
  1117. package/dist/cjs/views/Stack.cjs +0 -34
  1118. package/dist/cjs/views/Stack.js +0 -27
  1119. package/dist/cjs/views/Stack.js.map +0 -6
  1120. package/dist/cjs/views/Stack.native.js +0 -37
  1121. package/dist/cjs/views/Stack.native.js.map +0 -1
  1122. package/dist/cjs/views/TamaguiProvider.js +0 -73
  1123. package/dist/cjs/views/TamaguiProvider.js.map +0 -6
  1124. package/dist/cjs/views/TamaguiRoot.js +0 -40
  1125. package/dist/cjs/views/TamaguiRoot.js.map +0 -6
  1126. package/dist/cjs/views/Text.js +0 -59
  1127. package/dist/cjs/views/Text.js.map +0 -6
  1128. package/dist/cjs/views/Theme.js +0 -124
  1129. package/dist/cjs/views/Theme.js.map +0 -6
  1130. package/dist/cjs/views/ThemeDebug.js +0 -81
  1131. package/dist/cjs/views/ThemeDebug.js.map +0 -6
  1132. package/dist/cjs/views/ThemeProvider.js +0 -42
  1133. package/dist/cjs/views/ThemeProvider.js.map +0 -6
  1134. package/dist/cjs/views/View.js +0 -26
  1135. package/dist/cjs/views/View.js.map +0 -6
  1136. package/dist/esm/Tamagui.js +0 -35
  1137. package/dist/esm/Tamagui.js.map +0 -6
  1138. package/dist/esm/_withStableStyle.js +0 -12
  1139. package/dist/esm/_withStableStyle.js.map +0 -6
  1140. package/dist/esm/animationDriverTypes.test-d.js +0 -51
  1141. package/dist/esm/animationDriverTypes.test-d.js.map +0 -6
  1142. package/dist/esm/config.js +0 -94
  1143. package/dist/esm/config.js.map +0 -6
  1144. package/dist/esm/constants/accessibilityDirectMap.js +0 -9
  1145. package/dist/esm/constants/accessibilityDirectMap.js.map +0 -6
  1146. package/dist/esm/constants/constants.js +0 -27
  1147. package/dist/esm/constants/constants.js.map +0 -6
  1148. package/dist/esm/constants/isDevTools.js +0 -12
  1149. package/dist/esm/constants/isDevTools.js.map +0 -6
  1150. package/dist/esm/constants/webToNativeProps.js +0 -6
  1151. package/dist/esm/constants/webToNativeProps.js.map +0 -6
  1152. package/dist/esm/constants/webToNativeProps.mjs +0 -4
  1153. package/dist/esm/constants/webToNativeProps.mjs.map +0 -1
  1154. package/dist/esm/constants/webToNativeProps.native.js +0 -88
  1155. package/dist/esm/constants/webToNativeProps.native.js.map +0 -1
  1156. package/dist/esm/contexts/ComponentContext.js +0 -15
  1157. package/dist/esm/contexts/ComponentContext.js.map +0 -6
  1158. package/dist/esm/contexts/GroupContext.js +0 -6
  1159. package/dist/esm/contexts/GroupContext.js.map +0 -6
  1160. package/dist/esm/createComponent.js +0 -702
  1161. package/dist/esm/createComponent.js.map +0 -6
  1162. package/dist/esm/createFont.js +0 -37
  1163. package/dist/esm/createFont.js.map +0 -6
  1164. package/dist/esm/createShorthands.js +0 -7
  1165. package/dist/esm/createShorthands.js.map +0 -6
  1166. package/dist/esm/createTamagui.js +0 -189
  1167. package/dist/esm/createTamagui.js.map +0 -6
  1168. package/dist/esm/createTheme.js +0 -5
  1169. package/dist/esm/createTheme.js.map +0 -6
  1170. package/dist/esm/createTheme.mjs +0 -3
  1171. package/dist/esm/createTheme.mjs.map +0 -1
  1172. package/dist/esm/createTheme.native.js +0 -5
  1173. package/dist/esm/createTheme.native.js.map +0 -1
  1174. package/dist/esm/createTokens.js +0 -8
  1175. package/dist/esm/createTokens.js.map +0 -6
  1176. package/dist/esm/createVariable.js +0 -75
  1177. package/dist/esm/createVariable.js.map +0 -6
  1178. package/dist/esm/createVariables.js +0 -42
  1179. package/dist/esm/createVariables.js.map +0 -6
  1180. package/dist/esm/defaultComponentState.js +0 -22
  1181. package/dist/esm/defaultComponentState.js.map +0 -6
  1182. package/dist/esm/eventHandling.js +0 -25
  1183. package/dist/esm/eventHandling.js.map +0 -6
  1184. package/dist/esm/helpers/createDesignSystem.js +0 -107
  1185. package/dist/esm/helpers/createDesignSystem.js.map +0 -6
  1186. package/dist/esm/helpers/createMediaStyle.js +0 -60
  1187. package/dist/esm/helpers/createMediaStyle.js.map +0 -6
  1188. package/dist/esm/helpers/createStyledContext.js +0 -31
  1189. package/dist/esm/helpers/createStyledContext.js.map +0 -6
  1190. package/dist/esm/helpers/defaultAnimationDriver.js +0 -23
  1191. package/dist/esm/helpers/defaultAnimationDriver.js.map +0 -6
  1192. package/dist/esm/helpers/defaultOffset.js +0 -5
  1193. package/dist/esm/helpers/defaultOffset.js.map +0 -6
  1194. package/dist/esm/helpers/expandStyle.js +0 -60
  1195. package/dist/esm/helpers/expandStyle.js.map +0 -6
  1196. package/dist/esm/helpers/expandStyles.js +0 -19
  1197. package/dist/esm/helpers/expandStyles.js.map +0 -6
  1198. package/dist/esm/helpers/getCSSStylesAtomic.js +0 -147
  1199. package/dist/esm/helpers/getCSSStylesAtomic.js.map +0 -6
  1200. package/dist/esm/helpers/getDefaultProps.js +0 -15
  1201. package/dist/esm/helpers/getDefaultProps.js.map +0 -6
  1202. package/dist/esm/helpers/getDynamicVal.js +0 -46
  1203. package/dist/esm/helpers/getDynamicVal.js.map +0 -6
  1204. package/dist/esm/helpers/getExpandedShorthands.js +0 -18
  1205. package/dist/esm/helpers/getExpandedShorthands.js.map +0 -6
  1206. package/dist/esm/helpers/getFontLanguage.js +0 -5
  1207. package/dist/esm/helpers/getFontLanguage.js.map +0 -6
  1208. package/dist/esm/helpers/getGroupPropParts.js +0 -19
  1209. package/dist/esm/helpers/getGroupPropParts.js.map +0 -6
  1210. package/dist/esm/helpers/getShorthandValue.js +0 -7
  1211. package/dist/esm/helpers/getShorthandValue.js.map +0 -6
  1212. package/dist/esm/helpers/getSplitStyles.js +0 -649
  1213. package/dist/esm/helpers/getSplitStyles.js.map +0 -6
  1214. package/dist/esm/helpers/getThemeCSSRules.js +0 -87
  1215. package/dist/esm/helpers/getThemeCSSRules.js.map +0 -6
  1216. package/dist/esm/helpers/getVariantExtras.js +0 -44
  1217. package/dist/esm/helpers/getVariantExtras.js.map +0 -6
  1218. package/dist/esm/helpers/insertStyleRule.js +0 -181
  1219. package/dist/esm/helpers/insertStyleRule.js.map +0 -6
  1220. package/dist/esm/helpers/isActivePlatform.js +0 -15
  1221. package/dist/esm/helpers/isActivePlatform.js.map +0 -6
  1222. package/dist/esm/helpers/isActiveTheme.js +0 -8
  1223. package/dist/esm/helpers/isActiveTheme.js.map +0 -6
  1224. package/dist/esm/helpers/isObj.js +0 -5
  1225. package/dist/esm/helpers/isObj.js.map +0 -6
  1226. package/dist/esm/helpers/isTamaguiComponent.js +0 -8
  1227. package/dist/esm/helpers/isTamaguiComponent.js.map +0 -6
  1228. package/dist/esm/helpers/isTamaguiElement.js +0 -7
  1229. package/dist/esm/helpers/isTamaguiElement.js.map +0 -6
  1230. package/dist/esm/helpers/log.js +0 -17
  1231. package/dist/esm/helpers/log.js.map +0 -6
  1232. package/dist/esm/helpers/mainThreadPressEvents.js +0 -6
  1233. package/dist/esm/helpers/mainThreadPressEvents.js.map +0 -6
  1234. package/dist/esm/helpers/matchMedia.js +0 -18
  1235. package/dist/esm/helpers/matchMedia.js.map +0 -6
  1236. package/dist/esm/helpers/mediaObjectToString.js +0 -16
  1237. package/dist/esm/helpers/mediaObjectToString.js.map +0 -6
  1238. package/dist/esm/helpers/mediaState.js +0 -25
  1239. package/dist/esm/helpers/mediaState.js.map +0 -6
  1240. package/dist/esm/helpers/mergeProps.js +0 -39
  1241. package/dist/esm/helpers/mergeProps.js.map +0 -6
  1242. package/dist/esm/helpers/mergeRenderElementProps.js +0 -9
  1243. package/dist/esm/helpers/mergeRenderElementProps.js.map +0 -6
  1244. package/dist/esm/helpers/mergeSlotStyleProps.js +0 -14
  1245. package/dist/esm/helpers/mergeSlotStyleProps.js.map +0 -6
  1246. package/dist/esm/helpers/mergeVariants.js +0 -22
  1247. package/dist/esm/helpers/mergeVariants.js.map +0 -6
  1248. package/dist/esm/helpers/nativeOnlyProps.js +0 -39
  1249. package/dist/esm/helpers/nativeOnlyProps.js.map +0 -6
  1250. package/dist/esm/helpers/normalizeColor.js +0 -10
  1251. package/dist/esm/helpers/normalizeColor.js.map +0 -6
  1252. package/dist/esm/helpers/normalizeShadow.js +0 -24
  1253. package/dist/esm/helpers/normalizeShadow.js.map +0 -6
  1254. package/dist/esm/helpers/normalizeStyle.js +0 -24
  1255. package/dist/esm/helpers/normalizeStyle.js.map +0 -6
  1256. package/dist/esm/helpers/normalizeStylePropKeys.js +0 -5
  1257. package/dist/esm/helpers/normalizeStylePropKeys.js.map +0 -6
  1258. package/dist/esm/helpers/normalizeValueWithProperty.js +0 -22
  1259. package/dist/esm/helpers/normalizeValueWithProperty.js.map +0 -6
  1260. package/dist/esm/helpers/objectIdentityKey.js +0 -22
  1261. package/dist/esm/helpers/objectIdentityKey.js.map +0 -6
  1262. package/dist/esm/helpers/parseBorderShorthand.js +0 -6
  1263. package/dist/esm/helpers/parseBorderShorthand.js.map +0 -6
  1264. package/dist/esm/helpers/parseNativeStyle.js +0 -100
  1265. package/dist/esm/helpers/parseNativeStyle.js.map +0 -6
  1266. package/dist/esm/helpers/parseOutlineShorthand.js +0 -6
  1267. package/dist/esm/helpers/parseOutlineShorthand.js.map +0 -6
  1268. package/dist/esm/helpers/pointerEvents.js +0 -6
  1269. package/dist/esm/helpers/pointerEvents.js.map +0 -6
  1270. package/dist/esm/helpers/propMapper.js +0 -252
  1271. package/dist/esm/helpers/propMapper.js.map +0 -6
  1272. package/dist/esm/helpers/proxyThemeToParents.js +0 -24
  1273. package/dist/esm/helpers/proxyThemeToParents.js.map +0 -6
  1274. package/dist/esm/helpers/proxyThemeVariables.js +0 -15
  1275. package/dist/esm/helpers/proxyThemeVariables.js.map +0 -6
  1276. package/dist/esm/helpers/pseudoDescriptors.js +0 -56
  1277. package/dist/esm/helpers/pseudoDescriptors.js.map +0 -6
  1278. package/dist/esm/helpers/registerCSSVariable.js +0 -31
  1279. package/dist/esm/helpers/registerCSSVariable.js.map +0 -6
  1280. package/dist/esm/helpers/resolveRem.js +0 -11
  1281. package/dist/esm/helpers/resolveRem.js.map +0 -6
  1282. package/dist/esm/helpers/resolveSafeArea.js +0 -13
  1283. package/dist/esm/helpers/resolveSafeArea.js.map +0 -6
  1284. package/dist/esm/helpers/setElementProps.js +0 -8
  1285. package/dist/esm/helpers/setElementProps.js.map +0 -6
  1286. package/dist/esm/helpers/skipProps.js +0 -23
  1287. package/dist/esm/helpers/skipProps.js.map +0 -6
  1288. package/dist/esm/helpers/sortString.js +0 -5
  1289. package/dist/esm/helpers/sortString.js.map +0 -6
  1290. package/dist/esm/helpers/subscribeToContextGroup.js +0 -59
  1291. package/dist/esm/helpers/subscribeToContextGroup.js.map +0 -6
  1292. package/dist/esm/helpers/themeable.js +0 -35
  1293. package/dist/esm/helpers/themeable.js.map +0 -6
  1294. package/dist/esm/helpers/themes.js +0 -17
  1295. package/dist/esm/helpers/themes.js.map +0 -6
  1296. package/dist/esm/helpers/timer.js +0 -11
  1297. package/dist/esm/helpers/timer.js.map +0 -6
  1298. package/dist/esm/helpers/transformsToString.js +0 -17
  1299. package/dist/esm/helpers/transformsToString.js.map +0 -6
  1300. package/dist/esm/helpers/useRenderElement.js +0 -28
  1301. package/dist/esm/helpers/useRenderElement.js.map +0 -6
  1302. package/dist/esm/helpers/webPropsToSkip.js +0 -5
  1303. package/dist/esm/helpers/webPropsToSkip.js.map +0 -6
  1304. package/dist/esm/helpers/wrapStyleTags.js +0 -23
  1305. package/dist/esm/helpers/wrapStyleTags.js.map +0 -6
  1306. package/dist/esm/hooks/doesRootSchemeMatchSystem.js +0 -7
  1307. package/dist/esm/hooks/doesRootSchemeMatchSystem.js.map +0 -6
  1308. package/dist/esm/hooks/getThemeProxied.js +0 -44
  1309. package/dist/esm/hooks/getThemeProxied.js.map +0 -6
  1310. package/dist/esm/hooks/useComponentState.js +0 -91
  1311. package/dist/esm/hooks/useComponentState.js.map +0 -6
  1312. package/dist/esm/hooks/useDisableSSR.js +0 -8
  1313. package/dist/esm/hooks/useDisableSSR.js.map +0 -6
  1314. package/dist/esm/hooks/useIsTouchDevice.js +0 -7
  1315. package/dist/esm/hooks/useIsTouchDevice.js.map +0 -6
  1316. package/dist/esm/hooks/useMedia.js +0 -149
  1317. package/dist/esm/hooks/useMedia.js.map +0 -6
  1318. package/dist/esm/hooks/useProps.js +0 -93
  1319. package/dist/esm/hooks/useProps.js.map +0 -6
  1320. package/dist/esm/hooks/useTheme.js +0 -21
  1321. package/dist/esm/hooks/useTheme.js.map +0 -6
  1322. package/dist/esm/hooks/useThemeName.js +0 -9
  1323. package/dist/esm/hooks/useThemeName.js.map +0 -6
  1324. package/dist/esm/hooks/useThemeState.js +0 -220
  1325. package/dist/esm/hooks/useThemeState.js.map +0 -6
  1326. package/dist/esm/inject-styles.js +0 -12
  1327. package/dist/esm/inject-styles.js.map +0 -6
  1328. package/dist/esm/insertFont.js +0 -56
  1329. package/dist/esm/insertFont.js.map +0 -6
  1330. package/dist/esm/interfaces/CSSColorNames.js +0 -1
  1331. package/dist/esm/interfaces/CSSColorNames.js.map +0 -6
  1332. package/dist/esm/interfaces/GetRef.js +0 -1
  1333. package/dist/esm/interfaces/GetRef.js.map +0 -6
  1334. package/dist/esm/interfaces/RNExclusiveTypes.js +0 -1
  1335. package/dist/esm/interfaces/RNExclusiveTypes.js.map +0 -6
  1336. package/dist/esm/interfaces/TamaguiComponentEvents.js +0 -1
  1337. package/dist/esm/interfaces/TamaguiComponentEvents.js.map +0 -6
  1338. package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.js +0 -1
  1339. package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.js.map +0 -6
  1340. package/dist/esm/setupHooks.js +0 -9
  1341. package/dist/esm/setupHooks.js.map +0 -6
  1342. package/dist/esm/setupReactNative.js +0 -27
  1343. package/dist/esm/setupReactNative.js.map +0 -6
  1344. package/dist/esm/styled.js +0 -102
  1345. package/dist/esm/styled.js.map +0 -6
  1346. package/dist/esm/styledHtml.test-d.js +0 -137
  1347. package/dist/esm/styledHtml.test-d.js.map +0 -6
  1348. package/dist/esm/type-utils.js +0 -1
  1349. package/dist/esm/type-utils.js.map +0 -6
  1350. package/dist/esm/types.js +0 -1
  1351. package/dist/esm/types.js.map +0 -6
  1352. package/dist/esm/views/Configuration.js +0 -12
  1353. package/dist/esm/views/Configuration.js.map +0 -6
  1354. package/dist/esm/views/FontLanguage.js +0 -16
  1355. package/dist/esm/views/FontLanguage.js.map +0 -6
  1356. package/dist/esm/views/Slot.js +0 -43
  1357. package/dist/esm/views/Slot.js.map +0 -6
  1358. package/dist/esm/views/Stack.js +0 -13
  1359. package/dist/esm/views/Stack.js.map +0 -6
  1360. package/dist/esm/views/Stack.mjs +0 -11
  1361. package/dist/esm/views/Stack.mjs.map +0 -1
  1362. package/dist/esm/views/Stack.native.js +0 -11
  1363. package/dist/esm/views/Stack.native.js.map +0 -1
  1364. package/dist/esm/views/TamaguiProvider.js +0 -58
  1365. package/dist/esm/views/TamaguiProvider.js.map +0 -6
  1366. package/dist/esm/views/TamaguiRoot.js +0 -18
  1367. package/dist/esm/views/TamaguiRoot.js.map +0 -6
  1368. package/dist/esm/views/Text.js +0 -44
  1369. package/dist/esm/views/Text.js.map +0 -6
  1370. package/dist/esm/views/Theme.js +0 -110
  1371. package/dist/esm/views/Theme.js.map +0 -6
  1372. package/dist/esm/views/ThemeDebug.js +0 -69
  1373. package/dist/esm/views/ThemeDebug.js.map +0 -6
  1374. package/dist/esm/views/ThemeProvider.js +0 -31
  1375. package/dist/esm/views/ThemeProvider.js.map +0 -6
  1376. package/dist/esm/views/View.js +0 -12
  1377. package/dist/esm/views/View.js.map +0 -6
  1378. package/types/constants/webToNativeProps.d.ts.map +0 -1
  1379. package/types/constants/webToNativeProps.native.d.ts.map +0 -1
  1380. package/types/createTheme.d.ts.map +0 -1
  1381. package/types/helpers/expandStyle.native.d.ts.map +0 -1
  1382. package/types/helpers/propMapper.native.d.ts.map +0 -1
  1383. package/types/views/Stack.d.ts.map +0 -1
@@ -1,8 +1,9 @@
1
1
  import { composeRefs } from '@tamagui/compose-refs'
2
2
  import { isClient, isServer, isWeb, useIsomorphicLayoutEffect } from '@tamagui/constants'
3
+ import { NativeMenuContext } from '@tamagui/native'
3
4
  import { composeEventHandlers } from '@tamagui/helpers'
4
5
  import { isEqualShallow } from '@tamagui/is-equal-shallow'
5
- import React, { useMemo } from 'react'
6
+ import React, { ReactElement, ReactNode, useMemo } from 'react'
6
7
  import { devConfig, getConfig } from './config'
7
8
  import { isDevTools } from './constants/isDevTools'
8
9
  import { ComponentContext } from './contexts/ComponentContext'
@@ -11,12 +12,17 @@ import { didGetVariableValue, setDidGetVariableValue } from './createVariable'
11
12
  import { defaultComponentStateMounted } from './defaultComponentState'
12
13
  import { getWebEvents, useEvents, wrapWithGestureDetector } from './eventHandling'
13
14
  import { getDefaultProps } from './helpers/getDefaultProps'
15
+ import { resolveAnimationDriver } from './helpers/resolveAnimationDriver'
14
16
  import { getSplitStyles, useSplitStyles } from './helpers/getSplitStyles'
15
17
  import { log } from './helpers/log'
16
- import { usePointerEvents } from './helpers/pointerEvents'
17
18
  import { type GenericProps, mergeComponentProps } from './helpers/mergeProps'
18
19
  import { mergeRenderElementProps } from './helpers/mergeRenderElementProps'
19
20
  import { objectIdentityKey } from './helpers/objectIdentityKey'
21
+ import { usePointerEvents } from './helpers/pointerEvents'
22
+ import {
23
+ extractPseudoState,
24
+ resolveEffectivePseudoTransition,
25
+ } from './helpers/pseudoTransitions'
20
26
  import { setElementProps } from './helpers/setElementProps'
21
27
  import { subscribeToContextGroup } from './helpers/subscribeToContextGroup'
22
28
  import { themeable } from './helpers/themeable'
@@ -46,9 +52,9 @@ import type {
46
52
  UseStyleEmitter,
47
53
  UseThemeWithStateProps,
48
54
  } from './types'
49
- import type { ViewProps } from './views/View'
50
55
  import { Slot } from './views/Slot'
51
56
  import { getThemedChildren } from './views/Theme'
57
+ import type { ViewProps } from './views/View'
52
58
 
53
59
  /**
54
60
  * All things that need one-time setup after createTamagui is called
@@ -229,7 +235,9 @@ export function createComponent<
229
235
  const { Component, isText, isHOC } = staticConfig
230
236
 
231
237
  const component = React.forwardRef<Ref, ComponentPropTypes>((propsIn, forwardedRef) => {
232
- config ||= getConfig()
238
+ 'use no memo'
239
+
240
+ config = config || getConfig()
233
241
 
234
242
  const internalID = process.env.NODE_ENV === 'development' ? React.useId() : ''
235
243
 
@@ -255,7 +263,8 @@ export function createComponent<
255
263
  // test only
256
264
  if (process.env.NODE_ENV === 'test') {
257
265
  if (propsIn['data-test-renders']) {
258
- propsIn['data-test-renders']['current'] ??= 0
266
+ propsIn['data-test-renders']['current'] =
267
+ propsIn['data-test-renders']['current'] ?? 0
259
268
  propsIn['data-test-renders']['current'] += 1
260
269
  }
261
270
  }
@@ -273,6 +282,14 @@ export function createComponent<
273
282
  const componentContext = React.useContext(ComponentContext)
274
283
  const hasTextAncestor = !!(isWeb && isText ? componentContext.inText : false)
275
284
 
285
+ // On Android, skip RNGH GestureDetector inside native menus (zeego) and use
286
+ // direct press events instead — GestureDetector consumes touches before they
287
+ // reach MenuView's native handler, preventing the menu from opening
288
+ const isInsideNativeMenu =
289
+ process.env.TAMAGUI_TARGET === 'native'
290
+ ? React.useContext(NativeMenuContext)
291
+ : false
292
+
276
293
  if (
277
294
  !process.env.TAMAGUI_IS_CORE_NODE &&
278
295
  process.env.NODE_ENV === 'development' &&
@@ -283,6 +300,10 @@ export function createComponent<
283
300
  time = timer.start()
284
301
  globalThis['time'] = time
285
302
  }
303
+ // pick up globalThis.time if set externally (e.g. by a profiling harness)
304
+ if (process.env.NODE_ENV === 'development' && !time && (globalThis as any).time) {
305
+ time = (globalThis as any).time
306
+ }
286
307
  if (process.env.NODE_ENV === 'development' && time) time`non-tamagui time (ignore)`
287
308
 
288
309
  // React inserts default props after your props for some reason...
@@ -292,11 +313,7 @@ export function createComponent<
292
313
  const componentName = props.componentName || staticConfig.componentName
293
314
 
294
315
  // merge both default props and styled context props - ensure order is preserved
295
- const defaultProps = getDefaultProps(
296
- staticConfig,
297
- props.componentName,
298
- isText && hasTextAncestor
299
- )
316
+ const defaultProps = getDefaultProps(staticConfig, props.componentName)
300
317
 
301
318
  // merge styled context props over defaults, ensure order is preserved
302
319
  const [nextProps, overrides] = mergeComponentProps(
@@ -361,7 +378,7 @@ export function createComponent<
361
378
  }
362
379
  }
363
380
 
364
- debugKeyListeners ||= new Set()
381
+ debugKeyListeners = debugKeyListeners || new Set()
365
382
  debugKeyListeners.add(debugVisualizerHandler)
366
383
 
367
384
  return () => {
@@ -373,20 +390,26 @@ export function createComponent<
373
390
 
374
391
  const groupContextParent = React.useContext(GroupContext)
375
392
 
376
- // Get animation driver - either from animatedBy prop lookup or context
393
+ // Get animation driver - either from animatedBy prop lookup or context/config fallback
377
394
  const animationDriver = (() => {
378
- if (props.animatedBy && config?.animations) {
379
- const animations = config.animations
380
- // If animations is an object with named drivers (has 'default' key)
381
- if ('default' in animations) {
395
+ if (props.animatedBy && config) {
396
+ // check animationDrivers for multi-driver config
397
+ if (config.animationDrivers) {
382
398
  return (
383
- (animations as Record<string, any>)[props.animatedBy] ?? animations.default
399
+ (config.animationDrivers as Record<string, any>)[props.animatedBy] ??
400
+ config.animations
384
401
  )
385
402
  }
386
- // Single driver config - only 'default' makes sense
387
- return props.animatedBy === 'default' ? animations : null
403
+ // single driver config - only 'default' makes sense
404
+ return props.animatedBy === 'default' ? config.animations : null
388
405
  }
389
- return componentContext.animationDriver
406
+ // fall back to context driver, then config.animations
407
+ // resolveAnimationDriver validates it's a real driver (not a raw multi-driver object)
408
+ return (
409
+ resolveAnimationDriver(componentContext.animationDriver) ??
410
+ resolveAnimationDriver(config?.animations) ??
411
+ null
412
+ )
390
413
  })()
391
414
 
392
415
  const useAnimations = animationDriver?.useAnimations as UseAnimationHook | undefined
@@ -412,17 +435,26 @@ export function createComponent<
412
435
  noClass,
413
436
  state,
414
437
  stateRef,
415
- supportsCSS,
438
+ inputStyle,
439
+ outputStyle,
416
440
  willBeAnimated,
417
441
  willBeAnimatedClient,
418
442
  startedUnhydrated,
419
443
  } = componentState
420
444
 
421
- if (hasAnimationProp && animationDriver?.avoidReRenders) {
445
+ if (animationDriver?.avoidReRenders) {
446
+ // post-commit reconciliation of `nextState` with the committed React state.
447
+ // `nextState` is the source of truth for the fast `setStateShallow` path; it
448
+ // must stay populated until React actually commits the corresponding update,
449
+ // otherwise a follow-up update in the same JS task would read a stale closure
450
+ // `state` and bail on a false shallow-equal. once committed state matches
451
+ // `nextState`, clear it. if they diverge (animated components' fast path never
452
+ // calls into React), flush via componentState.setStateShallow here.
422
453
  useIsomorphicLayoutEffect(() => {
423
454
  const pendingState = stateRef.current.nextState
424
- if (pendingState) {
425
- stateRef.current.nextState = undefined
455
+ if (!pendingState) return
456
+ stateRef.current.nextState = undefined
457
+ if (!isEqualShallow(state, pendingState)) {
426
458
  componentState.setStateShallow(pendingState)
427
459
  }
428
460
  })
@@ -478,25 +510,27 @@ export function createComponent<
478
510
 
479
511
  if (process.env.NODE_ENV === 'development' && time) time`use-state`
480
512
 
481
- const isTaggable = !Component || typeof Component === 'string'
513
+ // web-only - string-style not valid for native
482
514
  const renderProp = props.render
515
+ const isRenderString = !Component || typeof Component === 'string'
516
+
483
517
  // default to render prop, fallback to component (when both strings)
484
- const element = isWeb ? (isTaggable ? renderProp || Component : Component) : Component
518
+ const element = isWeb
519
+ ? isRenderString
520
+ ? renderProp || Component
521
+ : Component
522
+ : Component
485
523
 
486
524
  const BaseTextComponent = BaseText || element || 'span'
487
525
  const BaseViewComponent = BaseView || element || (hasTextAncestor ? 'span' : 'div')
526
+ const BaseComponent = isText ? BaseTextComponent : BaseViewComponent
488
527
 
489
- let elementType = isText ? BaseTextComponent : BaseViewComponent
528
+ let elementType = BaseComponent
490
529
 
491
- if (
492
- animationDriver &&
493
- isAnimated &&
494
- // this should really be behind another prop as it's not really related to
495
- // "needsWebStyles" basically with motion we just animate a plain div, but
496
- // we still have animated.View/Text for Sheet which wants to control
497
- // things declaratively
498
- !animationDriver.needsWebStyles
499
- ) {
530
+ const isAnimatedCustomComponent =
531
+ animationDriver && isAnimated && animationDriver.needsCustomComponent
532
+
533
+ if (isAnimatedCustomComponent) {
500
534
  elementType = animationDriver[isText ? 'Text' : 'View'] || elementType
501
535
  }
502
536
 
@@ -563,7 +597,7 @@ export function createComponent<
563
597
  if (isWeb) {
564
598
  console.info(`%c ${banner}`, 'background: green; color: white;')
565
599
  if (isServer) {
566
- log({ noClass, isAnimated, isWeb, supportsCSS })
600
+ log({ noClass, isAnimated, isWeb, inputStyle })
567
601
  } else {
568
602
  // if strict mode or something messes with our nesting this fixes:
569
603
  console.groupEnd()
@@ -586,7 +620,7 @@ export function createComponent<
586
620
  )
587
621
  log(`children:`, props.children)
588
622
  log({ overriddenContextProps, styledContextValue })
589
- log({ noClass, isAnimated, isWeb, supportsCSS })
623
+ log({ noClass, isAnimated, isWeb, inputStyle })
590
624
  }
591
625
  }
592
626
  }
@@ -608,7 +642,7 @@ export function createComponent<
608
642
 
609
643
  const resolveValues =
610
644
  // if HOC + mounted + has animation prop, resolve as value so it passes non-variable to child
611
- (isAnimated && !supportsCSS) ||
645
+ (isAnimated && inputStyle !== 'css') ||
612
646
  (isHOC && state.unmounted == false && hasAnimationProp)
613
647
  ? 'value'
614
648
  : 'auto'
@@ -639,7 +673,8 @@ export function createComponent<
639
673
  allGroupContexts,
640
674
  elementType,
641
675
  startedUnhydrated,
642
- debugProp
676
+ debugProp,
677
+ animationDriver
643
678
  )
644
679
 
645
680
  const isPassthrough = !splitStyles
@@ -656,7 +691,7 @@ export function createComponent<
656
691
  staticConfig.context || staticConfig.parentStaticConfig?.context
657
692
  if (contextForProps) {
658
693
  for (const key in splitStyles.overriddenContextProps) {
659
- overriddenContextProps ||= {}
694
+ overriddenContextProps = overriddenContextProps || {}
660
695
  overriddenContextProps[key] = splitStyles.overriddenContextProps[key]
661
696
  }
662
697
  // Use parent's context if this component doesn't have its own
@@ -689,10 +724,21 @@ export function createComponent<
689
724
 
690
725
  // avoids re-rendering if animation driver supports it
691
726
  // TODO believe we need to set some sort of "pendingState" in case it re-renders
727
+ // CRITICAL: Skip avoidReRenders for components with enter/exit transitions
728
+ // The exit state comes from AnimatePresence context, not local state, so
729
+ // updateStyleListener can fire before the component re-renders with the new
730
+ // presence value, causing wrong animation timing (e.g., using enter timing for exit)
731
+ const hasEnterExitTransition =
732
+ props.transition &&
733
+ typeof props.transition === 'object' &&
734
+ !Array.isArray(props.transition) &&
735
+ ('enter' in props.transition || 'exit' in props.transition)
736
+
692
737
  if (
693
738
  !isPassthrough &&
694
739
  (hasAnimationProp || groupName) &&
695
- animationDriver?.avoidReRenders
740
+ animationDriver?.avoidReRenders &&
741
+ !hasEnterExitTransition
696
742
  ) {
697
743
  const ogSetStateShallow = setStateShallow
698
744
 
@@ -700,11 +746,15 @@ export function createComponent<
700
746
  const useStyleListener = stateRef.current.useStyleListener
701
747
 
702
748
  // if no animation driver is listening for style updates, fall back to normal re-render
703
- // this happens when a component has group prop but no transition/animation prop
749
+ // this happens when a component has group prop but no transition/animation prop.
750
+ // keep nextState populated until React actually commits the update — clearing it
751
+ // here lets a subsequent setStateShallow in the same JS task (e.g. press-out
752
+ // right after press-in) compare against a stale closure `state` and bail out,
753
+ // losing the update. the post-commit layoutEffect below clears nextState once
754
+ // React state has caught up.
704
755
  if (!useStyleListener) {
705
756
  const pendingState = stateRef.current.nextState
706
757
  if (pendingState) {
707
- stateRef.current.nextState = undefined
708
758
  ogSetStateShallow(pendingState)
709
759
  }
710
760
  return
@@ -725,10 +775,22 @@ export function createComponent<
725
775
  allGroupContexts,
726
776
  elementType,
727
777
  startedUnhydrated,
728
- debugProp
778
+ debugProp,
779
+ animationDriver
780
+ )
781
+
782
+ // compute effective transition based on entering/exiting pseudo states
783
+ const effectiveTransition = resolveEffectivePseudoTransition(
784
+ stateRef.current.prevPseudoState,
785
+ updatedState,
786
+ nextStyles?.pseudoTransitions,
787
+ props.transition
729
788
  )
730
789
 
731
- useStyleListener((nextStyles?.style || {}) as any)
790
+ // update prev state for next comparison (includes group states)
791
+ stateRef.current.prevPseudoState = extractPseudoState(updatedState)
792
+
793
+ useStyleListener((nextStyles?.style || {}) as any, effectiveTransition)
732
794
  }
733
795
 
734
796
  function updateGroupListeners() {
@@ -751,7 +813,8 @@ export function createComponent<
751
813
 
752
814
  // don't change this ever or else you break ComponentContext and cause re-rendering
753
815
  // use a Set of listeners so multiple components can register
754
- componentContext.mediaEmitListeners ||= new Set()
816
+ componentContext.mediaEmitListeners =
817
+ componentContext.mediaEmitListeners || new Set()
755
818
 
756
819
  // only register once per component instance
757
820
  if (!stateRef.current.mediaEmitCleanup) {
@@ -765,12 +828,14 @@ export function createComponent<
765
828
  }
766
829
  }
767
830
 
768
- componentContext.mediaEmit ||= (next) => {
769
- // notify all registered components
770
- for (const listener of componentContext.mediaEmitListeners!) {
771
- listener(next)
772
- }
773
- }
831
+ componentContext.mediaEmit =
832
+ componentContext.mediaEmit ||
833
+ ((next) => {
834
+ // notify all registered components
835
+ for (const listener of componentContext.mediaEmitListeners!) {
836
+ listener(next)
837
+ }
838
+ })
774
839
 
775
840
  stateRef.current.setStateShallow = (nextOrGetNext) => {
776
841
  const prev = stateRef.current.nextState || state
@@ -835,7 +900,7 @@ export function createComponent<
835
900
  props.untilMeasured === 'hide' &&
836
901
  !stateRef.current.hasMeasured
837
902
  ) {
838
- splitStyles.style ||= {}
903
+ splitStyles.style = splitStyles.style || {}
839
904
  splitStyles.style.opacity = 0
840
905
  }
841
906
 
@@ -903,7 +968,7 @@ export function createComponent<
903
968
  // so the type is pretty loose
904
969
  let viewProps = nonTamaguiProps
905
970
 
906
- if (!isTaggable && props.forceStyle) {
971
+ if (props.forceStyle) {
907
972
  viewProps.forceStyle = props.forceStyle
908
973
  }
909
974
 
@@ -916,16 +981,14 @@ export function createComponent<
916
981
  }
917
982
  }
918
983
 
919
- if (renderProp && elementType['acceptTagProp']) {
920
- viewProps.render = renderProp
921
- }
922
-
923
984
  // once you set animation prop don't remove it, you can set to undefined/false
924
985
  // reason is animations are heavy - no way around it, and must be run inline here (🙅 loading as a sub-component)
925
986
  let animationStyles: any
926
987
  const shouldUseAnimation =
927
988
  // if it supports css vars we run it on server too to get matching initial style
928
- (supportsCSS ? willBeAnimatedClient : willBeAnimated) && useAnimations && !isHOC
989
+ (inputStyle === 'css' ? willBeAnimatedClient : willBeAnimated) &&
990
+ useAnimations &&
991
+ !isHOC
929
992
 
930
993
  let animatedRef
931
994
 
@@ -936,10 +999,29 @@ export function createComponent<
936
999
  }
937
1000
  : undefined
938
1001
 
1002
+ // compute effective transition once here (single source of truth)
1003
+ // avoidReRenders path also computes this in updateStyleListener
1004
+ const effectiveTransition = resolveEffectivePseudoTransition(
1005
+ stateRef.current.prevPseudoState,
1006
+ state,
1007
+ splitStyles?.pseudoTransitions,
1008
+ props.transition
1009
+ )
1010
+
1011
+ // add effectiveTransition to splitStyles for drivers to consume
1012
+ if (splitStyles) {
1013
+ splitStyles.effectiveTransition = effectiveTransition
1014
+ }
1015
+
1016
+ // update prev state for next comparison (needed for non-avoidReRenders drivers like CSS)
1017
+ // avoidReRenders path also updates this in updateStyleListener
1018
+ stateRef.current.prevPseudoState = extractPseudoState(state)
1019
+
939
1020
  const animations = useAnimations({
940
1021
  props: propsWithAnimation,
941
- // if hydrating, send empty style
942
- style: splitStylesStyle || {},
1022
+ // clone style to prevent animation driver mutations from leaking to viewProps
1023
+ // during SSR/pre-hydration (CSS driver mutates style.transition in place)
1024
+ style: isHydrated ? splitStylesStyle || {} : { ...splitStylesStyle },
943
1025
  // @ts-ignore
944
1026
  styleState: splitStyles,
945
1027
  useStyleEmitter,
@@ -1087,7 +1169,7 @@ export function createComponent<
1087
1169
  // For CSS transitions, we need browser to paint enterStyle before removing it.
1088
1170
  // Double RAF guarantees paint: first RAF schedules after current frame,
1089
1171
  // second RAF schedules after that frame completes (including paint).
1090
- if (supportsCSS) {
1172
+ if (inputStyle === 'css') {
1091
1173
  let cancelled = false
1092
1174
  requestAnimationFrame(() => {
1093
1175
  if (cancelled) return
@@ -1108,7 +1190,7 @@ export function createComponent<
1108
1190
  componentSetStates.delete(setState)
1109
1191
  stateRef.current.mediaEmitCleanup?.()
1110
1192
  }
1111
- }, [state.unmounted, supportsCSS])
1193
+ }, [state.unmounted, inputStyle])
1112
1194
 
1113
1195
  useIsomorphicLayoutEffect(() => {
1114
1196
  if (disabled) return
@@ -1140,6 +1222,7 @@ export function createComponent<
1140
1222
  const runtimePressStyle = !disabled && noClass && pseudos?.pressStyle
1141
1223
  const runtimeFocusStyle = !disabled && noClass && pseudos?.focusStyle
1142
1224
  const runtimeFocusVisibleStyle = !disabled && noClass && pseudos?.focusVisibleStyle
1225
+
1143
1226
  const attachFocus = Boolean(
1144
1227
  runtimePressStyle ||
1145
1228
  runtimeFocusStyle ||
@@ -1258,11 +1341,19 @@ export function createComponent<
1258
1341
  }
1259
1342
  }
1260
1343
  : undefined,
1344
+
1261
1345
  onPress: attachPress
1262
1346
  ? (e) => {
1263
1347
  unPress()
1264
- // @ts-ignore
1265
- isWeb && onClick?.(e)
1348
+ if (process.env.TAMAGUI_TARGET === 'web') {
1349
+ // @ts-ignore
1350
+ onClick?.(e)
1351
+ // matches RN pressable behavior - only when an explicit press
1352
+ // handler is set, so pressStyle alone doesn't swallow clicks
1353
+ if (onPress || onClick) {
1354
+ e.stopPropagation()
1355
+ }
1356
+ }
1266
1357
  onPress?.(e)
1267
1358
  if (process.env.TAMAGUI_TARGET === 'web') {
1268
1359
  onLongPress?.(e)
@@ -1281,6 +1372,7 @@ export function createComponent<
1281
1372
  onFocus: (e) => {
1282
1373
  const next: Partial<typeof state> = {}
1283
1374
  if (componentContext.setParentFocusState) {
1375
+ componentContext.setParentFocusState({ focusWithin: true })
1284
1376
  next.focusWithin = true
1285
1377
  }
1286
1378
  if (pseudos?.focusVisibleStyle) {
@@ -1334,17 +1426,41 @@ export function createComponent<
1334
1426
  log(`events`, { events, attachHover, attachPress })
1335
1427
  }
1336
1428
 
1429
+ const propsWithHref = props as typeof props & { href?: unknown }
1430
+ const propsInWithHref = propsIn as typeof propsIn & { href?: unknown }
1431
+
1432
+ const pressDebugDetail =
1433
+ props.testID ??
1434
+ propsIn.testID ??
1435
+ props.accessibilityLabel ??
1436
+ propsIn.accessibilityLabel ??
1437
+ (typeof propsWithHref.href === 'string' ? propsWithHref.href : null) ??
1438
+ (typeof propsInWithHref.href === 'string' ? propsInWithHref.href : null)
1439
+
1440
+ const pressDebugName =
1441
+ [componentName, pressDebugDetail].filter(Boolean).join(':') || null
1442
+
1337
1443
  // EVENTS native - handles focus/blur, input special cases, and RNGH press handling
1338
1444
  // Skip gesture setup for HOC components - they may return null which crashes GestureDetector
1445
+ // hasRealPressEvents distinguishes user-provided handlers from events.onPress
1446
+ // synthesized for pressStyle alone — only the former should claim the responder.
1447
+ const hasRealPressEvents = !!(onPress || onPressIn || onPressOut || onLongPress)
1339
1448
  const pressGesture =
1340
1449
  process.env.TAMAGUI_TARGET === 'native'
1341
- ? useEvents(events, viewProps, stateRef, staticConfig, isHOC)
1450
+ ? useEvents(
1451
+ events,
1452
+ viewProps,
1453
+ stateRef,
1454
+ staticConfig,
1455
+ isHOC,
1456
+ isInsideNativeMenu,
1457
+ pressDebugName,
1458
+ hasRealPressEvents
1459
+ )
1342
1460
  : null
1343
1461
 
1344
1462
  if (process.env.NODE_ENV === 'development' && time) time`hooks`
1345
1463
 
1346
- let content = children
1347
-
1348
1464
  if (asChild) {
1349
1465
  elementType = Slot
1350
1466
  // on native this is already merged into viewProps in useEvents
@@ -1371,49 +1487,66 @@ export function createComponent<
1371
1487
 
1372
1488
  if (process.env.NODE_ENV === 'development' && time) time`spaced-as-child`
1373
1489
 
1490
+ let content: ReactNode | undefined
1491
+
1374
1492
  if (isPassthrough) {
1375
- content = propsIn.children
1376
- elementType = BaseViewComponent
1377
- viewProps = {
1378
- style: {
1379
- display: 'contents',
1493
+ // avoid re-parenting but avoid layout changes
1494
+ content = React.createElement(
1495
+ BaseComponent,
1496
+ {
1497
+ style: {
1498
+ display: 'contents',
1499
+ },
1380
1500
  },
1501
+ propsIn.children
1502
+ )
1503
+ } else {
1504
+ // here elementType is either the custom animated driver view, or base view
1505
+ if (hooks.useChildren) {
1506
+ // ONLY native:
1507
+ content = hooks.useChildren(elementType, content || children, viewProps)
1381
1508
  }
1382
- }
1383
1509
 
1384
- let useChildrenResult: any
1385
- if (hooks.useChildren) {
1386
- useChildrenResult = hooks.useChildren(elementType, content, viewProps)
1387
- }
1510
+ const isRenderPropString = typeof renderProp === 'string'
1388
1511
 
1389
- if (process.env.NODE_ENV === 'development' && time) time`use-children`
1512
+ // this ONLY handles the case where render is NOT a string
1513
+ // either direct JSX, or a function that returns JSX, we always clone
1514
+ if (renderProp && !isRenderPropString) {
1515
+ const out = getCustomRender(
1516
+ renderProp,
1517
+ content || children,
1518
+ viewProps,
1519
+ componentState
1520
+ )
1521
+ if (out) {
1522
+ viewProps = out.viewProps
1523
+ elementType = out.elementType
1524
+ }
1525
+ }
1390
1526
 
1391
- if (useChildrenResult) {
1392
- content = useChildrenResult
1393
- } else {
1394
- // Handle render prop variants: function, JSX element, or string
1395
- if (typeof renderProp === 'function') {
1396
- // Render function: full control with props and state
1397
- const renderProps = { ...viewProps, children: content }
1398
- content = renderProp(renderProps, state)
1399
- } else if (
1400
- renderProp &&
1401
- typeof renderProp === 'object' &&
1402
- React.isValidElement(renderProp)
1403
- ) {
1404
- // JSX element: clone with merged props
1405
- const elementProps = (renderProp as React.ReactElement).props || {}
1406
- const mergedProps = mergeRenderElementProps(elementProps, viewProps, content)
1407
- content = React.cloneElement(renderProp as React.ReactElement, mergedProps)
1408
- } else {
1409
- content = React.createElement(elementType, viewProps, content)
1527
+ if (!content) {
1528
+ // web-only, handle render === string passing to custom animated component
1529
+ if (isRenderPropString) {
1530
+ viewProps.render === renderProp
1531
+ }
1532
+
1533
+ content = React.createElement(elementType, viewProps, content || children)
1410
1534
  }
1535
+
1536
+ if (process.env.NODE_ENV === 'development' && time) time`use-children`
1411
1537
  }
1412
1538
 
1413
1539
  // wrap with GestureDetector for RNGH press handling (native only, no-op on web)
1414
- // Skip for HOC components - they pass press events to inner component instead
1540
+ // Skip for HOC and composite components - they pass press events to inner component instead
1415
1541
  if (process.env.TAMAGUI_TARGET === 'native') {
1416
- content = wrapWithGestureDetector(content, pressGesture, stateRef, isHOC)
1542
+ const isCompositeComponent = !isHOC && Component && typeof Component !== 'string'
1543
+ content = wrapWithGestureDetector(
1544
+ content,
1545
+ pressGesture,
1546
+ stateRef,
1547
+ isHOC,
1548
+ isCompositeComponent
1549
+ )
1417
1550
  }
1418
1551
 
1419
1552
  // needs to reset the presence state for nested children
@@ -1442,7 +1575,7 @@ export function createComponent<
1442
1575
 
1443
1576
  if (process.env.NODE_ENV === 'development' && time) time`create-element`
1444
1577
 
1445
- if ('focusWithinStyle' in propsIn) {
1578
+ if ('focusWithinStyle' in propsIn || pseudos?.focusWithinStyle) {
1446
1579
  content = (
1447
1580
  <ComponentContext.Provider
1448
1581
  {...componentContext}
@@ -1673,3 +1806,55 @@ const fromPx = (val?: any): number => {
1673
1806
  if (typeof val === 'string') return +val.replace('px', '')
1674
1807
  return 0
1675
1808
  }
1809
+
1810
+ // handles all render logic - returns a new component
1811
+ const getCustomRender = (
1812
+ renderProp: ViewProps['render'],
1813
+ content: ReactNode,
1814
+ viewProps: Record<string, unknown>,
1815
+ state: any
1816
+ ):
1817
+ | undefined
1818
+ | {
1819
+ viewProps: Record<string, any>
1820
+ elementType: any
1821
+ } => {
1822
+ // Handle render prop variants: function, JSX element, or string
1823
+ if (typeof renderProp === 'function') {
1824
+ // Render function: full control with props and state
1825
+ const out = renderProp(viewProps, state)
1826
+ renderProp = getRenderElementForPlatform(out)
1827
+ }
1828
+
1829
+ if (renderProp) {
1830
+ if (typeof renderProp === 'object' && React.isValidElement(renderProp)) {
1831
+ // JSX element: clone with merged props
1832
+ const renderElement = getRenderElementForPlatform(renderProp)
1833
+ if (renderElement) {
1834
+ const elementProps = renderProp.props as Record<string, any> | undefined
1835
+ const mergedProps = elementProps
1836
+ ? mergeRenderElementProps(elementProps, viewProps, content)
1837
+ : viewProps
1838
+
1839
+ return {
1840
+ elementType: renderProp.type,
1841
+ viewProps: mergedProps,
1842
+ }
1843
+ }
1844
+ }
1845
+ }
1846
+ }
1847
+
1848
+ // avoid passing web-only elements to native
1849
+ function getRenderElementForPlatform(potential: ReactElement) {
1850
+ if (process.env.TAMAGUI_TARGET === 'native') {
1851
+ if (isHTMLElement(potential)) {
1852
+ return
1853
+ }
1854
+ }
1855
+ return potential
1856
+ }
1857
+
1858
+ function isHTMLElement(el: ReactElement) {
1859
+ return typeof el['type'] === 'string' && el['type'][0] === el['type'][0].toLowerCase()
1860
+ }