@tamagui/web 2.7.7 → 3.0.0-beta.1093.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1858) hide show
  1. package/dist/cjs/Tamagui.cjs +44 -53
  2. package/dist/cjs/Tamagui.native.cjs +123 -0
  3. package/dist/cjs/Tamagui.native.js +93 -96
  4. package/dist/cjs/Tamagui.native.js.map +1 -1
  5. package/dist/cjs/_withNativeStyle.cjs +80 -0
  6. package/dist/cjs/_withNativeStyle.native.cjs +85 -0
  7. package/dist/cjs/_withNativeStyle.native.js +87 -0
  8. package/dist/cjs/_withNativeStyle.native.js.map +1 -0
  9. package/dist/cjs/_withStableStyle.cjs +58 -54
  10. package/dist/cjs/_withStableStyle.native.cjs +88 -0
  11. package/dist/cjs/_withStableStyle.native.js +65 -57
  12. package/dist/cjs/_withStableStyle.native.js.map +1 -1
  13. package/dist/cjs/config.cjs +126 -133
  14. package/dist/cjs/config.native.cjs +199 -0
  15. package/dist/cjs/config.native.js +163 -173
  16. package/dist/cjs/config.native.js.map +1 -1
  17. package/dist/cjs/constants/constants.cjs +17 -19
  18. package/dist/cjs/constants/constants.native.cjs +40 -0
  19. package/dist/cjs/constants/constants.native.js +17 -18
  20. package/dist/cjs/constants/constants.native.js.map +1 -1
  21. package/dist/cjs/constants/isDevTools.cjs +20 -24
  22. package/dist/cjs/constants/isDevTools.native.cjs +33 -0
  23. package/dist/cjs/constants/isDevTools.native.js +22 -25
  24. package/dist/cjs/constants/isDevTools.native.js.map +1 -1
  25. package/dist/cjs/contexts/ComponentContext.cjs +31 -25
  26. package/dist/cjs/contexts/ComponentContext.native.cjs +49 -0
  27. package/dist/cjs/contexts/ComponentContext.native.js +32 -25
  28. package/dist/cjs/contexts/ComponentContext.native.js.map +1 -1
  29. package/dist/cjs/contexts/GroupContext.cjs +14 -18
  30. package/dist/cjs/contexts/GroupContext.native.cjs +27 -0
  31. package/dist/cjs/contexts/GroupContext.native.js +15 -18
  32. package/dist/cjs/contexts/GroupContext.native.js.map +1 -1
  33. package/dist/cjs/createComponent.cjs +1002 -1022
  34. package/dist/cjs/createComponent.native.cjs +1164 -0
  35. package/dist/cjs/createComponent.native.js +1099 -1001
  36. package/dist/cjs/createComponent.native.js.map +1 -1
  37. package/dist/cjs/createFont.cjs +40 -36
  38. package/dist/cjs/createFont.native.cjs +56 -0
  39. package/dist/cjs/createFont.native.js +43 -38
  40. package/dist/cjs/createFont.native.js.map +1 -1
  41. package/dist/cjs/createShorthands.cjs +15 -19
  42. package/dist/cjs/createShorthands.native.cjs +28 -0
  43. package/dist/cjs/createShorthands.native.js +15 -18
  44. package/dist/cjs/createShorthands.native.js.map +1 -1
  45. package/dist/cjs/createStyledHOC.cjs +104 -0
  46. package/dist/cjs/createStyledHOC.native.cjs +107 -0
  47. package/dist/cjs/createStyledHOC.native.js +109 -0
  48. package/dist/cjs/createStyledHOC.native.js.map +1 -0
  49. package/dist/cjs/createTamagui.cjs +287 -224
  50. package/dist/cjs/createTamagui.native.cjs +354 -0
  51. package/dist/cjs/createTamagui.native.js +321 -272
  52. package/dist/cjs/createTamagui.native.js.map +1 -1
  53. package/dist/cjs/createTokens.cjs +27 -19
  54. package/dist/cjs/createTokens.native.cjs +42 -0
  55. package/dist/cjs/createTokens.native.js +28 -19
  56. package/dist/cjs/createTokens.native.js.map +1 -1
  57. package/dist/cjs/createVariable.cjs +85 -90
  58. package/dist/cjs/createVariable.native.cjs +130 -0
  59. package/dist/cjs/createVariable.native.js +97 -106
  60. package/dist/cjs/createVariable.native.js.map +1 -1
  61. package/dist/cjs/createVariables.cjs +49 -60
  62. package/dist/cjs/createVariables.native.cjs +66 -0
  63. package/dist/cjs/createVariables.native.js +51 -66
  64. package/dist/cjs/createVariables.native.js.map +1 -1
  65. package/dist/cjs/defaultComponentState.cjs +28 -30
  66. package/dist/cjs/defaultComponentState.native.cjs +47 -0
  67. package/dist/cjs/defaultComponentState.native.js +28 -29
  68. package/dist/cjs/defaultComponentState.native.js.map +1 -1
  69. package/dist/cjs/dom/adapters.cjs +95 -0
  70. package/dist/cjs/dom/adapters.native.cjs +116 -0
  71. package/dist/cjs/dom/adapters.native.js +118 -0
  72. package/dist/cjs/dom/adapters.native.js.map +1 -0
  73. package/dist/cjs/dom/contract.cjs +16 -0
  74. package/dist/cjs/dom/contract.native.cjs +18 -0
  75. package/dist/cjs/dom/contract.native.js +20 -0
  76. package/dist/cjs/dom/contract.native.js.map +1 -0
  77. package/dist/cjs/dom/domEventProps.native.cjs +56 -0
  78. package/dist/cjs/dom/domEventProps.native.js +58 -0
  79. package/dist/cjs/dom/domEventProps.native.js.map +1 -0
  80. package/dist/cjs/dom/html.cjs +630 -0
  81. package/dist/cjs/dom/html.native.cjs +951 -0
  82. package/dist/cjs/dom/html.native.js +953 -0
  83. package/dist/cjs/dom/html.native.js.map +1 -0
  84. package/dist/cjs/dom/htmlRuntime.native.cjs +176 -0
  85. package/dist/cjs/dom/htmlRuntime.native.js +178 -0
  86. package/dist/cjs/dom/htmlRuntime.native.js.map +1 -0
  87. package/dist/cjs/dom/index.cjs +28 -0
  88. package/dist/cjs/dom/index.native.cjs +41 -0
  89. package/dist/cjs/dom/index.native.js +43 -0
  90. package/dist/cjs/dom/index.native.js.map +1 -0
  91. package/dist/cjs/dom/primitives.native.cjs +642 -0
  92. package/dist/cjs/dom/primitives.native.js +644 -0
  93. package/dist/cjs/dom/primitives.native.js.map +1 -0
  94. package/dist/cjs/dom/standalone.cjs +33 -0
  95. package/dist/cjs/dom/standalone.native.cjs +39 -0
  96. package/dist/cjs/dom/standalone.native.js +41 -0
  97. package/dist/cjs/dom/standalone.native.js.map +1 -0
  98. package/dist/cjs/dom/standaloneHtml.cjs +75 -0
  99. package/dist/cjs/dom/standaloneHtml.native.cjs +77 -0
  100. package/dist/cjs/dom/standaloneHtml.native.js +79 -0
  101. package/dist/cjs/dom/standaloneHtml.native.js.map +1 -0
  102. package/dist/cjs/dom/styleTypes.cjs +16 -0
  103. package/dist/cjs/dom/styleTypes.native.cjs +18 -0
  104. package/dist/cjs/dom/styleTypes.native.js +20 -0
  105. package/dist/cjs/dom/styleTypes.native.js.map +1 -0
  106. package/dist/cjs/eventDetails.cjs +38 -0
  107. package/dist/cjs/eventDetails.native.cjs +40 -0
  108. package/dist/cjs/eventDetails.native.js +42 -0
  109. package/dist/cjs/eventDetails.native.js.map +1 -0
  110. package/dist/cjs/eventHandling.cjs +29 -31
  111. package/dist/cjs/eventHandling.native.cjs +191 -0
  112. package/dist/cjs/eventHandling.native.js +158 -188
  113. package/dist/cjs/eventHandling.native.js.map +1 -1
  114. package/dist/cjs/helpers/borderComponents.cjs +62 -0
  115. package/dist/cjs/helpers/borderComponents.native.cjs +82 -0
  116. package/dist/cjs/helpers/borderComponents.native.js +84 -0
  117. package/dist/cjs/helpers/borderComponents.native.js.map +1 -0
  118. package/dist/cjs/helpers/componentDisplayName.cjs +24 -0
  119. package/dist/cjs/helpers/componentDisplayName.native.cjs +26 -0
  120. package/dist/cjs/helpers/componentDisplayName.native.js +28 -0
  121. package/dist/cjs/helpers/componentDisplayName.native.js.map +1 -0
  122. package/dist/cjs/helpers/configVariables.cjs +79 -0
  123. package/dist/cjs/helpers/configVariables.native.cjs +82 -0
  124. package/dist/cjs/helpers/configVariables.native.js +84 -0
  125. package/dist/cjs/helpers/configVariables.native.js.map +1 -0
  126. package/dist/cjs/helpers/consoleLog.native.cjs +30 -0
  127. package/dist/cjs/helpers/consoleLog.native.js +16 -17
  128. package/dist/cjs/helpers/consoleLog.native.js.map +1 -1
  129. package/dist/cjs/helpers/createDesignSystem.cjs +146 -152
  130. package/dist/cjs/helpers/createDesignSystem.native.cjs +195 -0
  131. package/dist/cjs/helpers/createDesignSystem.native.js +167 -205
  132. package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
  133. package/dist/cjs/helpers/createStyledContext.cjs +64 -84
  134. package/dist/cjs/helpers/createStyledContext.native.cjs +88 -0
  135. package/dist/cjs/helpers/createStyledContext.native.js +69 -88
  136. package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
  137. package/dist/cjs/helpers/defaultAnimationDriver.cjs +23 -32
  138. package/dist/cjs/helpers/defaultAnimationDriver.native.cjs +46 -0
  139. package/dist/cjs/helpers/defaultAnimationDriver.native.js +32 -48
  140. package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -1
  141. package/dist/cjs/helpers/defaultOffset.cjs +16 -20
  142. package/dist/cjs/helpers/defaultOffset.native.cjs +29 -0
  143. package/dist/cjs/helpers/defaultOffset.native.js +16 -19
  144. package/dist/cjs/helpers/defaultOffset.native.js.map +1 -1
  145. package/dist/cjs/helpers/expandStyle.cjs +150 -84
  146. package/dist/cjs/helpers/expandStyle.native.cjs +185 -0
  147. package/dist/cjs/helpers/expandStyle.native.js +153 -124
  148. package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
  149. package/dist/cjs/helpers/expandStyles.cjs +21 -25
  150. package/dist/cjs/helpers/expandStyles.native.cjs +46 -0
  151. package/dist/cjs/helpers/expandStyles.native.js +28 -31
  152. package/dist/cjs/helpers/expandStyles.native.js.map +1 -1
  153. package/dist/cjs/helpers/extractPseudoState.cjs +44 -0
  154. package/dist/cjs/helpers/extractPseudoState.native.cjs +47 -0
  155. package/dist/cjs/helpers/extractPseudoState.native.js +49 -0
  156. package/dist/cjs/helpers/extractPseudoState.native.js.map +1 -0
  157. package/dist/cjs/helpers/fluid.cjs +56 -0
  158. package/dist/cjs/helpers/fluid.native.cjs +58 -0
  159. package/dist/cjs/helpers/fluid.native.js +60 -0
  160. package/dist/cjs/helpers/fluid.native.js.map +1 -0
  161. package/dist/cjs/helpers/formatDiagnostic.cjs +69 -0
  162. package/dist/cjs/helpers/formatDiagnostic.native.cjs +74 -0
  163. package/dist/cjs/helpers/formatDiagnostic.native.js +76 -0
  164. package/dist/cjs/helpers/formatDiagnostic.native.js.map +1 -0
  165. package/dist/cjs/helpers/getCSSStylesAtomic.cjs +242 -193
  166. package/dist/cjs/helpers/getCSSStylesAtomic.native.cjs +45 -0
  167. package/dist/cjs/helpers/getCSSStylesAtomic.native.js +29 -20
  168. package/dist/cjs/helpers/getCSSStylesAtomic.native.js.map +1 -1
  169. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.cjs +44 -0
  170. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.cjs +48 -0
  171. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js +50 -0
  172. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -0
  173. package/dist/cjs/helpers/getDynamicVal.cjs +48 -52
  174. package/dist/cjs/helpers/getDynamicVal.native.cjs +71 -0
  175. package/dist/cjs/helpers/getDynamicVal.native.js +48 -51
  176. package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -1
  177. package/dist/cjs/helpers/getExpandedShorthands.cjs +16 -30
  178. package/dist/cjs/helpers/getExpandedShorthands.native.cjs +31 -0
  179. package/dist/cjs/helpers/getExpandedShorthands.native.js +17 -30
  180. package/dist/cjs/helpers/getExpandedShorthands.native.js.map +1 -1
  181. package/dist/cjs/helpers/getShorthandValue.cjs +16 -20
  182. package/dist/cjs/helpers/getShorthandValue.native.cjs +32 -0
  183. package/dist/cjs/helpers/getShorthandValue.native.js +18 -21
  184. package/dist/cjs/helpers/getShorthandValue.native.js.map +1 -1
  185. package/dist/cjs/helpers/getSplitStyles.cjs +1623 -919
  186. package/dist/cjs/helpers/getSplitStyles.native.cjs +1835 -0
  187. package/dist/cjs/helpers/getSplitStyles.native.js +1800 -948
  188. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  189. package/dist/cjs/helpers/getThemeCSSRules.cjs +105 -109
  190. package/dist/cjs/helpers/getThemeCSSRules.native.cjs +28 -0
  191. package/dist/cjs/helpers/getThemeCSSRules.native.js +15 -18
  192. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +1 -1
  193. package/dist/cjs/helpers/grammarConfig.cjs +276 -0
  194. package/dist/cjs/helpers/grammarConfig.native.cjs +412 -0
  195. package/dist/cjs/helpers/grammarConfig.native.js +414 -0
  196. package/dist/cjs/helpers/grammarConfig.native.js.map +1 -0
  197. package/dist/cjs/helpers/insertStyleRule.cjs +253 -184
  198. package/dist/cjs/helpers/insertStyleRule.native.cjs +223 -0
  199. package/dist/cjs/helpers/insertStyleRule.native.js +189 -68
  200. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  201. package/dist/cjs/helpers/isObj.cjs +22 -16
  202. package/dist/cjs/helpers/isObj.native.cjs +38 -0
  203. package/dist/cjs/helpers/isObj.native.js +24 -22
  204. package/dist/cjs/helpers/isObj.native.js.map +1 -1
  205. package/dist/cjs/helpers/isTamaguiComponent.cjs +17 -21
  206. package/dist/cjs/helpers/isTamaguiComponent.native.cjs +29 -0
  207. package/dist/cjs/helpers/isTamaguiComponent.native.js +17 -20
  208. package/dist/cjs/helpers/isTamaguiComponent.native.js.map +1 -1
  209. package/dist/cjs/helpers/isTamaguiElement.cjs +19 -28
  210. package/dist/cjs/helpers/isTamaguiElement.native.cjs +36 -0
  211. package/dist/cjs/helpers/isTamaguiElement.native.js +19 -27
  212. package/dist/cjs/helpers/isTamaguiElement.native.js.map +1 -1
  213. package/dist/cjs/helpers/log.cjs +24 -27
  214. package/dist/cjs/helpers/log.native.cjs +39 -0
  215. package/dist/cjs/helpers/log.native.js +25 -27
  216. package/dist/cjs/helpers/log.native.js.map +1 -1
  217. package/dist/cjs/helpers/mainThreadPressEvents.cjs +14 -18
  218. package/dist/cjs/helpers/mainThreadPressEvents.native.cjs +155 -0
  219. package/dist/cjs/helpers/mainThreadPressEvents.native.js +138 -142
  220. package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
  221. package/dist/cjs/helpers/matchMedia.cjs +21 -23
  222. package/dist/cjs/helpers/matchMedia.native.cjs +68 -0
  223. package/dist/cjs/helpers/matchMedia.native.js +49 -41
  224. package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
  225. package/dist/cjs/helpers/mediaObjectToString.cjs +34 -38
  226. package/dist/cjs/helpers/mediaObjectToString.native.cjs +52 -0
  227. package/dist/cjs/helpers/mediaObjectToString.native.js +37 -40
  228. package/dist/cjs/helpers/mediaObjectToString.native.js.map +1 -1
  229. package/dist/cjs/helpers/mediaState.cjs +34 -43
  230. package/dist/cjs/helpers/mediaState.native.cjs +52 -0
  231. package/dist/cjs/helpers/mediaState.native.js +37 -46
  232. package/dist/cjs/helpers/mediaState.native.js.map +1 -1
  233. package/dist/cjs/helpers/mergeProps.cjs +50 -63
  234. package/dist/cjs/helpers/mergeProps.native.cjs +68 -0
  235. package/dist/cjs/helpers/mergeProps.native.js +53 -70
  236. package/dist/cjs/helpers/mergeProps.native.js.map +1 -1
  237. package/dist/cjs/helpers/mergeRenderElementProps.cjs +17 -23
  238. package/dist/cjs/helpers/mergeRenderElementProps.native.cjs +31 -0
  239. package/dist/cjs/helpers/mergeRenderElementProps.native.js +17 -22
  240. package/dist/cjs/helpers/mergeRenderElementProps.native.js.map +1 -1
  241. package/dist/cjs/helpers/mergeSlotStyleProps.cjs +34 -38
  242. package/dist/cjs/helpers/mergeSlotStyleProps.native.cjs +50 -0
  243. package/dist/cjs/helpers/mergeSlotStyleProps.native.js +34 -37
  244. package/dist/cjs/helpers/mergeSlotStyleProps.native.js.map +1 -1
  245. package/dist/cjs/helpers/mergeVariants.cjs +82 -41
  246. package/dist/cjs/helpers/mergeVariants.native.cjs +130 -0
  247. package/dist/cjs/helpers/mergeVariants.native.js +118 -42
  248. package/dist/cjs/helpers/mergeVariants.native.js.map +1 -1
  249. package/dist/cjs/helpers/nativeOnlyProps.cjs +46 -51
  250. package/dist/cjs/helpers/nativeOnlyProps.native.cjs +59 -0
  251. package/dist/cjs/helpers/nativeOnlyProps.native.js +46 -50
  252. package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
  253. package/dist/cjs/helpers/nativeStyleEngine.cjs +269 -0
  254. package/dist/cjs/helpers/nativeStyleEngine.native.cjs +400 -0
  255. package/dist/cjs/helpers/nativeStyleEngine.native.js +402 -0
  256. package/dist/cjs/helpers/nativeStyleEngine.native.js.map +1 -0
  257. package/dist/cjs/helpers/nativeTransitionTarget.cjs +26 -0
  258. package/dist/cjs/helpers/nativeTransitionTarget.native.cjs +42 -0
  259. package/dist/cjs/helpers/nativeTransitionTarget.native.js +44 -0
  260. package/dist/cjs/helpers/nativeTransitionTarget.native.js.map +1 -0
  261. package/dist/cjs/helpers/normalizeColor.cjs +22 -35
  262. package/dist/cjs/helpers/normalizeColor.native.cjs +49 -0
  263. package/dist/cjs/helpers/normalizeColor.native.js +32 -34
  264. package/dist/cjs/helpers/normalizeColor.native.js.map +1 -1
  265. package/dist/cjs/helpers/normalizeShadow.cjs +25 -39
  266. package/dist/cjs/helpers/normalizeShadow.native.cjs +41 -0
  267. package/dist/cjs/helpers/normalizeShadow.native.js +26 -37
  268. package/dist/cjs/helpers/normalizeShadow.native.js.map +1 -1
  269. package/dist/cjs/helpers/normalizeStyle.cjs +59 -61
  270. package/dist/cjs/helpers/normalizeStyle.native.cjs +93 -0
  271. package/dist/cjs/helpers/normalizeStyle.native.js +76 -79
  272. package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -1
  273. package/dist/cjs/helpers/normalizeValueWithProperty.cjs +42 -41
  274. package/dist/cjs/helpers/normalizeValueWithProperty.native.cjs +60 -0
  275. package/dist/cjs/helpers/normalizeValueWithProperty.native.js +45 -46
  276. package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
  277. package/dist/cjs/helpers/noteOnce.cjs +31 -0
  278. package/dist/cjs/helpers/noteOnce.native.cjs +33 -0
  279. package/dist/cjs/helpers/noteOnce.native.js +35 -0
  280. package/dist/cjs/helpers/noteOnce.native.js.map +1 -0
  281. package/dist/cjs/helpers/objectIdentityKey.cjs +30 -34
  282. package/dist/cjs/helpers/objectIdentityKey.native.cjs +44 -0
  283. package/dist/cjs/helpers/objectIdentityKey.native.js +31 -39
  284. package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -1
  285. package/dist/cjs/helpers/parseBorderShorthand.cjs +15 -19
  286. package/dist/cjs/helpers/parseBorderShorthand.native.cjs +65 -0
  287. package/dist/cjs/helpers/parseBorderShorthand.native.js +50 -69
  288. package/dist/cjs/helpers/parseBorderShorthand.native.js.map +1 -1
  289. package/dist/cjs/helpers/parseNativeStyle.native.cjs +205 -0
  290. package/dist/cjs/helpers/parseNativeStyle.native.js +182 -165
  291. package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -1
  292. package/dist/cjs/helpers/parseNativeTransform.native.cjs +67 -0
  293. package/dist/cjs/helpers/parseNativeTransform.native.js +69 -0
  294. package/dist/cjs/helpers/parseNativeTransform.native.js.map +1 -0
  295. package/dist/cjs/helpers/parseOutlineShorthand.cjs +15 -19
  296. package/dist/cjs/helpers/parseOutlineShorthand.native.cjs +44 -0
  297. package/dist/cjs/helpers/parseOutlineShorthand.native.js +31 -65
  298. package/dist/cjs/helpers/parseOutlineShorthand.native.js.map +1 -1
  299. package/dist/cjs/helpers/pointerEvents.cjs +14 -18
  300. package/dist/cjs/helpers/pointerEvents.native.cjs +131 -0
  301. package/dist/cjs/helpers/pointerEvents.native.js +116 -144
  302. package/dist/cjs/helpers/pointerEvents.native.js.map +1 -1
  303. package/dist/cjs/helpers/proxyThemeToParents.cjs +46 -48
  304. package/dist/cjs/helpers/proxyThemeToParents.native.cjs +167 -0
  305. package/dist/cjs/helpers/proxyThemeToParents.native.js +150 -142
  306. package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -1
  307. package/dist/cjs/helpers/registerCSSVariable.cjs +97 -60
  308. package/dist/cjs/helpers/registerCSSVariable.native.cjs +135 -0
  309. package/dist/cjs/helpers/registerCSSVariable.native.js +113 -61
  310. package/dist/cjs/helpers/registerCSSVariable.native.js.map +1 -1
  311. package/dist/cjs/helpers/resolveAnimationDriver.cjs +27 -26
  312. package/dist/cjs/helpers/resolveAnimationDriver.native.cjs +40 -0
  313. package/dist/cjs/helpers/resolveAnimationDriver.native.js +27 -26
  314. package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -1
  315. package/dist/cjs/helpers/resolveNativeUnits.cjs +32 -0
  316. package/dist/cjs/helpers/resolveNativeUnits.native.cjs +168 -0
  317. package/dist/cjs/helpers/resolveNativeUnits.native.js +170 -0
  318. package/dist/cjs/helpers/resolveNativeUnits.native.js.map +1 -0
  319. package/dist/cjs/helpers/resolveRem.cjs +17 -19
  320. package/dist/cjs/helpers/resolveRem.native.cjs +53 -0
  321. package/dist/cjs/helpers/resolveRem.native.js +34 -38
  322. package/dist/cjs/helpers/resolveRem.native.js.map +1 -1
  323. package/dist/cjs/helpers/resolveSafeArea.cjs +50 -25
  324. package/dist/cjs/helpers/resolveSafeArea.native.cjs +129 -0
  325. package/dist/cjs/helpers/resolveSafeArea.native.js +114 -29
  326. package/dist/cjs/helpers/resolveSafeArea.native.js.map +1 -1
  327. package/dist/cjs/helpers/resolveSafeAreaVariable.cjs +33 -0
  328. package/dist/cjs/helpers/resolveSafeAreaVariable.native.cjs +51 -0
  329. package/dist/cjs/helpers/resolveSafeAreaVariable.native.js +53 -0
  330. package/dist/cjs/helpers/resolveSafeAreaVariable.native.js.map +1 -0
  331. package/dist/cjs/helpers/resolveVariableValue.cjs +34 -0
  332. package/dist/cjs/helpers/resolveVariableValue.native.cjs +38 -0
  333. package/dist/cjs/helpers/resolveVariableValue.native.js +40 -0
  334. package/dist/cjs/helpers/resolveVariableValue.native.js.map +1 -0
  335. package/dist/cjs/helpers/resolveVariantStyle.cjs +57 -0
  336. package/dist/cjs/helpers/resolveVariantStyle.native.cjs +63 -0
  337. package/dist/cjs/helpers/resolveVariantStyle.native.js +65 -0
  338. package/dist/cjs/helpers/resolveVariantStyle.native.js.map +1 -0
  339. package/dist/cjs/helpers/setElementProps.cjs +16 -20
  340. package/dist/cjs/helpers/setElementProps.native.cjs +34 -0
  341. package/dist/cjs/helpers/setElementProps.native.js +21 -24
  342. package/dist/cjs/helpers/setElementProps.native.js.map +1 -1
  343. package/dist/cjs/helpers/skipProps.cjs +32 -29
  344. package/dist/cjs/helpers/skipProps.native.cjs +51 -0
  345. package/dist/cjs/helpers/skipProps.native.js +32 -28
  346. package/dist/cjs/helpers/skipProps.native.js.map +1 -1
  347. package/dist/cjs/helpers/sortString.cjs +14 -18
  348. package/dist/cjs/helpers/sortString.native.cjs +28 -0
  349. package/dist/cjs/helpers/sortString.native.js +16 -19
  350. package/dist/cjs/helpers/sortString.native.js.map +1 -1
  351. package/dist/cjs/helpers/splitStyleProps.cjs +46 -0
  352. package/dist/cjs/helpers/splitStyleProps.native.cjs +49 -0
  353. package/dist/cjs/helpers/splitStyleProps.native.js +51 -0
  354. package/dist/cjs/helpers/splitStyleProps.native.js.map +1 -0
  355. package/dist/cjs/helpers/styleFrontend.cjs +46 -0
  356. package/dist/cjs/helpers/styleFrontend.native.cjs +48 -0
  357. package/dist/cjs/helpers/styleFrontend.native.js +50 -0
  358. package/dist/cjs/helpers/styleFrontend.native.js.map +1 -0
  359. package/dist/cjs/helpers/styleOriginalValues.cjs +14 -18
  360. package/dist/cjs/helpers/styleOriginalValues.native.cjs +26 -0
  361. package/dist/cjs/helpers/styleOriginalValues.native.js +15 -18
  362. package/dist/cjs/helpers/styleOriginalValues.native.js.map +1 -1
  363. package/dist/cjs/helpers/styleProvenance.cjs +25 -27
  364. package/dist/cjs/helpers/styleProvenance.native.cjs +43 -0
  365. package/dist/cjs/helpers/styleProvenance.native.js +25 -26
  366. package/dist/cjs/helpers/styleProvenance.native.js.map +1 -1
  367. package/dist/cjs/helpers/styleStaticConfig.cjs +27 -0
  368. package/dist/cjs/helpers/styleStaticConfig.native.cjs +29 -0
  369. package/dist/cjs/helpers/styleStaticConfig.native.js +31 -0
  370. package/dist/cjs/helpers/styleStaticConfig.native.js.map +1 -0
  371. package/dist/cjs/helpers/styleStaticConfigCore.cjs +107 -0
  372. package/dist/cjs/helpers/styleStaticConfigCore.native.cjs +127 -0
  373. package/dist/cjs/helpers/styleStaticConfigCore.native.js +129 -0
  374. package/dist/cjs/helpers/styleStaticConfigCore.native.js.map +1 -0
  375. package/dist/cjs/helpers/styleToCSS.cjs +59 -0
  376. package/dist/cjs/helpers/styleToCSS.native.cjs +26 -0
  377. package/dist/cjs/helpers/styleToCSS.native.js +28 -0
  378. package/dist/cjs/helpers/styleToCSS.native.js.map +1 -0
  379. package/dist/cjs/helpers/styledDynamic.cjs +161 -0
  380. package/dist/cjs/helpers/styledDynamic.native.cjs +192 -0
  381. package/dist/cjs/helpers/styledDynamic.native.js +194 -0
  382. package/dist/cjs/helpers/styledDynamic.native.js.map +1 -0
  383. package/dist/cjs/helpers/subscribeToContextGroup.cjs +110 -94
  384. package/dist/cjs/helpers/subscribeToContextGroup.native.cjs +186 -0
  385. package/dist/cjs/helpers/subscribeToContextGroup.native.js +169 -138
  386. package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
  387. package/dist/cjs/helpers/themeRef.cjs +41 -0
  388. package/dist/cjs/helpers/themeRef.native.cjs +43 -0
  389. package/dist/cjs/helpers/themeRef.native.js +45 -0
  390. package/dist/cjs/helpers/themeRef.native.js.map +1 -0
  391. package/dist/cjs/helpers/themeUpdateState.cjs +24 -0
  392. package/dist/cjs/helpers/themeUpdateState.native.cjs +26 -0
  393. package/dist/cjs/helpers/themeUpdateState.native.js +28 -0
  394. package/dist/cjs/helpers/themeUpdateState.native.js.map +1 -0
  395. package/dist/cjs/helpers/themes.cjs +29 -34
  396. package/dist/cjs/helpers/themes.native.cjs +43 -0
  397. package/dist/cjs/helpers/themes.native.js +29 -33
  398. package/dist/cjs/helpers/themes.native.js.map +1 -1
  399. package/dist/cjs/helpers/timer.cjs +15 -21
  400. package/dist/cjs/helpers/timer.native.cjs +30 -0
  401. package/dist/cjs/helpers/timer.native.js +17 -22
  402. package/dist/cjs/helpers/timer.native.js.map +1 -1
  403. package/dist/cjs/helpers/tokenCategories.cjs +40 -0
  404. package/dist/cjs/helpers/tokenCategories.native.cjs +42 -0
  405. package/dist/cjs/helpers/tokenCategories.native.js +44 -0
  406. package/dist/cjs/helpers/tokenCategories.native.js.map +1 -0
  407. package/dist/cjs/helpers/transformsToString.cjs +24 -31
  408. package/dist/cjs/helpers/transformsToString.native.cjs +55 -0
  409. package/dist/cjs/helpers/transformsToString.native.js +41 -30
  410. package/dist/cjs/helpers/transformsToString.native.js.map +1 -1
  411. package/dist/cjs/helpers/variableValue.cjs +71 -0
  412. package/dist/cjs/helpers/variableValue.native.cjs +111 -0
  413. package/dist/cjs/helpers/variableValue.native.js +113 -0
  414. package/dist/cjs/helpers/variableValue.native.js.map +1 -0
  415. package/dist/cjs/helpers/variables.cjs +568 -0
  416. package/dist/cjs/helpers/variables.native.cjs +806 -0
  417. package/dist/cjs/helpers/variables.native.js +808 -0
  418. package/dist/cjs/helpers/variables.native.js.map +1 -0
  419. package/dist/cjs/helpers/warnOnce.cjs +38 -0
  420. package/dist/cjs/helpers/warnOnce.native.cjs +42 -0
  421. package/dist/cjs/helpers/warnOnce.native.js +44 -0
  422. package/dist/cjs/helpers/warnOnce.native.js.map +1 -0
  423. package/dist/cjs/helpers/webPropsToSkip.cjs +14 -18
  424. package/dist/cjs/helpers/webPropsToSkip.native.cjs +67 -0
  425. package/dist/cjs/helpers/webPropsToSkip.native.js +53 -62
  426. package/dist/cjs/helpers/webPropsToSkip.native.js.map +1 -1
  427. package/dist/cjs/helpers/wrapStyleTags.cjs +46 -48
  428. package/dist/cjs/helpers/wrapStyleTags.native.cjs +31 -0
  429. package/dist/cjs/helpers/wrapStyleTags.native.js +18 -18
  430. package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
  431. package/dist/cjs/hooks/doesRootSchemeMatchSystem.cjs +15 -19
  432. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.cjs +31 -0
  433. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js +16 -19
  434. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js.map +1 -1
  435. package/dist/cjs/hooks/getThemeProxied.cjs +60 -58
  436. package/dist/cjs/hooks/getThemeProxied.native.cjs +123 -0
  437. package/dist/cjs/hooks/getThemeProxied.native.js +97 -79
  438. package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -1
  439. package/dist/cjs/hooks/isOptimizedForFirstRender.cjs +27 -0
  440. package/dist/cjs/hooks/isOptimizedForFirstRender.native.cjs +29 -0
  441. package/dist/cjs/hooks/isOptimizedForFirstRender.native.js +31 -0
  442. package/dist/cjs/hooks/isOptimizedForFirstRender.native.js.map +1 -0
  443. package/dist/cjs/hooks/useAnimationDriver.cjs +51 -0
  444. package/dist/cjs/hooks/useAnimationDriver.native.cjs +59 -0
  445. package/dist/cjs/hooks/useAnimationDriver.native.js +61 -0
  446. package/dist/cjs/hooks/useAnimationDriver.native.js.map +1 -0
  447. package/dist/cjs/hooks/useComponentState.cjs +178 -200
  448. package/dist/cjs/hooks/useComponentState.native.cjs +212 -0
  449. package/dist/cjs/hooks/useComponentState.native.js +190 -211
  450. package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
  451. package/dist/cjs/hooks/useDisableSSR.cjs +15 -19
  452. package/dist/cjs/hooks/useDisableSSR.native.cjs +30 -0
  453. package/dist/cjs/hooks/useDisableSSR.native.js +16 -19
  454. package/dist/cjs/hooks/useDisableSSR.native.js.map +1 -1
  455. package/dist/cjs/hooks/useIsTouchDevice.cjs +15 -19
  456. package/dist/cjs/hooks/useIsTouchDevice.native.cjs +30 -0
  457. package/dist/cjs/hooks/useIsTouchDevice.native.js +16 -19
  458. package/dist/cjs/hooks/useIsTouchDevice.native.js.map +1 -1
  459. package/dist/cjs/hooks/useMedia.cjs +317 -257
  460. package/dist/cjs/hooks/useMedia.native.cjs +519 -0
  461. package/dist/cjs/hooks/useMedia.native.js +470 -307
  462. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  463. package/dist/cjs/hooks/usePortalThemeState.cjs +40 -0
  464. package/dist/cjs/hooks/usePortalThemeState.native.cjs +42 -0
  465. package/dist/cjs/hooks/usePortalThemeState.native.js +44 -0
  466. package/dist/cjs/hooks/usePortalThemeState.native.js.map +1 -0
  467. package/dist/cjs/hooks/useSplitStyles.cjs +42 -0
  468. package/dist/cjs/hooks/useSplitStyles.native.cjs +42 -0
  469. package/dist/cjs/hooks/useSplitStyles.native.js +44 -0
  470. package/dist/cjs/hooks/useSplitStyles.native.js.map +1 -0
  471. package/dist/cjs/hooks/useStyle.cjs +30 -0
  472. package/dist/cjs/hooks/useStyle.native.cjs +32 -0
  473. package/dist/cjs/hooks/useStyle.native.js +34 -0
  474. package/dist/cjs/hooks/useStyle.native.js.map +1 -0
  475. package/dist/cjs/hooks/useTheme.cjs +40 -49
  476. package/dist/cjs/hooks/useTheme.native.cjs +64 -0
  477. package/dist/cjs/hooks/useTheme.native.js +43 -52
  478. package/dist/cjs/hooks/useTheme.native.js.map +1 -1
  479. package/dist/cjs/hooks/useThemeName.cjs +19 -25
  480. package/dist/cjs/hooks/useThemeName.native.cjs +38 -0
  481. package/dist/cjs/hooks/useThemeName.native.js +22 -27
  482. package/dist/cjs/hooks/useThemeName.native.js.map +1 -1
  483. package/dist/cjs/hooks/useThemeState.cjs +282 -368
  484. package/dist/cjs/hooks/useThemeState.native.cjs +378 -0
  485. package/dist/cjs/hooks/useThemeState.native.js +334 -477
  486. package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
  487. package/dist/cjs/index.cjs +233 -105
  488. package/dist/cjs/index.native.cjs +255 -0
  489. package/dist/cjs/index.native.js +234 -105
  490. package/dist/cjs/index.native.js.map +1 -1
  491. package/dist/cjs/inject-styles.cjs +24 -31
  492. package/dist/cjs/inject-styles.native.cjs +38 -0
  493. package/dist/cjs/inject-styles.native.js +25 -31
  494. package/dist/cjs/inject-styles.native.js.map +1 -1
  495. package/dist/cjs/insertFont.cjs +60 -61
  496. package/dist/cjs/insertFont.native.cjs +79 -0
  497. package/dist/cjs/insertFont.native.js +54 -54
  498. package/dist/cjs/insertFont.native.js.map +1 -1
  499. package/dist/cjs/interfaces/CSSColorNames.cjs +166 -11
  500. package/dist/cjs/interfaces/CSSColorNames.native.cjs +175 -0
  501. package/dist/cjs/interfaces/CSSColorNames.native.js +166 -10
  502. package/dist/cjs/interfaces/CSSColorNames.native.js.map +1 -1
  503. package/dist/cjs/interfaces/GetRef.cjs +9 -11
  504. package/dist/cjs/interfaces/GetRef.native.cjs +18 -0
  505. package/dist/cjs/interfaces/GetRef.native.js +9 -10
  506. package/dist/cjs/interfaces/GetRef.native.js.map +1 -1
  507. package/dist/cjs/interfaces/RNExclusiveTypes.cjs +9 -11
  508. package/dist/cjs/interfaces/RNExclusiveTypes.native.cjs +18 -0
  509. package/dist/cjs/interfaces/RNExclusiveTypes.native.js +9 -10
  510. package/dist/cjs/interfaces/RNExclusiveTypes.native.js.map +1 -1
  511. package/dist/cjs/interfaces/TamaguiComponentEvents.cjs +9 -11
  512. package/dist/cjs/interfaces/TamaguiComponentEvents.native.cjs +18 -0
  513. package/dist/cjs/interfaces/TamaguiComponentEvents.native.js +9 -10
  514. package/dist/cjs/interfaces/TamaguiComponentEvents.native.js.map +1 -1
  515. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.cjs +9 -11
  516. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.cjs +18 -0
  517. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js +9 -10
  518. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js.map +1 -1
  519. package/dist/cjs/internal-runtime.cjs +123 -0
  520. package/dist/cjs/internal-runtime.native.cjs +125 -0
  521. package/dist/cjs/internal-runtime.native.js +127 -0
  522. package/dist/cjs/internal-runtime.native.js.map +1 -0
  523. package/dist/cjs/internalRuntimeTypes.cjs +16 -0
  524. package/dist/cjs/internalRuntimeTypes.native.cjs +18 -0
  525. package/dist/cjs/internalRuntimeTypes.native.js +20 -0
  526. package/dist/cjs/internalRuntimeTypes.native.js.map +1 -0
  527. package/dist/cjs/setupHooks.cjs +16 -18
  528. package/dist/cjs/setupHooks.native.cjs +32 -0
  529. package/dist/cjs/setupHooks.native.js +16 -17
  530. package/dist/cjs/setupHooks.native.js.map +1 -1
  531. package/dist/cjs/setupReactNative.cjs +14 -44
  532. package/dist/cjs/setupReactNative.native.cjs +53 -0
  533. package/dist/cjs/setupReactNative.native.js +38 -41
  534. package/dist/cjs/setupReactNative.native.js.map +1 -1
  535. package/dist/cjs/static-resolve.cjs +230 -0
  536. package/dist/cjs/static-resolve.native.cjs +236 -0
  537. package/dist/cjs/static-resolve.native.js +238 -0
  538. package/dist/cjs/static-resolve.native.js.map +1 -0
  539. package/dist/cjs/style.cjs +91 -0
  540. package/dist/cjs/style.native.cjs +94 -0
  541. package/dist/cjs/style.native.js +96 -0
  542. package/dist/cjs/style.native.js.map +1 -0
  543. package/dist/cjs/styled.cjs +110 -143
  544. package/dist/cjs/styled.native.cjs +133 -0
  545. package/dist/cjs/styled.native.js +115 -145
  546. package/dist/cjs/styled.native.js.map +1 -1
  547. package/dist/cjs/theme-update.cjs +19 -0
  548. package/dist/cjs/theme-update.native.cjs +21 -0
  549. package/dist/cjs/theme-update.native.js +23 -0
  550. package/dist/cjs/theme-update.native.js.map +1 -0
  551. package/dist/cjs/type-utils.cjs +9 -11
  552. package/dist/cjs/type-utils.native.cjs +18 -0
  553. package/dist/cjs/type-utils.native.js +9 -10
  554. package/dist/cjs/type-utils.native.js.map +1 -1
  555. package/dist/cjs/types.cjs +21 -11
  556. package/dist/cjs/types.native.cjs +30 -0
  557. package/dist/cjs/types.native.js +21 -10
  558. package/dist/cjs/types.native.js.map +1 -1
  559. package/dist/cjs/views/ConfigRevisionCheck.cjs +68 -0
  560. package/dist/cjs/views/ConfigRevisionCheck.native.cjs +73 -0
  561. package/dist/cjs/views/ConfigRevisionCheck.native.js +75 -0
  562. package/dist/cjs/views/ConfigRevisionCheck.native.js.map +1 -0
  563. package/dist/cjs/views/Configuration.cjs +26 -35
  564. package/dist/cjs/views/Configuration.native.cjs +46 -0
  565. package/dist/cjs/views/Configuration.native.js +27 -35
  566. package/dist/cjs/views/Configuration.native.js.map +1 -1
  567. package/dist/cjs/views/FontLanguage.cjs +20 -29
  568. package/dist/cjs/views/FontLanguage.native.cjs +46 -0
  569. package/dist/cjs/views/FontLanguage.native.js +27 -38
  570. package/dist/cjs/views/FontLanguage.native.js.map +1 -1
  571. package/dist/cjs/views/SafeAreaTracker.cjs +32 -0
  572. package/dist/cjs/views/SafeAreaTracker.native.cjs +36 -0
  573. package/dist/cjs/views/SafeAreaTracker.native.js +38 -0
  574. package/dist/cjs/views/SafeAreaTracker.native.js.map +1 -0
  575. package/dist/cjs/views/Slot.cjs +51 -59
  576. package/dist/cjs/views/Slot.native.cjs +77 -0
  577. package/dist/cjs/views/Slot.native.js +52 -59
  578. package/dist/cjs/views/Slot.native.js.map +1 -1
  579. package/dist/cjs/views/TamaguiProvider.cjs +69 -76
  580. package/dist/cjs/views/TamaguiProvider.native.cjs +98 -0
  581. package/dist/cjs/views/TamaguiProvider.native.js +68 -76
  582. package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
  583. package/dist/cjs/views/TamaguiRoot.cjs +46 -61
  584. package/dist/cjs/views/TamaguiRoot.native.cjs +28 -0
  585. package/dist/cjs/views/TamaguiRoot.native.js +15 -18
  586. package/dist/cjs/views/TamaguiRoot.native.js.map +1 -1
  587. package/dist/cjs/views/Text.cjs +50 -46
  588. package/dist/cjs/views/Text.native.cjs +49 -0
  589. package/dist/cjs/views/Text.native.js +34 -36
  590. package/dist/cjs/views/Text.native.js.map +1 -1
  591. package/dist/cjs/views/Theme.cjs +117 -167
  592. package/dist/cjs/views/Theme.native.cjs +159 -0
  593. package/dist/cjs/views/Theme.native.js +127 -173
  594. package/dist/cjs/views/Theme.native.js.map +1 -1
  595. package/dist/cjs/views/ThemeDebug.cjs +73 -81
  596. package/dist/cjs/views/ThemeDebug.native.cjs +30 -0
  597. package/dist/cjs/views/ThemeDebug.native.js +16 -23
  598. package/dist/cjs/views/ThemeDebug.native.js.map +1 -1
  599. package/dist/cjs/views/ThemeProvider.cjs +34 -39
  600. package/dist/cjs/views/ThemeProvider.native.cjs +43 -0
  601. package/dist/cjs/views/ThemeProvider.native.js +25 -28
  602. package/dist/cjs/views/ThemeProvider.native.js.map +1 -1
  603. package/dist/cjs/views/ThemeUpdate.cjs +82 -0
  604. package/dist/cjs/views/ThemeUpdate.native.cjs +84 -0
  605. package/dist/cjs/views/ThemeUpdate.native.js +86 -0
  606. package/dist/cjs/views/ThemeUpdate.native.js.map +1 -0
  607. package/dist/cjs/views/View.cjs +21 -18
  608. package/dist/cjs/views/View.native.cjs +38 -0
  609. package/dist/cjs/views/View.native.js +21 -17
  610. package/dist/cjs/views/View.native.js.map +1 -1
  611. package/dist/esm/Tamagui.mjs +27 -27
  612. package/dist/esm/Tamagui.mjs.map +1 -1
  613. package/dist/esm/Tamagui.native.js +76 -71
  614. package/dist/esm/Tamagui.native.js.map +1 -1
  615. package/dist/esm/_withNativeStyle.mjs +55 -0
  616. package/dist/esm/_withNativeStyle.mjs.map +1 -0
  617. package/dist/esm/_withNativeStyle.native.js +58 -0
  618. package/dist/esm/_withNativeStyle.native.js.map +1 -0
  619. package/dist/esm/_withStableStyle.mjs +44 -29
  620. package/dist/esm/_withStableStyle.mjs.map +1 -1
  621. package/dist/esm/_withStableStyle.native.js +51 -33
  622. package/dist/esm/_withStableStyle.native.js.map +1 -1
  623. package/dist/esm/config.mjs +97 -100
  624. package/dist/esm/config.mjs.map +1 -1
  625. package/dist/esm/config.native.js +122 -129
  626. package/dist/esm/config.native.js.map +1 -1
  627. package/dist/esm/constants/constants.mjs +1 -0
  628. package/dist/esm/constants/constants.mjs.map +1 -1
  629. package/dist/esm/constants/constants.native.js +1 -0
  630. package/dist/esm/constants/constants.native.js.map +1 -1
  631. package/dist/esm/constants/isDevTools.mjs +7 -6
  632. package/dist/esm/constants/isDevTools.mjs.map +1 -1
  633. package/dist/esm/constants/isDevTools.native.js +9 -8
  634. package/dist/esm/constants/isDevTools.native.js.map +1 -1
  635. package/dist/esm/contexts/ComponentContext.mjs +18 -8
  636. package/dist/esm/contexts/ComponentContext.mjs.map +1 -1
  637. package/dist/esm/contexts/ComponentContext.native.js +19 -9
  638. package/dist/esm/contexts/ComponentContext.native.js.map +1 -1
  639. package/dist/esm/contexts/GroupContext.mjs +2 -0
  640. package/dist/esm/contexts/GroupContext.mjs.map +1 -1
  641. package/dist/esm/contexts/GroupContext.native.js +3 -1
  642. package/dist/esm/contexts/GroupContext.native.js.map +1 -1
  643. package/dist/esm/createComponent.mjs +992 -996
  644. package/dist/esm/createComponent.mjs.map +1 -1
  645. package/dist/esm/createComponent.native.js +1091 -979
  646. package/dist/esm/createComponent.native.js.map +1 -1
  647. package/dist/esm/createFont.mjs +27 -18
  648. package/dist/esm/createFont.mjs.map +1 -1
  649. package/dist/esm/createFont.native.js +30 -21
  650. package/dist/esm/createFont.native.js.map +1 -1
  651. package/dist/esm/createShorthands.mjs +2 -1
  652. package/dist/esm/createShorthands.mjs.map +1 -1
  653. package/dist/esm/createShorthands.native.js +2 -1
  654. package/dist/esm/createShorthands.native.js.map +1 -1
  655. package/dist/esm/createStyledHOC.mjs +79 -0
  656. package/dist/esm/createStyledHOC.mjs.map +1 -0
  657. package/dist/esm/createStyledHOC.native.js +80 -0
  658. package/dist/esm/createStyledHOC.native.js.map +1 -0
  659. package/dist/esm/createTamagui.mjs +275 -207
  660. package/dist/esm/createTamagui.mjs.map +1 -1
  661. package/dist/esm/createTamagui.native.js +309 -255
  662. package/dist/esm/createTamagui.native.js.map +1 -1
  663. package/dist/esm/createTokens.mjs +15 -1
  664. package/dist/esm/createTokens.mjs.map +1 -1
  665. package/dist/esm/createTokens.native.js +16 -2
  666. package/dist/esm/createTokens.native.js.map +1 -1
  667. package/dist/esm/createVariable.mjs +66 -65
  668. package/dist/esm/createVariable.mjs.map +1 -1
  669. package/dist/esm/createVariable.native.js +77 -81
  670. package/dist/esm/createVariable.native.js.map +1 -1
  671. package/dist/esm/createVariables.mjs +37 -42
  672. package/dist/esm/createVariables.mjs.map +1 -1
  673. package/dist/esm/createVariables.native.js +38 -48
  674. package/dist/esm/createVariables.native.js.map +1 -1
  675. package/dist/esm/defaultComponentState.mjs +13 -12
  676. package/dist/esm/defaultComponentState.mjs.map +1 -1
  677. package/dist/esm/defaultComponentState.native.js +13 -12
  678. package/dist/esm/defaultComponentState.native.js.map +1 -1
  679. package/dist/esm/dom/adapters.mjs +67 -0
  680. package/dist/esm/dom/adapters.mjs.map +1 -0
  681. package/dist/esm/dom/adapters.native.js +86 -0
  682. package/dist/esm/dom/adapters.native.js.map +1 -0
  683. package/dist/esm/dom/contract.mjs +0 -0
  684. package/dist/esm/dom/contract.native.js +0 -0
  685. package/dist/esm/dom/domEventProps.native.js +34 -0
  686. package/dist/esm/dom/domEventProps.native.js.map +1 -0
  687. package/dist/esm/dom/html.mjs +611 -0
  688. package/dist/esm/dom/html.mjs.map +1 -0
  689. package/dist/esm/dom/html.native.js +930 -0
  690. package/dist/esm/dom/html.native.js.map +1 -0
  691. package/dist/esm/dom/htmlRuntime.native.js +152 -0
  692. package/dist/esm/dom/htmlRuntime.native.js.map +1 -0
  693. package/dist/esm/dom/index.mjs +4 -0
  694. package/dist/esm/dom/index.native.js +5 -0
  695. package/dist/esm/dom/primitives.native.js +609 -0
  696. package/dist/esm/dom/primitives.native.js.map +1 -0
  697. package/dist/esm/dom/standalone.mjs +10 -0
  698. package/dist/esm/dom/standalone.mjs.map +1 -0
  699. package/dist/esm/dom/standalone.native.js +14 -0
  700. package/dist/esm/dom/standalone.native.js.map +1 -0
  701. package/dist/esm/dom/standaloneHtml.mjs +56 -0
  702. package/dist/esm/dom/standaloneHtml.mjs.map +1 -0
  703. package/dist/esm/dom/standaloneHtml.native.js +56 -0
  704. package/dist/esm/dom/standaloneHtml.native.js.map +1 -0
  705. package/dist/esm/dom/styleTypes.mjs +0 -0
  706. package/dist/esm/dom/styleTypes.native.js +0 -0
  707. package/dist/esm/eventDetails.mjs +18 -0
  708. package/dist/esm/eventDetails.mjs.map +1 -0
  709. package/dist/esm/eventDetails.native.js +18 -0
  710. package/dist/esm/eventDetails.native.js.map +1 -0
  711. package/dist/esm/eventHandling.mjs +14 -13
  712. package/dist/esm/eventHandling.mjs.map +1 -1
  713. package/dist/esm/eventHandling.native.js +141 -163
  714. package/dist/esm/eventHandling.native.js.map +1 -1
  715. package/dist/esm/helpers/borderComponents.mjs +37 -0
  716. package/dist/esm/helpers/borderComponents.mjs.map +1 -0
  717. package/dist/esm/helpers/borderComponents.native.js +55 -0
  718. package/dist/esm/helpers/borderComponents.native.js.map +1 -0
  719. package/dist/esm/helpers/componentDisplayName.mjs +4 -0
  720. package/dist/esm/helpers/componentDisplayName.mjs.map +1 -0
  721. package/dist/esm/helpers/componentDisplayName.native.js +4 -0
  722. package/dist/esm/helpers/componentDisplayName.native.js.map +1 -0
  723. package/dist/esm/helpers/configVariables.mjs +60 -0
  724. package/dist/esm/helpers/configVariables.mjs.map +1 -0
  725. package/dist/esm/helpers/configVariables.native.js +61 -0
  726. package/dist/esm/helpers/configVariables.native.js.map +1 -0
  727. package/dist/esm/helpers/consoleLog.native.js +2 -1
  728. package/dist/esm/helpers/consoleLog.native.js.map +1 -1
  729. package/dist/esm/helpers/createDesignSystem.mjs +133 -134
  730. package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
  731. package/dist/esm/helpers/createDesignSystem.native.js +151 -186
  732. package/dist/esm/helpers/createDesignSystem.native.js.map +1 -1
  733. package/dist/esm/helpers/createStyledContext.mjs +49 -58
  734. package/dist/esm/helpers/createStyledContext.mjs.map +1 -1
  735. package/dist/esm/helpers/createStyledContext.native.js +54 -63
  736. package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
  737. package/dist/esm/helpers/defaultAnimationDriver.mjs +10 -14
  738. package/dist/esm/helpers/defaultAnimationDriver.mjs.map +1 -1
  739. package/dist/esm/helpers/defaultAnimationDriver.native.js +19 -31
  740. package/dist/esm/helpers/defaultAnimationDriver.native.js.map +1 -1
  741. package/dist/esm/helpers/defaultOffset.mjs +3 -2
  742. package/dist/esm/helpers/defaultOffset.mjs.map +1 -1
  743. package/dist/esm/helpers/defaultOffset.native.js +3 -2
  744. package/dist/esm/helpers/defaultOffset.native.js.map +1 -1
  745. package/dist/esm/helpers/expandStyle.mjs +138 -66
  746. package/dist/esm/helpers/expandStyle.mjs.map +1 -1
  747. package/dist/esm/helpers/expandStyle.native.js +141 -107
  748. package/dist/esm/helpers/expandStyle.native.js.map +1 -1
  749. package/dist/esm/helpers/expandStyles.mjs +9 -7
  750. package/dist/esm/helpers/expandStyles.mjs.map +1 -1
  751. package/dist/esm/helpers/expandStyles.native.js +16 -14
  752. package/dist/esm/helpers/expandStyles.native.js.map +1 -1
  753. package/dist/esm/helpers/extractPseudoState.mjs +24 -0
  754. package/dist/esm/helpers/extractPseudoState.mjs.map +1 -0
  755. package/dist/esm/helpers/extractPseudoState.native.js +25 -0
  756. package/dist/esm/helpers/extractPseudoState.native.js.map +1 -0
  757. package/dist/esm/helpers/fluid.mjs +36 -0
  758. package/dist/esm/helpers/fluid.mjs.map +1 -0
  759. package/dist/esm/helpers/fluid.native.js +36 -0
  760. package/dist/esm/helpers/fluid.native.js.map +1 -0
  761. package/dist/esm/helpers/formatDiagnostic.mjs +49 -0
  762. package/dist/esm/helpers/formatDiagnostic.mjs.map +1 -0
  763. package/dist/esm/helpers/formatDiagnostic.native.js +52 -0
  764. package/dist/esm/helpers/formatDiagnostic.native.js.map +1 -0
  765. package/dist/esm/helpers/getCSSStylesAtomic.mjs +224 -177
  766. package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
  767. package/dist/esm/helpers/getCSSStylesAtomic.native.js +9 -4
  768. package/dist/esm/helpers/getCSSStylesAtomic.native.js.map +1 -1
  769. package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs +16 -0
  770. package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs.map +1 -0
  771. package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js +18 -0
  772. package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -0
  773. package/dist/esm/helpers/getDynamicVal.mjs +32 -33
  774. package/dist/esm/helpers/getDynamicVal.mjs.map +1 -1
  775. package/dist/esm/helpers/getDynamicVal.native.js +32 -33
  776. package/dist/esm/helpers/getDynamicVal.native.js.map +1 -1
  777. package/dist/esm/helpers/getExpandedShorthands.mjs +5 -12
  778. package/dist/esm/helpers/getExpandedShorthands.mjs.map +1 -1
  779. package/dist/esm/helpers/getExpandedShorthands.native.js +6 -13
  780. package/dist/esm/helpers/getExpandedShorthands.native.js.map +1 -1
  781. package/dist/esm/helpers/getShorthandValue.mjs +4 -2
  782. package/dist/esm/helpers/getShorthandValue.mjs.map +1 -1
  783. package/dist/esm/helpers/getShorthandValue.native.js +6 -4
  784. package/dist/esm/helpers/getShorthandValue.native.js.map +1 -1
  785. package/dist/esm/helpers/getSplitStyles.mjs +1605 -893
  786. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  787. package/dist/esm/helpers/getSplitStyles.native.js +1786 -916
  788. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  789. package/dist/esm/helpers/getThemeCSSRules.mjs +94 -92
  790. package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
  791. package/dist/esm/helpers/getThemeCSSRules.native.js +2 -1
  792. package/dist/esm/helpers/getThemeCSSRules.native.js.map +1 -1
  793. package/dist/esm/helpers/grammarConfig.mjs +253 -0
  794. package/dist/esm/helpers/grammarConfig.mjs.map +1 -0
  795. package/dist/esm/helpers/grammarConfig.native.js +387 -0
  796. package/dist/esm/helpers/grammarConfig.native.js.map +1 -0
  797. package/dist/esm/helpers/insertStyleRule.mjs +232 -160
  798. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
  799. package/dist/esm/helpers/insertStyleRule.native.js +135 -27
  800. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
  801. package/dist/esm/helpers/isObj.mjs +10 -2
  802. package/dist/esm/helpers/isObj.mjs.map +1 -1
  803. package/dist/esm/helpers/isObj.native.js +11 -8
  804. package/dist/esm/helpers/isObj.native.js.map +1 -1
  805. package/dist/esm/helpers/isTamaguiComponent.mjs +4 -3
  806. package/dist/esm/helpers/isTamaguiComponent.mjs.map +1 -1
  807. package/dist/esm/helpers/isTamaguiComponent.native.js +4 -3
  808. package/dist/esm/helpers/isTamaguiComponent.native.js.map +1 -1
  809. package/dist/esm/helpers/isTamaguiElement.mjs +4 -2
  810. package/dist/esm/helpers/isTamaguiElement.mjs.map +1 -1
  811. package/dist/esm/helpers/isTamaguiElement.native.js +4 -2
  812. package/dist/esm/helpers/isTamaguiElement.native.js.map +1 -1
  813. package/dist/esm/helpers/log.mjs +12 -9
  814. package/dist/esm/helpers/log.mjs.map +1 -1
  815. package/dist/esm/helpers/log.native.js +13 -10
  816. package/dist/esm/helpers/log.native.js.map +1 -1
  817. package/dist/esm/helpers/mainThreadPressEvents.mjs +1 -0
  818. package/dist/esm/helpers/mainThreadPressEvents.mjs.map +1 -1
  819. package/dist/esm/helpers/mainThreadPressEvents.native.js +126 -125
  820. package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
  821. package/dist/esm/helpers/matchMedia.mjs +7 -6
  822. package/dist/esm/helpers/matchMedia.mjs.map +1 -1
  823. package/dist/esm/helpers/matchMedia.native.js +36 -25
  824. package/dist/esm/helpers/matchMedia.native.js.map +1 -1
  825. package/dist/esm/helpers/mediaObjectToString.mjs +21 -20
  826. package/dist/esm/helpers/mediaObjectToString.mjs.map +1 -1
  827. package/dist/esm/helpers/mediaObjectToString.native.js +24 -23
  828. package/dist/esm/helpers/mediaObjectToString.native.js.map +1 -1
  829. package/dist/esm/helpers/mediaState.mjs +18 -24
  830. package/dist/esm/helpers/mediaState.mjs.map +1 -1
  831. package/dist/esm/helpers/mediaState.native.js +20 -27
  832. package/dist/esm/helpers/mediaState.native.js.map +1 -1
  833. package/dist/esm/helpers/mergeProps.mjs +37 -47
  834. package/dist/esm/helpers/mergeProps.mjs.map +1 -1
  835. package/dist/esm/helpers/mergeProps.native.js +39 -54
  836. package/dist/esm/helpers/mergeProps.native.js.map +1 -1
  837. package/dist/esm/helpers/mergeRenderElementProps.mjs +5 -5
  838. package/dist/esm/helpers/mergeRenderElementProps.mjs.map +1 -1
  839. package/dist/esm/helpers/mergeRenderElementProps.native.js +5 -5
  840. package/dist/esm/helpers/mergeRenderElementProps.native.js.map +1 -1
  841. package/dist/esm/helpers/mergeSlotStyleProps.mjs +22 -20
  842. package/dist/esm/helpers/mergeSlotStyleProps.mjs.map +1 -1
  843. package/dist/esm/helpers/mergeSlotStyleProps.native.js +22 -20
  844. package/dist/esm/helpers/mergeSlotStyleProps.native.js.map +1 -1
  845. package/dist/esm/helpers/mergeVariants.mjs +70 -23
  846. package/dist/esm/helpers/mergeVariants.mjs.map +1 -1
  847. package/dist/esm/helpers/mergeVariants.native.js +106 -25
  848. package/dist/esm/helpers/mergeVariants.native.js.map +1 -1
  849. package/dist/esm/helpers/nativeOnlyProps.mjs +33 -33
  850. package/dist/esm/helpers/nativeOnlyProps.mjs.map +1 -1
  851. package/dist/esm/helpers/nativeOnlyProps.native.js +33 -33
  852. package/dist/esm/helpers/nativeOnlyProps.native.js.map +1 -1
  853. package/dist/esm/helpers/nativeStyleEngine.mjs +237 -0
  854. package/dist/esm/helpers/nativeStyleEngine.mjs.map +1 -0
  855. package/dist/esm/helpers/nativeStyleEngine.native.js +366 -0
  856. package/dist/esm/helpers/nativeStyleEngine.native.js.map +1 -0
  857. package/dist/esm/helpers/nativeTransitionTarget.mjs +6 -0
  858. package/dist/esm/helpers/nativeTransitionTarget.mjs.map +1 -0
  859. package/dist/esm/helpers/nativeTransitionTarget.native.js +21 -0
  860. package/dist/esm/helpers/nativeTransitionTarget.native.js.map +1 -0
  861. package/dist/esm/helpers/normalizeColor.mjs +11 -18
  862. package/dist/esm/helpers/normalizeColor.mjs.map +1 -1
  863. package/dist/esm/helpers/normalizeColor.native.js +19 -19
  864. package/dist/esm/helpers/normalizeColor.native.js.map +1 -1
  865. package/dist/esm/helpers/normalizeShadow.mjs +13 -21
  866. package/dist/esm/helpers/normalizeShadow.mjs.map +1 -1
  867. package/dist/esm/helpers/normalizeShadow.native.js +14 -20
  868. package/dist/esm/helpers/normalizeShadow.native.js.map +1 -1
  869. package/dist/esm/helpers/normalizeStyle.mjs +47 -43
  870. package/dist/esm/helpers/normalizeStyle.mjs.map +1 -1
  871. package/dist/esm/helpers/normalizeStyle.native.js +64 -62
  872. package/dist/esm/helpers/normalizeStyle.native.js.map +1 -1
  873. package/dist/esm/helpers/normalizeValueWithProperty.mjs +30 -23
  874. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
  875. package/dist/esm/helpers/normalizeValueWithProperty.native.js +32 -28
  876. package/dist/esm/helpers/normalizeValueWithProperty.native.js.map +1 -1
  877. package/dist/esm/helpers/noteOnce.mjs +11 -0
  878. package/dist/esm/helpers/noteOnce.mjs.map +1 -0
  879. package/dist/esm/helpers/noteOnce.native.js +11 -0
  880. package/dist/esm/helpers/noteOnce.native.js.map +1 -0
  881. package/dist/esm/helpers/objectIdentityKey.mjs +18 -17
  882. package/dist/esm/helpers/objectIdentityKey.mjs.map +1 -1
  883. package/dist/esm/helpers/objectIdentityKey.native.js +18 -22
  884. package/dist/esm/helpers/objectIdentityKey.native.js.map +1 -1
  885. package/dist/esm/helpers/parseBorderShorthand.mjs +2 -1
  886. package/dist/esm/helpers/parseBorderShorthand.mjs.map +1 -1
  887. package/dist/esm/helpers/parseBorderShorthand.native.js +38 -55
  888. package/dist/esm/helpers/parseBorderShorthand.native.js.map +1 -1
  889. package/dist/esm/helpers/parseNativeStyle.native.js +167 -146
  890. package/dist/esm/helpers/parseNativeStyle.native.js.map +1 -1
  891. package/dist/esm/helpers/parseNativeTransform.native.js +45 -0
  892. package/dist/esm/helpers/parseNativeTransform.native.js.map +1 -0
  893. package/dist/esm/helpers/parseOutlineShorthand.mjs +2 -1
  894. package/dist/esm/helpers/parseOutlineShorthand.mjs.map +1 -1
  895. package/dist/esm/helpers/parseOutlineShorthand.native.js +19 -48
  896. package/dist/esm/helpers/parseOutlineShorthand.native.js.map +1 -1
  897. package/dist/esm/helpers/pointerEvents.mjs +1 -0
  898. package/dist/esm/helpers/pointerEvents.mjs.map +1 -1
  899. package/dist/esm/helpers/pointerEvents.native.js +104 -127
  900. package/dist/esm/helpers/pointerEvents.native.js.map +1 -1
  901. package/dist/esm/helpers/proxyThemeToParents.mjs +32 -31
  902. package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -1
  903. package/dist/esm/helpers/proxyThemeToParents.native.js +136 -126
  904. package/dist/esm/helpers/proxyThemeToParents.native.js.map +1 -1
  905. package/dist/esm/helpers/registerCSSVariable.mjs +76 -39
  906. package/dist/esm/helpers/registerCSSVariable.mjs.map +1 -1
  907. package/dist/esm/helpers/registerCSSVariable.native.js +95 -44
  908. package/dist/esm/helpers/registerCSSVariable.native.js.map +1 -1
  909. package/dist/esm/helpers/resolveAnimationDriver.mjs +14 -8
  910. package/dist/esm/helpers/resolveAnimationDriver.mjs.map +1 -1
  911. package/dist/esm/helpers/resolveAnimationDriver.native.js +14 -9
  912. package/dist/esm/helpers/resolveAnimationDriver.native.js.map +1 -1
  913. package/dist/esm/helpers/resolveNativeUnits.mjs +9 -0
  914. package/dist/esm/helpers/resolveNativeUnits.mjs.map +1 -0
  915. package/dist/esm/helpers/resolveNativeUnits.native.js +142 -0
  916. package/dist/esm/helpers/resolveNativeUnits.native.js.map +1 -0
  917. package/dist/esm/helpers/resolveRem.mjs +3 -2
  918. package/dist/esm/helpers/resolveRem.mjs.map +1 -1
  919. package/dist/esm/helpers/resolveRem.native.js +21 -22
  920. package/dist/esm/helpers/resolveRem.native.js.map +1 -1
  921. package/dist/esm/helpers/resolveSafeArea.mjs +38 -8
  922. package/dist/esm/helpers/resolveSafeArea.mjs.map +1 -1
  923. package/dist/esm/helpers/resolveSafeArea.native.js +101 -15
  924. package/dist/esm/helpers/resolveSafeArea.native.js.map +1 -1
  925. package/dist/esm/helpers/resolveSafeAreaVariable.mjs +10 -0
  926. package/dist/esm/helpers/resolveSafeAreaVariable.mjs.map +1 -0
  927. package/dist/esm/helpers/resolveSafeAreaVariable.native.js +27 -0
  928. package/dist/esm/helpers/resolveSafeAreaVariable.native.js.map +1 -0
  929. package/dist/esm/helpers/resolveVariableValue.mjs +15 -0
  930. package/dist/esm/helpers/resolveVariableValue.mjs.map +1 -0
  931. package/dist/esm/helpers/resolveVariableValue.native.js +17 -0
  932. package/dist/esm/helpers/resolveVariableValue.native.js.map +1 -0
  933. package/dist/esm/helpers/resolveVariantStyle.mjs +38 -0
  934. package/dist/esm/helpers/resolveVariantStyle.mjs.map +1 -0
  935. package/dist/esm/helpers/resolveVariantStyle.native.js +42 -0
  936. package/dist/esm/helpers/resolveVariantStyle.native.js.map +1 -0
  937. package/dist/esm/helpers/setElementProps.mjs +4 -2
  938. package/dist/esm/helpers/setElementProps.mjs.map +1 -1
  939. package/dist/esm/helpers/setElementProps.native.js +8 -7
  940. package/dist/esm/helpers/setElementProps.native.js.map +1 -1
  941. package/dist/esm/helpers/skipProps.mjs +20 -14
  942. package/dist/esm/helpers/skipProps.mjs.map +1 -1
  943. package/dist/esm/helpers/skipProps.native.js +20 -14
  944. package/dist/esm/helpers/skipProps.native.js.map +1 -1
  945. package/dist/esm/helpers/sortString.mjs +1 -0
  946. package/dist/esm/helpers/sortString.mjs.map +1 -1
  947. package/dist/esm/helpers/sortString.native.js +3 -2
  948. package/dist/esm/helpers/sortString.native.js.map +1 -1
  949. package/dist/esm/helpers/splitStyleProps.mjs +27 -0
  950. package/dist/esm/helpers/splitStyleProps.mjs.map +1 -0
  951. package/dist/esm/helpers/splitStyleProps.native.js +28 -0
  952. package/dist/esm/helpers/splitStyleProps.native.js.map +1 -0
  953. package/dist/esm/helpers/styleFrontend.mjs +23 -0
  954. package/dist/esm/helpers/styleFrontend.mjs.map +1 -0
  955. package/dist/esm/helpers/styleFrontend.native.js +23 -0
  956. package/dist/esm/helpers/styleFrontend.native.js.map +1 -0
  957. package/dist/esm/helpers/styleOriginalValues.mjs +2 -1
  958. package/dist/esm/helpers/styleOriginalValues.mjs.map +1 -1
  959. package/dist/esm/helpers/styleOriginalValues.native.js +2 -1
  960. package/dist/esm/helpers/styleOriginalValues.native.js.map +1 -1
  961. package/dist/esm/helpers/styleProvenance.mjs +10 -9
  962. package/dist/esm/helpers/styleProvenance.mjs.map +1 -1
  963. package/dist/esm/helpers/styleProvenance.native.js +10 -9
  964. package/dist/esm/helpers/styleProvenance.native.js.map +1 -1
  965. package/dist/esm/helpers/styleStaticConfig.mjs +8 -0
  966. package/dist/esm/helpers/styleStaticConfig.mjs.map +1 -0
  967. package/dist/esm/helpers/styleStaticConfig.native.js +8 -0
  968. package/dist/esm/helpers/styleStaticConfig.native.js.map +1 -0
  969. package/dist/esm/helpers/styleStaticConfigCore.mjs +88 -0
  970. package/dist/esm/helpers/styleStaticConfigCore.mjs.map +1 -0
  971. package/dist/esm/helpers/styleStaticConfigCore.native.js +106 -0
  972. package/dist/esm/helpers/styleStaticConfigCore.native.js.map +1 -0
  973. package/dist/esm/helpers/styleToCSS.mjs +40 -0
  974. package/dist/esm/helpers/styleToCSS.mjs.map +1 -0
  975. package/dist/esm/helpers/styleToCSS.native.js +4 -0
  976. package/dist/esm/helpers/styleToCSS.native.js.map +1 -0
  977. package/dist/esm/helpers/styledDynamic.mjs +137 -0
  978. package/dist/esm/helpers/styledDynamic.mjs.map +1 -0
  979. package/dist/esm/helpers/styledDynamic.native.js +166 -0
  980. package/dist/esm/helpers/styledDynamic.native.js.map +1 -0
  981. package/dist/esm/helpers/subscribeToContextGroup.mjs +98 -79
  982. package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -1
  983. package/dist/esm/helpers/subscribeToContextGroup.native.js +157 -124
  984. package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
  985. package/dist/esm/helpers/themeRef.mjs +17 -0
  986. package/dist/esm/helpers/themeRef.mjs.map +1 -0
  987. package/dist/esm/helpers/themeRef.native.js +17 -0
  988. package/dist/esm/helpers/themeRef.native.js.map +1 -0
  989. package/dist/esm/helpers/themeUpdateState.mjs +4 -0
  990. package/dist/esm/helpers/themeUpdateState.mjs.map +1 -0
  991. package/dist/esm/helpers/themeUpdateState.native.js +4 -0
  992. package/dist/esm/helpers/themeUpdateState.native.js.map +1 -0
  993. package/dist/esm/helpers/themes.mjs +17 -16
  994. package/dist/esm/helpers/themes.mjs.map +1 -1
  995. package/dist/esm/helpers/themes.native.js +17 -16
  996. package/dist/esm/helpers/themes.native.js.map +1 -1
  997. package/dist/esm/helpers/timer.mjs +9 -5
  998. package/dist/esm/helpers/timer.mjs.map +1 -1
  999. package/dist/esm/helpers/timer.native.js +9 -5
  1000. package/dist/esm/helpers/timer.native.js.map +1 -1
  1001. package/dist/esm/helpers/tokenCategories.mjs +20 -0
  1002. package/dist/esm/helpers/tokenCategories.mjs.map +1 -0
  1003. package/dist/esm/helpers/tokenCategories.native.js +20 -0
  1004. package/dist/esm/helpers/tokenCategories.native.js.map +1 -0
  1005. package/dist/esm/helpers/transformsToString.mjs +12 -13
  1006. package/dist/esm/helpers/transformsToString.mjs.map +1 -1
  1007. package/dist/esm/helpers/transformsToString.native.js +29 -13
  1008. package/dist/esm/helpers/transformsToString.native.js.map +1 -1
  1009. package/dist/esm/helpers/variableValue.mjs +49 -0
  1010. package/dist/esm/helpers/variableValue.mjs.map +1 -0
  1011. package/dist/esm/helpers/variableValue.native.js +87 -0
  1012. package/dist/esm/helpers/variableValue.native.js.map +1 -0
  1013. package/dist/esm/helpers/variables.mjs +542 -0
  1014. package/dist/esm/helpers/variables.mjs.map +1 -0
  1015. package/dist/esm/helpers/variables.native.js +778 -0
  1016. package/dist/esm/helpers/variables.native.js.map +1 -0
  1017. package/dist/esm/helpers/warnOnce.mjs +15 -0
  1018. package/dist/esm/helpers/warnOnce.mjs.map +1 -0
  1019. package/dist/esm/helpers/warnOnce.native.js +17 -0
  1020. package/dist/esm/helpers/warnOnce.native.js.map +1 -0
  1021. package/dist/esm/helpers/webPropsToSkip.mjs +1 -0
  1022. package/dist/esm/helpers/webPropsToSkip.mjs.map +1 -1
  1023. package/dist/esm/helpers/webPropsToSkip.native.js +41 -45
  1024. package/dist/esm/helpers/webPropsToSkip.native.js.map +1 -1
  1025. package/dist/esm/helpers/wrapStyleTags.mjs +34 -30
  1026. package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -1
  1027. package/dist/esm/helpers/wrapStyleTags.native.js +4 -1
  1028. package/dist/esm/helpers/wrapStyleTags.native.js.map +1 -1
  1029. package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs +2 -1
  1030. package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs.map +1 -1
  1031. package/dist/esm/hooks/doesRootSchemeMatchSystem.native.js +4 -2
  1032. package/dist/esm/hooks/doesRootSchemeMatchSystem.native.js.map +1 -1
  1033. package/dist/esm/hooks/getThemeProxied.mjs +47 -40
  1034. package/dist/esm/hooks/getThemeProxied.mjs.map +1 -1
  1035. package/dist/esm/hooks/getThemeProxied.native.js +85 -62
  1036. package/dist/esm/hooks/getThemeProxied.native.js.map +1 -1
  1037. package/dist/esm/hooks/isOptimizedForFirstRender.mjs +8 -0
  1038. package/dist/esm/hooks/isOptimizedForFirstRender.mjs.map +1 -0
  1039. package/dist/esm/hooks/isOptimizedForFirstRender.native.js +8 -0
  1040. package/dist/esm/hooks/isOptimizedForFirstRender.native.js.map +1 -0
  1041. package/dist/esm/hooks/useAnimationDriver.mjs +26 -0
  1042. package/dist/esm/hooks/useAnimationDriver.mjs.map +1 -0
  1043. package/dist/esm/hooks/useAnimationDriver.native.js +32 -0
  1044. package/dist/esm/hooks/useAnimationDriver.native.js.map +1 -0
  1045. package/dist/esm/hooks/useComponentState.mjs +167 -183
  1046. package/dist/esm/hooks/useComponentState.mjs.map +1 -1
  1047. package/dist/esm/hooks/useComponentState.native.js +178 -194
  1048. package/dist/esm/hooks/useComponentState.native.js.map +1 -1
  1049. package/dist/esm/hooks/useDisableSSR.mjs +3 -1
  1050. package/dist/esm/hooks/useDisableSSR.mjs.map +1 -1
  1051. package/dist/esm/hooks/useDisableSSR.native.js +4 -2
  1052. package/dist/esm/hooks/useDisableSSR.native.js.map +1 -1
  1053. package/dist/esm/hooks/useIsTouchDevice.mjs +3 -1
  1054. package/dist/esm/hooks/useIsTouchDevice.mjs.map +1 -1
  1055. package/dist/esm/hooks/useIsTouchDevice.native.js +4 -2
  1056. package/dist/esm/hooks/useIsTouchDevice.native.js.map +1 -1
  1057. package/dist/esm/hooks/useMedia.mjs +299 -233
  1058. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  1059. package/dist/esm/hooks/useMedia.native.js +451 -283
  1060. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  1061. package/dist/esm/hooks/usePortalThemeState.mjs +21 -0
  1062. package/dist/esm/hooks/usePortalThemeState.mjs.map +1 -0
  1063. package/dist/esm/hooks/usePortalThemeState.native.js +21 -0
  1064. package/dist/esm/hooks/usePortalThemeState.native.js.map +1 -0
  1065. package/dist/esm/hooks/useSplitStyles.mjs +17 -0
  1066. package/dist/esm/hooks/useSplitStyles.mjs.map +1 -0
  1067. package/dist/esm/hooks/useSplitStyles.native.js +14 -0
  1068. package/dist/esm/hooks/useSplitStyles.native.js.map +1 -0
  1069. package/dist/esm/hooks/useStyle.mjs +11 -0
  1070. package/dist/esm/hooks/useStyle.mjs.map +1 -0
  1071. package/dist/esm/hooks/useStyle.native.js +11 -0
  1072. package/dist/esm/hooks/useStyle.native.js.map +1 -0
  1073. package/dist/esm/hooks/useTheme.mjs +27 -32
  1074. package/dist/esm/hooks/useTheme.mjs.map +1 -1
  1075. package/dist/esm/hooks/useTheme.native.js +30 -36
  1076. package/dist/esm/hooks/useTheme.native.js.map +1 -1
  1077. package/dist/esm/hooks/useThemeName.mjs +7 -7
  1078. package/dist/esm/hooks/useThemeName.mjs.map +1 -1
  1079. package/dist/esm/hooks/useThemeName.native.js +10 -10
  1080. package/dist/esm/hooks/useThemeName.native.js.map +1 -1
  1081. package/dist/esm/hooks/useThemeState.mjs +261 -349
  1082. package/dist/esm/hooks/useThemeState.mjs.map +1 -1
  1083. package/dist/esm/hooks/useThemeState.native.js +312 -458
  1084. package/dist/esm/hooks/useThemeState.native.js.map +1 -1
  1085. package/dist/esm/index.js +64 -72
  1086. package/dist/esm/index.mjs +64 -72
  1087. package/dist/esm/index.native.js +64 -72
  1088. package/dist/esm/inject-styles.mjs +11 -13
  1089. package/dist/esm/inject-styles.mjs.map +1 -1
  1090. package/dist/esm/inject-styles.native.js +12 -14
  1091. package/dist/esm/inject-styles.native.js.map +1 -1
  1092. package/dist/esm/insertFont.mjs +44 -41
  1093. package/dist/esm/insertFont.mjs.map +1 -1
  1094. package/dist/esm/insertFont.native.js +38 -35
  1095. package/dist/esm/insertFont.native.js.map +1 -1
  1096. package/dist/esm/interfaces/CSSColorNames.mjs +151 -0
  1097. package/dist/esm/interfaces/CSSColorNames.mjs.map +1 -1
  1098. package/dist/esm/interfaces/CSSColorNames.native.js +151 -0
  1099. package/dist/esm/interfaces/CSSColorNames.native.js.map +1 -1
  1100. package/dist/esm/interfaces/GetRef.mjs +0 -2
  1101. package/dist/esm/interfaces/GetRef.native.js +0 -2
  1102. package/dist/esm/interfaces/RNExclusiveTypes.mjs +0 -2
  1103. package/dist/esm/interfaces/RNExclusiveTypes.native.js +0 -2
  1104. package/dist/esm/interfaces/TamaguiComponentEvents.mjs +0 -2
  1105. package/dist/esm/interfaces/TamaguiComponentEvents.native.js +0 -2
  1106. package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.mjs +0 -2
  1107. package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.native.js +0 -2
  1108. package/dist/esm/internal-runtime.mjs +83 -0
  1109. package/dist/esm/internal-runtime.mjs.map +1 -0
  1110. package/dist/esm/internal-runtime.native.js +83 -0
  1111. package/dist/esm/internal-runtime.native.js.map +1 -0
  1112. package/dist/esm/internalRuntimeTypes.mjs +0 -0
  1113. package/dist/esm/internalRuntimeTypes.native.js +0 -0
  1114. package/dist/esm/setupHooks.mjs +2 -1
  1115. package/dist/esm/setupHooks.mjs.map +1 -1
  1116. package/dist/esm/setupHooks.native.js +2 -1
  1117. package/dist/esm/setupHooks.native.js.map +1 -1
  1118. package/dist/esm/setupReactNative.mjs +2 -27
  1119. package/dist/esm/setupReactNative.mjs.map +1 -1
  1120. package/dist/esm/setupReactNative.native.js +25 -24
  1121. package/dist/esm/setupReactNative.native.js.map +1 -1
  1122. package/dist/esm/static-resolve.mjs +196 -0
  1123. package/dist/esm/static-resolve.mjs.map +1 -0
  1124. package/dist/esm/static-resolve.native.js +200 -0
  1125. package/dist/esm/static-resolve.native.js.map +1 -0
  1126. package/dist/esm/style.mjs +58 -0
  1127. package/dist/esm/style.mjs.map +1 -0
  1128. package/dist/esm/style.native.js +59 -0
  1129. package/dist/esm/style.native.js.map +1 -0
  1130. package/dist/esm/styled.mjs +97 -128
  1131. package/dist/esm/styled.mjs.map +1 -1
  1132. package/dist/esm/styled.native.js +101 -130
  1133. package/dist/esm/styled.native.js.map +1 -1
  1134. package/dist/esm/theme-update.mjs +3 -0
  1135. package/dist/esm/theme-update.native.js +3 -0
  1136. package/dist/esm/type-utils.mjs +0 -2
  1137. package/dist/esm/type-utils.native.js +0 -2
  1138. package/dist/esm/types.mjs +3 -0
  1139. package/dist/esm/types.mjs.map +1 -1
  1140. package/dist/esm/types.native.js +3 -0
  1141. package/dist/esm/types.native.js.map +1 -1
  1142. package/dist/esm/views/ConfigRevisionCheck.mjs +43 -0
  1143. package/dist/esm/views/ConfigRevisionCheck.mjs.map +1 -0
  1144. package/dist/esm/views/ConfigRevisionCheck.native.js +46 -0
  1145. package/dist/esm/views/ConfigRevisionCheck.native.js.map +1 -0
  1146. package/dist/esm/views/Configuration.mjs +11 -9
  1147. package/dist/esm/views/Configuration.mjs.map +1 -1
  1148. package/dist/esm/views/Configuration.native.js +13 -11
  1149. package/dist/esm/views/Configuration.native.js.map +1 -1
  1150. package/dist/esm/views/FontLanguage.mjs +8 -11
  1151. package/dist/esm/views/FontLanguage.mjs.map +1 -1
  1152. package/dist/esm/views/FontLanguage.native.js +13 -14
  1153. package/dist/esm/views/FontLanguage.native.js.map +1 -1
  1154. package/dist/esm/views/SafeAreaTracker.mjs +9 -0
  1155. package/dist/esm/views/SafeAreaTracker.mjs.map +1 -0
  1156. package/dist/esm/views/SafeAreaTracker.native.js +12 -0
  1157. package/dist/esm/views/SafeAreaTracker.native.js.map +1 -0
  1158. package/dist/esm/views/Slot.mjs +39 -44
  1159. package/dist/esm/views/Slot.mjs.map +1 -1
  1160. package/dist/esm/views/Slot.native.js +41 -46
  1161. package/dist/esm/views/Slot.native.js.map +1 -1
  1162. package/dist/esm/views/TamaguiProvider.mjs +54 -50
  1163. package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
  1164. package/dist/esm/views/TamaguiProvider.native.js +52 -51
  1165. package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
  1166. package/dist/esm/views/TamaguiRoot.mjs +31 -35
  1167. package/dist/esm/views/TamaguiRoot.mjs.map +1 -1
  1168. package/dist/esm/views/TamaguiRoot.native.js +2 -1
  1169. package/dist/esm/views/TamaguiRoot.native.js.map +1 -1
  1170. package/dist/esm/views/Text.mjs +38 -31
  1171. package/dist/esm/views/Text.mjs.map +1 -1
  1172. package/dist/esm/views/Text.native.js +19 -21
  1173. package/dist/esm/views/Text.native.js.map +1 -1
  1174. package/dist/esm/views/Theme.mjs +102 -145
  1175. package/dist/esm/views/Theme.mjs.map +1 -1
  1176. package/dist/esm/views/Theme.native.js +113 -152
  1177. package/dist/esm/views/Theme.native.js.map +1 -1
  1178. package/dist/esm/views/ThemeDebug.mjs +61 -63
  1179. package/dist/esm/views/ThemeDebug.mjs.map +1 -1
  1180. package/dist/esm/views/ThemeDebug.native.js +3 -6
  1181. package/dist/esm/views/ThemeDebug.native.js.map +1 -1
  1182. package/dist/esm/views/ThemeProvider.mjs +21 -20
  1183. package/dist/esm/views/ThemeProvider.mjs.map +1 -1
  1184. package/dist/esm/views/ThemeProvider.native.js +12 -10
  1185. package/dist/esm/views/ThemeProvider.native.js.map +1 -1
  1186. package/dist/esm/views/ThemeUpdate.mjs +54 -0
  1187. package/dist/esm/views/ThemeUpdate.mjs.map +1 -0
  1188. package/dist/esm/views/ThemeUpdate.native.js +53 -0
  1189. package/dist/esm/views/ThemeUpdate.native.js.map +1 -0
  1190. package/dist/esm/views/View.mjs +9 -3
  1191. package/dist/esm/views/View.mjs.map +1 -1
  1192. package/dist/esm/views/View.native.js +9 -3
  1193. package/dist/esm/views/View.native.js.map +1 -1
  1194. package/internal-runtime/index.cjs +2 -0
  1195. package/internal-runtime/index.js +4 -0
  1196. package/internal-runtime/index.native.js +2 -0
  1197. package/package.json +71 -18
  1198. package/reset.css +15 -12
  1199. package/src/_withNativeStyle.tsx +84 -0
  1200. package/src/_withStableStyle.tsx +61 -43
  1201. package/src/config.ts +34 -36
  1202. package/src/contexts/ComponentContext.tsx +25 -8
  1203. package/src/createComponent.tsx +628 -265
  1204. package/src/createStyledHOC.tsx +137 -0
  1205. package/src/createTamagui.ts +181 -92
  1206. package/src/createTokens.ts +16 -0
  1207. package/src/createVariable.ts +17 -12
  1208. package/src/createVariables.ts +5 -17
  1209. package/src/dom/adapters.ts +99 -0
  1210. package/src/dom/contract.ts +60 -0
  1211. package/src/dom/domEventProps.native.ts +40 -0
  1212. package/src/dom/html.native.tsx +1412 -0
  1213. package/src/dom/html.tsx +887 -0
  1214. package/src/dom/htmlRuntime.native.tsx +230 -0
  1215. package/src/dom/index.native.ts +28 -0
  1216. package/src/dom/index.ts +16 -0
  1217. package/src/dom/primitives.native.tsx +658 -0
  1218. package/src/dom/standalone.ts +107 -0
  1219. package/src/dom/standaloneHtml.ts +104 -0
  1220. package/src/dom/styleTypes.ts +620 -0
  1221. package/src/eventDetails.ts +85 -0
  1222. package/src/eventHandling.native.ts +16 -16
  1223. package/src/helpers/borderComponents.ts +62 -0
  1224. package/src/helpers/componentDisplayName.ts +3 -0
  1225. package/src/helpers/configVariables.ts +64 -0
  1226. package/src/helpers/createDesignSystem.ts +127 -89
  1227. package/src/helpers/createStyledContext.tsx +85 -43
  1228. package/src/helpers/defaultAnimationDriver.tsx +0 -5
  1229. package/src/helpers/expandStyle.ts +49 -2
  1230. package/src/helpers/extractPseudoState.ts +32 -0
  1231. package/src/helpers/fluid.ts +66 -0
  1232. package/src/helpers/formatDiagnostic.ts +69 -0
  1233. package/src/helpers/getCSSStylesAtomic.native.ts +7 -3
  1234. package/src/helpers/getCSSStylesAtomic.ts +306 -166
  1235. package/src/helpers/getCSSStylesAtomicCompiled.ts +21 -0
  1236. package/src/helpers/getDynamicVal.ts +4 -0
  1237. package/src/helpers/getExpandedShorthands.ts +0 -17
  1238. package/src/helpers/getSplitStyles.tsx +3231 -1599
  1239. package/src/helpers/getThemeCSSRules.ts +16 -1
  1240. package/src/helpers/grammarConfig.ts +369 -0
  1241. package/src/helpers/insertStyleRule.tsx +109 -24
  1242. package/src/helpers/isObj.ts +8 -0
  1243. package/src/helpers/isTamaguiComponent.tsx +2 -5
  1244. package/src/helpers/isTamaguiElement.tsx +2 -3
  1245. package/src/helpers/log.ts +12 -11
  1246. package/src/helpers/matchMedia.native.ts +16 -1
  1247. package/src/helpers/mediaState.ts +18 -32
  1248. package/src/helpers/mergeProps.ts +2 -32
  1249. package/src/helpers/mergeVariants.ts +80 -21
  1250. package/src/helpers/nativeOnlyProps.ts +0 -1
  1251. package/src/helpers/nativeStyleEngine.ts +385 -0
  1252. package/src/helpers/nativeTransitionTarget.native.ts +22 -0
  1253. package/src/helpers/nativeTransitionTarget.ts +6 -0
  1254. package/src/helpers/normalizeColor.native.ts +2 -3
  1255. package/src/helpers/normalizeColor.ts +4 -14
  1256. package/src/helpers/normalizeShadow.native.ts +1 -1
  1257. package/src/helpers/normalizeStyle.ts +26 -15
  1258. package/src/helpers/normalizeValueWithProperty.ts +18 -11
  1259. package/src/helpers/noteOnce.ts +9 -0
  1260. package/src/helpers/parseBorderShorthand.native.ts +23 -45
  1261. package/src/helpers/parseNativeStyle.native.ts +238 -0
  1262. package/src/helpers/parseNativeTransform.native.ts +35 -0
  1263. package/src/helpers/parseOutlineShorthand.native.ts +9 -40
  1264. package/src/helpers/proxyThemeToParents.ts +11 -1
  1265. package/src/helpers/registerCSSVariable.ts +52 -4
  1266. package/src/helpers/resolveAnimationDriver.ts +16 -13
  1267. package/src/helpers/resolveNativeUnits.native.ts +187 -0
  1268. package/src/helpers/resolveNativeUnits.ts +10 -0
  1269. package/src/helpers/resolveRem.native.ts +25 -26
  1270. package/src/helpers/resolveRem.ts +1 -1
  1271. package/src/helpers/resolveSafeArea.native.ts +90 -10
  1272. package/src/helpers/resolveSafeArea.ts +46 -7
  1273. package/src/helpers/resolveSafeAreaVariable.native.ts +28 -0
  1274. package/src/helpers/resolveSafeAreaVariable.ts +10 -0
  1275. package/src/helpers/resolveVariableValue.ts +31 -0
  1276. package/src/helpers/resolveVariantStyle.ts +77 -0
  1277. package/src/helpers/skipProps.ts +11 -3
  1278. package/src/helpers/splitStyleProps.ts +166 -0
  1279. package/src/helpers/styleFrontend.ts +143 -0
  1280. package/src/helpers/styleProvenance.ts +17 -2
  1281. package/src/helpers/styleStaticConfig.ts +21 -0
  1282. package/src/helpers/styleStaticConfigCore.ts +110 -0
  1283. package/src/helpers/styleToCSS.native.ts +1 -0
  1284. package/src/helpers/styleToCSS.ts +43 -0
  1285. package/src/helpers/styledDynamic.ts +192 -0
  1286. package/src/helpers/subscribeToContextGroup.tsx +46 -7
  1287. package/src/helpers/themeRef.ts +34 -0
  1288. package/src/helpers/themeUpdateState.ts +27 -0
  1289. package/src/helpers/themes.ts +9 -10
  1290. package/src/helpers/tokenCategories.ts +54 -0
  1291. package/src/helpers/transformsToString.ts +18 -16
  1292. package/src/helpers/variableValue.ts +50 -0
  1293. package/src/helpers/variables.ts +856 -0
  1294. package/src/helpers/warnOnce.ts +47 -0
  1295. package/src/helpers/webPropsToSkip.native.ts +7 -8
  1296. package/src/helpers/wrapStyleTags.tsx +4 -2
  1297. package/src/hooks/getThemeProxied.ts +139 -101
  1298. package/src/hooks/isOptimizedForFirstRender.native.ts +7 -0
  1299. package/src/hooks/isOptimizedForFirstRender.ts +7 -0
  1300. package/src/hooks/useAnimationDriver.ts +56 -0
  1301. package/src/hooks/useComponentState.ts +128 -174
  1302. package/src/hooks/useMedia.tsx +258 -131
  1303. package/src/hooks/usePortalThemeState.ts +34 -0
  1304. package/src/hooks/useSplitStyles.tsx +41 -0
  1305. package/src/hooks/useStyle.ts +10 -0
  1306. package/src/hooks/useTheme.tsx +20 -7
  1307. package/src/hooks/useThemeState.ts +185 -332
  1308. package/src/index.ts +328 -70
  1309. package/src/insertFont.ts +9 -5
  1310. package/src/interfaces/CSSColorNames.tsx +152 -149
  1311. package/src/interfaces/RNExclusiveTypes.ts +2 -1
  1312. package/src/interfaces/TamaguiComponentEvents.tsx +0 -1
  1313. package/src/interfaces/TamaguiComponentPropsBaseBase.tsx +2 -4
  1314. package/src/internal-runtime.ts +169 -0
  1315. package/src/internalRuntimeTypes.ts +18 -0
  1316. package/src/setupHooks.ts +9 -1
  1317. package/src/setupReactNative.ts +7 -30
  1318. package/src/static-resolve.ts +403 -0
  1319. package/src/style.ts +97 -0
  1320. package/src/styled.tsx +290 -416
  1321. package/src/theme-update.ts +2 -0
  1322. package/src/types.tsx +813 -610
  1323. package/src/views/ConfigRevisionCheck.tsx +55 -0
  1324. package/src/views/SafeAreaTracker.native.tsx +10 -0
  1325. package/src/views/SafeAreaTracker.tsx +7 -0
  1326. package/src/views/Slot.tsx +3 -2
  1327. package/src/views/TamaguiProvider.tsx +36 -24
  1328. package/src/views/Text.tsx +33 -23
  1329. package/src/views/Theme.tsx +62 -46
  1330. package/src/views/ThemeDebug.tsx +0 -2
  1331. package/src/views/ThemeProvider.tsx +6 -5
  1332. package/src/views/ThemeUpdate.tsx +90 -0
  1333. package/src/views/View.tsx +12 -4
  1334. package/types/Tamagui.d.ts.map +1 -1
  1335. package/types/_withNativeStyle.d.ts +5 -0
  1336. package/types/_withNativeStyle.d.ts.map +1 -0
  1337. package/types/_withStableStyle.d.ts +1 -1
  1338. package/types/_withStableStyle.d.ts.map +1 -1
  1339. package/types/config.d.ts +22 -32
  1340. package/types/config.d.ts.map +1 -1
  1341. package/types/contexts/ComponentContext.d.ts +1 -1
  1342. package/types/contexts/ComponentContext.d.ts.map +1 -1
  1343. package/types/createComponent.d.ts.map +1 -1
  1344. package/types/createFont.d.ts.map +1 -1
  1345. package/types/createStyledHOC.d.ts +4 -0
  1346. package/types/createStyledHOC.d.ts.map +1 -0
  1347. package/types/createTamagui.d.ts +2 -1
  1348. package/types/createTamagui.d.ts.map +1 -1
  1349. package/types/createTokens.d.ts.map +1 -1
  1350. package/types/createVariable.d.ts +0 -2
  1351. package/types/createVariable.d.ts.map +1 -1
  1352. package/types/createVariables.d.ts.map +1 -1
  1353. package/types/dom/adapters.d.ts +42 -0
  1354. package/types/dom/adapters.d.ts.map +1 -0
  1355. package/types/dom/contract.d.ts +48 -0
  1356. package/types/dom/contract.d.ts.map +1 -0
  1357. package/types/dom/domEventProps.native.d.ts +7 -0
  1358. package/types/dom/domEventProps.native.d.ts.map +1 -0
  1359. package/types/dom/html.d.ts +58 -0
  1360. package/types/dom/html.d.ts.map +1 -0
  1361. package/types/dom/html.native.d.ts +67 -0
  1362. package/types/dom/html.native.d.ts.map +1 -0
  1363. package/types/dom/htmlRuntime.native.d.ts +63 -0
  1364. package/types/dom/htmlRuntime.native.d.ts.map +1 -0
  1365. package/types/dom/index.d.ts +11 -0
  1366. package/types/dom/index.d.ts.map +1 -0
  1367. package/types/dom/index.native.d.ts +12 -0
  1368. package/types/dom/index.native.d.ts.map +1 -0
  1369. package/types/dom/primitives.native.d.ts +43 -0
  1370. package/types/dom/primitives.native.d.ts.map +1 -0
  1371. package/types/dom/standalone.d.ts +89 -0
  1372. package/types/dom/standalone.d.ts.map +1 -0
  1373. package/types/dom/standaloneHtml.d.ts +67 -0
  1374. package/types/dom/standaloneHtml.d.ts.map +1 -0
  1375. package/types/dom/styleTypes.d.ts +486 -0
  1376. package/types/dom/styleTypes.d.ts.map +1 -0
  1377. package/types/eventDetails.d.ts +12 -0
  1378. package/types/eventDetails.d.ts.map +1 -0
  1379. package/types/helpers/borderComponents.d.ts +10 -0
  1380. package/types/helpers/borderComponents.d.ts.map +1 -0
  1381. package/types/helpers/componentDisplayName.d.ts +2 -0
  1382. package/types/helpers/componentDisplayName.d.ts.map +1 -0
  1383. package/types/helpers/configVariables.d.ts +3 -0
  1384. package/types/helpers/configVariables.d.ts.map +1 -0
  1385. package/types/helpers/createDesignSystem.d.ts +24 -6
  1386. package/types/helpers/createDesignSystem.d.ts.map +1 -1
  1387. package/types/helpers/createStyledContext.d.ts +29 -2
  1388. package/types/helpers/createStyledContext.d.ts.map +1 -1
  1389. package/types/helpers/defaultAnimationDriver.d.ts.map +1 -1
  1390. package/types/helpers/defaultOffset.d.ts.map +1 -1
  1391. package/types/helpers/expandStyle.d.ts.map +1 -1
  1392. package/types/helpers/extractPseudoState.d.ts +14 -0
  1393. package/types/helpers/extractPseudoState.d.ts.map +1 -0
  1394. package/types/helpers/fluid.d.ts +21 -0
  1395. package/types/helpers/fluid.d.ts.map +1 -0
  1396. package/types/helpers/formatDiagnostic.d.ts +2 -0
  1397. package/types/helpers/formatDiagnostic.d.ts.map +1 -0
  1398. package/types/helpers/getCSSStylesAtomic.d.ts +29 -6
  1399. package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
  1400. package/types/helpers/getCSSStylesAtomic.native.d.ts +11 -3
  1401. package/types/helpers/getCSSStylesAtomic.native.d.ts.map +1 -1
  1402. package/types/helpers/getCSSStylesAtomicCompiled.d.ts +9 -0
  1403. package/types/helpers/getCSSStylesAtomicCompiled.d.ts.map +1 -0
  1404. package/types/helpers/getDynamicVal.d.ts +1 -1
  1405. package/types/helpers/getDynamicVal.d.ts.map +1 -1
  1406. package/types/helpers/getExpandedShorthands.d.ts +0 -5
  1407. package/types/helpers/getExpandedShorthands.d.ts.map +1 -1
  1408. package/types/helpers/getShorthandValue.d.ts.map +1 -1
  1409. package/types/helpers/getSplitStyles.d.ts +14 -8
  1410. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  1411. package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
  1412. package/types/helpers/grammarConfig.d.ts +41 -0
  1413. package/types/helpers/grammarConfig.d.ts.map +1 -0
  1414. package/types/helpers/insertStyleRule.d.ts +4 -1
  1415. package/types/helpers/insertStyleRule.d.ts.map +1 -1
  1416. package/types/helpers/isObj.d.ts +1 -0
  1417. package/types/helpers/isObj.d.ts.map +1 -1
  1418. package/types/helpers/isTamaguiComponent.d.ts +1 -1
  1419. package/types/helpers/isTamaguiComponent.d.ts.map +1 -1
  1420. package/types/helpers/isTamaguiElement.d.ts +1 -1
  1421. package/types/helpers/isTamaguiElement.d.ts.map +1 -1
  1422. package/types/helpers/log.d.ts.map +1 -1
  1423. package/types/helpers/matchMedia.d.ts +1 -1
  1424. package/types/helpers/matchMedia.native.d.ts.map +1 -1
  1425. package/types/helpers/mediaState.d.ts +5 -2
  1426. package/types/helpers/mediaState.d.ts.map +1 -1
  1427. package/types/helpers/mergeProps.d.ts +0 -2
  1428. package/types/helpers/mergeProps.d.ts.map +1 -1
  1429. package/types/helpers/mergeVariants.d.ts +1 -1
  1430. package/types/helpers/mergeVariants.d.ts.map +1 -1
  1431. package/types/helpers/nativeOnlyProps.d.ts +0 -1
  1432. package/types/helpers/nativeOnlyProps.d.ts.map +1 -1
  1433. package/types/helpers/nativeStyleEngine.d.ts +77 -0
  1434. package/types/helpers/nativeStyleEngine.d.ts.map +1 -0
  1435. package/types/helpers/nativeTransitionTarget.d.ts +3 -0
  1436. package/types/helpers/nativeTransitionTarget.d.ts.map +1 -0
  1437. package/types/helpers/nativeTransitionTarget.native.d.ts +3 -0
  1438. package/types/helpers/nativeTransitionTarget.native.d.ts.map +1 -0
  1439. package/types/helpers/normalizeColor.d.ts +0 -6
  1440. package/types/helpers/normalizeColor.d.ts.map +1 -1
  1441. package/types/helpers/normalizeColor.native.d.ts.map +1 -1
  1442. package/types/helpers/normalizeShadow.d.ts.map +1 -1
  1443. package/types/helpers/normalizeShadow.native.d.ts.map +1 -1
  1444. package/types/helpers/normalizeStyle.d.ts +2 -2
  1445. package/types/helpers/normalizeStyle.d.ts.map +1 -1
  1446. package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -1
  1447. package/types/helpers/noteOnce.d.ts +2 -0
  1448. package/types/helpers/noteOnce.d.ts.map +1 -0
  1449. package/types/helpers/parseBorderShorthand.native.d.ts +1 -0
  1450. package/types/helpers/parseBorderShorthand.native.d.ts.map +1 -1
  1451. package/types/helpers/parseNativeStyle.native.d.ts +14 -0
  1452. package/types/helpers/parseNativeStyle.native.d.ts.map +1 -0
  1453. package/types/helpers/parseNativeTransform.native.d.ts +2 -0
  1454. package/types/helpers/parseNativeTransform.native.d.ts.map +1 -0
  1455. package/types/helpers/parseOutlineShorthand.native.d.ts.map +1 -1
  1456. package/types/helpers/proxyThemeToParents.d.ts +1 -1
  1457. package/types/helpers/proxyThemeToParents.d.ts.map +1 -1
  1458. package/types/helpers/registerCSSVariable.d.ts +12 -0
  1459. package/types/helpers/registerCSSVariable.d.ts.map +1 -1
  1460. package/types/helpers/resolveAnimationDriver.d.ts +4 -4
  1461. package/types/helpers/resolveAnimationDriver.d.ts.map +1 -1
  1462. package/types/helpers/resolveNativeUnits.d.ts +6 -0
  1463. package/types/helpers/resolveNativeUnits.d.ts.map +1 -0
  1464. package/types/helpers/resolveNativeUnits.native.d.ts +15 -0
  1465. package/types/helpers/resolveNativeUnits.native.d.ts.map +1 -0
  1466. package/types/helpers/resolveRem.native.d.ts +6 -4
  1467. package/types/helpers/resolveRem.native.d.ts.map +1 -1
  1468. package/types/helpers/resolveSafeArea.d.ts +1 -1
  1469. package/types/helpers/resolveSafeArea.d.ts.map +1 -1
  1470. package/types/helpers/resolveSafeArea.native.d.ts +2 -1
  1471. package/types/helpers/resolveSafeArea.native.d.ts.map +1 -1
  1472. package/types/helpers/resolveSafeAreaVariable.d.ts +3 -0
  1473. package/types/helpers/resolveSafeAreaVariable.d.ts.map +1 -0
  1474. package/types/helpers/resolveSafeAreaVariable.native.d.ts +3 -0
  1475. package/types/helpers/resolveSafeAreaVariable.native.d.ts.map +1 -0
  1476. package/types/helpers/resolveVariableValue.d.ts +3 -0
  1477. package/types/helpers/resolveVariableValue.d.ts.map +1 -0
  1478. package/types/helpers/resolveVariantStyle.d.ts +3 -0
  1479. package/types/helpers/resolveVariantStyle.d.ts.map +1 -0
  1480. package/types/helpers/setElementProps.d.ts.map +1 -1
  1481. package/types/helpers/skipProps.d.ts +5 -2
  1482. package/types/helpers/skipProps.d.ts.map +1 -1
  1483. package/types/helpers/sortString.d.ts +1 -1
  1484. package/types/helpers/sortString.d.ts.map +1 -1
  1485. package/types/helpers/splitStyleProps.d.ts +44 -0
  1486. package/types/helpers/splitStyleProps.d.ts.map +1 -0
  1487. package/types/helpers/styleFrontend.d.ts +102 -0
  1488. package/types/helpers/styleFrontend.d.ts.map +1 -0
  1489. package/types/helpers/styleProvenance.d.ts +14 -1
  1490. package/types/helpers/styleProvenance.d.ts.map +1 -1
  1491. package/types/helpers/styleStaticConfig.d.ts +14 -0
  1492. package/types/helpers/styleStaticConfig.d.ts.map +1 -0
  1493. package/types/helpers/styleStaticConfigCore.d.ts +4 -0
  1494. package/types/helpers/styleStaticConfigCore.d.ts.map +1 -0
  1495. package/types/helpers/styleToCSS.d.ts +2 -0
  1496. package/types/helpers/styleToCSS.d.ts.map +1 -0
  1497. package/types/helpers/styleToCSS.native.d.ts +2 -0
  1498. package/types/helpers/styleToCSS.native.d.ts.map +1 -0
  1499. package/types/helpers/styledDynamic.d.ts +18 -0
  1500. package/types/helpers/styledDynamic.d.ts.map +1 -0
  1501. package/types/helpers/subscribeToContextGroup.d.ts +1 -0
  1502. package/types/helpers/subscribeToContextGroup.d.ts.map +1 -1
  1503. package/types/helpers/themeRef.d.ts +22 -0
  1504. package/types/helpers/themeRef.d.ts.map +1 -0
  1505. package/types/helpers/themeUpdateState.d.ts +23 -0
  1506. package/types/helpers/themeUpdateState.d.ts.map +1 -0
  1507. package/types/helpers/themes.d.ts.map +1 -1
  1508. package/types/helpers/tokenCategories.d.ts +4 -0
  1509. package/types/helpers/tokenCategories.d.ts.map +1 -0
  1510. package/types/helpers/transformsToString.d.ts.map +1 -1
  1511. package/types/helpers/variableValue.d.ts +4 -0
  1512. package/types/helpers/variableValue.d.ts.map +1 -0
  1513. package/types/helpers/variables.d.ts +73 -0
  1514. package/types/helpers/variables.d.ts.map +1 -0
  1515. package/types/helpers/warnOnce.d.ts +20 -0
  1516. package/types/helpers/warnOnce.d.ts.map +1 -0
  1517. package/types/helpers/webPropsToSkip.native.d.ts +68 -62
  1518. package/types/helpers/webPropsToSkip.native.d.ts.map +1 -1
  1519. package/types/helpers/wrapStyleTags.d.ts +1 -1
  1520. package/types/helpers/wrapStyleTags.d.ts.map +1 -1
  1521. package/types/hooks/getThemeProxied.d.ts +1 -1
  1522. package/types/hooks/getThemeProxied.d.ts.map +1 -1
  1523. package/types/hooks/isOptimizedForFirstRender.d.ts +2 -0
  1524. package/types/hooks/isOptimizedForFirstRender.d.ts.map +1 -0
  1525. package/types/hooks/isOptimizedForFirstRender.native.d.ts +2 -0
  1526. package/types/hooks/isOptimizedForFirstRender.native.d.ts.map +1 -0
  1527. package/types/hooks/useAnimationDriver.d.ts +7 -0
  1528. package/types/hooks/useAnimationDriver.d.ts.map +1 -0
  1529. package/types/hooks/useComponentState.d.ts +6 -4
  1530. package/types/hooks/useComponentState.d.ts.map +1 -1
  1531. package/types/hooks/useMedia.d.ts +14 -12
  1532. package/types/hooks/useMedia.d.ts.map +1 -1
  1533. package/types/hooks/usePortalThemeState.d.ts +15 -0
  1534. package/types/hooks/usePortalThemeState.d.ts.map +1 -0
  1535. package/types/hooks/useSplitStyles.d.ts +3 -0
  1536. package/types/hooks/useSplitStyles.d.ts.map +1 -0
  1537. package/types/hooks/useStyle.d.ts +4 -0
  1538. package/types/hooks/useStyle.d.ts.map +1 -0
  1539. package/types/hooks/useTheme.d.ts +1 -1
  1540. package/types/hooks/useTheme.d.ts.map +1 -1
  1541. package/types/hooks/useThemeState.d.ts +13 -3
  1542. package/types/hooks/useThemeState.d.ts.map +1 -1
  1543. package/types/index.d.ts +63 -70
  1544. package/types/index.d.ts.map +1 -1
  1545. package/types/inject-styles.d.ts.map +1 -1
  1546. package/types/insertFont.d.ts.map +1 -1
  1547. package/types/interfaces/CSSColorNames.d.ts +2 -1
  1548. package/types/interfaces/CSSColorNames.d.ts.map +1 -1
  1549. package/types/interfaces/RNExclusiveTypes.d.ts +2 -2
  1550. package/types/interfaces/RNExclusiveTypes.d.ts.map +1 -1
  1551. package/types/interfaces/TamaguiComponentEvents.d.ts +0 -1
  1552. package/types/interfaces/TamaguiComponentEvents.d.ts.map +1 -1
  1553. package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts +2 -4
  1554. package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts.map +1 -1
  1555. package/types/internal-runtime.d.ts +56 -0
  1556. package/types/internal-runtime.d.ts.map +1 -0
  1557. package/types/internalRuntimeTypes.d.ts +11 -0
  1558. package/types/internalRuntimeTypes.d.ts.map +1 -0
  1559. package/types/setupHooks.d.ts +1 -1
  1560. package/types/setupHooks.d.ts.map +1 -1
  1561. package/types/setupReactNative.d.ts +2 -3
  1562. package/types/setupReactNative.d.ts.map +1 -1
  1563. package/types/static-resolve.d.ts +79 -0
  1564. package/types/static-resolve.d.ts.map +1 -0
  1565. package/types/style.d.ts +18 -0
  1566. package/types/style.d.ts.map +1 -0
  1567. package/types/styled.d.ts +41 -41
  1568. package/types/styled.d.ts.map +1 -1
  1569. package/types/theme-update.d.ts +3 -0
  1570. package/types/theme-update.d.ts.map +1 -0
  1571. package/types/types.d.ts +575 -309
  1572. package/types/types.d.ts.map +1 -1
  1573. package/types/views/ConfigRevisionCheck.d.ts +6 -0
  1574. package/types/views/ConfigRevisionCheck.d.ts.map +1 -0
  1575. package/types/views/Configuration.d.ts +1 -1
  1576. package/types/views/Configuration.d.ts.map +1 -1
  1577. package/types/views/FontLanguage.d.ts +4 -4
  1578. package/types/views/FontLanguage.d.ts.map +1 -1
  1579. package/types/views/FontLanguage.native.d.ts +2 -1
  1580. package/types/views/FontLanguage.native.d.ts.map +1 -1
  1581. package/types/views/SafeAreaTracker.d.ts +3 -0
  1582. package/types/views/SafeAreaTracker.d.ts.map +1 -0
  1583. package/types/views/SafeAreaTracker.native.d.ts +3 -0
  1584. package/types/views/SafeAreaTracker.native.d.ts.map +1 -0
  1585. package/types/views/Slot.d.ts +7 -7
  1586. package/types/views/Slot.d.ts.map +1 -1
  1587. package/types/views/TamaguiProvider.d.ts +2 -1
  1588. package/types/views/TamaguiProvider.d.ts.map +1 -1
  1589. package/types/views/TamaguiRoot.d.ts +1 -1
  1590. package/types/views/TamaguiRoot.d.ts.map +1 -1
  1591. package/types/views/Text.d.ts +6 -2
  1592. package/types/views/Text.d.ts.map +1 -1
  1593. package/types/views/Theme.d.ts +3 -8
  1594. package/types/views/Theme.d.ts.map +1 -1
  1595. package/types/views/ThemeDebug.d.ts.map +1 -1
  1596. package/types/views/ThemeProvider.d.ts +1 -1
  1597. package/types/views/ThemeProvider.d.ts.map +1 -1
  1598. package/types/views/ThemeUpdate.d.ts +15 -0
  1599. package/types/views/ThemeUpdate.d.ts.map +1 -0
  1600. package/types/views/View.d.ts +8 -2
  1601. package/types/views/View.d.ts.map +1 -1
  1602. package/.turbo/turbo-build.log +0 -2
  1603. package/.turbo/turbo-test$colon$web.log +0 -25
  1604. package/dist/cjs/animationDriverTypes.test-d.cjs +0 -77
  1605. package/dist/cjs/animationDriverTypes.test-d.native.js +0 -80
  1606. package/dist/cjs/animationDriverTypes.test-d.native.js.map +0 -1
  1607. package/dist/cjs/constants/accessibilityDirectMap.cjs +0 -36
  1608. package/dist/cjs/constants/accessibilityDirectMap.native.js +0 -39
  1609. package/dist/cjs/constants/accessibilityDirectMap.native.js.map +0 -1
  1610. package/dist/cjs/helpers/createMediaStyle.cjs +0 -127
  1611. package/dist/cjs/helpers/createMediaStyle.native.js +0 -140
  1612. package/dist/cjs/helpers/createMediaStyle.native.js.map +0 -1
  1613. package/dist/cjs/helpers/getDefaultProps.cjs +0 -43
  1614. package/dist/cjs/helpers/getDefaultProps.native.js +0 -47
  1615. package/dist/cjs/helpers/getDefaultProps.native.js.map +0 -1
  1616. package/dist/cjs/helpers/getFontLanguage.cjs +0 -28
  1617. package/dist/cjs/helpers/getFontLanguage.native.js +0 -33
  1618. package/dist/cjs/helpers/getFontLanguage.native.js.map +0 -1
  1619. package/dist/cjs/helpers/getGroupPropParts.cjs +0 -54
  1620. package/dist/cjs/helpers/getGroupPropParts.native.js +0 -59
  1621. package/dist/cjs/helpers/getGroupPropParts.native.js.map +0 -1
  1622. package/dist/cjs/helpers/getTokenForKey.cjs +0 -174
  1623. package/dist/cjs/helpers/getTokenForKey.native.js +0 -186
  1624. package/dist/cjs/helpers/getTokenForKey.native.js.map +0 -1
  1625. package/dist/cjs/helpers/getVariantExtras.cjs +0 -85
  1626. package/dist/cjs/helpers/getVariantExtras.native.js +0 -89
  1627. package/dist/cjs/helpers/getVariantExtras.native.js.map +0 -1
  1628. package/dist/cjs/helpers/isActivePlatform.cjs +0 -40
  1629. package/dist/cjs/helpers/isActivePlatform.native.js +0 -43
  1630. package/dist/cjs/helpers/isActivePlatform.native.js.map +0 -1
  1631. package/dist/cjs/helpers/isActiveTheme.cjs +0 -31
  1632. package/dist/cjs/helpers/isActiveTheme.native.js +0 -34
  1633. package/dist/cjs/helpers/isActiveTheme.native.js.map +0 -1
  1634. package/dist/cjs/helpers/normalizeStylePropKeys.cjs +0 -28
  1635. package/dist/cjs/helpers/normalizeStylePropKeys.native.js +0 -42
  1636. package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +0 -1
  1637. package/dist/cjs/helpers/parseNativeStyle.cjs +0 -167
  1638. package/dist/cjs/helpers/platformResolveValue.cjs +0 -38
  1639. package/dist/cjs/helpers/platformResolveValue.native.js +0 -74
  1640. package/dist/cjs/helpers/platformResolveValue.native.js.map +0 -1
  1641. package/dist/cjs/helpers/propMapper.cjs +0 -281
  1642. package/dist/cjs/helpers/propMapper.native.js +0 -381
  1643. package/dist/cjs/helpers/propMapper.native.js.map +0 -1
  1644. package/dist/cjs/helpers/proxyThemeVariables.cjs +0 -38
  1645. package/dist/cjs/helpers/proxyThemeVariables.native.js +0 -43
  1646. package/dist/cjs/helpers/proxyThemeVariables.native.js.map +0 -1
  1647. package/dist/cjs/helpers/pseudoDescriptors.cjs +0 -82
  1648. package/dist/cjs/helpers/pseudoDescriptors.native.js +0 -85
  1649. package/dist/cjs/helpers/pseudoDescriptors.native.js.map +0 -1
  1650. package/dist/cjs/helpers/pseudoTransitions.cjs +0 -83
  1651. package/dist/cjs/helpers/pseudoTransitions.native.js +0 -88
  1652. package/dist/cjs/helpers/pseudoTransitions.native.js.map +0 -1
  1653. package/dist/cjs/helpers/resolveCompoundTokens.cjs +0 -41
  1654. package/dist/cjs/helpers/resolveCompoundTokens.native.js +0 -44
  1655. package/dist/cjs/helpers/resolveCompoundTokens.native.js.map +0 -1
  1656. package/dist/cjs/helpers/themeable.cjs +0 -114
  1657. package/dist/cjs/helpers/themeable.native.js +0 -119
  1658. package/dist/cjs/helpers/themeable.native.js.map +0 -1
  1659. package/dist/cjs/helpers/useRenderElement.cjs +0 -53
  1660. package/dist/cjs/helpers/useRenderElement.native.js +0 -60
  1661. package/dist/cjs/helpers/useRenderElement.native.js.map +0 -1
  1662. package/dist/cjs/hooks/useProps.cjs +0 -120
  1663. package/dist/cjs/hooks/useProps.native.js +0 -125
  1664. package/dist/cjs/hooks/useProps.native.js.map +0 -1
  1665. package/dist/cjs/opacityModifier.test-d.cjs +0 -36
  1666. package/dist/cjs/opacityModifier.test-d.native.js +0 -39
  1667. package/dist/cjs/opacityModifier.test-d.native.js.map +0 -1
  1668. package/dist/cjs/styledHtml.test-d.cjs +0 -187
  1669. package/dist/cjs/styledHtml.test-d.native.js +0 -190
  1670. package/dist/cjs/styledHtml.test-d.native.js.map +0 -1
  1671. package/dist/cjs/styledNonStyleProps.test-d.cjs +0 -63
  1672. package/dist/cjs/styledNonStyleProps.test-d.native.js +0 -66
  1673. package/dist/cjs/styledNonStyleProps.test-d.native.js.map +0 -1
  1674. package/dist/esm/animationDriverTypes.test-d.mjs +0 -78
  1675. package/dist/esm/animationDriverTypes.test-d.mjs.map +0 -1
  1676. package/dist/esm/animationDriverTypes.test-d.native.js +0 -78
  1677. package/dist/esm/animationDriverTypes.test-d.native.js.map +0 -1
  1678. package/dist/esm/constants/accessibilityDirectMap.mjs +0 -7
  1679. package/dist/esm/constants/accessibilityDirectMap.mjs.map +0 -1
  1680. package/dist/esm/constants/accessibilityDirectMap.native.js +0 -7
  1681. package/dist/esm/constants/accessibilityDirectMap.native.js.map +0 -1
  1682. package/dist/esm/helpers/createMediaStyle.mjs +0 -100
  1683. package/dist/esm/helpers/createMediaStyle.mjs.map +0 -1
  1684. package/dist/esm/helpers/createMediaStyle.native.js +0 -110
  1685. package/dist/esm/helpers/createMediaStyle.native.js.map +0 -1
  1686. package/dist/esm/helpers/getDefaultProps.mjs +0 -18
  1687. package/dist/esm/helpers/getDefaultProps.mjs.map +0 -1
  1688. package/dist/esm/helpers/getDefaultProps.native.js +0 -19
  1689. package/dist/esm/helpers/getDefaultProps.native.js.map +0 -1
  1690. package/dist/esm/helpers/getFontLanguage.mjs +0 -3
  1691. package/dist/esm/helpers/getFontLanguage.mjs.map +0 -1
  1692. package/dist/esm/helpers/getFontLanguage.native.js +0 -5
  1693. package/dist/esm/helpers/getFontLanguage.native.js.map +0 -1
  1694. package/dist/esm/helpers/getGroupPropParts.mjs +0 -29
  1695. package/dist/esm/helpers/getGroupPropParts.mjs.map +0 -1
  1696. package/dist/esm/helpers/getGroupPropParts.native.js +0 -31
  1697. package/dist/esm/helpers/getGroupPropParts.native.js.map +0 -1
  1698. package/dist/esm/helpers/getTokenForKey.mjs +0 -146
  1699. package/dist/esm/helpers/getTokenForKey.mjs.map +0 -1
  1700. package/dist/esm/helpers/getTokenForKey.native.js +0 -155
  1701. package/dist/esm/helpers/getTokenForKey.native.js.map +0 -1
  1702. package/dist/esm/helpers/getVariantExtras.mjs +0 -59
  1703. package/dist/esm/helpers/getVariantExtras.mjs.map +0 -1
  1704. package/dist/esm/helpers/getVariantExtras.native.js +0 -60
  1705. package/dist/esm/helpers/getVariantExtras.native.js.map +0 -1
  1706. package/dist/esm/helpers/isActivePlatform.mjs +0 -14
  1707. package/dist/esm/helpers/isActivePlatform.mjs.map +0 -1
  1708. package/dist/esm/helpers/isActivePlatform.native.js +0 -14
  1709. package/dist/esm/helpers/isActivePlatform.native.js.map +0 -1
  1710. package/dist/esm/helpers/isActiveTheme.mjs +0 -6
  1711. package/dist/esm/helpers/isActiveTheme.mjs.map +0 -1
  1712. package/dist/esm/helpers/isActiveTheme.native.js +0 -6
  1713. package/dist/esm/helpers/isActiveTheme.native.js.map +0 -1
  1714. package/dist/esm/helpers/normalizeStylePropKeys.mjs +0 -3
  1715. package/dist/esm/helpers/normalizeStylePropKeys.mjs.map +0 -1
  1716. package/dist/esm/helpers/normalizeStylePropKeys.native.js +0 -14
  1717. package/dist/esm/helpers/normalizeStylePropKeys.native.js.map +0 -1
  1718. package/dist/esm/helpers/parseNativeStyle.mjs +0 -142
  1719. package/dist/esm/helpers/parseNativeStyle.mjs.map +0 -1
  1720. package/dist/esm/helpers/platformResolveValue.mjs +0 -13
  1721. package/dist/esm/helpers/platformResolveValue.mjs.map +0 -1
  1722. package/dist/esm/helpers/platformResolveValue.native.js +0 -46
  1723. package/dist/esm/helpers/platformResolveValue.native.js.map +0 -1
  1724. package/dist/esm/helpers/propMapper.mjs +0 -251
  1725. package/dist/esm/helpers/propMapper.mjs.map +0 -1
  1726. package/dist/esm/helpers/propMapper.native.js +0 -350
  1727. package/dist/esm/helpers/propMapper.native.js.map +0 -1
  1728. package/dist/esm/helpers/proxyThemeVariables.mjs +0 -13
  1729. package/dist/esm/helpers/proxyThemeVariables.mjs.map +0 -1
  1730. package/dist/esm/helpers/proxyThemeVariables.native.js +0 -15
  1731. package/dist/esm/helpers/proxyThemeVariables.native.js.map +0 -1
  1732. package/dist/esm/helpers/pseudoDescriptors.mjs +0 -54
  1733. package/dist/esm/helpers/pseudoDescriptors.mjs.map +0 -1
  1734. package/dist/esm/helpers/pseudoDescriptors.native.js +0 -54
  1735. package/dist/esm/helpers/pseudoDescriptors.native.js.map +0 -1
  1736. package/dist/esm/helpers/pseudoTransitions.mjs +0 -57
  1737. package/dist/esm/helpers/pseudoTransitions.mjs.map +0 -1
  1738. package/dist/esm/helpers/pseudoTransitions.native.js +0 -59
  1739. package/dist/esm/helpers/pseudoTransitions.native.js.map +0 -1
  1740. package/dist/esm/helpers/resolveCompoundTokens.mjs +0 -16
  1741. package/dist/esm/helpers/resolveCompoundTokens.mjs.map +0 -1
  1742. package/dist/esm/helpers/resolveCompoundTokens.native.js +0 -16
  1743. package/dist/esm/helpers/resolveCompoundTokens.native.js.map +0 -1
  1744. package/dist/esm/helpers/themeable.mjs +0 -79
  1745. package/dist/esm/helpers/themeable.mjs.map +0 -1
  1746. package/dist/esm/helpers/themeable.native.js +0 -80
  1747. package/dist/esm/helpers/themeable.native.js.map +0 -1
  1748. package/dist/esm/helpers/useRenderElement.mjs +0 -26
  1749. package/dist/esm/helpers/useRenderElement.mjs.map +0 -1
  1750. package/dist/esm/helpers/useRenderElement.native.js +0 -31
  1751. package/dist/esm/helpers/useRenderElement.native.js.map +0 -1
  1752. package/dist/esm/hooks/useProps.mjs +0 -82
  1753. package/dist/esm/hooks/useProps.mjs.map +0 -1
  1754. package/dist/esm/hooks/useProps.native.js +0 -84
  1755. package/dist/esm/hooks/useProps.native.js.map +0 -1
  1756. package/dist/esm/index.js.map +0 -1
  1757. package/dist/esm/index.mjs.map +0 -1
  1758. package/dist/esm/index.native.js.map +0 -1
  1759. package/dist/esm/interfaces/GetRef.mjs.map +0 -1
  1760. package/dist/esm/interfaces/GetRef.native.js.map +0 -1
  1761. package/dist/esm/interfaces/RNExclusiveTypes.mjs.map +0 -1
  1762. package/dist/esm/interfaces/RNExclusiveTypes.native.js.map +0 -1
  1763. package/dist/esm/interfaces/TamaguiComponentEvents.mjs.map +0 -1
  1764. package/dist/esm/interfaces/TamaguiComponentEvents.native.js.map +0 -1
  1765. package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.mjs.map +0 -1
  1766. package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.native.js.map +0 -1
  1767. package/dist/esm/opacityModifier.test-d.mjs +0 -37
  1768. package/dist/esm/opacityModifier.test-d.mjs.map +0 -1
  1769. package/dist/esm/opacityModifier.test-d.native.js +0 -37
  1770. package/dist/esm/opacityModifier.test-d.native.js.map +0 -1
  1771. package/dist/esm/styledHtml.test-d.mjs +0 -188
  1772. package/dist/esm/styledHtml.test-d.mjs.map +0 -1
  1773. package/dist/esm/styledHtml.test-d.native.js +0 -188
  1774. package/dist/esm/styledHtml.test-d.native.js.map +0 -1
  1775. package/dist/esm/styledNonStyleProps.test-d.mjs +0 -64
  1776. package/dist/esm/styledNonStyleProps.test-d.mjs.map +0 -1
  1777. package/dist/esm/styledNonStyleProps.test-d.native.js +0 -64
  1778. package/dist/esm/styledNonStyleProps.test-d.native.js.map +0 -1
  1779. package/dist/esm/type-utils.mjs.map +0 -1
  1780. package/dist/esm/type-utils.native.js.map +0 -1
  1781. package/src/animationDriverTypes.test-d.ts +0 -332
  1782. package/src/constants/accessibilityDirectMap.native.tsx +0 -10
  1783. package/src/constants/accessibilityDirectMap.tsx +0 -11
  1784. package/src/helpers/createMediaStyle.ts +0 -167
  1785. package/src/helpers/getDefaultProps.ts +0 -28
  1786. package/src/helpers/getFontLanguage.ts +0 -2
  1787. package/src/helpers/getGroupPropParts.ts +0 -46
  1788. package/src/helpers/getTokenForKey.ts +0 -236
  1789. package/src/helpers/getVariantExtras.tsx +0 -68
  1790. package/src/helpers/isActivePlatform.ts +0 -43
  1791. package/src/helpers/isActiveTheme.ts +0 -4
  1792. package/src/helpers/normalizeStylePropKeys.native.ts +0 -12
  1793. package/src/helpers/normalizeStylePropKeys.ts +0 -3
  1794. package/src/helpers/parseNativeStyle.ts +0 -193
  1795. package/src/helpers/platformResolveValue.native.ts +0 -75
  1796. package/src/helpers/platformResolveValue.ts +0 -26
  1797. package/src/helpers/propMapper.ts +0 -459
  1798. package/src/helpers/proxyThemeVariables.tsx +0 -13
  1799. package/src/helpers/pseudoDescriptors.ts +0 -74
  1800. package/src/helpers/pseudoTransitions.ts +0 -97
  1801. package/src/helpers/resolveCompoundTokens.ts +0 -28
  1802. package/src/helpers/themeable.tsx +0 -104
  1803. package/src/helpers/useRenderElement.tsx +0 -73
  1804. package/src/hooks/useProps.tsx +0 -158
  1805. package/src/opacityModifier.test-d.ts +0 -65
  1806. package/src/styledHtml.test-d.ts +0 -286
  1807. package/src/styledNonStyleProps.test-d.ts +0 -106
  1808. package/tsconfig.json +0 -44
  1809. package/tsconfig.test.json +0 -9
  1810. package/types/constants/accessibilityDirectMap.d.ts +0 -6
  1811. package/types/constants/accessibilityDirectMap.d.ts.map +0 -1
  1812. package/types/constants/accessibilityDirectMap.native.d.ts +0 -6
  1813. package/types/constants/accessibilityDirectMap.native.d.ts.map +0 -1
  1814. package/types/helpers/createMediaStyle.d.ts +0 -5
  1815. package/types/helpers/createMediaStyle.d.ts.map +0 -1
  1816. package/types/helpers/getDefaultProps.d.ts +0 -3
  1817. package/types/helpers/getDefaultProps.d.ts.map +0 -1
  1818. package/types/helpers/getFontLanguage.d.ts +0 -2
  1819. package/types/helpers/getFontLanguage.d.ts.map +0 -1
  1820. package/types/helpers/getGroupPropParts.d.ts +0 -7
  1821. package/types/helpers/getGroupPropParts.d.ts.map +0 -1
  1822. package/types/helpers/getTokenForKey.d.ts +0 -6
  1823. package/types/helpers/getTokenForKey.d.ts.map +0 -1
  1824. package/types/helpers/getVariantExtras.d.ts +0 -4
  1825. package/types/helpers/getVariantExtras.d.ts.map +0 -1
  1826. package/types/helpers/isActivePlatform.d.ts +0 -16
  1827. package/types/helpers/isActivePlatform.d.ts.map +0 -1
  1828. package/types/helpers/isActiveTheme.d.ts +0 -2
  1829. package/types/helpers/isActiveTheme.d.ts.map +0 -1
  1830. package/types/helpers/normalizeStylePropKeys.d.ts +0 -2
  1831. package/types/helpers/normalizeStylePropKeys.d.ts.map +0 -1
  1832. package/types/helpers/normalizeStylePropKeys.native.d.ts +0 -13
  1833. package/types/helpers/normalizeStylePropKeys.native.d.ts.map +0 -1
  1834. package/types/helpers/parseNativeStyle.d.ts +0 -14
  1835. package/types/helpers/parseNativeStyle.d.ts.map +0 -1
  1836. package/types/helpers/platformResolveValue.d.ts +0 -6
  1837. package/types/helpers/platformResolveValue.d.ts.map +0 -1
  1838. package/types/helpers/platformResolveValue.native.d.ts +0 -7
  1839. package/types/helpers/platformResolveValue.native.d.ts.map +0 -1
  1840. package/types/helpers/propMapper.d.ts +0 -5
  1841. package/types/helpers/propMapper.d.ts.map +0 -1
  1842. package/types/helpers/proxyThemeVariables.d.ts +0 -2
  1843. package/types/helpers/proxyThemeVariables.d.ts.map +0 -1
  1844. package/types/helpers/pseudoDescriptors.d.ts +0 -51
  1845. package/types/helpers/pseudoDescriptors.d.ts.map +0 -1
  1846. package/types/helpers/pseudoTransitions.d.ts +0 -29
  1847. package/types/helpers/pseudoTransitions.d.ts.map +0 -1
  1848. package/types/helpers/resolveCompoundTokens.d.ts +0 -9
  1849. package/types/helpers/resolveCompoundTokens.d.ts.map +0 -1
  1850. package/types/helpers/themeable.d.ts +0 -3
  1851. package/types/helpers/themeable.d.ts.map +0 -1
  1852. package/types/helpers/useRenderElement.d.ts +0 -13
  1853. package/types/helpers/useRenderElement.d.ts.map +0 -1
  1854. package/types/hooks/useProps.d.ts +0 -41
  1855. package/types/hooks/useProps.d.ts.map +0 -1
  1856. package/vitest.config.d.ts +0 -3
  1857. package/vitest.config.d.ts.map +0 -1
  1858. package/vitest.config.ts +0 -14
@@ -1,4 +1,4 @@
1
- import { composeRefs } from "@tamagui/compose-refs";
1
+ import { composeRefs, setRef } from "@tamagui/compose-refs";
2
2
  import { getPlatformDriver, isClient, isNativeDesktop, isServer, isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
3
3
  import { composeEventHandlers } from "@tamagui/helpers";
4
4
  import { isEqualShallow } from "@tamagui/is-equal-shallow";
@@ -10,1033 +10,1029 @@ import { GroupContext } from "./contexts/GroupContext.mjs";
10
10
  import { didGetVariableValue, setDidGetVariableValue } from "./createVariable.mjs";
11
11
  import { defaultComponentStateMounted } from "./defaultComponentState.mjs";
12
12
  import { getWebEvents } from "./eventHandling.mjs";
13
- import { getDefaultProps } from "./helpers/getDefaultProps.mjs";
14
- import { resolveAnimationDriver } from "./helpers/resolveAnimationDriver.mjs";
15
- import { getSplitStyles, useSplitStyles } from "./helpers/getSplitStyles.mjs";
13
+ import { componentDisplayName } from "./helpers/componentDisplayName.mjs";
14
+ import { getSplitStyles } from "./helpers/getSplitStyles.mjs";
15
+ import { getConfigRevisionState } from "./helpers/grammarConfig.mjs";
16
+ import { getStyleStaticConfig } from "./helpers/styleStaticConfig.mjs";
16
17
  import { log } from "./helpers/log.mjs";
17
18
  import { mergeComponentProps } from "./helpers/mergeProps.mjs";
18
19
  import { mergeRenderElementProps } from "./helpers/mergeRenderElementProps.mjs";
19
- import { objectIdentityKey } from "./helpers/objectIdentityKey.mjs";
20
20
  import { usePointerEvents } from "./helpers/pointerEvents.mjs";
21
- import { extractPseudoState, resolveEffectivePseudoTransition } from "./helpers/pseudoTransitions.mjs";
21
+ import { extractPseudoState } from "./helpers/extractPseudoState.mjs";
22
+ import { subscribeToSafeArea } from "./helpers/resolveSafeAreaVariable.mjs";
22
23
  import { setElementProps } from "./helpers/setElementProps.mjs";
23
- import { subscribeToContextGroup } from "./helpers/subscribeToContextGroup.mjs";
24
- import { themeable } from "./helpers/themeable.mjs";
24
+ import { subscribeToContextGroup, useGroupSetRevision } from "./helpers/subscribeToContextGroup.mjs";
25
25
  import { getStyleTags } from "./helpers/wrapStyleTags.mjs";
26
26
  import { useComponentState } from "./hooks/useComponentState.mjs";
27
+ import { useSplitStyles } from "./hooks/useSplitStyles.mjs";
27
28
  import { setMediaShouldUpdate, useMedia } from "./hooks/useMedia.mjs";
28
29
  import { useThemeWithState } from "./hooks/useTheme.mjs";
29
30
  import { hooks } from "./setupHooks.mjs";
30
31
  import { Slot } from "./views/Slot.mjs";
31
32
  import { getThemedChildren } from "./views/Theme.mjs";
32
33
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
33
- var __require = /* @__PURE__ */(x => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
34
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
35
- }) : x)(function (x) {
36
- if (typeof require !== "undefined") return require.apply(this, arguments);
37
- throw Error("Calling `require` for \"" + x + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
34
+
35
+ var __require$1 = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) {
36
+ if (typeof require !== "undefined") return require.apply(this, arguments);
37
+ throw Error("Calling `require` for \"" + x + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
38
+ });
39
+
40
+ var __require = /* @__PURE__ */ ((x) => typeof __require$1 !== "undefined" ? __require$1 : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof __require$1 !== "undefined" ? __require$1 : a)[b] }) : x)(function(x) {
41
+ if (typeof __require$1 !== "undefined") return __require$1.apply(this, arguments);
42
+ throw Error("Calling `require` for \"" + x + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
38
43
  });
39
44
  let time;
40
45
  let debugKeyListeners;
41
46
  let startVisualizer;
42
- const componentSetStates = /* @__PURE__ */new Set();
43
- const avoidReRenderKeys = /* @__PURE__ */new Set(["hover", "press", "pressIn", "group", "focus", "focusWithin", "media", "group"]);
44
- const groupPseudoKeys = ["disabled", "hover", "press", "pressIn", "focus", "focusVisible", "focusWithin"];
47
+ const componentSetStates = /* @__PURE__ */ new Set();
48
+ const avoidReRenderKeys = /* @__PURE__ */ new Set([
49
+ "hover",
50
+ "press",
51
+ "pressIn",
52
+ "group",
53
+ "focus",
54
+ "focusWithin",
55
+ "media",
56
+ "group"
57
+ ]);
58
+ const groupPseudoKeys = [
59
+ "disabled",
60
+ "hover",
61
+ "press",
62
+ "pressIn",
63
+ "focus",
64
+ "focusVisible",
65
+ "focusWithin"
66
+ ];
45
67
  if (typeof window !== "undefined") {
46
- const cancelPresses = () => {
47
- componentSetStates.forEach(setState => setState(prev => {
48
- if (prev.press || prev.pressIn) return {
49
- ...prev,
50
- press: false,
51
- pressIn: false
52
- };
53
- return prev;
54
- }));
55
- componentSetStates.clear();
56
- };
57
- const cancelTouches = () => {
58
- componentSetStates.forEach(setState => setState(prev => {
59
- if (prev.press || prev.pressIn || prev.hover) return {
60
- ...prev,
61
- press: false,
62
- pressIn: false,
63
- hover: false
64
- };
65
- return prev;
66
- }));
67
- componentSetStates.clear();
68
- };
69
- addEventListener("mouseup", cancelPresses);
70
- addEventListener("touchend", cancelTouches);
71
- addEventListener("touchcancel", cancelTouches);
72
- if (process.env.NODE_ENV === "development") startVisualizer = () => {
73
- const devVisualizerConfig = devConfig?.visualizer;
74
- if (devVisualizerConfig && !globalThis.__tamaguiDevVisualizer) {
75
- let show = function (val) {
76
- clearTimeout(tm);
77
- isShowing = val;
78
- debugKeyListeners?.forEach(l => l(val));
79
- if (!val && resizeListener) {
80
- window.removeEventListener("resize", resizeListener);
81
- resizeListener = null;
82
- }
83
- },
84
- cancelShow = function () {
85
- clearTimeout(tm);
86
- if (resizeListener) {
87
- window.removeEventListener("resize", resizeListener);
88
- resizeListener = null;
89
- }
90
- };
91
- globalThis.__tamaguiDevVisualizer = true;
92
- debugKeyListeners = /* @__PURE__ */new Set();
93
- let tm;
94
- let isShowing = false;
95
- let resizeListener = null;
96
- const options = {
97
- key: "Alt",
98
- delay: 800,
99
- ...(typeof devVisualizerConfig === "object" ? devVisualizerConfig : {})
100
- };
101
- window.addEventListener("blur", () => {
102
- show(false);
103
- });
104
- window.addEventListener("keydown", ({
105
- key,
106
- metaKey,
107
- defaultPrevented
108
- }) => {
109
- clearTimeout(tm);
110
- if (defaultPrevented) return;
111
- if (metaKey) return;
112
- if (key === options.key) {
113
- if (!resizeListener) {
114
- resizeListener = () => cancelShow();
115
- window.addEventListener("resize", resizeListener);
116
- }
117
- tm = setTimeout(() => {
118
- show(true);
119
- }, options.delay);
120
- }
121
- });
122
- window.addEventListener("keyup", ({
123
- defaultPrevented
124
- }) => {
125
- if (defaultPrevented) return;
126
- cancelShow();
127
- if (isShowing) show(false);
128
- });
129
- }
130
- };
68
+ const cancelPresses = () => {
69
+ componentSetStates.forEach((setState) => setState((prev) => {
70
+ if (prev.press || prev.pressIn) return {
71
+ ...prev,
72
+ press: false,
73
+ pressIn: false
74
+ };
75
+ return prev;
76
+ }));
77
+ componentSetStates.clear();
78
+ };
79
+ const cancelTouches = () => {
80
+ componentSetStates.forEach((setState) => setState((prev) => {
81
+ if (prev.press || prev.pressIn || prev.hover) return {
82
+ ...prev,
83
+ press: false,
84
+ pressIn: false,
85
+ hover: false
86
+ };
87
+ return prev;
88
+ }));
89
+ componentSetStates.clear();
90
+ };
91
+ addEventListener("mouseup", cancelPresses);
92
+ addEventListener("touchend", cancelTouches);
93
+ addEventListener("touchcancel", cancelTouches);
94
+ if (process.env.NODE_ENV === "development") startVisualizer = () => {
95
+ const devVisualizerConfig = devConfig?.visualizer;
96
+ if (devVisualizerConfig && !globalThis.__tamaguiDevVisualizer) {
97
+ let show = function(val) {
98
+ clearTimeout(tm);
99
+ isShowing = val;
100
+ debugKeyListeners?.forEach((l) => l(val));
101
+ if (!val && resizeListener) {
102
+ window.removeEventListener("resize", resizeListener);
103
+ resizeListener = null;
104
+ }
105
+ }, cancelShow = function() {
106
+ clearTimeout(tm);
107
+ if (resizeListener) {
108
+ window.removeEventListener("resize", resizeListener);
109
+ resizeListener = null;
110
+ }
111
+ };
112
+ globalThis.__tamaguiDevVisualizer = true;
113
+ debugKeyListeners = /* @__PURE__ */ new Set();
114
+ let tm;
115
+ let isShowing = false;
116
+ let resizeListener = null;
117
+ const options = {
118
+ key: "Alt",
119
+ delay: 800,
120
+ ...typeof devVisualizerConfig === "object" ? devVisualizerConfig : {}
121
+ };
122
+ window.addEventListener("blur", () => {
123
+ show(false);
124
+ });
125
+ window.addEventListener("keydown", ({ key, metaKey, defaultPrevented }) => {
126
+ clearTimeout(tm);
127
+ if (defaultPrevented) return;
128
+ if (metaKey) return;
129
+ if (key === options.key) {
130
+ if (!resizeListener) {
131
+ resizeListener = () => cancelShow();
132
+ window.addEventListener("resize", resizeListener);
133
+ }
134
+ tm = setTimeout(() => {
135
+ show(true);
136
+ }, options.delay);
137
+ }
138
+ });
139
+ window.addEventListener("keyup", ({ defaultPrevented }) => {
140
+ if (defaultPrevented) return;
141
+ cancelShow();
142
+ if (isShowing) show(false);
143
+ });
144
+ }
145
+ };
131
146
  }
132
- const lastInteractionWasKeyboard = {
133
- value: false
134
- };
135
- const lastInteractionWasTouch = {
136
- value: false
137
- };
147
+ const lastInteractionWasKeyboard = { value: false };
148
+ const lastInteractionWasTouch = { value: false };
138
149
  if (isWeb && typeof document !== "undefined") {
139
- document.addEventListener("keydown", () => {
140
- if (!lastInteractionWasKeyboard.value) lastInteractionWasKeyboard.value = true;
141
- });
142
- document.addEventListener("mousedown", () => {
143
- if (lastInteractionWasKeyboard.value) lastInteractionWasKeyboard.value = false;
144
- });
145
- document.addEventListener("mousemove", () => {
146
- if (lastInteractionWasKeyboard.value) lastInteractionWasKeyboard.value = false;
147
- lastInteractionWasTouch.value = false;
148
- });
149
- document.addEventListener("touchstart", () => {
150
- lastInteractionWasTouch.value = true;
151
- });
150
+ document.addEventListener("keydown", () => {
151
+ if (!lastInteractionWasKeyboard.value) lastInteractionWasKeyboard.value = true;
152
+ });
153
+ document.addEventListener("mousedown", () => {
154
+ if (lastInteractionWasKeyboard.value) lastInteractionWasKeyboard.value = false;
155
+ });
156
+ document.addEventListener("mousemove", () => {
157
+ if (lastInteractionWasKeyboard.value) lastInteractionWasKeyboard.value = false;
158
+ lastInteractionWasTouch.value = false;
159
+ });
160
+ document.addEventListener("touchstart", () => {
161
+ lastInteractionWasTouch.value = true;
162
+ });
152
163
  }
153
164
  function createComponent(staticConfig) {
154
- let config = null;
155
- const {
156
- Component,
157
- isText,
158
- isHOC
159
- } = staticConfig;
160
- const component = React.forwardRef((propsIn, forwardedRef) => {
161
- "use no memo";
162
-
163
- config = config || getConfig();
164
- const internalID = process.env.NODE_ENV === "development" ? React.useId() : "";
165
- if (process.env.NODE_ENV === "development") {
166
- if (startVisualizer) {
167
- startVisualizer();
168
- startVisualizer = void 0;
169
- }
170
- }
171
- if (process.env.NODE_ENV === "test") {
172
- const testRenderCount = propsIn["data-test-renders"];
173
- if (testRenderCount && typeof testRenderCount === "object" && !Object.isFrozen(testRenderCount)) {
174
- testRenderCount.current = testRenderCount.current ?? 0;
175
- testRenderCount.current += 1;
176
- }
177
- }
178
- const {
179
- context,
180
- isReactNative
181
- } = staticConfig;
182
- const debugProp = propsIn["debug"];
183
- const styledContextValue = context ? React.useContext(context) : void 0;
184
- let overriddenContextProps = null;
185
- const componentContext = React.useContext(ComponentContext);
186
- const hasTextAncestor = !!(isWeb && isText ? componentContext.inText : false);
187
- if (!process.env.TAMAGUI_IS_CORE_NODE && process.env.NODE_ENV === "development" && debugProp === "profile" && !time) {
188
- time = __require("@tamagui/timer").timer().start();
189
- globalThis["time"] = time;
190
- }
191
- if (process.env.NODE_ENV === "development" && !time && globalThis.time) time = globalThis.time;
192
- if (process.env.NODE_ENV === "development" && time) time`non-tamagui time (ignore)`;
193
- let props = propsIn;
194
- const componentName = props.componentName || staticConfig.componentName;
195
- const [nextProps, overrides] = mergeComponentProps(getDefaultProps(staticConfig, props.componentName), styledContextValue, propsIn);
196
- props = nextProps;
197
- overriddenContextProps = overrides;
198
- if (process.env.NODE_ENV === "development" && isClient) React.useEffect(() => {
199
- let node;
200
- let overlay = null;
201
- const remove = () => {
202
- if (overlay) try {
203
- overlay.parentNode?.removeChild(overlay);
204
- overlay = null;
205
- } catch {}
206
- };
207
- const debugVisualizerHandler = (show = false) => {
208
- node = stateRef.current.host;
209
- if (!node) return;
210
- if (show) {
211
- if (!overlay) {
212
- overlay = document.createElement("span");
213
- overlay.style.inset = "0px";
214
- overlay.style.zIndex = "1000000";
215
- overlay.style.position = "absolute";
216
- overlay.style.borderColor = "red";
217
- overlay.style.borderWidth = "1px";
218
- overlay.style.borderStyle = "dotted";
219
- }
220
- const dataAt = node.getAttribute("data-at") || "";
221
- const dataIn = node.getAttribute("data-in") || "";
222
- const tooltip = document.createElement("span");
223
- tooltip.style.position = "absolute";
224
- tooltip.style.top = "0px";
225
- tooltip.style.left = "0px";
226
- tooltip.style.padding = "3px";
227
- tooltip.style.background = "rgba(0,0,0,0.75)";
228
- tooltip.style.color = "rgba(255,255,255,1)";
229
- tooltip.style.fontSize = "12px";
230
- tooltip.style.lineHeight = "12px";
231
- tooltip.style.fontFamily = "monospace";
232
- tooltip.innerText = `${componentName || ""} ${dataAt} ${dataIn}`.trim();
233
- overlay.appendChild(tooltip);
234
- node.appendChild(overlay);
235
- } else remove();
236
- };
237
- debugKeyListeners = debugKeyListeners || /* @__PURE__ */new Set();
238
- debugKeyListeners.add(debugVisualizerHandler);
239
- return () => {
240
- remove();
241
- debugKeyListeners?.delete(debugVisualizerHandler);
242
- };
243
- }, [componentName]);
244
- const groupContextParent = React.useContext(GroupContext);
245
- const animationDriver = (() => {
246
- if (props.animatedBy && config) {
247
- if (config.animationDrivers) return config.animationDrivers[props.animatedBy] ?? config.animations;
248
- return props.animatedBy === "default" ? config.animations : null;
249
- }
250
- return resolveAnimationDriver(componentContext.animationDriver) ?? resolveAnimationDriver(config?.animations) ?? null;
251
- })();
252
- const useAnimations = animationDriver?.useAnimations;
253
- const componentState = useComponentState(props, animationDriver?.isStub ? null : animationDriver, staticConfig, config);
254
- const {
255
- disabled,
256
- groupName,
257
- hasAnimationProp,
258
- hasEnterStyle,
259
- isAnimated,
260
- isExiting,
261
- isHydrated,
262
- presence,
263
- presenceState,
264
- setState,
265
- noClass,
266
- state,
267
- stateRef,
268
- inputStyle,
269
- outputStyle,
270
- willBeAnimated,
271
- willBeAnimatedClient,
272
- platformPseudo,
273
- startedUnhydrated
274
- } = componentState;
275
- if (animationDriver?.avoidReRenders) useIsomorphicLayoutEffect(() => {
276
- const emitted = stateRef.current.prevPseudoState;
277
- if (emitted && (emitted.hover || emitted.press || emitted.focus)) stateRef.current.updateStyleListener?.();
278
- const pendingState = stateRef.current.nextState;
279
- if (!pendingState) return;
280
- stateRef.current.nextState = void 0;
281
- if (!isEqualShallow(state, pendingState)) componentState.setStateShallow(pendingState);
282
- });
283
- useIsomorphicLayoutEffect(() => {
284
- if (!platformPseudo || props.disabled) return;
285
- const pseudoDriver = getPlatformDriver()?.pseudo;
286
- const host = stateRef.current.host;
287
- if (!pseudoDriver || !host) return;
288
- return pseudoDriver.subscribe(host, ({
289
- hovered
290
- }) => {
291
- stateRef.current.setStateShallow?.({
292
- hover: hovered
293
- });
294
- });
295
- }, [platformPseudo, props.disabled]);
296
- const allGroupContexts = useMemo(() => {
297
- if (!groupName || props.passThrough) return groupContextParent;
298
- const listeners = /* @__PURE__ */new Set();
299
- stateRef.current.group?.listeners?.clear();
300
- stateRef.current.group = {
301
- listeners,
302
- emit(state2) {
303
- listeners.forEach(l => l(state2));
304
- },
305
- subscribe(cb) {
306
- listeners.add(cb);
307
- if (listeners.size === 1) setStateShallow({
308
- hasDynGroupChildren: true
309
- });
310
- return () => {
311
- listeners.delete(cb);
312
- if (listeners.size === 0) setStateShallow({
313
- hasDynGroupChildren: false
314
- });
315
- };
316
- }
317
- };
318
- return {
319
- ...groupContextParent,
320
- [groupName]: {
321
- state: {
322
- pseudo: defaultComponentStateMounted
323
- },
324
- subscribe: listener => {
325
- const dispose = stateRef.current.group?.subscribe(listener);
326
- return () => {
327
- dispose?.();
328
- };
329
- }
330
- }
331
- };
332
- }, [stateRef, groupName, groupContextParent]);
333
- let setStateShallow = componentState.setStateShallow;
334
- if (process.env.NODE_ENV === "development" && time) time`use-state`;
335
- const renderProp = props.render;
336
- const element = isWeb ? !Component || typeof Component === "string" ? renderProp || Component : Component : Component;
337
- const BaseComponent = isText ? element || "span" : element || (hasTextAncestor ? "span" : "div");
338
- let elementType = BaseComponent;
339
- if (animationDriver && isAnimated && animationDriver.needsCustomComponent) elementType = animationDriver[isText ? "Text" : "View"] || elementType;
340
- const disableTheme = props["data-disable-theme"] || isHOC;
341
- if (process.env.NODE_ENV === "development" && time) time`theme-props`;
342
- const themeStateProps = {
343
- componentName,
344
- disable: disableTheme,
345
- shallow: props.themeShallow,
346
- debug: debugProp,
347
- unstyled: props.unstyled
348
- };
349
- if ("theme" in props) themeStateProps.name = props.theme;
350
- themeStateProps.needsUpdate = () => !!stateRef.current.isListeningToTheme;
351
- if (process.env.NODE_ENV === "development") {
352
- if (debugProp && debugProp !== "profile") {
353
- const name = `${componentName || Component?.displayName || Component?.name || "[Unnamed Component]"}`;
354
- const type = (hasEnterStyle ? "(hasEnter)" : " ") + (isAnimated ? "(animated)" : " ") + (isReactNative ? "(rnw)" : " ") + (noClass ? "(noClass)" : " ") + (state.press || state.pressIn ? "(PRESSED)" : " ") + (state.hover ? "(HOVERED)" : " ") + (state.focus ? "(FOCUSED)" : " ") + (state.focusWithin ? "(WITHIN FOCUSED)" : " ") + (presenceState?.isPresent === false ? "(EXIT)" : "");
355
- const dataIs = propsIn["data-is"] || "";
356
- const banner = `<${name} /> ${internalID} ${dataIs ? ` ${dataIs}` : ""} ${type.trim()} (hydrated: ${isHydrated}) (unmounted: ${state.unmounted})`;
357
- const ch = propsIn.children;
358
- let childLog = typeof ch === "string" ? ch.length > 4 ? ch.slice(0, 4) + "..." : ch : "";
359
- if (childLog.length) childLog = `(children: ${childLog})`;
360
- if (isWeb) {
361
- console.info(`%c ${banner}`, "background: green; color: white;");
362
- if (isServer) log({
363
- noClass,
364
- isAnimated,
365
- isWeb,
366
- inputStyle
367
- });else {
368
- console.groupEnd();
369
- console.groupCollapsed(`${childLog} [inspect props, state, context \u{1F447}]`);
370
- log("props in:", propsIn);
371
- log("final props:", props, Object.keys(props));
372
- log({
373
- state,
374
- staticConfig,
375
- elementType,
376
- themeStateProps
377
- });
378
- log({
379
- context,
380
- overriddenContextProps,
381
- componentContext
382
- });
383
- log({
384
- presence,
385
- isAnimated,
386
- isHOC,
387
- hasAnimationProp,
388
- useAnimations
389
- });
390
- console.groupEnd();
391
- }
392
- } else {
393
- console.info(`
165
+ if (process.env.TAMAGUI_RUNTIME === "zero") throw new Error(process.env.NODE_ENV !== "production" ? `[tamagui zero-runtime] createComponent ran in a zero-runtime graph. No Tamagui component renderer ships in this mode, so a component reference survived compilation. Fix the site or move the owning module to a declared full-runtime island.` : "❌ Error 010");
166
+ let config = null;
167
+ let resolvedDefaultProps;
168
+ let resolvedStyleRevision = -1;
169
+ let resolvedStyleStaticConfig;
170
+ const { Component, isText, isHOC } = staticConfig;
171
+ let res;
172
+ const { displayName } = staticConfig;
173
+ const component = (propsInWithRef) => {
174
+ "use no memo";
175
+ const forwardedRef = propsInWithRef.ref;
176
+ const propsIn = propsInWithRef;
177
+ config = config || getConfig();
178
+ const styleRevision = getConfigRevisionState(config).revision;
179
+ if (resolvedStyleRevision !== styleRevision) {
180
+ resolvedStyleRevision = styleRevision;
181
+ const nextStyleStaticConfig = getStyleStaticConfig(staticConfig, config);
182
+ resolvedStyleStaticConfig = nextStyleStaticConfig;
183
+ resolvedDefaultProps = nextStyleStaticConfig.defaultProps;
184
+ if (isWeb && !staticConfig.isText && config.settings.defaultPosition === "relative" && nextStyleStaticConfig.baseStyle?.position === void 0) resolvedStyleStaticConfig = {
185
+ ...nextStyleStaticConfig,
186
+ baseStyle: {
187
+ position: "relative",
188
+ ...nextStyleStaticConfig.baseStyle
189
+ }
190
+ };
191
+ }
192
+ const styleStaticConfig = resolvedStyleStaticConfig;
193
+ styleStaticConfig.styledContextKeys;
194
+ const internalID = process.env.NODE_ENV === "development" ? React.useId() : "";
195
+ if (process.env.NODE_ENV === "development") {
196
+ if (startVisualizer) {
197
+ startVisualizer();
198
+ startVisualizer = void 0;
199
+ }
200
+ }
201
+ if (process.env.NODE_ENV === "test") {
202
+ const testRenderCount = propsIn["data-test-renders"];
203
+ if (testRenderCount && typeof testRenderCount === "object" && !Object.isFrozen(testRenderCount)) {
204
+ testRenderCount.current = testRenderCount.current ?? 0;
205
+ testRenderCount.current += 1;
206
+ }
207
+ }
208
+ const { context } = staticConfig;
209
+ const debugProp = propsIn["debug"];
210
+ const styledContextValue = context ? React.useContext(context) : void 0;
211
+ let overriddenContextProps = null;
212
+ const componentContext = React.useContext(ComponentContext);
213
+ const hasTextAncestor = !!(isWeb && isText ? componentContext.inText : false);
214
+ if (!process.env.TAMAGUI_IS_CORE_NODE && process.env.NODE_ENV === "development" && debugProp === "profile" && !time) {
215
+ time = __require$1("@tamagui/timer").timer().start();
216
+ globalThis["time"] = time;
217
+ }
218
+ if (process.env.NODE_ENV === "development" && !time && globalThis.time) time = globalThis.time;
219
+ if (process.env.NODE_ENV === "development" && time) time`non-tamagui time (ignore)`;
220
+ let props = propsIn;
221
+ const [nextProps, overrides] = mergeComponentProps(resolvedDefaultProps, styledContextValue, propsIn);
222
+ props = nextProps;
223
+ overriddenContextProps = overrides;
224
+ if (process.env.NODE_ENV === "development" && isClient) React.useEffect(() => {
225
+ let node;
226
+ let overlay = null;
227
+ const remove = () => {
228
+ if (overlay) try {
229
+ overlay.parentNode?.removeChild(overlay);
230
+ overlay = null;
231
+ } catch {}
232
+ };
233
+ const debugVisualizerHandler = (show = false) => {
234
+ node = stateRef.current.host;
235
+ if (!node) return;
236
+ if (show) {
237
+ if (!overlay) {
238
+ overlay = document.createElement("span");
239
+ overlay.style.inset = "0px";
240
+ overlay.style.zIndex = "1000000";
241
+ overlay.style.position = "absolute";
242
+ overlay.style.borderColor = "red";
243
+ overlay.style.borderWidth = "1px";
244
+ overlay.style.borderStyle = "dotted";
245
+ }
246
+ const dataAt = node.getAttribute("data-at") || "";
247
+ const dataIn = node.getAttribute("data-in") || "";
248
+ const tooltip = document.createElement("span");
249
+ tooltip.style.position = "absolute";
250
+ tooltip.style.top = "0px";
251
+ tooltip.style.left = "0px";
252
+ tooltip.style.padding = "3px";
253
+ tooltip.style.background = "rgba(0,0,0,0.75)";
254
+ tooltip.style.color = "rgba(255,255,255,1)";
255
+ tooltip.style.fontSize = "12px";
256
+ tooltip.style.lineHeight = "12px";
257
+ tooltip.style.fontFamily = "monospace";
258
+ tooltip.innerText = `${displayName || ""} ${dataAt} ${dataIn}`.trim();
259
+ overlay.appendChild(tooltip);
260
+ node.appendChild(overlay);
261
+ } else remove();
262
+ };
263
+ debugKeyListeners = debugKeyListeners || /* @__PURE__ */ new Set();
264
+ debugKeyListeners.add(debugVisualizerHandler);
265
+ return () => {
266
+ remove();
267
+ debugKeyListeners?.delete(debugVisualizerHandler);
268
+ };
269
+ }, [displayName]);
270
+ const groupContextParent = React.useContext(GroupContext);
271
+ const animationDriver = (() => {
272
+ if (props.animatedBy && config) {
273
+ if (config.animationDrivers) return props.animatedBy in config.animationDrivers ? config.animationDrivers[props.animatedBy] : config.animations;
274
+ return props.animatedBy === "default" ? config.animations : null;
275
+ }
276
+ return componentContext.animationDriver ?? config?.animations ?? null;
277
+ })();
278
+ const useAnimations = animationDriver?.isStub ? void 0 : animationDriver?.useAnimations;
279
+ const componentState = useComponentState(props, animationDriver?.isStub ? null : animationDriver, staticConfig, config);
280
+ const { disabled, hasAnimationProp, isExiting, isHydrated, presence, presenceState, setState, noClass, state, stateRef, inputStyle, outputStyle, startedUnhydrated } = componentState;
281
+ let { groupName } = componentState;
282
+ let { hasEnterStyle, isAnimated, willBeAnimated, willBeAnimatedClient, platformPseudo } = componentState;
283
+ props = componentState.props;
284
+ stateRef.current.avoidReRenders ??= !!animationDriver?.avoidReRenders;
285
+ if (stateRef.current.avoidReRenders) useIsomorphicLayoutEffect(() => {
286
+ const emitted = stateRef.current.prevPseudoState;
287
+ if (emitted && (emitted.hover || emitted.press || emitted.focus)) stateRef.current.updateStyleListener?.();
288
+ const pendingState = stateRef.current.nextState;
289
+ if (!pendingState) return;
290
+ stateRef.current.nextState = void 0;
291
+ if (!isEqualShallow(state, pendingState)) componentState.setStateShallow(pendingState);
292
+ });
293
+ useIsomorphicLayoutEffect(() => {
294
+ if (!platformPseudo || props.disabled) return;
295
+ const pseudoDriver = getPlatformDriver()?.pseudo;
296
+ const host = stateRef.current.host;
297
+ if (!pseudoDriver || !host) return;
298
+ return pseudoDriver.subscribe(host, ({ hovered }) => {
299
+ stateRef.current.setStateShallow?.({ hover: hovered });
300
+ });
301
+ }, [platformPseudo, props.disabled]);
302
+ let setStateShallow = componentState.setStateShallow;
303
+ if (process.env.NODE_ENV === "development" && time) time`use-state`;
304
+ const renderProp = props.render;
305
+ const element = isWeb ? !Component || typeof Component === "string" ? renderProp || Component : Component : Component;
306
+ const BaseComponent = isText ? element || "span" : element || (hasTextAncestor ? "span" : "div");
307
+ let elementType = BaseComponent;
308
+ const isAnimatedCustomComponent = animationDriver && isAnimated && animationDriver.needsCustomComponent;
309
+ if (isAnimatedCustomComponent) elementType = animationDriver[isText ? "Text" : "View"] || elementType;
310
+ const disableTheme = props["data-disable-theme"] || isHOC;
311
+ if (process.env.NODE_ENV === "development" && time) time`theme-props`;
312
+ const themeStateProps = {
313
+ disable: disableTheme,
314
+ shallow: props.themeShallow,
315
+ debug: debugProp
316
+ };
317
+ if ("theme" in props) themeStateProps.name = props.theme;
318
+ if (!stateRef.current.optimizeForFirstRender) themeStateProps.needsUpdate = stateRef.current.themeNeedsUpdate || (stateRef.current.themeNeedsUpdate = () => !!stateRef.current.isListeningToTheme);
319
+ if (process.env.NODE_ENV === "development") {
320
+ if (debugProp && debugProp !== "profile") {
321
+ const name = `${displayName || Component?.displayName || Component?.name || "[Unnamed Component]"}`;
322
+ const type = (hasEnterStyle ? "(hasEnter)" : " ") + (isAnimated ? "(animated)" : " ") + (noClass ? "(noClass)" : " ") + (state.press || state.pressIn ? "(PRESSED)" : " ") + (state.hover ? "(HOVERED)" : " ") + (state.focus ? "(FOCUSED)" : " ") + (state.focusWithin ? "(WITHIN FOCUSED)" : " ") + (presenceState?.isPresent === false ? "(EXIT)" : "");
323
+ const dataIs = propsIn["data-is"] || "";
324
+ const banner = `<${name} /> ${internalID} ${dataIs ? ` ${dataIs}` : ""} ${type.trim()} (hydrated: ${isHydrated}) (unmounted: ${state.unmounted})`;
325
+ const ch = propsIn.children;
326
+ let childLog = typeof ch === "string" ? ch.length > 4 ? ch.slice(0, 4) + "..." : ch : "";
327
+ if (childLog.length) childLog = `(children: ${childLog})`;
328
+ if (isWeb) {
329
+ console.info(`%c ${banner}`, "background: green; color: white;");
330
+ if (isServer) log({
331
+ noClass,
332
+ isAnimated,
333
+ isWeb,
334
+ inputStyle
335
+ });
336
+ else {
337
+ console.groupEnd();
338
+ console.groupCollapsed(`${childLog} [inspect props, state, context \u{1F447}]`);
339
+ log("props in:", propsIn);
340
+ log("final props:", props);
341
+ log({
342
+ state,
343
+ staticConfig,
344
+ elementType,
345
+ themeStateProps
346
+ });
347
+ log({
348
+ context,
349
+ overriddenContextProps,
350
+ componentContext
351
+ });
352
+ log({
353
+ presence,
354
+ isAnimated,
355
+ isHOC,
356
+ hasAnimationProp,
357
+ useAnimations
358
+ });
359
+ console.groupEnd();
360
+ }
361
+ } else {
362
+ console.info(`
394
363
 
395
364
  ------------------------------
396
365
  ${banner}
397
366
  ------------------------------
398
367
  `);
399
- log(`children:`, props.children);
400
- log({
401
- overriddenContextProps,
402
- styledContextValue
403
- });
404
- log({
405
- noClass,
406
- isAnimated,
407
- isWeb,
408
- inputStyle
409
- });
410
- }
411
- }
412
- }
413
- if (process.env.NODE_ENV === "development" && time) time`pre-theme-media`;
414
- const [theme, themeState] = useThemeWithState(themeStateProps);
415
- if (process.env.NODE_ENV === "development" && time) time`theme`;
416
- elementType = element || elementType;
417
- const isStringElement = typeof elementType === "string";
418
- const mediaState = useMedia(componentContext, debugProp);
419
- setDidGetVariableValue(false);
420
- if (process.env.NODE_ENV === "development" && time) time`media`;
421
- const styleProps = {
422
- mediaState,
423
- noClass,
424
- resolveValues: isAnimated && inputStyle !== "css" || isHOC && state.unmounted == false && hasAnimationProp ? "value" : "auto",
425
- isExiting,
426
- isAnimated,
427
- willBeAnimated,
428
- styledContext: styledContextValue
429
- };
430
- const themeName = themeState?.name || "";
431
- if (process.env.NODE_ENV === "development" && time) time`split-styles-prepare`;
432
- const splitStyles = useSplitStyles(props, staticConfig, theme, themeName, state, styleProps, null, componentContext, allGroupContexts, elementType, startedUnhydrated, debugProp, animationDriver);
433
- const isPassthrough = !splitStyles;
434
- let contextForOverride = staticConfig.context;
435
- if (splitStyles?.overriddenContextProps) {
436
- const contextForProps = staticConfig.context || staticConfig.parentStaticConfig?.context;
437
- if (contextForProps) {
438
- for (const key in splitStyles.overriddenContextProps) {
439
- overriddenContextProps = overriddenContextProps || {};
440
- overriddenContextProps[key] = splitStyles.overriddenContextProps[key];
441
- }
442
- if (!staticConfig.context) contextForOverride = contextForProps;
443
- }
444
- }
445
- const groupContext = groupName ? allGroupContexts?.[groupName] || null : null;
446
- if (!isPassthrough && groupContext && props.containerType !== "normal") {
447
- const groupState = groupContext?.state;
448
- if (groupState && groupState.layout === void 0) {
449
- if (splitStyles.style?.width || splitStyles.style?.height) groupState.layout = {
450
- width: fromPx(splitStyles.style.width),
451
- height: fromPx(splitStyles.style.height)
452
- };
453
- }
454
- }
455
- const hasEnterExitTransition = props.transition && typeof props.transition === "object" && !Array.isArray(props.transition) && ("enter" in props.transition || "exit" in props.transition);
456
- if (!isPassthrough && (hasAnimationProp || groupName || platformPseudo) && animationDriver?.avoidReRenders && !hasEnterExitTransition) {
457
- let updateGroupListeners = function () {
458
- const updatedState = stateRef.current.nextState;
459
- if (groupContext) {
460
- const {
461
- group,
462
- hasDynGroupChildren,
463
- unmounted,
464
- transition,
465
- ...childrenGroupState
466
- } = updatedState;
467
- notifyGroupSubscribers(groupContext, stateRef.current.group || null, childrenGroupState);
468
- }
469
- };
470
- const ogSetStateShallow = setStateShallow;
471
- stateRef.current.updateStyleListener = () => {
472
- const useStyleListener = stateRef.current.useStyleListener;
473
- if (!useStyleListener) {
474
- const pendingState = stateRef.current.nextState;
475
- if (pendingState) ogSetStateShallow(pendingState);
476
- return;
477
- }
478
- const updatedState = stateRef.current.nextState || state;
479
- const mediaState2 = stateRef.current.nextMedia;
480
- const nextStyles = getSplitStyles(props, staticConfig, theme, themeName, updatedState, mediaState2 ? {
481
- ...styleProps,
482
- mediaState: mediaState2
483
- } : styleProps, null, componentContext, allGroupContexts, elementType, startedUnhydrated, debugProp, animationDriver);
484
- const effectiveTransition = resolveEffectivePseudoTransition(stateRef.current.prevPseudoState, updatedState, nextStyles?.pseudoTransitions, props.transition ?? (platformPseudo ? "0ms" : void 0));
485
- stateRef.current.prevPseudoState = extractPseudoState(updatedState);
486
- const hasActivePseudo = Boolean(updatedState.hover || updatedState.press || updatedState.pressIn || updatedState.focus || updatedState.focusWithin);
487
- useStyleListener(nextStyles?.style || {}, effectiveTransition, hasActivePseudo);
488
- };
489
- componentContext.mediaEmitListeners = componentContext.mediaEmitListeners || /* @__PURE__ */new Set();
490
- if (!stateRef.current.mediaEmitCleanup) {
491
- const updateListener = next => {
492
- stateRef.current.nextMedia = next;
493
- stateRef.current.updateStyleListener?.();
494
- };
495
- componentContext.mediaEmitListeners.add(updateListener);
496
- stateRef.current.mediaEmitCleanup = () => {
497
- componentContext.mediaEmitListeners?.delete(updateListener);
498
- };
499
- }
500
- componentContext.mediaEmit = componentContext.mediaEmit || (next => {
501
- for (const listener of componentContext.mediaEmitListeners) listener(next);
502
- });
503
- stateRef.current.setStateShallow = nextOrGetNext => {
504
- const prev = stateRef.current.nextState || state;
505
- const next = typeof nextOrGetNext === "function" ? nextOrGetNext(prev) : nextOrGetNext;
506
- if (next === prev || isEqualShallow(prev, next)) return;
507
- const canAvoidReRender = Object.keys(next).every(key => avoidReRenderKeys.has(key));
508
- const updatedState = {
509
- ...prev,
510
- ...next
511
- };
512
- stateRef.current.nextState = updatedState;
513
- if (canAvoidReRender) {
514
- if (process.env.NODE_ENV === "development" && debugProp && debugProp !== "profile") {
515
- console.groupCollapsed(`[\u26A1\uFE0F] avoid setState`, componentName, next, {
516
- updatedState,
517
- props
518
- });
519
- console.info(stateRef.current.host);
520
- console.groupEnd();
521
- }
522
- updateGroupListeners();
523
- stateRef.current.updateStyleListener?.();
524
- } else {
525
- if (process.env.NODE_ENV === "development" && debugProp && debugProp !== "profile") console.info(`[\u{1F40C}] re-render`, {
526
- canAvoidReRender,
527
- next
528
- });
529
- ogSetStateShallow(next);
530
- }
531
- };
532
- setStateShallow = state2 => {
533
- stateRef.current.setStateShallow?.(state2);
534
- };
535
- }
536
- if (process.env.NODE_ENV === "development" && time) time`split-styles`;
537
- if (splitStyles) {
538
- if (props.group && props.untilMeasured === "hide" && !stateRef.current.hasMeasured) {
539
- splitStyles.style = splitStyles.style || {};
540
- splitStyles.style.opacity = 0;
541
- }
542
- if (splitStyles.dynamicThemeAccess != null) stateRef.current.isListeningToTheme = splitStyles.dynamicThemeAccess;
543
- }
544
- const hasRuntimeMediaKeys = splitStyles?.hasMedia && splitStyles.hasMedia !== true;
545
- const shouldListenForMedia = didGetVariableValue() || hasRuntimeMediaKeys || noClass && splitStyles?.hasMedia === true;
546
- const mediaListeningKeys = hasRuntimeMediaKeys ? splitStyles.hasMedia : null;
547
- if (process.env.NODE_ENV === "development" && debugProp === "verbose") console.info(`useMedia() createComponent`, shouldListenForMedia, mediaListeningKeys);
548
- setMediaShouldUpdate(componentContext, shouldListenForMedia, mediaListeningKeys);
549
- const {
550
- viewProps: viewPropsIn,
551
- pseudos,
552
- style: splitStylesStyle,
553
- classNames,
554
- pseudoGroups,
555
- mediaGroups
556
- } = splitStyles || {};
557
- const propsWithAnimation = props;
558
- const {
559
- asChild,
560
- children,
561
- themeShallow,
562
- spaceDirection: _spaceDirection,
563
- onPress,
564
- onLongPress,
565
- onPressIn,
566
- onPressOut,
567
- onHoverIn,
568
- onHoverOut,
569
- onMouseUp,
570
- onMouseDown,
571
- onMouseEnter,
572
- onMouseLeave,
573
- onFocus,
574
- onBlur,
575
- onDidAnimate,
576
- separator,
577
- passThrough,
578
- forceStyle: _forceStyle,
579
- onClick,
580
- theme: _themeProp,
581
- ...nonTamaguiProps
582
- } = viewPropsIn || {};
583
- let viewProps = nonTamaguiProps;
584
- if (props.forceStyle) viewProps.forceStyle = props.forceStyle;
585
- if (isHOC) {
586
- if (typeof _themeProp !== "undefined") viewProps.theme = _themeProp;
587
- if (typeof passThrough !== "undefined") viewProps.passThrough = passThrough;
588
- }
589
- let animationStyles;
590
- const shouldUseAnimation = (inputStyle === "css" ? willBeAnimatedClient : willBeAnimated) && useAnimations && !isHOC;
591
- let animatedRef;
592
- if (shouldUseAnimation) {
593
- const useStyleEmitter = animationDriver?.avoidReRenders ? listener => {
594
- stateRef.current.useStyleListener = listener;
595
- } : void 0;
596
- const effectiveTransition = resolveEffectivePseudoTransition(stateRef.current.prevPseudoState, state, splitStyles?.pseudoTransitions, props.transition ?? (platformPseudo ? "0ms" : void 0));
597
- if (splitStyles) splitStyles.effectiveTransition = effectiveTransition;
598
- stateRef.current.prevPseudoState = extractPseudoState(state);
599
- const animations = useAnimations({
600
- props: propsWithAnimation,
601
- style: isHydrated ? splitStylesStyle || {} : {
602
- ...splitStylesStyle
603
- },
604
- styleState: splitStyles,
605
- useStyleEmitter,
606
- presence,
607
- componentState: state,
608
- styleProps,
609
- theme,
610
- themeName,
611
- pseudos: pseudos || null,
612
- staticConfig,
613
- stateRef,
614
- onDidAnimate
615
- });
616
- if (animations) {
617
- if (animations.ref) animatedRef = animations.ref;
618
- if (isHydrated && animations) {
619
- animationStyles = animations.style;
620
- viewProps.style = animationStyles;
621
- if (animations.className) viewProps.className = `${state.unmounted === "should-enter" ? "t_unmounted " : ""}${viewProps.className || ""} ${animations.className}`;
622
- }
623
- }
624
- if (process.env.NODE_ENV === "development" && time) time`animations`;
625
- }
626
- if (process.env.NODE_ENV === "development" && props.untilMeasured && !props.group) console.warn(`You set the untilMeasured prop without setting group. This doesn't work, be sure to set untilMeasured on the parent that sets group, not the children that use the $group- prop.
627
-
628
- If you meant to do this, you can disable this warning - either change untilMeasured and group at the same time, or do group={conditional ? 'name' : undefined}`);
629
- if (process.env.NODE_ENV === "development" && time) time`destructure`;
630
- if (!isPassthrough && groupContext && props.containerType !== "normal") nonTamaguiProps.onLayout = composeEventHandlers(nonTamaguiProps.onLayout, e => {
631
- const layout = e.nativeEvent.layout;
632
- groupContext.state.layout = layout;
633
- stateRef.current.group?.emit({
634
- layout
635
- });
636
- if (!stateRef.current.hasMeasured && props.untilMeasured === "hide") setState(prev => ({
637
- ...prev
638
- }));
639
- stateRef.current.hasMeasured = true;
640
- });
641
- viewProps = hooks.usePropsTransform?.(elementType, nonTamaguiProps, stateRef, stateRef.current.willHydrate) || nonTamaguiProps;
642
- if (!stateRef.current.composedRef) stateRef.current.composedRef = composeRefs(x => stateRef.current.host = x, forwardedRef, setElementProps, animatedRef);
643
- viewProps.ref = stateRef.current.composedRef;
644
- usePointerEvents(props, viewProps);
645
- if (process.env.NODE_ENV === "development") {
646
- if (!isReactNative && !isText && isWeb && !isHOC) React.Children.toArray(props.children).forEach(item => {
647
- if (typeof item === "string" && item !== "\n") console.error(`Unexpected text node: ${item}. A text node cannot be a child of a <${staticConfig.componentName || propsIn.tag || "View"}>.`, props);
648
- });
649
- }
650
- if (process.env.NODE_ENV === "development" && time) time`events-hooks`;
651
- const unPress = () => {
652
- setStateShallow({
653
- press: false,
654
- pressIn: false
655
- });
656
- };
657
- if (process.env.NODE_ENV === "development" && isWeb) useIsomorphicLayoutEffect(() => {
658
- if (debugProp === "verbose") {
659
- let cssStyleDeclarationToObject = function (style) {
660
- const styleObject = {};
661
- for (let i = 0; i < style.length; i++) {
662
- let prop = style[i];
663
- styleObject[prop] = style.getPropertyValue(prop);
664
- }
665
- return styleObject;
666
- };
667
- const computed = stateRef.current.host ? cssStyleDeclarationToObject(getComputedStyle(stateRef.current.host)) : {};
668
- console.groupCollapsed(`Rendered > (opacity: ${computed.opacity})`);
669
- console.warn(stateRef.current.host);
670
- console.warn(computed);
671
- console.groupEnd();
672
- }
673
- });
674
- useIsomorphicLayoutEffect(() => {
675
- if (state.unmounted === true && hasEnterStyle) {
676
- setStateShallow({
677
- unmounted: "should-enter"
678
- });
679
- return;
680
- }
681
- if (state.unmounted) {
682
- if (inputStyle === "css") {
683
- let cancelled = false;
684
- requestAnimationFrame(() => {
685
- if (cancelled) return;
686
- requestAnimationFrame(() => {
687
- if (cancelled) return;
688
- setStateShallow({
689
- unmounted: false
690
- });
691
- });
692
- });
693
- return () => {
694
- cancelled = true;
695
- };
696
- }
697
- setStateShallow({
698
- unmounted: false
699
- });
700
- }
701
- return () => {
702
- componentSetStates.delete(setState);
703
- stateRef.current.mediaEmitCleanup?.();
704
- };
705
- }, [state.unmounted, inputStyle]);
706
- useIsomorphicLayoutEffect(() => {
707
- if (disabled) return;
708
- if (!pseudoGroups && !mediaGroups) return;
709
- if (!allGroupContexts) return;
710
- return subscribeToContextGroup({
711
- groupContext: allGroupContexts,
712
- setStateShallow,
713
- mediaGroups,
714
- pseudoGroups
715
- });
716
- }, [allGroupContexts, disabled, pseudoGroups ? objectIdentityKey(pseudoGroups) : 0, mediaGroups ? objectIdentityKey(mediaGroups) : 0]);
717
- const groupEmitter = stateRef.current.group;
718
- useIsomorphicLayoutEffect(() => {
719
- if (!groupContext || !groupEmitter) return;
720
- notifyGroupSubscribers(groupContext, groupEmitter, state);
721
- }, [groupContext, groupEmitter, state]);
722
- const runtimePressStyle = !disabled && noClass && pseudos?.pressStyle;
723
- const runtimeFocusStyle = !disabled && noClass && pseudos?.focusStyle;
724
- const runtimeFocusVisibleStyle = !disabled && noClass && pseudos?.focusVisibleStyle;
725
- const attachFocus = Boolean(runtimePressStyle || runtimeFocusStyle || runtimeFocusVisibleStyle || onFocus || onBlur || !!componentContext.setParentFocusState);
726
- const hasDynamicGroupChildren = Boolean(groupName && state.hasDynGroupChildren);
727
- const attachPress = Boolean(hasDynamicGroupChildren || runtimePressStyle || onPress || onPressOut || onPressIn || onMouseDown || onMouseUp || onLongPress || onClick || pseudos?.focusVisibleStyle);
728
- const runtimeHoverStyle = !disabled && noClass && pseudos?.hoverStyle;
729
- const needsHoverState = Boolean(hasDynamicGroupChildren || runtimeHoverStyle && !platformPseudo);
730
- const attachHover = (isWeb || isNativeDesktop) && !!(hasDynamicGroupChildren || needsHoverState || onMouseEnter || onMouseLeave);
731
- const shouldAttach = !disabled && !props.asChild && Boolean(attachFocus || attachPress || attachHover || runtimePressStyle || runtimeHoverStyle || runtimeFocusStyle);
732
- const needsPressState = Boolean(hasDynamicGroupChildren || runtimePressStyle);
733
- if (process.env.NODE_ENV === "development" && time) time`events-setup`;
734
- if (process.env.NODE_ENV === "development" && debugProp === "verbose") log(`\u{1FAA9} events()`, {
735
- runtimeFocusStyle,
736
- runtimePressStyle,
737
- runtimeHoverStyle,
738
- runtimeFocusVisibleStyle,
739
- attachPress,
740
- attachFocus,
741
- attachHover,
742
- shouldAttach,
743
- needsHoverState,
744
- pseudos
745
- });
746
- const events = shouldAttach ? {
747
- onPressOut: attachPress ? e => {
748
- unPress();
749
- onPressOut?.(e);
750
- onMouseUp?.(e);
751
- } : void 0,
752
- ...((attachHover || attachPress) && {
753
- onMouseEnter: e => {
754
- const next = {};
755
- if (needsHoverState && !lastInteractionWasTouch.value) next.hover = true;
756
- if (needsPressState) {
757
- if (state.pressIn) next.press = true;
758
- }
759
- setStateShallow(next);
760
- onHoverIn?.(e);
761
- onMouseEnter?.(e);
762
- },
763
- onMouseLeave: e => {
764
- const next = {};
765
- if (needsHoverState) next.hover = false;
766
- if (needsPressState) {
767
- next.press = false;
768
- next.pressIn = false;
769
- }
770
- setStateShallow(next);
771
- onHoverOut?.(e);
772
- onMouseLeave?.(e);
773
- }
774
- }),
775
- onPressIn: attachPress ? e => {
776
- if (needsPressState) setStateShallow({
777
- press: true,
778
- pressIn: true
779
- });
780
- onPressIn?.(e);
781
- onMouseDown?.(e);
782
- if (isWeb) componentSetStates.add(setState);
783
- } : void 0,
784
- onPress: attachPress ? e => {
785
- unPress();
786
- onClick?.(e);
787
- if (onPress || onClick) e.stopPropagation();
788
- onPress?.(e);
789
- onLongPress?.(e);
790
- } : void 0,
791
- ...(attachFocus && {
792
- onFocus: e => {
793
- const next = {};
794
- if (componentContext.setParentFocusState) {
795
- componentContext.setParentFocusState({
796
- focusWithin: true
797
- });
798
- next.focusWithin = true;
799
- }
800
- if (pseudos?.focusVisibleStyle) {
801
- if (lastInteractionWasKeyboard.value) next.focusVisible = true;else next.focus = true;
802
- } else next.focus = true;
803
- setStateShallow(next);
804
- onFocus?.(e);
805
- },
806
- onBlur: e => {
807
- if (componentContext.setParentFocusState) componentContext.setParentFocusState({
808
- focusWithin: false
809
- });
810
- setStateShallow({
811
- focus: false,
812
- focusVisible: false,
813
- focusWithin: false
814
- });
815
- onBlur?.(e);
816
- }
817
- })
818
- } : null;
819
- if (events && !isReactNative) Object.assign(viewProps, getWebEvents(events));
820
- if (process.env.NODE_ENV === "development" && time) time`events`;
821
- if (process.env.NODE_ENV === "development" && debugProp === "verbose") log(`events`, {
822
- events,
823
- attachHover,
824
- attachPress
825
- });
826
- const propsWithHref = props;
827
- const propsInWithHref = propsIn;
828
- [componentName, props.testID ?? propsIn.testID ?? props.accessibilityLabel ?? propsIn.accessibilityLabel ?? (typeof propsWithHref.href === "string" ? propsWithHref.href : null) ?? (typeof propsInWithHref.href === "string" ? propsInWithHref.href : null)].filter(Boolean).join(":");
829
- if (process.env.NODE_ENV === "development" && time) time`hooks`;
830
- if (asChild) {
831
- elementType = Slot;
832
- {
833
- const passEvents = getWebEvents({
834
- onPress,
835
- onLongPress,
836
- onPressIn,
837
- onPressOut,
838
- onMouseUp,
839
- onMouseDown,
840
- onMouseEnter,
841
- onMouseLeave
842
- }, asChild === "web" || asChild === "except-style-web");
843
- Object.assign(viewProps, passEvents);
844
- }
845
- }
846
- if (process.env.NODE_ENV === "development" && time) time`spaced-as-child`;
847
- let content;
848
- if (isPassthrough) content = React.createElement(BaseComponent, {
849
- style: {
850
- display: "contents"
851
- }
852
- }, propsIn.children);else {
853
- if (hooks.useChildren) content = hooks.useChildren(elementType, content || children, viewProps);
854
- const isRenderPropString = typeof renderProp === "string";
855
- if (renderProp && !isRenderPropString) {
856
- const out = getCustomRender(renderProp, content || children, viewProps, componentState);
857
- if (out) {
858
- viewProps = out.viewProps;
859
- elementType = out.elementType;
860
- }
861
- }
862
- if (!content) {
863
- if (isRenderPropString) viewProps.render;
864
- content = React.createElement(elementType, viewProps, content || children);
865
- }
866
- if (process.env.NODE_ENV === "development" && time) time`use-children`;
867
- }
868
- const ResetPresence = animationDriver?.ResetPresence;
869
- const needsReset = Boolean(!asChild && splitStyles && !isHOC && ResetPresence && willBeAnimated && (hasEnterStyle || presenceState));
870
- const hasEverReset = stateRef.current.hasEverResetPresence;
871
- if (needsReset && !hasEverReset) stateRef.current.hasEverResetPresence = true;
872
- if ((needsReset || hasEverReset) && ResetPresence) content = /* @__PURE__ */jsx(ResetPresence, {
873
- disabled: !needsReset,
874
- children: content
875
- });
876
- if (process.env.NODE_ENV === "development" && time) time`create-element`;
877
- if ("focusWithinStyle" in propsIn || pseudos?.focusWithinStyle) content = /* @__PURE__ */jsx(ComponentContext.Provider, {
878
- ...componentContext,
879
- setParentFocusState: setStateShallow,
880
- children: content
881
- });
882
- if ("group" in props) content = /* @__PURE__ */jsx(GroupContext.Provider, {
883
- value: allGroupContexts,
884
- children: content
885
- });
886
- if (!asChild && isText && !hasTextAncestor) content = /* @__PURE__ */jsx(ComponentContext.Provider, {
887
- ...componentContext,
888
- inText: true,
889
- children: content
890
- });
891
- if (process.env.NODE_ENV === "development" && time) time`group-context`;
892
- content = disableTheme || !splitStyles ? content : getThemedChildren(themeState, content, themeStateProps, false, stateRef);
893
- if (process.env.NODE_ENV === "development" && time) time`themed-children`;
894
- if (isReactNative && !asChild) content = /* @__PURE__ */jsx("span", {
895
- className: "_dsp_contents",
896
- ...(!isPassthrough && isHydrated && events && getWebEvents(events)),
897
- children: content
898
- });
899
- if (overriddenContextProps && contextForOverride) {
900
- const Provider = contextForOverride.Provider;
901
- for (const key in styledContextValue) if (!(key in overriddenContextProps)) overriddenContextProps[key] = styledContextValue[key];
902
- content = /* @__PURE__ */jsx(Provider, {
903
- __disableMergeDefaultValues: true,
904
- ...overriddenContextProps,
905
- children: content
906
- });
907
- }
908
- if (process.env.NODE_ENV === "development" && time) time`context-override`;
909
- if (startedUnhydrated && splitStyles) content = /* @__PURE__ */jsxs(Fragment, {
910
- children: [content, !isHydrated ? getStyleTags(Object.values(splitStyles.rulesToInsert)) : null]
911
- });
912
- if (process.env.NODE_ENV === "development" && time) time`style-tags`;
913
- if (process.env.NODE_ENV === "development") {
914
- if (debugProp && debugProp !== "profile") {
915
- const title = `render <${typeof elementType === "string" ? elementType : "Component"} /> (${internalID}) with props`;
916
- if (!isWeb || !isClient) {
917
- log(title);
918
- log(`state: `, state);
919
- if (isDevTools) log("viewProps", viewProps);
920
- log(`final styles:`);
921
- for (const key in splitStylesStyle) log(key, splitStylesStyle[key]);
922
- } else {
923
- console.groupCollapsed(title);
924
- try {
925
- log("viewProps", viewProps);
926
- log("children", content);
927
- if (typeof window !== "undefined") log({
928
- propsIn,
929
- props,
930
- attachPress,
931
- animationStyles,
932
- classNames,
933
- content,
934
- elementType,
935
- events,
936
- isAnimated,
937
- hasRuntimeMediaKeys,
938
- isStringElement,
939
- mediaListeningKeys,
940
- pseudos,
941
- shouldAttach,
942
- noClass,
943
- shouldListenForMedia,
944
- splitStyles,
945
- splitStylesStyle,
946
- state,
947
- stateRef,
948
- staticConfig,
949
- styleProps,
950
- themeState,
951
- viewProps,
952
- willBeAnimated,
953
- startedUnhydrated
954
- });
955
- } catch {} finally {
956
- console.groupEnd();
957
- }
958
- }
959
- if (debugProp === "break") {}
960
- }
961
- }
962
- if (process.env.NODE_ENV === "development" && time) {
963
- time`rest`;
964
- if (!globalThis["willPrint"]) {
965
- globalThis["willPrint"] = true;
966
- setTimeout(() => {
967
- delete globalThis["willPrint"];
968
- time.print();
969
- time = null;
970
- }, 50);
971
- }
972
- }
973
- return content;
974
- });
975
- function notifyGroupSubscribers(groupContext, groupEmitter, pseudo) {
976
- if (!groupContext || !groupEmitter) return;
977
- const prevPseudo = groupContext.state.pseudo;
978
- const shouldReplacePseudo = !prevPseudo || "unmounted" in prevPseudo || "group" in prevPseudo || "hasDynGroupChildren" in prevPseudo || "transition" in prevPseudo;
979
- const nextPseudo = shouldReplacePseudo ? {} : prevPseudo;
980
- let didChange = shouldReplacePseudo;
981
- for (let i = 0; i < groupPseudoKeys.length; i++) {
982
- const key = groupPseudoKeys[i];
983
- const value = pseudo[key];
984
- if (nextPseudo[key] !== value) {
985
- nextPseudo[key] = value;
986
- didChange = true;
987
- } else if (didChange) nextPseudo[key] = value;
988
- }
989
- if (!didChange) return;
990
- groupContext.state.pseudo = nextPseudo;
991
- groupEmitter.emit(groupContext.state);
992
- }
993
- if (staticConfig.componentName) component.displayName = staticConfig.componentName;
994
- let res = component;
995
- res = React.memo(res);
996
- res.staticConfig = staticConfig;
997
- function extendStyledConfig(extended) {
998
- return {
999
- ...staticConfig,
1000
- ...extended,
1001
- neverFlatten: true,
1002
- isHOC: true,
1003
- isStyledHOC: false
1004
- };
1005
- }
1006
- function styleable(Component2, options) {
1007
- let out = typeof Component2 === "function" && Component2.length === 1 ? Component2 : React.forwardRef(Component2);
1008
- const extendedConfig = extendStyledConfig(options?.staticConfig);
1009
- out = options?.disableTheme ? out : themeable(out, extendedConfig, true);
1010
- if (extendedConfig.memo || process.env.TAMAGUI_MEMOIZE_STYLEABLE) out = React.memo(out);
1011
- out.staticConfig = extendedConfig;
1012
- out.styleable = styleable;
1013
- return out;
1014
- }
1015
- res.styleable = styleable;
1016
- return res;
368
+ log(`children:`, props.children);
369
+ log({
370
+ overriddenContextProps,
371
+ styledContextValue
372
+ });
373
+ log({
374
+ noClass,
375
+ isAnimated,
376
+ isWeb,
377
+ inputStyle
378
+ });
379
+ }
380
+ }
381
+ }
382
+ if (process.env.NODE_ENV === "development" && time) time`pre-theme-media`;
383
+ const [theme, themeState] = useThemeWithState(themeStateProps);
384
+ if (process.env.NODE_ENV === "development" && time) time`theme`;
385
+ if (!isAnimatedCustomComponent) elementType = element || elementType;
386
+ const isStringElement = typeof elementType === "string";
387
+ const mediaState = useMedia(componentContext, debugProp, stateRef.current);
388
+ setDidGetVariableValue(false);
389
+ if (process.env.NODE_ENV === "development" && time) time`media`;
390
+ const styleProps = {
391
+ mediaState,
392
+ noClass,
393
+ resolveValues: isAnimated && inputStyle !== "css" || isHOC && state.unmounted == false && hasAnimationProp ? "value" : "auto",
394
+ isExiting,
395
+ isAnimated,
396
+ willBeAnimated,
397
+ canPlatformPseudo: componentState.platformPseudo,
398
+ displayName,
399
+ styledContext: styledContextValue
400
+ };
401
+ const themeName = themeState?.name || "";
402
+ if (process.env.NODE_ENV === "development" && time) time`split-styles-prepare`;
403
+ const splitStyles = useSplitStyles(props, staticConfig, theme, themeName, state, styleProps, null, componentContext, groupContextParent, elementType, startedUnhydrated, debugProp, animationDriver, styleStaticConfig);
404
+ const finalizedComponentState = componentState.finalizeStyleFlags(!!splitStyles?.hasEnterStyle, !!splitStyles?.platformPseudo);
405
+ hasEnterStyle = finalizedComponentState.hasEnterStyle;
406
+ isAnimated = finalizedComponentState.isAnimated;
407
+ willBeAnimated = finalizedComponentState.willBeAnimated;
408
+ willBeAnimatedClient = finalizedComponentState.willBeAnimatedClient;
409
+ platformPseudo = finalizedComponentState.platformPseudo;
410
+ groupName = splitStyles?.frontendGroup ?? groupName;
411
+ const containerProp = splitStyles?.frontendContainer ?? props.container;
412
+ const containerName = props.containerName || (typeof containerProp === "string" ? containerProp : void 0);
413
+ const containerType = splitStyles?.frontendContainerType || props.containerType || (containerProp ? "inline-size" : void 0);
414
+ const isContainer = !!containerType && containerType !== "normal";
415
+ const allGroupContexts = useMemo(() => {
416
+ if (!groupName && !isContainer || props.passThrough) return groupContextParent;
417
+ const listeners = /* @__PURE__ */ new Set();
418
+ stateRef.current.group?.listeners?.clear();
419
+ stateRef.current.group = {
420
+ listeners,
421
+ emit(state2) {
422
+ listeners.forEach((l) => l(state2));
423
+ },
424
+ subscribe(cb) {
425
+ listeners.add(cb);
426
+ if (listeners.size === 1) setStateShallow({ hasDynGroupChildren: true });
427
+ return () => {
428
+ listeners.delete(cb);
429
+ if (listeners.size === 0) setStateShallow({ hasDynGroupChildren: false });
430
+ };
431
+ }
432
+ };
433
+ const entry = {
434
+ state: { pseudo: defaultComponentStateMounted },
435
+ subscribe: (listener) => {
436
+ const dispose = stateRef.current.group?.subscribe(listener);
437
+ return () => {
438
+ dispose?.();
439
+ };
440
+ }
441
+ };
442
+ const next = { ...groupContextParent };
443
+ if (groupName) next[groupName] = entry;
444
+ if (isContainer) {
445
+ next["@"] = entry;
446
+ if (containerName) next[`@${containerName}`] = entry;
447
+ }
448
+ return next;
449
+ }, [
450
+ stateRef,
451
+ groupName,
452
+ containerName,
453
+ isContainer,
454
+ groupContextParent
455
+ ]);
456
+ const isPassthrough = !splitStyles;
457
+ let contextForOverride = staticConfig.context;
458
+ if (splitStyles?.overriddenContextProps) {
459
+ const contextForProps = staticConfig.context || staticConfig.parentStaticConfig?.context;
460
+ if (contextForProps) {
461
+ for (const key in splitStyles.overriddenContextProps) {
462
+ overriddenContextProps = overriddenContextProps || {};
463
+ overriddenContextProps[key] = splitStyles.overriddenContextProps[key];
464
+ }
465
+ if (!staticConfig.context) contextForOverride = contextForProps;
466
+ }
467
+ }
468
+ const groupContext = groupName || isContainer ? allGroupContexts?.[groupName ?? "@"] || null : null;
469
+ if (!isPassthrough && groupContext && isContainer) {
470
+ const groupState = groupContext?.state;
471
+ if (groupState && groupState.layout === void 0) {
472
+ if (splitStyles.style?.width || splitStyles.style?.height) groupState.layout = {
473
+ width: fromPx(splitStyles.style.width),
474
+ height: fromPx(splitStyles.style.height)
475
+ };
476
+ }
477
+ }
478
+ const hasEnterExitTransition = props.transition && typeof props.transition === "object" && !Array.isArray(props.transition) && ("enter" in props.transition || "exit" in props.transition);
479
+ if (!isPassthrough && (hasAnimationProp || groupName || platformPseudo) && animationDriver?.avoidReRenders && !hasEnterExitTransition) {
480
+ let updateGroupListeners = function() {
481
+ const updatedState = stateRef.current.nextState;
482
+ if (groupContext) {
483
+ const { group, hasDynGroupChildren, unmounted, transition, ...childrenGroupState } = updatedState;
484
+ notifyGroupSubscribers(groupContext, stateRef.current.group || null, childrenGroupState);
485
+ }
486
+ };
487
+ const ogSetStateShallow = setStateShallow;
488
+ stateRef.current.updateStyleListener = () => {
489
+ const useStyleListener = stateRef.current.useStyleListener;
490
+ if (!useStyleListener) {
491
+ const pendingState = stateRef.current.nextState;
492
+ if (pendingState) ogSetStateShallow(pendingState);
493
+ return;
494
+ }
495
+ const updatedState = stateRef.current.nextState || state;
496
+ const mediaState2 = stateRef.current.nextMedia;
497
+ const nextStyles = getSplitStyles(props, staticConfig, theme, themeName, updatedState, mediaState2 ? {
498
+ ...styleProps,
499
+ mediaState: mediaState2
500
+ } : styleProps, null, componentContext, allGroupContexts, elementType, startedUnhydrated, debugProp, animationDriver, styleStaticConfig);
501
+ const effectiveTransition = nextStyles?.effectiveTransition ?? props.transition ?? (platformPseudo ? "0ms" : void 0);
502
+ stateRef.current.prevPseudoState = extractPseudoState(updatedState);
503
+ const hasActivePseudo = Boolean(updatedState.hover || updatedState.press || updatedState.pressIn || updatedState.focus || updatedState.focusWithin);
504
+ useStyleListener(nextStyles?.style || {}, effectiveTransition, hasActivePseudo);
505
+ };
506
+ componentContext.mediaEmitListeners = componentContext.mediaEmitListeners || /* @__PURE__ */ new Set();
507
+ if (!stateRef.current.mediaEmitCleanup) {
508
+ const updateListener = (next) => {
509
+ stateRef.current.nextMedia = next;
510
+ stateRef.current.updateStyleListener?.();
511
+ };
512
+ componentContext.mediaEmitListeners.add(updateListener);
513
+ stateRef.current.mediaEmitCleanup = () => {
514
+ componentContext.mediaEmitListeners?.delete(updateListener);
515
+ };
516
+ }
517
+ componentContext.mediaEmit = componentContext.mediaEmit || ((next) => {
518
+ for (const listener of componentContext.mediaEmitListeners) listener(next);
519
+ });
520
+ stateRef.current.setStateShallow = (nextOrGetNext) => {
521
+ const prev = stateRef.current.nextState || state;
522
+ const next = typeof nextOrGetNext === "function" ? nextOrGetNext(prev) : nextOrGetNext;
523
+ if (next === prev || isEqualShallow(prev, next)) return;
524
+ let canAvoidReRender = true;
525
+ for (const key in next) if (!avoidReRenderKeys.has(key)) {
526
+ canAvoidReRender = false;
527
+ break;
528
+ }
529
+ const updatedState = {
530
+ ...prev,
531
+ ...next
532
+ };
533
+ stateRef.current.nextState = updatedState;
534
+ if (canAvoidReRender) {
535
+ if (process.env.NODE_ENV === "development" && debugProp && debugProp !== "profile") {
536
+ console.groupCollapsed(`[\u26A1\uFE0F] avoid setState`, displayName, next, {
537
+ updatedState,
538
+ props
539
+ });
540
+ console.info(stateRef.current.host);
541
+ console.groupEnd();
542
+ }
543
+ updateGroupListeners();
544
+ stateRef.current.updateStyleListener?.();
545
+ } else {
546
+ if (process.env.NODE_ENV === "development" && debugProp && debugProp !== "profile") console.info(`[\u{1F40C}] re-render`, {
547
+ canAvoidReRender,
548
+ next
549
+ });
550
+ ogSetStateShallow(next);
551
+ }
552
+ };
553
+ setStateShallow = (state2) => {
554
+ stateRef.current.setStateShallow?.(state2);
555
+ };
556
+ }
557
+ if (process.env.NODE_ENV === "development" && time) time`split-styles`;
558
+ if (splitStyles) {
559
+ if (props.group && props.untilMeasured === "hide" && !stateRef.current.hasMeasured) {
560
+ splitStyles.style = splitStyles.style || {};
561
+ splitStyles.style.opacity = 0;
562
+ }
563
+ }
564
+ const hasRuntimeMediaKeys = splitStyles?.hasMedia && splitStyles.hasMedia !== true;
565
+ const shouldListenForMedia = didGetVariableValue() || hasRuntimeMediaKeys || noClass && splitStyles?.hasMedia === true;
566
+ const mediaListeningKeys = hasRuntimeMediaKeys ? splitStyles.hasMedia : null;
567
+ if (process.env.NODE_ENV === "development" && debugProp === "verbose") console.info(`useMedia() createComponent`, shouldListenForMedia, mediaListeningKeys);
568
+ setMediaShouldUpdate(stateRef.current, shouldListenForMedia, mediaListeningKeys, stateRef.current.optimizeForFirstRender);
569
+ const { viewProps: viewPropsIn, style: splitStylesStyle, classNames, pseudoGroups, mediaGroups } = splitStyles || {};
570
+ const groupSetRevision = useGroupSetRevision(pseudoGroups, mediaGroups);
571
+ const propsWithAnimation = props;
572
+ const { asChild, children, themeShallow, spaceDirection: _spaceDirection, onPress, onLongPress, onPressIn, onPressOut, onHoverIn, onHoverOut, onMouseUp, onMouseDown, onMouseEnter, onMouseLeave, onFocus, onBlur, onTransition, separator, passThrough, forceStyle: _forceStyle, onClick, theme: _themeProp, ...nonTamaguiProps } = viewPropsIn || {};
573
+ let viewProps = nonTamaguiProps;
574
+ if (props.forceStyle) viewProps.forceStyle = props.forceStyle;
575
+ if (isHOC) {
576
+ if (typeof _themeProp !== "undefined") viewProps.theme = _themeProp;
577
+ if (typeof passThrough !== "undefined") viewProps.passThrough = passThrough;
578
+ if (typeof asChild !== "undefined") viewProps.asChild = asChild;
579
+ if (typeof onTransition !== "undefined") viewProps.onTransition = onTransition;
580
+ }
581
+ let animationStyles;
582
+ const shouldUseAnimation = (inputStyle === "css" ? willBeAnimatedClient : willBeAnimated) && useAnimations && !isHOC;
583
+ let animatedRef;
584
+ if (shouldUseAnimation) {
585
+ const useStyleEmitter = animationDriver?.avoidReRenders ? (listener) => {
586
+ stateRef.current.useStyleListener = listener;
587
+ } : void 0;
588
+ const effectiveTransition = splitStyles?.effectiveTransition ?? props.transition ?? (platformPseudo ? "0ms" : void 0);
589
+ if (splitStyles) splitStyles.effectiveTransition = effectiveTransition;
590
+ stateRef.current.prevPseudoState = extractPseudoState(state);
591
+ const animations = useAnimations({
592
+ props: propsWithAnimation,
593
+ style: isHydrated ? splitStylesStyle || {} : { ...splitStylesStyle },
594
+ styleState: splitStyles,
595
+ useStyleEmitter,
596
+ presence,
597
+ componentState: state,
598
+ styleProps,
599
+ theme,
600
+ themeName,
601
+ staticConfig,
602
+ stateRef,
603
+ onTransition
604
+ });
605
+ if (animations) {
606
+ if (animations.ref) animatedRef = animations.ref;
607
+ if (isHydrated && animations) {
608
+ animationStyles = animations.style;
609
+ viewProps.style = animationStyles;
610
+ if (animations.className) viewProps.className = `${state.unmounted === "should-enter" ? "t_unmounted " : ""}${viewProps.className || ""} ${animations.className}`;
611
+ }
612
+ }
613
+ if (process.env.NODE_ENV === "development" && time) time`animations`;
614
+ }
615
+ if (isWeb && isExiting) viewProps.className = `t_exiting ${viewProps.className || ""}`;
616
+ if (process.env.NODE_ENV === "development" && props.untilMeasured && !isContainer) console.warn(`You set untilMeasured without establishing a container. Set it on the parent with container or container="name", not on the child using a container clause.`);
617
+ if (process.env.NODE_ENV === "development" && time) time`destructure`;
618
+ if (!isPassthrough && groupContext && isContainer) nonTamaguiProps.onLayout = composeEventHandlers(nonTamaguiProps.onLayout, (e) => {
619
+ const layout = e.nativeEvent.layout;
620
+ groupContext.state.layout = layout;
621
+ stateRef.current.group?.emit({ layout });
622
+ if (!stateRef.current.hasMeasured && props.untilMeasured === "hide") setState((prev) => ({ ...prev }));
623
+ stateRef.current.hasMeasured = true;
624
+ });
625
+ viewProps = hooks.usePropsTransform?.(elementType, nonTamaguiProps, stateRef, stateRef.current.willHydrate) || nonTamaguiProps;
626
+ stateRef.current.composedForwardedRef = forwardedRef;
627
+ if (!stateRef.current.composedRef) stateRef.current.composedRef = composeRefs((x) => {
628
+ stateRef.current.host = x;
629
+ const current = stateRef.current.composedForwardedRef;
630
+ stateRef.current.attachedForwardedRef = x ? current : void 0;
631
+ setRef(current, x);
632
+ }, setElementProps, animatedRef);
633
+ viewProps.ref = stateRef.current.composedRef;
634
+ useIsomorphicLayoutEffect(() => {
635
+ const attached = stateRef.current.attachedForwardedRef;
636
+ if (attached === forwardedRef) return;
637
+ if (attached) setRef(attached, null);
638
+ stateRef.current.attachedForwardedRef = forwardedRef;
639
+ if (stateRef.current.host) setRef(forwardedRef, stateRef.current.host);
640
+ }, [forwardedRef]);
641
+ usePointerEvents(props, viewProps);
642
+ if (process.env.NODE_ENV === "development") {
643
+ if (!isText && isWeb && !isHOC) React.Children.toArray(props.children).forEach((item) => {
644
+ if (typeof item === "string" && item !== "\n") console.error(`Unexpected text node: ${item}. A text node cannot be a child of a <${displayName || propsIn.tag || "View"}>.`, props);
645
+ });
646
+ }
647
+ if (process.env.NODE_ENV === "development" && time) time`events-hooks`;
648
+ const unPress = () => {
649
+ setStateShallow({
650
+ press: false,
651
+ pressIn: false
652
+ });
653
+ };
654
+ if (process.env.NODE_ENV === "development" && isWeb) useIsomorphicLayoutEffect(() => {
655
+ if (debugProp === "verbose") {
656
+ let cssStyleDeclarationToObject = function(style) {
657
+ const styleObject = {};
658
+ for (let i = 0; i < style.length; i++) {
659
+ let prop = style[i];
660
+ styleObject[prop] = style.getPropertyValue(prop);
661
+ }
662
+ return styleObject;
663
+ };
664
+ const computed = stateRef.current.host ? cssStyleDeclarationToObject(getComputedStyle(stateRef.current.host)) : {};
665
+ console.groupCollapsed(`Rendered > (opacity: ${computed.opacity})`);
666
+ console.warn(stateRef.current.host);
667
+ console.warn(computed);
668
+ console.groupEnd();
669
+ }
670
+ });
671
+ useIsomorphicLayoutEffect(() => {
672
+ if (state.unmounted === true && hasEnterStyle) {
673
+ setStateShallow({ unmounted: "should-enter" });
674
+ return;
675
+ }
676
+ if (state.unmounted) {
677
+ if (inputStyle === "css") {
678
+ let cancelled = false;
679
+ requestAnimationFrame(() => {
680
+ if (cancelled) return;
681
+ requestAnimationFrame(() => {
682
+ if (cancelled) return;
683
+ setStateShallow({ unmounted: false });
684
+ });
685
+ });
686
+ return () => {
687
+ cancelled = true;
688
+ };
689
+ }
690
+ setStateShallow({ unmounted: false });
691
+ }
692
+ }, [state.unmounted, inputStyle]);
693
+ useIsomorphicLayoutEffect(() => {
694
+ return () => {
695
+ componentSetStates.delete(setState);
696
+ stateRef.current.mediaEmitCleanup?.();
697
+ stateRef.current.mediaEmitCleanup = void 0;
698
+ };
699
+ }, []);
700
+ useIsomorphicLayoutEffect(() => {
701
+ let disposeSafeArea;
702
+ if (splitStyles?.usesSafeArea) {
703
+ const updateSafeArea = () => {
704
+ setState((previous) => ({ ...previous }));
705
+ };
706
+ disposeSafeArea = subscribeToSafeArea(updateSafeArea);
707
+ }
708
+ if (disabled) return disposeSafeArea;
709
+ if (!pseudoGroups && !mediaGroups) return disposeSafeArea;
710
+ if (!allGroupContexts) return disposeSafeArea;
711
+ const disposeGroup = subscribeToContextGroup({
712
+ groupContext: allGroupContexts,
713
+ setStateShallow,
714
+ mediaGroups,
715
+ pseudoGroups
716
+ });
717
+ if (!disposeSafeArea) return disposeGroup;
718
+ return () => {
719
+ disposeSafeArea();
720
+ disposeGroup?.();
721
+ };
722
+ }, [
723
+ allGroupContexts,
724
+ disabled,
725
+ splitStyles?.usesSafeArea,
726
+ groupSetRevision
727
+ ]);
728
+ const groupEmitter = stateRef.current.group;
729
+ useIsomorphicLayoutEffect(() => {
730
+ if (!groupContext || !groupEmitter) return;
731
+ notifyGroupSubscribers(groupContext, groupEmitter, state);
732
+ }, [
733
+ groupContext,
734
+ groupEmitter,
735
+ state
736
+ ]);
737
+ const conditionalStates = !disabled ? splitStyles?.programStates : void 0;
738
+ const runtimePressStyle = !disabled && (conditionalStates?.has("press") || conditionalStates?.has("active"));
739
+ const runtimeFocusStyle = !disabled && conditionalStates?.has("focus");
740
+ const runtimeFocusVisibleStyle = !disabled && conditionalStates?.has("focus-visible");
741
+ const attachFocus = Boolean(runtimePressStyle || runtimeFocusStyle || runtimeFocusVisibleStyle || onFocus || onBlur || !!componentContext.setParentFocusState);
742
+ const hasDynamicGroupChildren = Boolean(groupName && state.hasDynGroupChildren);
743
+ const attachPress = Boolean(hasDynamicGroupChildren || runtimePressStyle || onPress || onPressOut || onPressIn || onMouseDown || onMouseUp || onLongPress || onClick);
744
+ const runtimeHoverStyle = !disabled && conditionalStates?.has("hover");
745
+ const needsHoverState = Boolean(hasDynamicGroupChildren || runtimeHoverStyle && !platformPseudo);
746
+ const attachHover = (isWeb || isNativeDesktop) && !!(hasDynamicGroupChildren || needsHoverState || onMouseEnter || onMouseLeave);
747
+ const shouldAttach = !disabled && !props.asChild && Boolean(attachFocus || attachPress || attachHover || runtimePressStyle || runtimeHoverStyle || runtimeFocusStyle);
748
+ const needsPressState = Boolean(hasDynamicGroupChildren || runtimePressStyle);
749
+ if (process.env.NODE_ENV === "development" && time) time`events-setup`;
750
+ if (process.env.NODE_ENV === "development" && debugProp === "verbose") log(`\u{1FAA9} events()`, {
751
+ runtimeFocusStyle,
752
+ runtimePressStyle,
753
+ runtimeHoverStyle,
754
+ runtimeFocusVisibleStyle,
755
+ attachPress,
756
+ attachFocus,
757
+ attachHover,
758
+ shouldAttach,
759
+ needsHoverState
760
+ });
761
+ const events = shouldAttach ? {
762
+ onPressOut: attachPress ? (e) => {
763
+ unPress();
764
+ onPressOut?.(e);
765
+ onMouseUp?.(e);
766
+ } : void 0,
767
+ ...(attachHover || attachPress) && {
768
+ onMouseEnter: (e) => {
769
+ const next = {};
770
+ if (needsHoverState && !lastInteractionWasTouch.value) next.hover = true;
771
+ if (needsPressState) {
772
+ if (state.pressIn) next.press = true;
773
+ }
774
+ setStateShallow(next);
775
+ onHoverIn?.(e);
776
+ onMouseEnter?.(e);
777
+ },
778
+ onMouseLeave: (e) => {
779
+ const next = {};
780
+ if (needsHoverState) next.hover = false;
781
+ if (needsPressState) {
782
+ next.press = false;
783
+ next.pressIn = false;
784
+ }
785
+ setStateShallow(next);
786
+ onHoverOut?.(e);
787
+ onMouseLeave?.(e);
788
+ }
789
+ },
790
+ onPressIn: attachPress ? (e) => {
791
+ if (needsPressState) setStateShallow({
792
+ press: true,
793
+ pressIn: true
794
+ });
795
+ onPressIn?.(e);
796
+ onMouseDown?.(e);
797
+ if (isWeb) componentSetStates.add(setState);
798
+ } : void 0,
799
+ onPress: attachPress ? (e) => {
800
+ unPress();
801
+ onClick?.(e);
802
+ if (onPress || onClick) e.stopPropagation();
803
+ onPress?.(e);
804
+ onLongPress?.(e);
805
+ } : void 0,
806
+ ...attachFocus && {
807
+ onFocus: (e) => {
808
+ const next = {};
809
+ if (componentContext.setParentFocusState) {
810
+ componentContext.setParentFocusState({ focusWithin: true });
811
+ next.focusWithin = true;
812
+ }
813
+ if (conditionalStates?.has("focus-visible")) if (lastInteractionWasKeyboard.value) next.focusVisible = true;
814
+ else next.focus = true;
815
+ else next.focus = true;
816
+ setStateShallow(next);
817
+ onFocus?.(e);
818
+ },
819
+ onBlur: (e) => {
820
+ if (componentContext.setParentFocusState) componentContext.setParentFocusState({ focusWithin: false });
821
+ setStateShallow({
822
+ focus: false,
823
+ focusVisible: false,
824
+ focusWithin: false
825
+ });
826
+ onBlur?.(e);
827
+ }
828
+ }
829
+ } : null;
830
+ if (events) Object.assign(viewProps, getWebEvents(events));
831
+ if (process.env.NODE_ENV === "development" && time) time`events`;
832
+ if (process.env.NODE_ENV === "development" && debugProp === "verbose") log(`events`, {
833
+ events,
834
+ attachHover,
835
+ attachPress
836
+ });
837
+ if (process.env.NODE_ENV === "development" && time) time`hooks`;
838
+ if (asChild && !isHOC) {
839
+ elementType = Slot;
840
+ {
841
+ const passEvents = getWebEvents({
842
+ onPress,
843
+ onLongPress,
844
+ onPressIn,
845
+ onPressOut,
846
+ onMouseUp,
847
+ onMouseDown,
848
+ onMouseEnter,
849
+ onMouseLeave,
850
+ onFocus,
851
+ onBlur
852
+ }, asChild === "web" || asChild === "except-style-web");
853
+ Object.assign(viewProps, passEvents);
854
+ }
855
+ }
856
+ if (process.env.NODE_ENV === "development" && time) time`spaced-as-child`;
857
+ let content;
858
+ const childrenFromHooks = hooks.useChildren ? hooks.useChildren(elementType, children, viewProps, isPassthrough) : void 0;
859
+ if (isPassthrough) content = React.createElement(BaseComponent, { style: { display: "contents" } }, propsIn.children);
860
+ else {
861
+ if (childrenFromHooks) content = childrenFromHooks;
862
+ const isRenderPropString = typeof renderProp === "string";
863
+ if (renderProp && !isRenderPropString) {
864
+ const out = getCustomRender(renderProp, content || children, viewProps, componentState);
865
+ if (out) {
866
+ viewProps = out.viewProps;
867
+ if (isAnimatedCustomComponent && elementType["acceptRenderProp"] && typeof out.elementType === "string") viewProps.render = out.elementType;
868
+ else elementType = out.elementType;
869
+ }
870
+ }
871
+ if (!content) {
872
+ if (isRenderPropString && elementType["acceptRenderProp"]) viewProps.render = renderProp;
873
+ content = React.createElement(elementType, viewProps, content || children);
874
+ }
875
+ if (process.env.NODE_ENV === "development" && time) time`use-children`;
876
+ }
877
+ const ResetPresence = animationDriver?.isStub ? void 0 : animationDriver?.ResetPresence;
878
+ const needsReset = Boolean(!asChild && splitStyles && !isHOC && ResetPresence && willBeAnimated && (hasEnterStyle || presenceState));
879
+ const hasEverReset = stateRef.current.hasEverResetPresence;
880
+ if (needsReset && !hasEverReset) stateRef.current.hasEverResetPresence = true;
881
+ if ((needsReset || hasEverReset) && ResetPresence) content = /* @__PURE__ */ jsx(ResetPresence, {
882
+ disabled: !needsReset,
883
+ children: content
884
+ });
885
+ if (process.env.NODE_ENV === "development" && time) time`create-element`;
886
+ if (conditionalStates?.has("focus-within")) content = /* @__PURE__ */ jsx(ComponentContext.Provider, {
887
+ ...componentContext,
888
+ setParentFocusState: setStateShallow,
889
+ children: content
890
+ });
891
+ if (groupName || isContainer) content = /* @__PURE__ */ jsx(GroupContext.Provider, {
892
+ value: allGroupContexts,
893
+ children: content
894
+ });
895
+ if (!asChild && isText && !hasTextAncestor) content = /* @__PURE__ */ jsx(ComponentContext.Provider, {
896
+ ...componentContext,
897
+ inText: true,
898
+ children: content
899
+ });
900
+ if (process.env.NODE_ENV === "development" && time) time`group-context`;
901
+ content = disableTheme || !splitStyles ? content : getThemedChildren(themeState, content, themeStateProps, false, stateRef);
902
+ if (process.env.NODE_ENV === "development" && time) time`themed-children`;
903
+ if (overriddenContextProps && contextForOverride) {
904
+ const Provider = contextForOverride.Provider;
905
+ for (const key in styledContextValue) if (!(key in overriddenContextProps)) overriddenContextProps[key] = styledContextValue[key];
906
+ content = /* @__PURE__ */ jsx(Provider, {
907
+ __disableMergeDefaultValues: true,
908
+ ...overriddenContextProps,
909
+ children: content
910
+ });
911
+ }
912
+ if (process.env.NODE_ENV === "development" && time) time`context-override`;
913
+ if (!process.env.TAMAGUI_DID_OUTPUT_CSS && startedUnhydrated && splitStyles) content = /* @__PURE__ */ jsxs(Fragment, { children: [content, !isHydrated ? getStyleTags(Object.values(splitStyles.rulesToInsert)) : null] });
914
+ if (process.env.NODE_ENV === "development" && time) time`style-tags`;
915
+ if (process.env.NODE_ENV === "development") {
916
+ if (debugProp && debugProp !== "profile") {
917
+ const title = `render <${typeof elementType === "string" ? elementType : "Component"} /> (${internalID}) with props`;
918
+ if (!isWeb || !isClient) {
919
+ log(title);
920
+ log(`state: `, state);
921
+ if (isDevTools) log("viewProps", viewProps);
922
+ log(`final styles:`);
923
+ for (const key in splitStylesStyle) log(key, splitStylesStyle[key]);
924
+ } else {
925
+ console.groupCollapsed(title);
926
+ try {
927
+ log("viewProps", viewProps);
928
+ log("children", content);
929
+ if (typeof window !== "undefined") log({
930
+ propsIn,
931
+ props,
932
+ attachPress,
933
+ animationStyles,
934
+ classNames,
935
+ content,
936
+ elementType,
937
+ events,
938
+ isAnimated,
939
+ hasRuntimeMediaKeys,
940
+ isStringElement,
941
+ mediaListeningKeys,
942
+ shouldAttach,
943
+ noClass,
944
+ shouldListenForMedia,
945
+ splitStyles,
946
+ splitStylesStyle,
947
+ state,
948
+ stateRef,
949
+ staticConfig,
950
+ styleProps,
951
+ themeState,
952
+ viewProps,
953
+ willBeAnimated,
954
+ startedUnhydrated
955
+ });
956
+ } catch {} finally {
957
+ console.groupEnd();
958
+ }
959
+ }
960
+ }
961
+ }
962
+ if (process.env.NODE_ENV === "development" && time) {
963
+ time`rest`;
964
+ if (!globalThis["willPrint"]) {
965
+ globalThis["willPrint"] = true;
966
+ setTimeout(() => {
967
+ delete globalThis["willPrint"];
968
+ time.print();
969
+ time = null;
970
+ }, 50);
971
+ }
972
+ }
973
+ return content;
974
+ };
975
+ function notifyGroupSubscribers(groupContext, groupEmitter, pseudo) {
976
+ if (!groupContext || !groupEmitter) return;
977
+ const prevPseudo = groupContext.state.pseudo;
978
+ const shouldReplacePseudo = !prevPseudo || "unmounted" in prevPseudo || "group" in prevPseudo || "hasDynGroupChildren" in prevPseudo || "transition" in prevPseudo;
979
+ const nextPseudo = shouldReplacePseudo ? {} : prevPseudo;
980
+ let didChange = shouldReplacePseudo;
981
+ for (let i = 0; i < groupPseudoKeys.length; i++) {
982
+ const key = groupPseudoKeys[i];
983
+ const value = pseudo[key];
984
+ if (nextPseudo[key] !== value) {
985
+ nextPseudo[key] = value;
986
+ didChange = true;
987
+ } else if (didChange) nextPseudo[key] = value;
988
+ }
989
+ if (!didChange) return;
990
+ groupContext.state.pseudo = nextPseudo;
991
+ groupEmitter.emit(groupContext.state);
992
+ }
993
+ res = component;
994
+ res = React.memo(res);
995
+ res.staticConfig = staticConfig;
996
+ res.resolve = (resolver) => {
997
+ const next = createComponent({
998
+ ...staticConfig,
999
+ resolvers: staticConfig.resolvers ? [...staticConfig.resolvers, resolver] : [resolver]
1000
+ });
1001
+ for (const key in res) {
1002
+ if (key === "propTypes" || key in next) continue;
1003
+ next[key] = res[key];
1004
+ }
1005
+ return next;
1006
+ };
1007
+ if (displayName) {
1008
+ res.displayName = displayName;
1009
+ res[componentDisplayName] = displayName;
1010
+ }
1011
+ return res;
1017
1012
  }
1018
- const fromPx = val => {
1019
- if (typeof val === "number") return val;
1020
- if (typeof val === "string") return +val.replace("px", "");
1021
- return 0;
1013
+ const fromPx = (val) => {
1014
+ if (typeof val === "number") return val;
1015
+ if (typeof val === "string") return +val.replace("px", "");
1016
+ return 0;
1022
1017
  };
1023
1018
  const getCustomRender = (renderProp, content, viewProps, state) => {
1024
- if (typeof renderProp === "function") renderProp = getRenderElementForPlatform(renderProp(viewProps, state));
1025
- if (renderProp) {
1026
- if (typeof renderProp === "object" && React.isValidElement(renderProp)) {
1027
- if (getRenderElementForPlatform(renderProp)) {
1028
- const elementProps = renderProp.props;
1029
- const mergedProps = elementProps ? mergeRenderElementProps(elementProps, viewProps, content) : viewProps;
1030
- return {
1031
- elementType: renderProp.type,
1032
- viewProps: mergedProps
1033
- };
1034
- }
1035
- }
1036
- }
1019
+ if (typeof renderProp === "function") renderProp = getRenderElementForPlatform(renderProp(viewProps, state));
1020
+ if (renderProp) {
1021
+ if (typeof renderProp === "object" && React.isValidElement(renderProp)) {
1022
+ if (getRenderElementForPlatform(renderProp)) {
1023
+ const elementProps = renderProp.props;
1024
+ const mergedProps = elementProps ? mergeRenderElementProps(elementProps, viewProps, content) : viewProps;
1025
+ return {
1026
+ elementType: renderProp.type,
1027
+ viewProps: mergedProps
1028
+ };
1029
+ }
1030
+ }
1031
+ }
1037
1032
  };
1038
1033
  function getRenderElementForPlatform(potential) {
1039
- return potential;
1034
+ return potential;
1040
1035
  }
1036
+
1041
1037
  export { componentSetStates, createComponent };
1042
1038
  //# sourceMappingURL=createComponent.mjs.map