@tamagui/web 2.0.0-rc.4 → 2.0.0-rc.40

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