@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
@@ -5,36 +5,29 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: true
11
- });
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
12
  };
13
13
  var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
- get: () => from[key],
17
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
- });
19
- }
20
- return to;
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
21
  };
22
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
- // If the importer is in node compatibility mode or this is not an ESM
24
- // file that has been converted to a CommonJS file using a Babel-
25
- // compatible transform (i.e. "__esModule" has not been set), then set
26
- // "default" to the CommonJS "module.exports" for node compatibility.
27
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
- value: mod,
29
- enumerable: true
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
23
+ value: mod,
24
+ enumerable: true
30
25
  }) : target, mod));
31
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
- value: true
33
- }), mod);
26
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
34
27
  var createComponent_exports = {};
35
28
  __export(createComponent_exports, {
36
- componentSetStates: () => componentSetStates,
37
- createComponent: () => createComponent
29
+ componentSetStates: () => componentSetStates,
30
+ createComponent: () => createComponent
38
31
  });
39
32
  module.exports = __toCommonJS(createComponent_exports);
40
33
  var import_compose_refs = require("@tamagui/compose-refs");
@@ -50,20 +43,24 @@ var import_GroupContext = require("./contexts/GroupContext.cjs");
50
43
  var import_createVariable = require("./createVariable.cjs");
51
44
  var import_defaultComponentState = require("./defaultComponentState.cjs");
52
45
  var import_eventHandling = require("./eventHandling.cjs");
53
- var import_getDefaultProps = require("./helpers/getDefaultProps.cjs");
54
- var import_resolveAnimationDriver = require("./helpers/resolveAnimationDriver.cjs");
46
+ var import_componentDisplayName = require("./helpers/componentDisplayName.cjs");
55
47
  var import_getSplitStyles = require("./helpers/getSplitStyles.cjs");
48
+ var import_grammarConfig = require("./helpers/grammarConfig.cjs");
49
+ var import_styleStaticConfig = require("./helpers/styleStaticConfig.cjs");
50
+ require("./helpers/nativeStyleEngine.cjs");
51
+ require("./hooks/getThemeProxied.cjs");
56
52
  var import_log = require("./helpers/log.cjs");
57
53
  var import_mergeProps = require("./helpers/mergeProps.cjs");
58
54
  var import_mergeRenderElementProps = require("./helpers/mergeRenderElementProps.cjs");
59
- var import_objectIdentityKey = require("./helpers/objectIdentityKey.cjs");
55
+ require("./helpers/mediaState.cjs");
60
56
  var import_pointerEvents = require("./helpers/pointerEvents.cjs");
61
- var import_pseudoTransitions = require("./helpers/pseudoTransitions.cjs");
57
+ var import_extractPseudoState = require("./helpers/extractPseudoState.cjs");
58
+ var import_resolveSafeAreaVariable = require("./helpers/resolveSafeAreaVariable.cjs");
62
59
  var import_setElementProps = require("./helpers/setElementProps.cjs");
63
60
  var import_subscribeToContextGroup = require("./helpers/subscribeToContextGroup.cjs");
64
- var import_themeable = require("./helpers/themeable.cjs");
65
61
  var import_wrapStyleTags = require("./helpers/wrapStyleTags.cjs");
66
62
  var import_useComponentState = require("./hooks/useComponentState.cjs");
63
+ var import_useSplitStyles = require("./hooks/useSplitStyles.cjs");
67
64
  var import_useMedia = require("./hooks/useMedia.cjs");
68
65
  var import_useTheme = require("./hooks/useTheme.cjs");
69
66
  var import_setupHooks = require("./setupHooks.cjs");
@@ -73,1011 +70,994 @@ var import_jsx_runtime = require("react/jsx-runtime");
73
70
  let time;
74
71
  let debugKeyListeners;
75
72
  let startVisualizer;
76
- const componentSetStates = /* @__PURE__ */new Set();
77
- const avoidReRenderKeys = /* @__PURE__ */new Set(["hover", "press", "pressIn", "group", "focus", "focusWithin", "media", "group"]);
78
- const groupPseudoKeys = ["disabled", "hover", "press", "pressIn", "focus", "focusVisible", "focusWithin"];
73
+ const componentSetStates = /* @__PURE__ */ new Set();
74
+ const avoidReRenderKeys = /* @__PURE__ */ new Set([
75
+ "hover",
76
+ "press",
77
+ "pressIn",
78
+ "group",
79
+ "focus",
80
+ "focusWithin",
81
+ "media",
82
+ "group"
83
+ ]);
84
+ const groupPseudoKeys = [
85
+ "disabled",
86
+ "hover",
87
+ "press",
88
+ "pressIn",
89
+ "focus",
90
+ "focusVisible",
91
+ "focusWithin"
92
+ ];
79
93
  if (typeof window !== "undefined") {
80
- const cancelPresses = () => {
81
- componentSetStates.forEach(setState => setState(prev => {
82
- if (prev.press || prev.pressIn) return {
83
- ...prev,
84
- press: false,
85
- pressIn: false
86
- };
87
- return prev;
88
- }));
89
- componentSetStates.clear();
90
- };
91
- const cancelTouches = () => {
92
- componentSetStates.forEach(setState => setState(prev => {
93
- if (prev.press || prev.pressIn || prev.hover) return {
94
- ...prev,
95
- press: false,
96
- pressIn: false,
97
- hover: false
98
- };
99
- return prev;
100
- }));
101
- componentSetStates.clear();
102
- };
103
- addEventListener("mouseup", cancelPresses);
104
- addEventListener("touchend", cancelTouches);
105
- addEventListener("touchcancel", cancelTouches);
106
- if (process.env.NODE_ENV === "development") startVisualizer = () => {
107
- const devVisualizerConfig = import_config.devConfig?.visualizer;
108
- if (devVisualizerConfig && !globalThis.__tamaguiDevVisualizer) {
109
- let show = function (val) {
110
- clearTimeout(tm);
111
- isShowing = val;
112
- debugKeyListeners?.forEach(l => l(val));
113
- if (!val && resizeListener) {
114
- window.removeEventListener("resize", resizeListener);
115
- resizeListener = null;
116
- }
117
- },
118
- cancelShow = function () {
119
- clearTimeout(tm);
120
- if (resizeListener) {
121
- window.removeEventListener("resize", resizeListener);
122
- resizeListener = null;
123
- }
124
- };
125
- globalThis.__tamaguiDevVisualizer = true;
126
- debugKeyListeners = /* @__PURE__ */new Set();
127
- let tm;
128
- let isShowing = false;
129
- let resizeListener = null;
130
- const options = {
131
- key: "Alt",
132
- delay: 800,
133
- ...(typeof devVisualizerConfig === "object" ? devVisualizerConfig : {})
134
- };
135
- window.addEventListener("blur", () => {
136
- show(false);
137
- });
138
- window.addEventListener("keydown", ({
139
- key,
140
- metaKey,
141
- defaultPrevented
142
- }) => {
143
- clearTimeout(tm);
144
- if (defaultPrevented) return;
145
- if (metaKey) return;
146
- if (key === options.key) {
147
- if (!resizeListener) {
148
- resizeListener = () => cancelShow();
149
- window.addEventListener("resize", resizeListener);
150
- }
151
- tm = setTimeout(() => {
152
- show(true);
153
- }, options.delay);
154
- }
155
- });
156
- window.addEventListener("keyup", ({
157
- defaultPrevented
158
- }) => {
159
- if (defaultPrevented) return;
160
- cancelShow();
161
- if (isShowing) show(false);
162
- });
163
- }
164
- };
94
+ const cancelPresses = () => {
95
+ componentSetStates.forEach((setState) => setState((prev) => {
96
+ if (prev.press || prev.pressIn) return {
97
+ ...prev,
98
+ press: false,
99
+ pressIn: false
100
+ };
101
+ return prev;
102
+ }));
103
+ componentSetStates.clear();
104
+ };
105
+ const cancelTouches = () => {
106
+ componentSetStates.forEach((setState) => setState((prev) => {
107
+ if (prev.press || prev.pressIn || prev.hover) return {
108
+ ...prev,
109
+ press: false,
110
+ pressIn: false,
111
+ hover: false
112
+ };
113
+ return prev;
114
+ }));
115
+ componentSetStates.clear();
116
+ };
117
+ addEventListener("mouseup", cancelPresses);
118
+ addEventListener("touchend", cancelTouches);
119
+ addEventListener("touchcancel", cancelTouches);
120
+ if (process.env.NODE_ENV === "development") startVisualizer = () => {
121
+ const devVisualizerConfig = import_config.devConfig?.visualizer;
122
+ if (devVisualizerConfig && !globalThis.__tamaguiDevVisualizer) {
123
+ let show = function(val) {
124
+ clearTimeout(tm);
125
+ isShowing = val;
126
+ debugKeyListeners?.forEach((l) => l(val));
127
+ if (!val && resizeListener) {
128
+ window.removeEventListener("resize", resizeListener);
129
+ resizeListener = null;
130
+ }
131
+ }, cancelShow = function() {
132
+ clearTimeout(tm);
133
+ if (resizeListener) {
134
+ window.removeEventListener("resize", resizeListener);
135
+ resizeListener = null;
136
+ }
137
+ };
138
+ globalThis.__tamaguiDevVisualizer = true;
139
+ debugKeyListeners = /* @__PURE__ */ new Set();
140
+ let tm;
141
+ let isShowing = false;
142
+ let resizeListener = null;
143
+ const options = {
144
+ key: "Alt",
145
+ delay: 800,
146
+ ...typeof devVisualizerConfig === "object" ? devVisualizerConfig : {}
147
+ };
148
+ window.addEventListener("blur", () => {
149
+ show(false);
150
+ });
151
+ window.addEventListener("keydown", ({ key, metaKey, defaultPrevented }) => {
152
+ clearTimeout(tm);
153
+ if (defaultPrevented) return;
154
+ if (metaKey) return;
155
+ if (key === options.key) {
156
+ if (!resizeListener) {
157
+ resizeListener = () => cancelShow();
158
+ window.addEventListener("resize", resizeListener);
159
+ }
160
+ tm = setTimeout(() => {
161
+ show(true);
162
+ }, options.delay);
163
+ }
164
+ });
165
+ window.addEventListener("keyup", ({ defaultPrevented }) => {
166
+ if (defaultPrevented) return;
167
+ cancelShow();
168
+ if (isShowing) show(false);
169
+ });
170
+ }
171
+ };
165
172
  }
166
- const lastInteractionWasKeyboard = {
167
- value: false
168
- };
169
- const lastInteractionWasTouch = {
170
- value: false
171
- };
173
+ const lastInteractionWasKeyboard = { value: false };
174
+ const lastInteractionWasTouch = { value: false };
172
175
  if (import_constants.isWeb && typeof document !== "undefined") {
173
- document.addEventListener("keydown", () => {
174
- if (!lastInteractionWasKeyboard.value) lastInteractionWasKeyboard.value = true;
175
- });
176
- document.addEventListener("mousedown", () => {
177
- if (lastInteractionWasKeyboard.value) lastInteractionWasKeyboard.value = false;
178
- });
179
- document.addEventListener("mousemove", () => {
180
- if (lastInteractionWasKeyboard.value) lastInteractionWasKeyboard.value = false;
181
- lastInteractionWasTouch.value = false;
182
- });
183
- document.addEventListener("touchstart", () => {
184
- lastInteractionWasTouch.value = true;
185
- });
176
+ document.addEventListener("keydown", () => {
177
+ if (!lastInteractionWasKeyboard.value) lastInteractionWasKeyboard.value = true;
178
+ });
179
+ document.addEventListener("mousedown", () => {
180
+ if (lastInteractionWasKeyboard.value) lastInteractionWasKeyboard.value = false;
181
+ });
182
+ document.addEventListener("mousemove", () => {
183
+ if (lastInteractionWasKeyboard.value) lastInteractionWasKeyboard.value = false;
184
+ lastInteractionWasTouch.value = false;
185
+ });
186
+ document.addEventListener("touchstart", () => {
187
+ lastInteractionWasTouch.value = true;
188
+ });
186
189
  }
187
190
  function createComponent(staticConfig) {
188
- let config = null;
189
- const {
190
- Component,
191
- isText,
192
- isHOC
193
- } = staticConfig;
194
- const component = import_react.default.forwardRef((propsIn, forwardedRef) => {
195
- "use no memo";
196
-
197
- config = config || (0, import_config.getConfig)();
198
- const internalID = process.env.NODE_ENV === "development" ? import_react.default.useId() : "";
199
- if (process.env.NODE_ENV === "development") {
200
- if (startVisualizer) {
201
- startVisualizer();
202
- startVisualizer = void 0;
203
- }
204
- }
205
- if (process.env.NODE_ENV === "test") {
206
- const testRenderCount = propsIn["data-test-renders"];
207
- if (testRenderCount && typeof testRenderCount === "object" && !Object.isFrozen(testRenderCount)) {
208
- testRenderCount.current = testRenderCount.current ?? 0;
209
- testRenderCount.current += 1;
210
- }
211
- }
212
- const {
213
- context,
214
- isReactNative
215
- } = staticConfig;
216
- const debugProp = propsIn["debug"];
217
- const styledContextValue = context ? import_react.default.useContext(context) : void 0;
218
- let overriddenContextProps = null;
219
- const componentContext = import_react.default.useContext(import_ComponentContext.ComponentContext);
220
- const hasTextAncestor = !!(import_constants.isWeb && isText ? componentContext.inText : false);
221
- if (!process.env.TAMAGUI_IS_CORE_NODE && process.env.NODE_ENV === "development" && debugProp === "profile" && !time) {
222
- time = require("@tamagui/timer").timer().start();
223
- globalThis["time"] = time;
224
- }
225
- if (process.env.NODE_ENV === "development" && !time && globalThis.time) time = globalThis.time;
226
- if (process.env.NODE_ENV === "development" && time) time`non-tamagui time (ignore)`;
227
- let props = propsIn;
228
- const componentName = props.componentName || staticConfig.componentName;
229
- const defaultProps = (0, import_getDefaultProps.getDefaultProps)(staticConfig, props.componentName);
230
- const [nextProps, overrides] = (0, import_mergeProps.mergeComponentProps)(defaultProps, styledContextValue, propsIn);
231
- props = nextProps;
232
- overriddenContextProps = overrides;
233
- if (process.env.NODE_ENV === "development" && import_constants.isClient) import_react.default.useEffect(() => {
234
- let node;
235
- let overlay = null;
236
- const remove = () => {
237
- if (overlay) try {
238
- overlay.parentNode?.removeChild(overlay);
239
- overlay = null;
240
- } catch {}
241
- };
242
- const debugVisualizerHandler = (show = false) => {
243
- node = stateRef.current.host;
244
- if (!node) return;
245
- if (show) {
246
- if (!overlay) {
247
- overlay = document.createElement("span");
248
- overlay.style.inset = "0px";
249
- overlay.style.zIndex = "1000000";
250
- overlay.style.position = "absolute";
251
- overlay.style.borderColor = "red";
252
- overlay.style.borderWidth = "1px";
253
- overlay.style.borderStyle = "dotted";
254
- }
255
- const dataAt = node.getAttribute("data-at") || "";
256
- const dataIn = node.getAttribute("data-in") || "";
257
- const tooltip = document.createElement("span");
258
- tooltip.style.position = "absolute";
259
- tooltip.style.top = "0px";
260
- tooltip.style.left = "0px";
261
- tooltip.style.padding = "3px";
262
- tooltip.style.background = "rgba(0,0,0,0.75)";
263
- tooltip.style.color = "rgba(255,255,255,1)";
264
- tooltip.style.fontSize = "12px";
265
- tooltip.style.lineHeight = "12px";
266
- tooltip.style.fontFamily = "monospace";
267
- tooltip.innerText = `${componentName || ""} ${dataAt} ${dataIn}`.trim();
268
- overlay.appendChild(tooltip);
269
- node.appendChild(overlay);
270
- } else remove();
271
- };
272
- debugKeyListeners = debugKeyListeners || /* @__PURE__ */new Set();
273
- debugKeyListeners.add(debugVisualizerHandler);
274
- return () => {
275
- remove();
276
- debugKeyListeners?.delete(debugVisualizerHandler);
277
- };
278
- }, [componentName]);
279
- const groupContextParent = import_react.default.useContext(import_GroupContext.GroupContext);
280
- const animationDriver = (() => {
281
- if (props.animatedBy && config) {
282
- if (config.animationDrivers) return config.animationDrivers[props.animatedBy] ?? config.animations;
283
- return props.animatedBy === "default" ? config.animations : null;
284
- }
285
- return (0, import_resolveAnimationDriver.resolveAnimationDriver)(componentContext.animationDriver) ?? (0, import_resolveAnimationDriver.resolveAnimationDriver)(config?.animations) ?? null;
286
- })();
287
- const useAnimations = animationDriver?.useAnimations;
288
- const componentState = (0, import_useComponentState.useComponentState)(props, animationDriver?.isStub ? null : animationDriver, staticConfig, config);
289
- const {
290
- disabled,
291
- groupName,
292
- hasAnimationProp,
293
- hasEnterStyle,
294
- isAnimated,
295
- isExiting,
296
- isHydrated,
297
- presence,
298
- presenceState,
299
- setState,
300
- noClass,
301
- state,
302
- stateRef,
303
- inputStyle,
304
- outputStyle,
305
- willBeAnimated,
306
- willBeAnimatedClient,
307
- platformPseudo,
308
- startedUnhydrated
309
- } = componentState;
310
- if (animationDriver?.avoidReRenders) (0, import_constants.useIsomorphicLayoutEffect)(() => {
311
- const emitted = stateRef.current.prevPseudoState;
312
- if (emitted && (emitted.hover || emitted.press || emitted.focus)) stateRef.current.updateStyleListener?.();
313
- const pendingState = stateRef.current.nextState;
314
- if (!pendingState) return;
315
- stateRef.current.nextState = void 0;
316
- if (!(0, import_is_equal_shallow.isEqualShallow)(state, pendingState)) componentState.setStateShallow(pendingState);
317
- });
318
- (0, import_constants.useIsomorphicLayoutEffect)(() => {
319
- if (!platformPseudo || props.disabled) return;
320
- const pseudoDriver = (0, import_constants.getPlatformDriver)()?.pseudo;
321
- const host = stateRef.current.host;
322
- if (!pseudoDriver || !host) return;
323
- return pseudoDriver.subscribe(host, ({
324
- hovered
325
- }) => {
326
- stateRef.current.setStateShallow?.({
327
- hover: hovered
328
- });
329
- });
330
- }, [platformPseudo, props.disabled]);
331
- const allGroupContexts = (0, import_react.useMemo)(() => {
332
- if (!groupName || props.passThrough) return groupContextParent;
333
- const listeners = /* @__PURE__ */new Set();
334
- stateRef.current.group?.listeners?.clear();
335
- stateRef.current.group = {
336
- listeners,
337
- emit(state2) {
338
- listeners.forEach(l => l(state2));
339
- },
340
- subscribe(cb) {
341
- listeners.add(cb);
342
- if (listeners.size === 1) setStateShallow({
343
- hasDynGroupChildren: true
344
- });
345
- return () => {
346
- listeners.delete(cb);
347
- if (listeners.size === 0) setStateShallow({
348
- hasDynGroupChildren: false
349
- });
350
- };
351
- }
352
- };
353
- return {
354
- ...groupContextParent,
355
- [groupName]: {
356
- state: {
357
- pseudo: import_defaultComponentState.defaultComponentStateMounted
358
- },
359
- subscribe: listener => {
360
- const dispose = stateRef.current.group?.subscribe(listener);
361
- return () => {
362
- dispose?.();
363
- };
364
- }
365
- }
366
- };
367
- }, [stateRef, groupName, groupContextParent]);
368
- let setStateShallow = componentState.setStateShallow;
369
- if (process.env.NODE_ENV === "development" && time) time`use-state`;
370
- const renderProp = props.render;
371
- const isRenderString = !Component || typeof Component === "string";
372
- const element = import_constants.isWeb ? isRenderString ? renderProp || Component : Component : Component;
373
- const BaseComponent = isText ? element || "span" : element || (hasTextAncestor ? "span" : "div");
374
- let elementType = BaseComponent;
375
- if (animationDriver && isAnimated && animationDriver.needsCustomComponent) elementType = animationDriver[isText ? "Text" : "View"] || elementType;
376
- const disableTheme = props["data-disable-theme"] || isHOC;
377
- if (process.env.NODE_ENV === "development" && time) time`theme-props`;
378
- const themeStateProps = {
379
- componentName,
380
- disable: disableTheme,
381
- shallow: props.themeShallow,
382
- debug: debugProp,
383
- unstyled: props.unstyled
384
- };
385
- if ("theme" in props) themeStateProps.name = props.theme;
386
- themeStateProps.needsUpdate = () => !!stateRef.current.isListeningToTheme;
387
- if (process.env.NODE_ENV === "development") {
388
- if (debugProp && debugProp !== "profile") {
389
- const name = `${componentName || Component?.displayName || Component?.name || "[Unnamed Component]"}`;
390
- 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)" : "");
391
- const dataIs = propsIn["data-is"] || "";
392
- const banner = `<${name} /> ${internalID} ${dataIs ? ` ${dataIs}` : ""} ${type.trim()} (hydrated: ${isHydrated}) (unmounted: ${state.unmounted})`;
393
- const ch = propsIn.children;
394
- let childLog = typeof ch === "string" ? ch.length > 4 ? ch.slice(0, 4) + "..." : ch : "";
395
- if (childLog.length) childLog = `(children: ${childLog})`;
396
- if (import_constants.isWeb) {
397
- console.info(`%c ${banner}`, "background: green; color: white;");
398
- if (import_constants.isServer) (0, import_log.log)({
399
- noClass,
400
- isAnimated,
401
- isWeb: import_constants.isWeb,
402
- inputStyle
403
- });else {
404
- console.groupEnd();
405
- console.groupCollapsed(`${childLog} [inspect props, state, context \u{1F447}]`);
406
- (0, import_log.log)("props in:", propsIn);
407
- (0, import_log.log)("final props:", props, Object.keys(props));
408
- (0, import_log.log)({
409
- state,
410
- staticConfig,
411
- elementType,
412
- themeStateProps
413
- });
414
- (0, import_log.log)({
415
- context,
416
- overriddenContextProps,
417
- componentContext
418
- });
419
- (0, import_log.log)({
420
- presence,
421
- isAnimated,
422
- isHOC,
423
- hasAnimationProp,
424
- useAnimations
425
- });
426
- console.groupEnd();
427
- }
428
- } else {
429
- console.info(`
191
+ 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");
192
+ let config = null;
193
+ let resolvedDefaultProps;
194
+ let resolvedStyleRevision = -1;
195
+ let resolvedStyleStaticConfig;
196
+ const { Component, isText, isHOC } = staticConfig;
197
+ let res;
198
+ const { displayName } = staticConfig;
199
+ const component = (propsInWithRef) => {
200
+ "use no memo";
201
+ const forwardedRef = propsInWithRef.ref;
202
+ const propsIn = propsInWithRef;
203
+ config = config || (0, import_config.getConfig)();
204
+ const styleRevision = (0, import_grammarConfig.getConfigRevisionState)(config).revision;
205
+ if (resolvedStyleRevision !== styleRevision) {
206
+ resolvedStyleRevision = styleRevision;
207
+ const nextStyleStaticConfig = (0, import_styleStaticConfig.getStyleStaticConfig)(staticConfig, config);
208
+ resolvedStyleStaticConfig = nextStyleStaticConfig;
209
+ resolvedDefaultProps = nextStyleStaticConfig.defaultProps;
210
+ if (import_constants.isWeb && !staticConfig.isText && config.settings.defaultPosition === "relative" && nextStyleStaticConfig.baseStyle?.position === void 0) resolvedStyleStaticConfig = {
211
+ ...nextStyleStaticConfig,
212
+ baseStyle: {
213
+ position: "relative",
214
+ ...nextStyleStaticConfig.baseStyle
215
+ }
216
+ };
217
+ }
218
+ const styleStaticConfig = resolvedStyleStaticConfig;
219
+ styleStaticConfig.styledContextKeys;
220
+ const internalID = process.env.NODE_ENV === "development" ? import_react.default.useId() : "";
221
+ if (process.env.NODE_ENV === "development") {
222
+ if (startVisualizer) {
223
+ startVisualizer();
224
+ startVisualizer = void 0;
225
+ }
226
+ }
227
+ if (process.env.NODE_ENV === "test") {
228
+ const testRenderCount = propsIn["data-test-renders"];
229
+ if (testRenderCount && typeof testRenderCount === "object" && !Object.isFrozen(testRenderCount)) {
230
+ testRenderCount.current = testRenderCount.current ?? 0;
231
+ testRenderCount.current += 1;
232
+ }
233
+ }
234
+ const { context } = staticConfig;
235
+ const debugProp = propsIn["debug"];
236
+ const styledContextValue = context ? import_react.default.useContext(context) : void 0;
237
+ let overriddenContextProps = null;
238
+ const componentContext = import_react.default.useContext(import_ComponentContext.ComponentContext);
239
+ const hasTextAncestor = !!(import_constants.isWeb && isText ? componentContext.inText : false);
240
+ if (!process.env.TAMAGUI_IS_CORE_NODE && process.env.NODE_ENV === "development" && debugProp === "profile" && !time) {
241
+ time = require("@tamagui/timer").timer().start();
242
+ globalThis["time"] = time;
243
+ }
244
+ if (process.env.NODE_ENV === "development" && !time && globalThis.time) time = globalThis.time;
245
+ if (process.env.NODE_ENV === "development" && time) time`non-tamagui time (ignore)`;
246
+ let props = propsIn;
247
+ const [nextProps, overrides] = (0, import_mergeProps.mergeComponentProps)(resolvedDefaultProps, styledContextValue, propsIn);
248
+ props = nextProps;
249
+ overriddenContextProps = overrides;
250
+ if (process.env.NODE_ENV === "development" && import_constants.isClient) import_react.default.useEffect(() => {
251
+ let node;
252
+ let overlay = null;
253
+ const remove = () => {
254
+ if (overlay) try {
255
+ overlay.parentNode?.removeChild(overlay);
256
+ overlay = null;
257
+ } catch {}
258
+ };
259
+ const debugVisualizerHandler = (show = false) => {
260
+ node = stateRef.current.host;
261
+ if (!node) return;
262
+ if (show) {
263
+ if (!overlay) {
264
+ overlay = document.createElement("span");
265
+ overlay.style.inset = "0px";
266
+ overlay.style.zIndex = "1000000";
267
+ overlay.style.position = "absolute";
268
+ overlay.style.borderColor = "red";
269
+ overlay.style.borderWidth = "1px";
270
+ overlay.style.borderStyle = "dotted";
271
+ }
272
+ const dataAt = node.getAttribute("data-at") || "";
273
+ const dataIn = node.getAttribute("data-in") || "";
274
+ const tooltip = document.createElement("span");
275
+ tooltip.style.position = "absolute";
276
+ tooltip.style.top = "0px";
277
+ tooltip.style.left = "0px";
278
+ tooltip.style.padding = "3px";
279
+ tooltip.style.background = "rgba(0,0,0,0.75)";
280
+ tooltip.style.color = "rgba(255,255,255,1)";
281
+ tooltip.style.fontSize = "12px";
282
+ tooltip.style.lineHeight = "12px";
283
+ tooltip.style.fontFamily = "monospace";
284
+ tooltip.innerText = `${displayName || ""} ${dataAt} ${dataIn}`.trim();
285
+ overlay.appendChild(tooltip);
286
+ node.appendChild(overlay);
287
+ } else remove();
288
+ };
289
+ debugKeyListeners = debugKeyListeners || /* @__PURE__ */ new Set();
290
+ debugKeyListeners.add(debugVisualizerHandler);
291
+ return () => {
292
+ remove();
293
+ debugKeyListeners?.delete(debugVisualizerHandler);
294
+ };
295
+ }, [displayName]);
296
+ const groupContextParent = import_react.default.useContext(import_GroupContext.GroupContext);
297
+ const animationDriver = (() => {
298
+ if (props.animatedBy && config) {
299
+ if (config.animationDrivers) return props.animatedBy in config.animationDrivers ? config.animationDrivers[props.animatedBy] : config.animations;
300
+ return props.animatedBy === "default" ? config.animations : null;
301
+ }
302
+ return componentContext.animationDriver ?? config?.animations ?? null;
303
+ })();
304
+ const useAnimations = animationDriver?.isStub ? void 0 : animationDriver?.useAnimations;
305
+ const componentState = (0, import_useComponentState.useComponentState)(props, animationDriver?.isStub ? null : animationDriver, staticConfig, config);
306
+ const { disabled, hasAnimationProp, isExiting, isHydrated, presence, presenceState, setState, noClass, state, stateRef, inputStyle, outputStyle, startedUnhydrated } = componentState;
307
+ let { groupName } = componentState;
308
+ let { hasEnterStyle, isAnimated, willBeAnimated, willBeAnimatedClient, platformPseudo } = componentState;
309
+ props = componentState.props;
310
+ stateRef.current.avoidReRenders ??= !!animationDriver?.avoidReRenders;
311
+ if (stateRef.current.avoidReRenders) (0, import_constants.useIsomorphicLayoutEffect)(() => {
312
+ const emitted = stateRef.current.prevPseudoState;
313
+ if (emitted && (emitted.hover || emitted.press || emitted.focus)) stateRef.current.updateStyleListener?.();
314
+ const pendingState = stateRef.current.nextState;
315
+ if (!pendingState) return;
316
+ stateRef.current.nextState = void 0;
317
+ if (!(0, import_is_equal_shallow.isEqualShallow)(state, pendingState)) componentState.setStateShallow(pendingState);
318
+ });
319
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
320
+ if (!platformPseudo || props.disabled) return;
321
+ const pseudoDriver = (0, import_constants.getPlatformDriver)()?.pseudo;
322
+ const host = stateRef.current.host;
323
+ if (!pseudoDriver || !host) return;
324
+ return pseudoDriver.subscribe(host, ({ hovered }) => {
325
+ stateRef.current.setStateShallow?.({ hover: hovered });
326
+ });
327
+ }, [platformPseudo, props.disabled]);
328
+ let setStateShallow = componentState.setStateShallow;
329
+ if (process.env.NODE_ENV === "development" && time) time`use-state`;
330
+ const renderProp = props.render;
331
+ const isRenderString = !Component || typeof Component === "string";
332
+ const element = import_constants.isWeb ? isRenderString ? renderProp || Component : Component : Component;
333
+ const BaseComponent = isText ? element || "span" : element || (hasTextAncestor ? "span" : "div");
334
+ let elementType = BaseComponent;
335
+ const isAnimatedCustomComponent = animationDriver && isAnimated && animationDriver.needsCustomComponent;
336
+ if (isAnimatedCustomComponent) elementType = animationDriver[isText ? "Text" : "View"] || elementType;
337
+ const disableTheme = props["data-disable-theme"] || isHOC;
338
+ if (process.env.NODE_ENV === "development" && time) time`theme-props`;
339
+ const themeStateProps = {
340
+ disable: disableTheme,
341
+ shallow: props.themeShallow,
342
+ debug: debugProp
343
+ };
344
+ if ("theme" in props) themeStateProps.name = props.theme;
345
+ if (!stateRef.current.optimizeForFirstRender) themeStateProps.needsUpdate = stateRef.current.themeNeedsUpdate || (stateRef.current.themeNeedsUpdate = () => !!stateRef.current.isListeningToTheme);
346
+ if (process.env.NODE_ENV === "development") {
347
+ if (debugProp && debugProp !== "profile") {
348
+ const name = `${displayName || Component?.displayName || Component?.name || "[Unnamed Component]"}`;
349
+ 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)" : "");
350
+ const dataIs = propsIn["data-is"] || "";
351
+ const banner = `<${name} /> ${internalID} ${dataIs ? ` ${dataIs}` : ""} ${type.trim()} (hydrated: ${isHydrated}) (unmounted: ${state.unmounted})`;
352
+ const ch = propsIn.children;
353
+ let childLog = typeof ch === "string" ? ch.length > 4 ? ch.slice(0, 4) + "..." : ch : "";
354
+ if (childLog.length) childLog = `(children: ${childLog})`;
355
+ if (import_constants.isWeb) {
356
+ console.info(`%c ${banner}`, "background: green; color: white;");
357
+ if (import_constants.isServer) (0, import_log.log)({
358
+ noClass,
359
+ isAnimated,
360
+ isWeb: import_constants.isWeb,
361
+ inputStyle
362
+ });
363
+ else {
364
+ console.groupEnd();
365
+ console.groupCollapsed(`${childLog} [inspect props, state, context \u{1F447}]`);
366
+ (0, import_log.log)("props in:", propsIn);
367
+ (0, import_log.log)("final props:", props);
368
+ (0, import_log.log)({
369
+ state,
370
+ staticConfig,
371
+ elementType,
372
+ themeStateProps
373
+ });
374
+ (0, import_log.log)({
375
+ context,
376
+ overriddenContextProps,
377
+ componentContext
378
+ });
379
+ (0, import_log.log)({
380
+ presence,
381
+ isAnimated,
382
+ isHOC,
383
+ hasAnimationProp,
384
+ useAnimations
385
+ });
386
+ console.groupEnd();
387
+ }
388
+ } else {
389
+ console.info(`
430
390
 
431
391
  ------------------------------
432
392
  ${banner}
433
393
  ------------------------------
434
394
  `);
435
- (0, import_log.log)(`children:`, props.children);
436
- (0, import_log.log)({
437
- overriddenContextProps,
438
- styledContextValue
439
- });
440
- (0, import_log.log)({
441
- noClass,
442
- isAnimated,
443
- isWeb: import_constants.isWeb,
444
- inputStyle
445
- });
446
- }
447
- }
448
- }
449
- if (process.env.NODE_ENV === "development" && time) time`pre-theme-media`;
450
- const [theme, themeState] = (0, import_useTheme.useThemeWithState)(themeStateProps);
451
- if (process.env.NODE_ENV === "development" && time) time`theme`;
452
- elementType = element || elementType;
453
- const isStringElement = typeof elementType === "string";
454
- const mediaState = (0, import_useMedia.useMedia)(componentContext, debugProp);
455
- (0, import_createVariable.setDidGetVariableValue)(false);
456
- if (process.env.NODE_ENV === "development" && time) time`media`;
457
- const styleProps = {
458
- mediaState,
459
- noClass,
460
- resolveValues: isAnimated && inputStyle !== "css" || isHOC && state.unmounted == false && hasAnimationProp ? "value" : "auto",
461
- isExiting,
462
- isAnimated,
463
- willBeAnimated,
464
- styledContext: styledContextValue
465
- };
466
- const themeName = themeState?.name || "";
467
- if (process.env.NODE_ENV === "development" && time) time`split-styles-prepare`;
468
- const splitStyles = (0, import_getSplitStyles.useSplitStyles)(props, staticConfig, theme, themeName, state, styleProps, null, componentContext, allGroupContexts, elementType, startedUnhydrated, debugProp, animationDriver);
469
- const isPassthrough = !splitStyles;
470
- let contextForOverride = staticConfig.context;
471
- if (splitStyles?.overriddenContextProps) {
472
- const contextForProps = staticConfig.context || staticConfig.parentStaticConfig?.context;
473
- if (contextForProps) {
474
- for (const key in splitStyles.overriddenContextProps) {
475
- overriddenContextProps = overriddenContextProps || {};
476
- overriddenContextProps[key] = splitStyles.overriddenContextProps[key];
477
- }
478
- if (!staticConfig.context) contextForOverride = contextForProps;
479
- }
480
- }
481
- const groupContext = groupName ? allGroupContexts?.[groupName] || null : null;
482
- if (!isPassthrough && groupContext && props.containerType !== "normal") {
483
- const groupState = groupContext?.state;
484
- if (groupState && groupState.layout === void 0) {
485
- if (splitStyles.style?.width || splitStyles.style?.height) groupState.layout = {
486
- width: fromPx(splitStyles.style.width),
487
- height: fromPx(splitStyles.style.height)
488
- };
489
- }
490
- }
491
- const hasEnterExitTransition = props.transition && typeof props.transition === "object" && !Array.isArray(props.transition) && ("enter" in props.transition || "exit" in props.transition);
492
- if (!isPassthrough && (hasAnimationProp || groupName || platformPseudo) && animationDriver?.avoidReRenders && !hasEnterExitTransition) {
493
- let updateGroupListeners = function () {
494
- const updatedState = stateRef.current.nextState;
495
- if (groupContext) {
496
- const {
497
- group,
498
- hasDynGroupChildren,
499
- unmounted,
500
- transition,
501
- ...childrenGroupState
502
- } = updatedState;
503
- notifyGroupSubscribers(groupContext, stateRef.current.group || null, childrenGroupState);
504
- }
505
- };
506
- const ogSetStateShallow = setStateShallow;
507
- stateRef.current.updateStyleListener = () => {
508
- const useStyleListener = stateRef.current.useStyleListener;
509
- if (!useStyleListener) {
510
- const pendingState = stateRef.current.nextState;
511
- if (pendingState) ogSetStateShallow(pendingState);
512
- return;
513
- }
514
- const updatedState = stateRef.current.nextState || state;
515
- const mediaState2 = stateRef.current.nextMedia;
516
- const nextStyles = (0, import_getSplitStyles.getSplitStyles)(props, staticConfig, theme, themeName, updatedState, mediaState2 ? {
517
- ...styleProps,
518
- mediaState: mediaState2
519
- } : styleProps, null, componentContext, allGroupContexts, elementType, startedUnhydrated, debugProp, animationDriver);
520
- const effectiveTransition = (0, import_pseudoTransitions.resolveEffectivePseudoTransition)(stateRef.current.prevPseudoState, updatedState, nextStyles?.pseudoTransitions,
521
- // platform-pseudo with no declared transition = instant (CSS :hover semantics)
522
- props.transition ?? (platformPseudo ? "0ms" : void 0));
523
- stateRef.current.prevPseudoState = (0, import_pseudoTransitions.extractPseudoState)(updatedState);
524
- const hasActivePseudo = Boolean(updatedState.hover || updatedState.press || updatedState.pressIn || updatedState.focus || updatedState.focusWithin);
525
- useStyleListener(nextStyles?.style || {}, effectiveTransition, hasActivePseudo);
526
- };
527
- componentContext.mediaEmitListeners = componentContext.mediaEmitListeners || /* @__PURE__ */new Set();
528
- if (!stateRef.current.mediaEmitCleanup) {
529
- const updateListener = next => {
530
- stateRef.current.nextMedia = next;
531
- stateRef.current.updateStyleListener?.();
532
- };
533
- componentContext.mediaEmitListeners.add(updateListener);
534
- stateRef.current.mediaEmitCleanup = () => {
535
- componentContext.mediaEmitListeners?.delete(updateListener);
536
- };
537
- }
538
- componentContext.mediaEmit = componentContext.mediaEmit || (next => {
539
- for (const listener of componentContext.mediaEmitListeners) listener(next);
540
- });
541
- stateRef.current.setStateShallow = nextOrGetNext => {
542
- const prev = stateRef.current.nextState || state;
543
- const next = typeof nextOrGetNext === "function" ? nextOrGetNext(prev) : nextOrGetNext;
544
- if (next === prev || (0, import_is_equal_shallow.isEqualShallow)(prev, next)) return;
545
- const canAvoidReRender = Object.keys(next).every(key => avoidReRenderKeys.has(key));
546
- const updatedState = {
547
- ...prev,
548
- ...next
549
- };
550
- stateRef.current.nextState = updatedState;
551
- if (canAvoidReRender) {
552
- if (process.env.NODE_ENV === "development" && debugProp && debugProp !== "profile") {
553
- console.groupCollapsed(`[\u26A1\uFE0F] avoid setState`, componentName, next, {
554
- updatedState,
555
- props
556
- });
557
- console.info(stateRef.current.host);
558
- console.groupEnd();
559
- }
560
- updateGroupListeners();
561
- stateRef.current.updateStyleListener?.();
562
- } else {
563
- if (process.env.NODE_ENV === "development" && debugProp && debugProp !== "profile") console.info(`[\u{1F40C}] re-render`, {
564
- canAvoidReRender,
565
- next
566
- });
567
- ogSetStateShallow(next);
568
- }
569
- };
570
- setStateShallow = state2 => {
571
- stateRef.current.setStateShallow?.(state2);
572
- };
573
- }
574
- if (process.env.NODE_ENV === "development" && time) time`split-styles`;
575
- if (splitStyles) {
576
- if (props.group && props.untilMeasured === "hide" && !stateRef.current.hasMeasured) {
577
- splitStyles.style = splitStyles.style || {};
578
- splitStyles.style.opacity = 0;
579
- }
580
- if (splitStyles.dynamicThemeAccess != null) stateRef.current.isListeningToTheme = splitStyles.dynamicThemeAccess;
581
- }
582
- const hasRuntimeMediaKeys = splitStyles?.hasMedia && splitStyles.hasMedia !== true;
583
- const shouldListenForMedia = (0, import_createVariable.didGetVariableValue)() || hasRuntimeMediaKeys || noClass && splitStyles?.hasMedia === true;
584
- const mediaListeningKeys = hasRuntimeMediaKeys ? splitStyles.hasMedia : null;
585
- if (process.env.NODE_ENV === "development" && debugProp === "verbose") console.info(`useMedia() createComponent`, shouldListenForMedia, mediaListeningKeys);
586
- (0, import_useMedia.setMediaShouldUpdate)(componentContext, shouldListenForMedia, mediaListeningKeys);
587
- const {
588
- viewProps: viewPropsIn,
589
- pseudos,
590
- style: splitStylesStyle,
591
- classNames,
592
- pseudoGroups,
593
- mediaGroups
594
- } = splitStyles || {};
595
- const propsWithAnimation = props;
596
- const {
597
- asChild,
598
- children,
599
- themeShallow,
600
- spaceDirection: _spaceDirection,
601
- onPress,
602
- onLongPress,
603
- onPressIn,
604
- onPressOut,
605
- onHoverIn,
606
- onHoverOut,
607
- onMouseUp,
608
- onMouseDown,
609
- onMouseEnter,
610
- onMouseLeave,
611
- onFocus,
612
- onBlur,
613
- onDidAnimate,
614
- separator,
615
- passThrough,
616
- forceStyle: _forceStyle,
617
- onClick,
618
- theme: _themeProp,
619
- ...nonTamaguiProps
620
- } = viewPropsIn || {};
621
- let viewProps = nonTamaguiProps;
622
- if (props.forceStyle) viewProps.forceStyle = props.forceStyle;
623
- if (isHOC) {
624
- if (typeof _themeProp !== "undefined") viewProps.theme = _themeProp;
625
- if (typeof passThrough !== "undefined") viewProps.passThrough = passThrough;
626
- }
627
- let animationStyles;
628
- const shouldUseAnimation = (inputStyle === "css" ? willBeAnimatedClient : willBeAnimated) && useAnimations && !isHOC;
629
- let animatedRef;
630
- if (shouldUseAnimation) {
631
- const useStyleEmitter = animationDriver?.avoidReRenders ? listener => {
632
- stateRef.current.useStyleListener = listener;
633
- } : void 0;
634
- const effectiveTransition = (0, import_pseudoTransitions.resolveEffectivePseudoTransition)(stateRef.current.prevPseudoState, state, splitStyles?.pseudoTransitions,
635
- // platform-pseudo with no declared transition = instant (CSS :hover semantics)
636
- props.transition ?? (platformPseudo ? "0ms" : void 0));
637
- if (splitStyles) splitStyles.effectiveTransition = effectiveTransition;
638
- stateRef.current.prevPseudoState = (0, import_pseudoTransitions.extractPseudoState)(state);
639
- const animations = useAnimations({
640
- props: propsWithAnimation,
641
- style: isHydrated ? splitStylesStyle || {} : {
642
- ...splitStylesStyle
643
- },
644
- styleState: splitStyles,
645
- useStyleEmitter,
646
- presence,
647
- componentState: state,
648
- styleProps,
649
- theme,
650
- themeName,
651
- pseudos: pseudos || null,
652
- staticConfig,
653
- stateRef,
654
- onDidAnimate
655
- });
656
- if (animations) {
657
- if (animations.ref) animatedRef = animations.ref;
658
- if (isHydrated && animations) {
659
- animationStyles = animations.style;
660
- viewProps.style = animationStyles;
661
- if (animations.className) viewProps.className = `${state.unmounted === "should-enter" ? "t_unmounted " : ""}${viewProps.className || ""} ${animations.className}`;
662
- }
663
- }
664
- if (process.env.NODE_ENV === "development" && time) time`animations`;
665
- }
666
- 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.
667
-
668
- 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}`);
669
- if (process.env.NODE_ENV === "development" && time) time`destructure`;
670
- if (!isPassthrough && groupContext && props.containerType !== "normal") nonTamaguiProps.onLayout = (0, import_helpers.composeEventHandlers)(nonTamaguiProps.onLayout, e => {
671
- const layout = e.nativeEvent.layout;
672
- groupContext.state.layout = layout;
673
- stateRef.current.group?.emit({
674
- layout
675
- });
676
- if (!stateRef.current.hasMeasured && props.untilMeasured === "hide") setState(prev => ({
677
- ...prev
678
- }));
679
- stateRef.current.hasMeasured = true;
680
- });
681
- viewProps = import_setupHooks.hooks.usePropsTransform?.(elementType, nonTamaguiProps, stateRef, stateRef.current.willHydrate) || nonTamaguiProps;
682
- if (!stateRef.current.composedRef) stateRef.current.composedRef = (0, import_compose_refs.composeRefs)(x => stateRef.current.host = x, forwardedRef, import_setElementProps.setElementProps, animatedRef);
683
- viewProps.ref = stateRef.current.composedRef;
684
- (0, import_pointerEvents.usePointerEvents)(props, viewProps);
685
- if (process.env.NODE_ENV === "development") {
686
- if (!isReactNative && !isText && import_constants.isWeb && !isHOC) import_react.default.Children.toArray(props.children).forEach(item => {
687
- 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);
688
- });
689
- }
690
- if (process.env.NODE_ENV === "development" && time) time`events-hooks`;
691
- const unPress = () => {
692
- setStateShallow({
693
- press: false,
694
- pressIn: false
695
- });
696
- };
697
- if (process.env.NODE_ENV === "development" && import_constants.isWeb) (0, import_constants.useIsomorphicLayoutEffect)(() => {
698
- if (debugProp === "verbose") {
699
- let cssStyleDeclarationToObject = function (style) {
700
- const styleObject = {};
701
- for (let i = 0; i < style.length; i++) {
702
- let prop = style[i];
703
- styleObject[prop] = style.getPropertyValue(prop);
704
- }
705
- return styleObject;
706
- };
707
- const computed = stateRef.current.host ? cssStyleDeclarationToObject(getComputedStyle(stateRef.current.host)) : {};
708
- console.groupCollapsed(`Rendered > (opacity: ${computed.opacity})`);
709
- console.warn(stateRef.current.host);
710
- console.warn(computed);
711
- console.groupEnd();
712
- }
713
- });
714
- (0, import_constants.useIsomorphicLayoutEffect)(() => {
715
- if (state.unmounted === true && hasEnterStyle) {
716
- setStateShallow({
717
- unmounted: "should-enter"
718
- });
719
- return;
720
- }
721
- if (state.unmounted) {
722
- if (inputStyle === "css") {
723
- let cancelled = false;
724
- requestAnimationFrame(() => {
725
- if (cancelled) return;
726
- requestAnimationFrame(() => {
727
- if (cancelled) return;
728
- setStateShallow({
729
- unmounted: false
730
- });
731
- });
732
- });
733
- return () => {
734
- cancelled = true;
735
- };
736
- }
737
- setStateShallow({
738
- unmounted: false
739
- });
740
- }
741
- return () => {
742
- componentSetStates.delete(setState);
743
- stateRef.current.mediaEmitCleanup?.();
744
- };
745
- }, [state.unmounted, inputStyle]);
746
- (0, import_constants.useIsomorphicLayoutEffect)(() => {
747
- if (disabled) return;
748
- if (!pseudoGroups && !mediaGroups) return;
749
- if (!allGroupContexts) return;
750
- return (0, import_subscribeToContextGroup.subscribeToContextGroup)({
751
- groupContext: allGroupContexts,
752
- setStateShallow,
753
- mediaGroups,
754
- pseudoGroups
755
- });
756
- }, [allGroupContexts, disabled, pseudoGroups ? (0, import_objectIdentityKey.objectIdentityKey)(pseudoGroups) : 0, mediaGroups ? (0, import_objectIdentityKey.objectIdentityKey)(mediaGroups) : 0]);
757
- const groupEmitter = stateRef.current.group;
758
- (0, import_constants.useIsomorphicLayoutEffect)(() => {
759
- if (!groupContext || !groupEmitter) return;
760
- notifyGroupSubscribers(groupContext, groupEmitter, state);
761
- }, [groupContext, groupEmitter, state]);
762
- const runtimePressStyle = !disabled && noClass && pseudos?.pressStyle;
763
- const runtimeFocusStyle = !disabled && noClass && pseudos?.focusStyle;
764
- const runtimeFocusVisibleStyle = !disabled && noClass && pseudos?.focusVisibleStyle;
765
- const attachFocus = Boolean(runtimePressStyle || runtimeFocusStyle || runtimeFocusVisibleStyle || onFocus || onBlur || !!componentContext.setParentFocusState);
766
- const hasDynamicGroupChildren = Boolean(groupName && state.hasDynGroupChildren);
767
- const attachPress = Boolean(hasDynamicGroupChildren || runtimePressStyle || onPress || onPressOut || onPressIn || onMouseDown || onMouseUp || onLongPress || onClick || pseudos?.focusVisibleStyle);
768
- const runtimeHoverStyle = !disabled && noClass && pseudos?.hoverStyle;
769
- const needsHoverState = Boolean(hasDynamicGroupChildren || runtimeHoverStyle && !platformPseudo);
770
- const attachHover = (import_constants.isWeb || import_constants.isNativeDesktop) && !!(hasDynamicGroupChildren || needsHoverState || onMouseEnter || onMouseLeave);
771
- const shouldAttach = !disabled && !props.asChild && Boolean(attachFocus || attachPress || attachHover || runtimePressStyle || runtimeHoverStyle || runtimeFocusStyle);
772
- const needsPressState = Boolean(hasDynamicGroupChildren || runtimePressStyle);
773
- if (process.env.NODE_ENV === "development" && time) time`events-setup`;
774
- if (process.env.NODE_ENV === "development" && debugProp === "verbose") (0, import_log.log)(`\u{1FAA9} events()`, {
775
- runtimeFocusStyle,
776
- runtimePressStyle,
777
- runtimeHoverStyle,
778
- runtimeFocusVisibleStyle,
779
- attachPress,
780
- attachFocus,
781
- attachHover,
782
- shouldAttach,
783
- needsHoverState,
784
- pseudos
785
- });
786
- const events = shouldAttach ? {
787
- onPressOut: attachPress ? e => {
788
- unPress();
789
- onPressOut?.(e);
790
- onMouseUp?.(e);
791
- } : void 0,
792
- ...((attachHover || attachPress) && {
793
- onMouseEnter: e => {
794
- const next = {};
795
- if (needsHoverState && !lastInteractionWasTouch.value) next.hover = true;
796
- if (needsPressState) {
797
- if (state.pressIn) next.press = true;
798
- }
799
- setStateShallow(next);
800
- onHoverIn?.(e);
801
- onMouseEnter?.(e);
802
- },
803
- onMouseLeave: e => {
804
- const next = {};
805
- if (needsHoverState) next.hover = false;
806
- if (needsPressState) {
807
- next.press = false;
808
- next.pressIn = false;
809
- }
810
- setStateShallow(next);
811
- onHoverOut?.(e);
812
- onMouseLeave?.(e);
813
- }
814
- }),
815
- onPressIn: attachPress ? e => {
816
- if (needsPressState) setStateShallow({
817
- press: true,
818
- pressIn: true
819
- });
820
- onPressIn?.(e);
821
- onMouseDown?.(e);
822
- if (import_constants.isWeb) componentSetStates.add(setState);
823
- } : void 0,
824
- onPress: attachPress ? e => {
825
- unPress();
826
- onClick?.(e);
827
- if (onPress || onClick) e.stopPropagation();
828
- onPress?.(e);
829
- onLongPress?.(e);
830
- } : void 0,
831
- ...(attachFocus && {
832
- onFocus: e => {
833
- const next = {};
834
- if (componentContext.setParentFocusState) {
835
- componentContext.setParentFocusState({
836
- focusWithin: true
837
- });
838
- next.focusWithin = true;
839
- }
840
- if (pseudos?.focusVisibleStyle) {
841
- if (lastInteractionWasKeyboard.value) next.focusVisible = true;else next.focus = true;
842
- } else next.focus = true;
843
- setStateShallow(next);
844
- onFocus?.(e);
845
- },
846
- onBlur: e => {
847
- if (componentContext.setParentFocusState) componentContext.setParentFocusState({
848
- focusWithin: false
849
- });
850
- setStateShallow({
851
- focus: false,
852
- focusVisible: false,
853
- focusWithin: false
854
- });
855
- onBlur?.(e);
856
- }
857
- })
858
- } : null;
859
- if (events && !isReactNative) Object.assign(viewProps, (0, import_eventHandling.getWebEvents)(events));
860
- if (process.env.NODE_ENV === "development" && time) time`events`;
861
- if (process.env.NODE_ENV === "development" && debugProp === "verbose") (0, import_log.log)(`events`, {
862
- events,
863
- attachHover,
864
- attachPress
865
- });
866
- const propsWithHref = props;
867
- const propsInWithHref = propsIn;
868
- [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(":");
869
- if (process.env.NODE_ENV === "development" && time) time`hooks`;
870
- if (asChild) {
871
- elementType = import_Slot.Slot;
872
- {
873
- const webStyleEvents = asChild === "web" || asChild === "except-style-web";
874
- const passEvents = (0, import_eventHandling.getWebEvents)({
875
- onPress,
876
- onLongPress,
877
- onPressIn,
878
- onPressOut,
879
- onMouseUp,
880
- onMouseDown,
881
- onMouseEnter,
882
- onMouseLeave
883
- }, webStyleEvents);
884
- Object.assign(viewProps, passEvents);
885
- }
886
- }
887
- if (process.env.NODE_ENV === "development" && time) time`spaced-as-child`;
888
- let content;
889
- if (isPassthrough) content = import_react.default.createElement(BaseComponent, {
890
- style: {
891
- display: "contents"
892
- }
893
- }, propsIn.children);else {
894
- if (import_setupHooks.hooks.useChildren) content = import_setupHooks.hooks.useChildren(elementType, content || children, viewProps);
895
- const isRenderPropString = typeof renderProp === "string";
896
- if (renderProp && !isRenderPropString) {
897
- const out = getCustomRender(renderProp, content || children, viewProps, componentState);
898
- if (out) {
899
- viewProps = out.viewProps;
900
- elementType = out.elementType;
901
- }
902
- }
903
- if (!content) {
904
- if (isRenderPropString) viewProps.render;
905
- content = import_react.default.createElement(elementType, viewProps, content || children);
906
- }
907
- if (process.env.NODE_ENV === "development" && time) time`use-children`;
908
- }
909
- const ResetPresence = animationDriver?.ResetPresence;
910
- const needsReset = Boolean(
911
- // not when passing down to child
912
- !asChild && splitStyles && !isHOC && ResetPresence && willBeAnimated && (hasEnterStyle || presenceState));
913
- const hasEverReset = stateRef.current.hasEverResetPresence;
914
- if (needsReset && !hasEverReset) stateRef.current.hasEverResetPresence = true;
915
- if ((needsReset || hasEverReset) && ResetPresence) content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(ResetPresence, {
916
- disabled: !needsReset,
917
- children: content
918
- });
919
- if (process.env.NODE_ENV === "development" && time) time`create-element`;
920
- if ("focusWithinStyle" in propsIn || pseudos?.focusWithinStyle) content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, {
921
- ...componentContext,
922
- setParentFocusState: setStateShallow,
923
- children: content
924
- });
925
- if ("group" in props) content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_GroupContext.GroupContext.Provider, {
926
- value: allGroupContexts,
927
- children: content
928
- });
929
- if (!asChild && isText && !hasTextAncestor) content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, {
930
- ...componentContext,
931
- inText: true,
932
- children: content
933
- });
934
- if (process.env.NODE_ENV === "development" && time) time`group-context`;
935
- content = disableTheme || !splitStyles ? content : (0, import_Theme.getThemedChildren)(themeState, content, themeStateProps, false, stateRef);
936
- if (process.env.NODE_ENV === "development" && time) time`themed-children`;
937
- if (isReactNative && !asChild) content = /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
938
- className: "_dsp_contents",
939
- ...(!isPassthrough && isHydrated && events && (0, import_eventHandling.getWebEvents)(events)),
940
- children: content
941
- });
942
- if (overriddenContextProps && contextForOverride) {
943
- const Provider = contextForOverride.Provider;
944
- for (const key in styledContextValue) if (!(key in overriddenContextProps)) overriddenContextProps[key] = styledContextValue[key];
945
- content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(Provider, {
946
- __disableMergeDefaultValues: true,
947
- ...overriddenContextProps,
948
- children: content
949
- });
950
- }
951
- if (process.env.NODE_ENV === "development" && time) time`context-override`;
952
- if (startedUnhydrated && splitStyles) content = /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
953
- children: [content, !isHydrated ? (0, import_wrapStyleTags.getStyleTags)(Object.values(splitStyles.rulesToInsert)) : null]
954
- });
955
- if (process.env.NODE_ENV === "development" && time) time`style-tags`;
956
- if (process.env.NODE_ENV === "development") {
957
- if (debugProp && debugProp !== "profile") {
958
- const title = `render <${typeof elementType === "string" ? elementType : "Component"} /> (${internalID}) with props`;
959
- if (!import_constants.isWeb || !import_constants.isClient) {
960
- (0, import_log.log)(title);
961
- (0, import_log.log)(`state: `, state);
962
- if (import_isDevTools.isDevTools) (0, import_log.log)("viewProps", viewProps);
963
- (0, import_log.log)(`final styles:`);
964
- for (const key in splitStylesStyle) (0, import_log.log)(key, splitStylesStyle[key]);
965
- } else {
966
- console.groupCollapsed(title);
967
- try {
968
- (0, import_log.log)("viewProps", viewProps);
969
- (0, import_log.log)("children", content);
970
- if (typeof window !== "undefined") (0, import_log.log)({
971
- propsIn,
972
- props,
973
- attachPress,
974
- animationStyles,
975
- classNames,
976
- content,
977
- elementType,
978
- events,
979
- isAnimated,
980
- hasRuntimeMediaKeys,
981
- isStringElement,
982
- mediaListeningKeys,
983
- pseudos,
984
- shouldAttach,
985
- noClass,
986
- shouldListenForMedia,
987
- splitStyles,
988
- splitStylesStyle,
989
- state,
990
- stateRef,
991
- staticConfig,
992
- styleProps,
993
- themeState,
994
- viewProps,
995
- willBeAnimated,
996
- startedUnhydrated
997
- });
998
- } catch {} finally {
999
- console.groupEnd();
1000
- }
1001
- }
1002
- if (debugProp === "break") {}
1003
- }
1004
- }
1005
- if (process.env.NODE_ENV === "development" && time) {
1006
- time`rest`;
1007
- if (!globalThis["willPrint"]) {
1008
- globalThis["willPrint"] = true;
1009
- setTimeout(() => {
1010
- delete globalThis["willPrint"];
1011
- time.print();
1012
- time = null;
1013
- }, 50);
1014
- }
1015
- }
1016
- return content;
1017
- });
1018
- function notifyGroupSubscribers(groupContext, groupEmitter, pseudo) {
1019
- if (!groupContext || !groupEmitter) return;
1020
- const prevPseudo = groupContext.state.pseudo;
1021
- const shouldReplacePseudo = !prevPseudo || "unmounted" in prevPseudo || "group" in prevPseudo || "hasDynGroupChildren" in prevPseudo || "transition" in prevPseudo;
1022
- const nextPseudo = shouldReplacePseudo ? {} : prevPseudo;
1023
- let didChange = shouldReplacePseudo;
1024
- for (let i = 0; i < groupPseudoKeys.length; i++) {
1025
- const key = groupPseudoKeys[i];
1026
- const value = pseudo[key];
1027
- if (nextPseudo[key] !== value) {
1028
- nextPseudo[key] = value;
1029
- didChange = true;
1030
- } else if (didChange) nextPseudo[key] = value;
1031
- }
1032
- if (!didChange) return;
1033
- groupContext.state.pseudo = nextPseudo;
1034
- groupEmitter.emit(groupContext.state);
1035
- }
1036
- if (staticConfig.componentName) component.displayName = staticConfig.componentName;
1037
- let res = component;
1038
- res = import_react.default.memo(res);
1039
- res.staticConfig = staticConfig;
1040
- function extendStyledConfig(extended) {
1041
- return {
1042
- ...staticConfig,
1043
- ...extended,
1044
- neverFlatten: true,
1045
- isHOC: true,
1046
- isStyledHOC: false
1047
- };
1048
- }
1049
- function styleable(Component2, options) {
1050
- let out = typeof Component2 === "function" && Component2.length === 1 ? Component2 : import_react.default.forwardRef(Component2);
1051
- const extendedConfig = extendStyledConfig(options?.staticConfig);
1052
- out = options?.disableTheme ? out : (0, import_themeable.themeable)(out, extendedConfig, true);
1053
- if (extendedConfig.memo || process.env.TAMAGUI_MEMOIZE_STYLEABLE) out = import_react.default.memo(out);
1054
- out.staticConfig = extendedConfig;
1055
- out.styleable = styleable;
1056
- return out;
1057
- }
1058
- res.styleable = styleable;
1059
- return res;
395
+ (0, import_log.log)(`children:`, props.children);
396
+ (0, import_log.log)({
397
+ overriddenContextProps,
398
+ styledContextValue
399
+ });
400
+ (0, import_log.log)({
401
+ noClass,
402
+ isAnimated,
403
+ isWeb: import_constants.isWeb,
404
+ inputStyle
405
+ });
406
+ }
407
+ }
408
+ }
409
+ if (process.env.NODE_ENV === "development" && time) time`pre-theme-media`;
410
+ const [theme, themeState] = (0, import_useTheme.useThemeWithState)(themeStateProps);
411
+ if (process.env.NODE_ENV === "development" && time) time`theme`;
412
+ if (!isAnimatedCustomComponent) elementType = element || elementType;
413
+ const isStringElement = typeof elementType === "string";
414
+ const mediaState = (0, import_useMedia.useMedia)(componentContext, debugProp, stateRef.current);
415
+ (0, import_createVariable.setDidGetVariableValue)(false);
416
+ if (process.env.NODE_ENV === "development" && time) time`media`;
417
+ const styleProps = {
418
+ mediaState,
419
+ noClass,
420
+ resolveValues: isAnimated && inputStyle !== "css" || isHOC && state.unmounted == false && hasAnimationProp ? "value" : "auto",
421
+ isExiting,
422
+ isAnimated,
423
+ willBeAnimated,
424
+ canPlatformPseudo: componentState.platformPseudo,
425
+ displayName,
426
+ styledContext: styledContextValue
427
+ };
428
+ const themeName = themeState?.name || "";
429
+ if (process.env.NODE_ENV === "development" && time) time`split-styles-prepare`;
430
+ const splitStyles = (0, import_useSplitStyles.useSplitStyles)(props, staticConfig, theme, themeName, state, styleProps, null, componentContext, groupContextParent, elementType, startedUnhydrated, debugProp, animationDriver, styleStaticConfig);
431
+ const finalizedComponentState = componentState.finalizeStyleFlags(!!splitStyles?.hasEnterStyle, !!splitStyles?.platformPseudo);
432
+ hasEnterStyle = finalizedComponentState.hasEnterStyle;
433
+ isAnimated = finalizedComponentState.isAnimated;
434
+ willBeAnimated = finalizedComponentState.willBeAnimated;
435
+ willBeAnimatedClient = finalizedComponentState.willBeAnimatedClient;
436
+ platformPseudo = finalizedComponentState.platformPseudo;
437
+ groupName = splitStyles?.frontendGroup ?? groupName;
438
+ const containerProp = splitStyles?.frontendContainer ?? props.container;
439
+ const containerName = props.containerName || (typeof containerProp === "string" ? containerProp : void 0);
440
+ const containerType = splitStyles?.frontendContainerType || props.containerType || (containerProp ? "inline-size" : void 0);
441
+ const isContainer = !!containerType && containerType !== "normal";
442
+ const allGroupContexts = (0, import_react.useMemo)(() => {
443
+ if (!groupName && !isContainer || props.passThrough) return groupContextParent;
444
+ const listeners = /* @__PURE__ */ new Set();
445
+ stateRef.current.group?.listeners?.clear();
446
+ stateRef.current.group = {
447
+ listeners,
448
+ emit(state2) {
449
+ listeners.forEach((l) => l(state2));
450
+ },
451
+ subscribe(cb) {
452
+ listeners.add(cb);
453
+ if (listeners.size === 1) setStateShallow({ hasDynGroupChildren: true });
454
+ return () => {
455
+ listeners.delete(cb);
456
+ if (listeners.size === 0) setStateShallow({ hasDynGroupChildren: false });
457
+ };
458
+ }
459
+ };
460
+ const entry = {
461
+ state: { pseudo: import_defaultComponentState.defaultComponentStateMounted },
462
+ subscribe: (listener) => {
463
+ const dispose = stateRef.current.group?.subscribe(listener);
464
+ return () => {
465
+ dispose?.();
466
+ };
467
+ }
468
+ };
469
+ const next = { ...groupContextParent };
470
+ if (groupName) next[groupName] = entry;
471
+ if (isContainer) {
472
+ next["@"] = entry;
473
+ if (containerName) next[`@${containerName}`] = entry;
474
+ }
475
+ return next;
476
+ }, [
477
+ stateRef,
478
+ groupName,
479
+ containerName,
480
+ isContainer,
481
+ groupContextParent
482
+ ]);
483
+ const isPassthrough = !splitStyles;
484
+ let contextForOverride = staticConfig.context;
485
+ if (splitStyles?.overriddenContextProps) {
486
+ const contextForProps = staticConfig.context || staticConfig.parentStaticConfig?.context;
487
+ if (contextForProps) {
488
+ for (const key in splitStyles.overriddenContextProps) {
489
+ overriddenContextProps = overriddenContextProps || {};
490
+ overriddenContextProps[key] = splitStyles.overriddenContextProps[key];
491
+ }
492
+ if (!staticConfig.context) contextForOverride = contextForProps;
493
+ }
494
+ }
495
+ const groupContext = groupName || isContainer ? allGroupContexts?.[groupName ?? "@"] || null : null;
496
+ if (!isPassthrough && groupContext && isContainer) {
497
+ const groupState = groupContext?.state;
498
+ if (groupState && groupState.layout === void 0) {
499
+ if (splitStyles.style?.width || splitStyles.style?.height) groupState.layout = {
500
+ width: fromPx(splitStyles.style.width),
501
+ height: fromPx(splitStyles.style.height)
502
+ };
503
+ }
504
+ }
505
+ const hasEnterExitTransition = props.transition && typeof props.transition === "object" && !Array.isArray(props.transition) && ("enter" in props.transition || "exit" in props.transition);
506
+ if (!isPassthrough && (hasAnimationProp || groupName || platformPseudo) && animationDriver?.avoidReRenders && !hasEnterExitTransition) {
507
+ let updateGroupListeners = function() {
508
+ const updatedState = stateRef.current.nextState;
509
+ if (groupContext) {
510
+ const { group, hasDynGroupChildren, unmounted, transition, ...childrenGroupState } = updatedState;
511
+ notifyGroupSubscribers(groupContext, stateRef.current.group || null, childrenGroupState);
512
+ }
513
+ };
514
+ const ogSetStateShallow = setStateShallow;
515
+ stateRef.current.updateStyleListener = () => {
516
+ const useStyleListener = stateRef.current.useStyleListener;
517
+ if (!useStyleListener) {
518
+ const pendingState = stateRef.current.nextState;
519
+ if (pendingState) ogSetStateShallow(pendingState);
520
+ return;
521
+ }
522
+ const updatedState = stateRef.current.nextState || state;
523
+ const mediaState2 = stateRef.current.nextMedia;
524
+ const nextStyles = (0, import_getSplitStyles.getSplitStyles)(props, staticConfig, theme, themeName, updatedState, mediaState2 ? {
525
+ ...styleProps,
526
+ mediaState: mediaState2
527
+ } : styleProps, null, componentContext, allGroupContexts, elementType, startedUnhydrated, debugProp, animationDriver, styleStaticConfig);
528
+ const effectiveTransition = nextStyles?.effectiveTransition ?? props.transition ?? (platformPseudo ? "0ms" : void 0);
529
+ stateRef.current.prevPseudoState = (0, import_extractPseudoState.extractPseudoState)(updatedState);
530
+ const hasActivePseudo = Boolean(updatedState.hover || updatedState.press || updatedState.pressIn || updatedState.focus || updatedState.focusWithin);
531
+ useStyleListener(nextStyles?.style || {}, effectiveTransition, hasActivePseudo);
532
+ };
533
+ componentContext.mediaEmitListeners = componentContext.mediaEmitListeners || /* @__PURE__ */ new Set();
534
+ if (!stateRef.current.mediaEmitCleanup) {
535
+ const updateListener = (next) => {
536
+ stateRef.current.nextMedia = next;
537
+ stateRef.current.updateStyleListener?.();
538
+ };
539
+ componentContext.mediaEmitListeners.add(updateListener);
540
+ stateRef.current.mediaEmitCleanup = () => {
541
+ componentContext.mediaEmitListeners?.delete(updateListener);
542
+ };
543
+ }
544
+ componentContext.mediaEmit = componentContext.mediaEmit || ((next) => {
545
+ for (const listener of componentContext.mediaEmitListeners) listener(next);
546
+ });
547
+ stateRef.current.setStateShallow = (nextOrGetNext) => {
548
+ const prev = stateRef.current.nextState || state;
549
+ const next = typeof nextOrGetNext === "function" ? nextOrGetNext(prev) : nextOrGetNext;
550
+ if (next === prev || (0, import_is_equal_shallow.isEqualShallow)(prev, next)) return;
551
+ let canAvoidReRender = true;
552
+ for (const key in next) if (!avoidReRenderKeys.has(key)) {
553
+ canAvoidReRender = false;
554
+ break;
555
+ }
556
+ const updatedState = {
557
+ ...prev,
558
+ ...next
559
+ };
560
+ stateRef.current.nextState = updatedState;
561
+ if (canAvoidReRender) {
562
+ if (process.env.NODE_ENV === "development" && debugProp && debugProp !== "profile") {
563
+ console.groupCollapsed(`[\u26A1\uFE0F] avoid setState`, displayName, next, {
564
+ updatedState,
565
+ props
566
+ });
567
+ console.info(stateRef.current.host);
568
+ console.groupEnd();
569
+ }
570
+ updateGroupListeners();
571
+ stateRef.current.updateStyleListener?.();
572
+ } else {
573
+ if (process.env.NODE_ENV === "development" && debugProp && debugProp !== "profile") console.info(`[\u{1F40C}] re-render`, {
574
+ canAvoidReRender,
575
+ next
576
+ });
577
+ ogSetStateShallow(next);
578
+ }
579
+ };
580
+ setStateShallow = (state2) => {
581
+ stateRef.current.setStateShallow?.(state2);
582
+ };
583
+ }
584
+ if (process.env.NODE_ENV === "development" && time) time`split-styles`;
585
+ if (splitStyles) {
586
+ if (props.group && props.untilMeasured === "hide" && !stateRef.current.hasMeasured) {
587
+ splitStyles.style = splitStyles.style || {};
588
+ splitStyles.style.opacity = 0;
589
+ }
590
+ }
591
+ const hasRuntimeMediaKeys = splitStyles?.hasMedia && splitStyles.hasMedia !== true;
592
+ const shouldListenForMedia = (0, import_createVariable.didGetVariableValue)() || hasRuntimeMediaKeys || noClass && splitStyles?.hasMedia === true;
593
+ const mediaListeningKeys = hasRuntimeMediaKeys ? splitStyles.hasMedia : null;
594
+ if (process.env.NODE_ENV === "development" && debugProp === "verbose") console.info(`useMedia() createComponent`, shouldListenForMedia, mediaListeningKeys);
595
+ (0, import_useMedia.setMediaShouldUpdate)(stateRef.current, shouldListenForMedia, mediaListeningKeys, stateRef.current.optimizeForFirstRender);
596
+ const { viewProps: viewPropsIn, style: splitStylesStyle, classNames, pseudoGroups, mediaGroups } = splitStyles || {};
597
+ const groupSetRevision = (0, import_subscribeToContextGroup.useGroupSetRevision)(pseudoGroups, mediaGroups);
598
+ const propsWithAnimation = props;
599
+ 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 || {};
600
+ let viewProps = nonTamaguiProps;
601
+ if (props.forceStyle) viewProps.forceStyle = props.forceStyle;
602
+ if (isHOC) {
603
+ if (typeof _themeProp !== "undefined") viewProps.theme = _themeProp;
604
+ if (typeof passThrough !== "undefined") viewProps.passThrough = passThrough;
605
+ if (typeof asChild !== "undefined") viewProps.asChild = asChild;
606
+ if (typeof onTransition !== "undefined") viewProps.onTransition = onTransition;
607
+ }
608
+ let animationStyles;
609
+ const shouldUseAnimation = (inputStyle === "css" ? willBeAnimatedClient : willBeAnimated) && useAnimations && !isHOC;
610
+ let animatedRef;
611
+ if (shouldUseAnimation) {
612
+ const useStyleEmitter = animationDriver?.avoidReRenders ? (listener) => {
613
+ stateRef.current.useStyleListener = listener;
614
+ } : void 0;
615
+ const effectiveTransition = splitStyles?.effectiveTransition ?? props.transition ?? (platformPseudo ? "0ms" : void 0);
616
+ if (splitStyles) splitStyles.effectiveTransition = effectiveTransition;
617
+ stateRef.current.prevPseudoState = (0, import_extractPseudoState.extractPseudoState)(state);
618
+ const animations = useAnimations({
619
+ props: propsWithAnimation,
620
+ style: isHydrated ? splitStylesStyle || {} : { ...splitStylesStyle },
621
+ styleState: splitStyles,
622
+ useStyleEmitter,
623
+ presence,
624
+ componentState: state,
625
+ styleProps,
626
+ theme,
627
+ themeName,
628
+ staticConfig,
629
+ stateRef,
630
+ onTransition
631
+ });
632
+ if (animations) {
633
+ if (animations.ref) animatedRef = animations.ref;
634
+ if (isHydrated && animations) {
635
+ animationStyles = animations.style;
636
+ viewProps.style = animationStyles;
637
+ if (animations.className) viewProps.className = `${state.unmounted === "should-enter" ? "t_unmounted " : ""}${viewProps.className || ""} ${animations.className}`;
638
+ }
639
+ }
640
+ if (process.env.NODE_ENV === "development" && time) time`animations`;
641
+ }
642
+ if (import_constants.isWeb && isExiting) viewProps.className = `t_exiting ${viewProps.className || ""}`;
643
+ 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.`);
644
+ if (process.env.NODE_ENV === "development" && time) time`destructure`;
645
+ if (!isPassthrough && groupContext && isContainer) nonTamaguiProps.onLayout = (0, import_helpers.composeEventHandlers)(nonTamaguiProps.onLayout, (e) => {
646
+ const layout = e.nativeEvent.layout;
647
+ groupContext.state.layout = layout;
648
+ stateRef.current.group?.emit({ layout });
649
+ if (!stateRef.current.hasMeasured && props.untilMeasured === "hide") setState((prev) => ({ ...prev }));
650
+ stateRef.current.hasMeasured = true;
651
+ });
652
+ viewProps = import_setupHooks.hooks.usePropsTransform?.(elementType, nonTamaguiProps, stateRef, stateRef.current.willHydrate) || nonTamaguiProps;
653
+ stateRef.current.composedForwardedRef = forwardedRef;
654
+ if (!stateRef.current.composedRef) stateRef.current.composedRef = (0, import_compose_refs.composeRefs)((x) => {
655
+ stateRef.current.host = x;
656
+ const current = stateRef.current.composedForwardedRef;
657
+ stateRef.current.attachedForwardedRef = x ? current : void 0;
658
+ (0, import_compose_refs.setRef)(current, x);
659
+ }, import_setElementProps.setElementProps, animatedRef);
660
+ viewProps.ref = stateRef.current.composedRef;
661
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
662
+ const attached = stateRef.current.attachedForwardedRef;
663
+ if (attached === forwardedRef) return;
664
+ if (attached) (0, import_compose_refs.setRef)(attached, null);
665
+ stateRef.current.attachedForwardedRef = forwardedRef;
666
+ if (stateRef.current.host) (0, import_compose_refs.setRef)(forwardedRef, stateRef.current.host);
667
+ }, [forwardedRef]);
668
+ (0, import_pointerEvents.usePointerEvents)(props, viewProps);
669
+ if (process.env.NODE_ENV === "development") {
670
+ if (!isText && import_constants.isWeb && !isHOC) import_react.default.Children.toArray(props.children).forEach((item) => {
671
+ 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);
672
+ });
673
+ }
674
+ if (process.env.NODE_ENV === "development" && time) time`events-hooks`;
675
+ const unPress = () => {
676
+ setStateShallow({
677
+ press: false,
678
+ pressIn: false
679
+ });
680
+ };
681
+ if (process.env.NODE_ENV === "development" && import_constants.isWeb) (0, import_constants.useIsomorphicLayoutEffect)(() => {
682
+ if (debugProp === "verbose") {
683
+ let cssStyleDeclarationToObject = function(style) {
684
+ const styleObject = {};
685
+ for (let i = 0; i < style.length; i++) {
686
+ let prop = style[i];
687
+ styleObject[prop] = style.getPropertyValue(prop);
688
+ }
689
+ return styleObject;
690
+ };
691
+ const computed = stateRef.current.host ? cssStyleDeclarationToObject(getComputedStyle(stateRef.current.host)) : {};
692
+ console.groupCollapsed(`Rendered > (opacity: ${computed.opacity})`);
693
+ console.warn(stateRef.current.host);
694
+ console.warn(computed);
695
+ console.groupEnd();
696
+ }
697
+ });
698
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
699
+ if (state.unmounted === true && hasEnterStyle) {
700
+ setStateShallow({ unmounted: "should-enter" });
701
+ return;
702
+ }
703
+ if (state.unmounted) {
704
+ if (inputStyle === "css") {
705
+ let cancelled = false;
706
+ requestAnimationFrame(() => {
707
+ if (cancelled) return;
708
+ requestAnimationFrame(() => {
709
+ if (cancelled) return;
710
+ setStateShallow({ unmounted: false });
711
+ });
712
+ });
713
+ return () => {
714
+ cancelled = true;
715
+ };
716
+ }
717
+ setStateShallow({ unmounted: false });
718
+ }
719
+ }, [state.unmounted, inputStyle]);
720
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
721
+ return () => {
722
+ componentSetStates.delete(setState);
723
+ stateRef.current.mediaEmitCleanup?.();
724
+ stateRef.current.mediaEmitCleanup = void 0;
725
+ };
726
+ }, []);
727
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
728
+ let disposeSafeArea;
729
+ if (splitStyles?.usesSafeArea) {
730
+ const updateSafeArea = () => {
731
+ setState((previous) => ({ ...previous }));
732
+ };
733
+ disposeSafeArea = (0, import_resolveSafeAreaVariable.subscribeToSafeArea)(updateSafeArea);
734
+ }
735
+ if (disabled) return disposeSafeArea;
736
+ if (!pseudoGroups && !mediaGroups) return disposeSafeArea;
737
+ if (!allGroupContexts) return disposeSafeArea;
738
+ const disposeGroup = (0, import_subscribeToContextGroup.subscribeToContextGroup)({
739
+ groupContext: allGroupContexts,
740
+ setStateShallow,
741
+ mediaGroups,
742
+ pseudoGroups
743
+ });
744
+ if (!disposeSafeArea) return disposeGroup;
745
+ return () => {
746
+ disposeSafeArea();
747
+ disposeGroup?.();
748
+ };
749
+ }, [
750
+ allGroupContexts,
751
+ disabled,
752
+ splitStyles?.usesSafeArea,
753
+ groupSetRevision
754
+ ]);
755
+ const groupEmitter = stateRef.current.group;
756
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
757
+ if (!groupContext || !groupEmitter) return;
758
+ notifyGroupSubscribers(groupContext, groupEmitter, state);
759
+ }, [
760
+ groupContext,
761
+ groupEmitter,
762
+ state
763
+ ]);
764
+ const conditionalStates = !disabled ? splitStyles?.programStates : void 0;
765
+ const runtimePressStyle = !disabled && (conditionalStates?.has("press") || conditionalStates?.has("active"));
766
+ const runtimeFocusStyle = !disabled && conditionalStates?.has("focus");
767
+ const runtimeFocusVisibleStyle = !disabled && conditionalStates?.has("focus-visible");
768
+ const attachFocus = Boolean(runtimePressStyle || runtimeFocusStyle || runtimeFocusVisibleStyle || onFocus || onBlur || !!componentContext.setParentFocusState);
769
+ const hasDynamicGroupChildren = Boolean(groupName && state.hasDynGroupChildren);
770
+ const attachPress = Boolean(hasDynamicGroupChildren || runtimePressStyle || onPress || onPressOut || onPressIn || onMouseDown || onMouseUp || onLongPress || onClick);
771
+ const runtimeHoverStyle = !disabled && conditionalStates?.has("hover");
772
+ const needsHoverState = Boolean(hasDynamicGroupChildren || runtimeHoverStyle && !platformPseudo);
773
+ const attachHover = (import_constants.isWeb || import_constants.isNativeDesktop) && !!(hasDynamicGroupChildren || needsHoverState || onMouseEnter || onMouseLeave);
774
+ const shouldAttach = !disabled && !props.asChild && Boolean(attachFocus || attachPress || attachHover || runtimePressStyle || runtimeHoverStyle || runtimeFocusStyle);
775
+ const needsPressState = Boolean(hasDynamicGroupChildren || runtimePressStyle);
776
+ if (process.env.NODE_ENV === "development" && time) time`events-setup`;
777
+ if (process.env.NODE_ENV === "development" && debugProp === "verbose") (0, import_log.log)(`\u{1FAA9} events()`, {
778
+ runtimeFocusStyle,
779
+ runtimePressStyle,
780
+ runtimeHoverStyle,
781
+ runtimeFocusVisibleStyle,
782
+ attachPress,
783
+ attachFocus,
784
+ attachHover,
785
+ shouldAttach,
786
+ needsHoverState
787
+ });
788
+ const events = shouldAttach ? {
789
+ onPressOut: attachPress ? (e) => {
790
+ unPress();
791
+ onPressOut?.(e);
792
+ onMouseUp?.(e);
793
+ } : void 0,
794
+ ...(attachHover || attachPress) && {
795
+ onMouseEnter: (e) => {
796
+ const next = {};
797
+ if (needsHoverState && !lastInteractionWasTouch.value) next.hover = true;
798
+ if (needsPressState) {
799
+ if (state.pressIn) next.press = true;
800
+ }
801
+ setStateShallow(next);
802
+ onHoverIn?.(e);
803
+ onMouseEnter?.(e);
804
+ },
805
+ onMouseLeave: (e) => {
806
+ const next = {};
807
+ if (needsHoverState) next.hover = false;
808
+ if (needsPressState) {
809
+ next.press = false;
810
+ next.pressIn = false;
811
+ }
812
+ setStateShallow(next);
813
+ onHoverOut?.(e);
814
+ onMouseLeave?.(e);
815
+ }
816
+ },
817
+ onPressIn: attachPress ? (e) => {
818
+ if (needsPressState) setStateShallow({
819
+ press: true,
820
+ pressIn: true
821
+ });
822
+ onPressIn?.(e);
823
+ onMouseDown?.(e);
824
+ if (import_constants.isWeb) componentSetStates.add(setState);
825
+ } : void 0,
826
+ onPress: attachPress ? (e) => {
827
+ unPress();
828
+ onClick?.(e);
829
+ if (onPress || onClick) e.stopPropagation();
830
+ onPress?.(e);
831
+ onLongPress?.(e);
832
+ } : void 0,
833
+ ...attachFocus && {
834
+ onFocus: (e) => {
835
+ const next = {};
836
+ if (componentContext.setParentFocusState) {
837
+ componentContext.setParentFocusState({ focusWithin: true });
838
+ next.focusWithin = true;
839
+ }
840
+ if (conditionalStates?.has("focus-visible")) if (lastInteractionWasKeyboard.value) next.focusVisible = true;
841
+ else next.focus = true;
842
+ else next.focus = true;
843
+ setStateShallow(next);
844
+ onFocus?.(e);
845
+ },
846
+ onBlur: (e) => {
847
+ if (componentContext.setParentFocusState) componentContext.setParentFocusState({ focusWithin: false });
848
+ setStateShallow({
849
+ focus: false,
850
+ focusVisible: false,
851
+ focusWithin: false
852
+ });
853
+ onBlur?.(e);
854
+ }
855
+ }
856
+ } : null;
857
+ if (events) Object.assign(viewProps, (0, import_eventHandling.getWebEvents)(events));
858
+ if (process.env.NODE_ENV === "development" && time) time`events`;
859
+ if (process.env.NODE_ENV === "development" && debugProp === "verbose") (0, import_log.log)(`events`, {
860
+ events,
861
+ attachHover,
862
+ attachPress
863
+ });
864
+ if (process.env.NODE_ENV === "development" && time) time`hooks`;
865
+ if (asChild && !isHOC) {
866
+ elementType = import_Slot.Slot;
867
+ {
868
+ const webStyleEvents = asChild === "web" || asChild === "except-style-web";
869
+ const passEvents = (0, import_eventHandling.getWebEvents)({
870
+ onPress,
871
+ onLongPress,
872
+ onPressIn,
873
+ onPressOut,
874
+ onMouseUp,
875
+ onMouseDown,
876
+ onMouseEnter,
877
+ onMouseLeave,
878
+ onFocus,
879
+ onBlur
880
+ }, webStyleEvents);
881
+ Object.assign(viewProps, passEvents);
882
+ }
883
+ }
884
+ if (process.env.NODE_ENV === "development" && time) time`spaced-as-child`;
885
+ let content;
886
+ const childrenFromHooks = import_setupHooks.hooks.useChildren ? import_setupHooks.hooks.useChildren(elementType, children, viewProps, isPassthrough) : void 0;
887
+ if (isPassthrough) content = import_react.default.createElement(BaseComponent, { style: { display: "contents" } }, propsIn.children);
888
+ else {
889
+ if (childrenFromHooks) content = childrenFromHooks;
890
+ const isRenderPropString = typeof renderProp === "string";
891
+ if (renderProp && !isRenderPropString) {
892
+ const out = getCustomRender(renderProp, content || children, viewProps, componentState);
893
+ if (out) {
894
+ viewProps = out.viewProps;
895
+ if (isAnimatedCustomComponent && elementType["acceptRenderProp"] && typeof out.elementType === "string") viewProps.render = out.elementType;
896
+ else elementType = out.elementType;
897
+ }
898
+ }
899
+ if (!content) {
900
+ if (isRenderPropString && elementType["acceptRenderProp"]) viewProps.render = renderProp;
901
+ content = import_react.default.createElement(elementType, viewProps, content || children);
902
+ }
903
+ if (process.env.NODE_ENV === "development" && time) time`use-children`;
904
+ }
905
+ const ResetPresence = animationDriver?.isStub ? void 0 : animationDriver?.ResetPresence;
906
+ const needsReset = Boolean(!asChild && splitStyles && !isHOC && ResetPresence && willBeAnimated && (hasEnterStyle || presenceState));
907
+ const hasEverReset = stateRef.current.hasEverResetPresence;
908
+ if (needsReset && !hasEverReset) stateRef.current.hasEverResetPresence = true;
909
+ if ((needsReset || hasEverReset) && ResetPresence) content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ResetPresence, {
910
+ disabled: !needsReset,
911
+ children: content
912
+ });
913
+ if (process.env.NODE_ENV === "development" && time) time`create-element`;
914
+ if (conditionalStates?.has("focus-within")) content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, {
915
+ ...componentContext,
916
+ setParentFocusState: setStateShallow,
917
+ children: content
918
+ });
919
+ if (groupName || isContainer) content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_GroupContext.GroupContext.Provider, {
920
+ value: allGroupContexts,
921
+ children: content
922
+ });
923
+ if (!asChild && isText && !hasTextAncestor) content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ComponentContext.ComponentContext.Provider, {
924
+ ...componentContext,
925
+ inText: true,
926
+ children: content
927
+ });
928
+ if (process.env.NODE_ENV === "development" && time) time`group-context`;
929
+ content = disableTheme || !splitStyles ? content : (0, import_Theme.getThemedChildren)(themeState, content, themeStateProps, false, stateRef);
930
+ if (process.env.NODE_ENV === "development" && time) time`themed-children`;
931
+ if (overriddenContextProps && contextForOverride) {
932
+ const Provider = contextForOverride.Provider;
933
+ for (const key in styledContextValue) if (!(key in overriddenContextProps)) overriddenContextProps[key] = styledContextValue[key];
934
+ content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Provider, {
935
+ __disableMergeDefaultValues: true,
936
+ ...overriddenContextProps,
937
+ children: content
938
+ });
939
+ }
940
+ if (process.env.NODE_ENV === "development" && time) time`context-override`;
941
+ if (!process.env.TAMAGUI_DID_OUTPUT_CSS && startedUnhydrated && splitStyles) content = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [content, !isHydrated ? (0, import_wrapStyleTags.getStyleTags)(Object.values(splitStyles.rulesToInsert)) : null] });
942
+ if (process.env.NODE_ENV === "development" && time) time`style-tags`;
943
+ if (process.env.NODE_ENV === "development") {
944
+ if (debugProp && debugProp !== "profile") {
945
+ const title = `render <${typeof elementType === "string" ? elementType : "Component"} /> (${internalID}) with props`;
946
+ if (!import_constants.isWeb || !import_constants.isClient) {
947
+ (0, import_log.log)(title);
948
+ (0, import_log.log)(`state: `, state);
949
+ if (import_isDevTools.isDevTools) (0, import_log.log)("viewProps", viewProps);
950
+ (0, import_log.log)(`final styles:`);
951
+ for (const key in splitStylesStyle) (0, import_log.log)(key, splitStylesStyle[key]);
952
+ } else {
953
+ console.groupCollapsed(title);
954
+ try {
955
+ (0, import_log.log)("viewProps", viewProps);
956
+ (0, import_log.log)("children", content);
957
+ if (typeof window !== "undefined") (0, import_log.log)({
958
+ propsIn,
959
+ props,
960
+ attachPress,
961
+ animationStyles,
962
+ classNames,
963
+ content,
964
+ elementType,
965
+ events,
966
+ isAnimated,
967
+ hasRuntimeMediaKeys,
968
+ isStringElement,
969
+ mediaListeningKeys,
970
+ shouldAttach,
971
+ noClass,
972
+ shouldListenForMedia,
973
+ splitStyles,
974
+ splitStylesStyle,
975
+ state,
976
+ stateRef,
977
+ staticConfig,
978
+ styleProps,
979
+ themeState,
980
+ viewProps,
981
+ willBeAnimated,
982
+ startedUnhydrated
983
+ });
984
+ } catch {} finally {
985
+ console.groupEnd();
986
+ }
987
+ }
988
+ }
989
+ }
990
+ if (process.env.NODE_ENV === "development" && time) {
991
+ time`rest`;
992
+ if (!globalThis["willPrint"]) {
993
+ globalThis["willPrint"] = true;
994
+ setTimeout(() => {
995
+ delete globalThis["willPrint"];
996
+ time.print();
997
+ time = null;
998
+ }, 50);
999
+ }
1000
+ }
1001
+ return content;
1002
+ };
1003
+ function notifyGroupSubscribers(groupContext, groupEmitter, pseudo) {
1004
+ if (!groupContext || !groupEmitter) return;
1005
+ const prevPseudo = groupContext.state.pseudo;
1006
+ const shouldReplacePseudo = !prevPseudo || "unmounted" in prevPseudo || "group" in prevPseudo || "hasDynGroupChildren" in prevPseudo || "transition" in prevPseudo;
1007
+ const nextPseudo = shouldReplacePseudo ? {} : prevPseudo;
1008
+ let didChange = shouldReplacePseudo;
1009
+ for (let i = 0; i < groupPseudoKeys.length; i++) {
1010
+ const key = groupPseudoKeys[i];
1011
+ const value = pseudo[key];
1012
+ if (nextPseudo[key] !== value) {
1013
+ nextPseudo[key] = value;
1014
+ didChange = true;
1015
+ } else if (didChange) nextPseudo[key] = value;
1016
+ }
1017
+ if (!didChange) return;
1018
+ groupContext.state.pseudo = nextPseudo;
1019
+ groupEmitter.emit(groupContext.state);
1020
+ }
1021
+ res = component;
1022
+ res = import_react.default.memo(res);
1023
+ res.staticConfig = staticConfig;
1024
+ res.resolve = (resolver) => {
1025
+ const next = createComponent({
1026
+ ...staticConfig,
1027
+ resolvers: staticConfig.resolvers ? [...staticConfig.resolvers, resolver] : [resolver]
1028
+ });
1029
+ for (const key in res) {
1030
+ if (key === "propTypes" || key in next) continue;
1031
+ next[key] = res[key];
1032
+ }
1033
+ return next;
1034
+ };
1035
+ if (displayName) {
1036
+ res.displayName = displayName;
1037
+ res[import_componentDisplayName.componentDisplayName] = displayName;
1038
+ }
1039
+ return res;
1060
1040
  }
1061
- const fromPx = val => {
1062
- if (typeof val === "number") return val;
1063
- if (typeof val === "string") return +val.replace("px", "");
1064
- return 0;
1041
+ const fromPx = (val) => {
1042
+ if (typeof val === "number") return val;
1043
+ if (typeof val === "string") return +val.replace("px", "");
1044
+ return 0;
1065
1045
  };
1066
1046
  const getCustomRender = (renderProp, content, viewProps, state) => {
1067
- if (typeof renderProp === "function") renderProp = getRenderElementForPlatform(renderProp(viewProps, state));
1068
- if (renderProp) {
1069
- if (typeof renderProp === "object" && import_react.default.isValidElement(renderProp)) {
1070
- if (getRenderElementForPlatform(renderProp)) {
1071
- const elementProps = renderProp.props;
1072
- const mergedProps = elementProps ? (0, import_mergeRenderElementProps.mergeRenderElementProps)(elementProps, viewProps, content) : viewProps;
1073
- return {
1074
- elementType: renderProp.type,
1075
- viewProps: mergedProps
1076
- };
1077
- }
1078
- }
1079
- }
1047
+ if (typeof renderProp === "function") renderProp = getRenderElementForPlatform(renderProp(viewProps, state));
1048
+ if (renderProp) {
1049
+ if (typeof renderProp === "object" && import_react.default.isValidElement(renderProp)) {
1050
+ if (getRenderElementForPlatform(renderProp)) {
1051
+ const elementProps = renderProp.props;
1052
+ const mergedProps = elementProps ? (0, import_mergeRenderElementProps.mergeRenderElementProps)(elementProps, viewProps, content) : viewProps;
1053
+ return {
1054
+ elementType: renderProp.type,
1055
+ viewProps: mergedProps
1056
+ };
1057
+ }
1058
+ }
1059
+ }
1080
1060
  };
1081
1061
  function getRenderElementForPlatform(potential) {
1082
- return potential;
1083
- }
1062
+ return potential;
1063
+ }