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