@tamagui/core 1.0.0-alpha.9 → 1.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (656) hide show
  1. package/dist/cjs/Tamagui.js +69 -0
  2. package/dist/cjs/Tamagui.js.map +7 -0
  3. package/dist/cjs/ThemeContext.js +29 -0
  4. package/dist/cjs/ThemeContext.js.map +7 -0
  5. package/dist/cjs/ThemeManager.js +211 -0
  6. package/dist/cjs/ThemeManager.js.map +7 -0
  7. package/dist/cjs/conf.js +64 -0
  8. package/dist/cjs/conf.js.map +7 -0
  9. package/dist/cjs/constants/constants.js +21 -15
  10. package/dist/cjs/constants/constants.js.map +2 -2
  11. package/dist/cjs/constants/platform.js +33 -18
  12. package/dist/cjs/constants/platform.js.map +2 -2
  13. package/dist/cjs/constants/pseudos.js +19 -3
  14. package/dist/cjs/constants/pseudos.js.map +1 -1
  15. package/dist/cjs/constants/rnw.js +21 -3
  16. package/dist/cjs/constants/rnw.js.map +2 -2
  17. package/dist/cjs/contexts/ButtonInsideButtonContext.js +29 -0
  18. package/dist/cjs/contexts/ButtonInsideButtonContext.js.map +7 -0
  19. package/dist/cjs/createComponent.js +371 -225
  20. package/dist/cjs/createComponent.js.map +2 -2
  21. package/dist/cjs/createFont.js +15 -15
  22. package/dist/cjs/createFont.js.map +1 -1
  23. package/dist/cjs/createShorthands.js +19 -3
  24. package/dist/cjs/createShorthands.js.map +1 -1
  25. package/dist/cjs/createTamagui.js +156 -122
  26. package/dist/cjs/createTamagui.js.map +2 -2
  27. package/dist/cjs/createTheme.js +15 -28
  28. package/dist/cjs/createTheme.js.map +2 -2
  29. package/dist/cjs/createTokens.js +19 -22
  30. package/dist/cjs/createTokens.js.map +2 -2
  31. package/dist/cjs/createVariable.js +49 -19
  32. package/dist/cjs/createVariable.js.map +2 -2
  33. package/dist/cjs/defaultComponentState.js +1 -0
  34. package/dist/{helpers/pseudos.js.map → cjs/defaultComponentState.js.map} +0 -0
  35. package/dist/cjs/helpers/RNComponents.js +38 -0
  36. package/dist/cjs/helpers/RNComponents.js.map +7 -0
  37. package/dist/cjs/helpers/addStylesUsingClassname.js +37 -29
  38. package/dist/cjs/helpers/addStylesUsingClassname.js.map +2 -2
  39. package/dist/cjs/helpers/areEqualSets.js +38 -0
  40. package/dist/cjs/helpers/areEqualSets.js.map +7 -0
  41. package/dist/cjs/helpers/createMediaStyle.js +19 -21
  42. package/dist/cjs/helpers/createMediaStyle.js.map +2 -2
  43. package/dist/cjs/helpers/createPropMapper.js +157 -119
  44. package/dist/cjs/helpers/createPropMapper.js.map +2 -2
  45. package/dist/cjs/helpers/createShallowUpdate.js +55 -0
  46. package/dist/cjs/helpers/createShallowUpdate.js.map +7 -0
  47. package/dist/cjs/helpers/createTamaguiProvider.js +45 -26
  48. package/dist/cjs/helpers/createTamaguiProvider.js.map +2 -2
  49. package/dist/cjs/helpers/extendStaticConfig.js +27 -27
  50. package/dist/cjs/helpers/extendStaticConfig.js.map +2 -2
  51. package/dist/cjs/helpers/fixNativeShadow.js +19 -3
  52. package/dist/cjs/helpers/fixNativeShadow.js.map +1 -1
  53. package/dist/cjs/helpers/fixNativeShadow.native.js +42 -22
  54. package/dist/cjs/helpers/fixNativeShadow.native.js.map +2 -2
  55. package/dist/cjs/helpers/getExpandedShorthands.js +41 -0
  56. package/dist/cjs/helpers/getExpandedShorthands.js.map +7 -0
  57. package/dist/cjs/helpers/getSize.js +35 -0
  58. package/dist/cjs/helpers/getSize.js.map +7 -0
  59. package/dist/cjs/helpers/getSplitStyles.js +225 -98
  60. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  61. package/dist/cjs/helpers/getStylesAtomic.js +116 -56
  62. package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
  63. package/dist/cjs/helpers/getStylesAtomic.native.js +19 -3
  64. package/dist/cjs/helpers/getStylesAtomic.native.js.map +1 -1
  65. package/dist/cjs/helpers/getThemeParentClassName.js +33 -0
  66. package/dist/cjs/helpers/getThemeParentClassName.js.map +7 -0
  67. package/dist/cjs/helpers/insertStyleRule.js +101 -25
  68. package/dist/cjs/helpers/insertStyleRule.js.map +2 -2
  69. package/dist/cjs/helpers/isObj.js +19 -3
  70. package/dist/cjs/helpers/isObj.js.map +1 -1
  71. package/dist/cjs/helpers/isTamaguiElement.js +15 -15
  72. package/dist/cjs/helpers/isTamaguiElement.js.map +1 -1
  73. package/dist/cjs/helpers/matchMedia.js +19 -3
  74. package/dist/cjs/helpers/matchMedia.js.map +1 -1
  75. package/dist/cjs/helpers/matchMedia.native.js +16 -13
  76. package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
  77. package/dist/cjs/helpers/proxyThemeVariables.js +40 -0
  78. package/dist/cjs/helpers/proxyThemeVariables.js.map +7 -0
  79. package/dist/cjs/helpers/themeable.js +29 -24
  80. package/dist/cjs/helpers/themeable.js.map +2 -2
  81. package/dist/cjs/helpers/validate.js +88 -47
  82. package/dist/cjs/helpers/validate.js.map +2 -2
  83. package/dist/cjs/helpers/withStaticProperties.js +32 -0
  84. package/dist/cjs/helpers/withStaticProperties.js.map +7 -0
  85. package/dist/cjs/helpers/wrapThemeManagerContext.js +39 -0
  86. package/dist/cjs/helpers/wrapThemeManagerContext.js.map +7 -0
  87. package/dist/cjs/hooks/useConstant.js +15 -15
  88. package/dist/cjs/hooks/useConstant.js.map +1 -1
  89. package/dist/cjs/hooks/useFeatures.js +146 -18
  90. package/dist/cjs/hooks/useFeatures.js.map +2 -2
  91. package/dist/cjs/hooks/useIsMounted.js +41 -0
  92. package/dist/cjs/hooks/useIsMounted.js.map +7 -0
  93. package/dist/cjs/hooks/useIsTouchDevice.js +39 -0
  94. package/dist/cjs/hooks/useIsTouchDevice.js.map +7 -0
  95. package/dist/cjs/hooks/useMedia.js +54 -59
  96. package/dist/cjs/hooks/useMedia.js.map +2 -2
  97. package/dist/cjs/hooks/usePressable.js +15 -15
  98. package/dist/cjs/hooks/usePressable.js.map +1 -1
  99. package/dist/cjs/hooks/useTheme.js +175 -67
  100. package/dist/cjs/hooks/useTheme.js.map +2 -2
  101. package/dist/cjs/hooks/useUnmountEffect.js +33 -0
  102. package/dist/cjs/hooks/useUnmountEffect.js.map +7 -0
  103. package/dist/cjs/index.js +71 -43
  104. package/dist/cjs/index.js.map +2 -2
  105. package/dist/cjs/static/postProcessStyles.js +15 -15
  106. package/dist/cjs/static/postProcessStyles.js.map +1 -1
  107. package/dist/cjs/static.js +26 -27
  108. package/dist/cjs/static.js.map +2 -2
  109. package/dist/cjs/styled.js +42 -20
  110. package/dist/cjs/styled.js.map +3 -3
  111. package/dist/cjs/tamagui-base.css +11 -0
  112. package/dist/cjs/tamagui-base.css.map +7 -0
  113. package/dist/cjs/types-rnw.js +16 -0
  114. package/dist/cjs/types-rnw.js.map +7 -0
  115. package/dist/cjs/types.js +14 -2
  116. package/dist/cjs/types.js.map +2 -2
  117. package/dist/cjs/views/Animated.js +20 -17
  118. package/dist/cjs/views/Animated.js.map +1 -1
  119. package/dist/cjs/views/Stack.js +17 -16
  120. package/dist/cjs/views/Stack.js.map +2 -2
  121. package/dist/cjs/views/Text.js +23 -21
  122. package/dist/cjs/views/Text.js.map +2 -2
  123. package/dist/cjs/views/TextAncestorContext.js +25 -21
  124. package/dist/cjs/views/TextAncestorContext.js.map +2 -2
  125. package/dist/cjs/views/Theme.js +36 -64
  126. package/dist/cjs/views/Theme.js.map +2 -2
  127. package/dist/cjs/views/ThemeContext.js +15 -15
  128. package/dist/cjs/views/ThemeContext.js.map +1 -1
  129. package/dist/cjs/views/ThemeInverse.js +20 -16
  130. package/dist/cjs/views/ThemeInverse.js.map +2 -2
  131. package/dist/cjs/views/ThemeManagerContext.js +19 -18
  132. package/dist/cjs/views/ThemeManagerContext.js.map +1 -1
  133. package/dist/cjs/views/ThemeProvider.js +37 -37
  134. package/dist/cjs/views/ThemeProvider.js.map +2 -2
  135. package/dist/cjs/views/ThemeReset.js +63 -0
  136. package/dist/cjs/views/ThemeReset.js.map +7 -0
  137. package/dist/esm/Tamagui.js +42 -0
  138. package/dist/esm/Tamagui.js.map +7 -0
  139. package/dist/{views → esm}/ThemeContext.js +0 -0
  140. package/dist/esm/ThemeContext.js.map +7 -0
  141. package/dist/esm/ThemeManager.js +187 -0
  142. package/dist/esm/ThemeManager.js.map +7 -0
  143. package/dist/esm/conf.js +36 -0
  144. package/dist/esm/conf.js.map +7 -0
  145. package/dist/{constants → esm/constants}/constants.js +4 -0
  146. package/dist/esm/constants/constants.js.map +7 -0
  147. package/dist/{constants → esm/constants}/platform.js +8 -1
  148. package/dist/esm/constants/platform.js.map +7 -0
  149. package/dist/{constants → esm/constants}/pseudos.js +0 -0
  150. package/dist/{constants → esm/constants}/pseudos.js.map +2 -2
  151. package/dist/{constants → esm/constants}/rnw.js +2 -0
  152. package/dist/esm/constants/rnw.js.map +7 -0
  153. package/dist/esm/contexts/ButtonInsideButtonContext.js +6 -0
  154. package/dist/esm/contexts/ButtonInsideButtonContext.js.map +7 -0
  155. package/dist/esm/createComponent.js +606 -0
  156. package/dist/esm/createComponent.js.map +7 -0
  157. package/dist/{createFont.js → esm/createFont.js} +0 -0
  158. package/dist/{createFont.js.map → esm/createFont.js.map} +2 -2
  159. package/dist/{createShorthands.js → esm/createShorthands.js} +0 -0
  160. package/dist/{createShorthands.js.map → esm/createShorthands.js.map} +2 -2
  161. package/dist/esm/createTamagui.js +202 -0
  162. package/dist/esm/createTamagui.js.map +7 -0
  163. package/dist/esm/createTheme.js +7 -0
  164. package/dist/esm/createTheme.js.map +7 -0
  165. package/dist/{createTokens.js → esm/createTokens.js} +2 -6
  166. package/dist/esm/createTokens.js.map +7 -0
  167. package/dist/esm/createVariable.js +49 -0
  168. package/dist/esm/createVariable.js.map +7 -0
  169. package/dist/esm/defaultComponentState.js +1 -0
  170. package/dist/{types.js.map → esm/defaultComponentState.js.map} +0 -0
  171. package/dist/esm/helpers/RNComponents.js +12 -0
  172. package/dist/esm/helpers/RNComponents.js.map +7 -0
  173. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js +20 -13
  174. package/dist/esm/helpers/addStylesUsingClassname.js.map +7 -0
  175. package/dist/esm/helpers/areEqualSets.js +16 -0
  176. package/dist/esm/helpers/areEqualSets.js.map +7 -0
  177. package/dist/{helpers → esm/helpers}/createMediaStyle.js +3 -6
  178. package/dist/esm/helpers/createMediaStyle.js.map +7 -0
  179. package/dist/esm/helpers/createPropMapper.js +206 -0
  180. package/dist/esm/helpers/createPropMapper.js.map +7 -0
  181. package/dist/esm/helpers/createShallowUpdate.js +19 -0
  182. package/dist/esm/helpers/createShallowUpdate.js.map +7 -0
  183. package/dist/esm/helpers/createTamaguiProvider.js +40 -0
  184. package/dist/esm/helpers/createTamaguiProvider.js.map +7 -0
  185. package/dist/{helpers → esm/helpers}/extendStaticConfig.js +17 -14
  186. package/dist/esm/helpers/extendStaticConfig.js.map +7 -0
  187. package/dist/{helpers → esm/helpers}/fixNativeShadow.js +0 -0
  188. package/dist/{helpers → esm/helpers}/fixNativeShadow.js.map +2 -2
  189. package/dist/esm/helpers/fixNativeShadow.native.js +34 -0
  190. package/dist/esm/helpers/fixNativeShadow.native.js.map +7 -0
  191. package/dist/esm/helpers/getExpandedShorthands.js +19 -0
  192. package/dist/esm/helpers/getExpandedShorthands.js.map +7 -0
  193. package/dist/esm/helpers/getSize.js +13 -0
  194. package/dist/esm/helpers/getSize.js.map +7 -0
  195. package/dist/esm/helpers/getSplitStyles.js +278 -0
  196. package/dist/esm/helpers/getSplitStyles.js.map +7 -0
  197. package/dist/esm/helpers/getStylesAtomic.js +131 -0
  198. package/dist/esm/helpers/getStylesAtomic.js.map +7 -0
  199. package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js +0 -0
  200. package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js.map +2 -2
  201. package/dist/esm/helpers/getThemeParentClassName.js +11 -0
  202. package/dist/esm/helpers/getThemeParentClassName.js.map +7 -0
  203. package/dist/esm/helpers/insertStyleRule.js +94 -0
  204. package/dist/esm/helpers/insertStyleRule.js.map +7 -0
  205. package/dist/{helpers → esm/helpers}/isObj.js +0 -0
  206. package/dist/{helpers → esm/helpers}/isObj.js.map +2 -2
  207. package/dist/{helpers → esm/helpers}/isTamaguiElement.js +2 -1
  208. package/dist/{helpers → esm/helpers}/isTamaguiElement.js.map +2 -2
  209. package/dist/{helpers → esm/helpers}/matchMedia.js +0 -0
  210. package/dist/{helpers → esm/helpers}/matchMedia.js.map +2 -2
  211. package/dist/{helpers → esm/helpers}/matchMedia.native.js +0 -0
  212. package/dist/{helpers → esm/helpers}/matchMedia.native.js.map +2 -2
  213. package/dist/esm/helpers/proxyThemeVariables.js +18 -0
  214. package/dist/esm/helpers/proxyThemeVariables.js.map +7 -0
  215. package/dist/{helpers → esm/helpers}/themeable.js +12 -10
  216. package/dist/esm/helpers/themeable.js.map +7 -0
  217. package/dist/esm/helpers/validate.js +76 -0
  218. package/dist/esm/helpers/validate.js.map +7 -0
  219. package/dist/esm/helpers/withStaticProperties.js +10 -0
  220. package/dist/esm/helpers/withStaticProperties.js.map +7 -0
  221. package/dist/esm/helpers/wrapThemeManagerContext.js +14 -0
  222. package/dist/esm/helpers/wrapThemeManagerContext.js.map +7 -0
  223. package/dist/{hooks → esm/hooks}/useConstant.js +0 -0
  224. package/dist/{hooks → esm/hooks}/useConstant.js.map +2 -2
  225. package/dist/esm/hooks/useFeatures.js +173 -0
  226. package/dist/esm/hooks/useFeatures.js.map +7 -0
  227. package/dist/esm/hooks/useIsMounted.js +19 -0
  228. package/dist/esm/hooks/useIsMounted.js.map +7 -0
  229. package/dist/esm/hooks/useIsTouchDevice.js +17 -0
  230. package/dist/esm/hooks/useIsTouchDevice.js.map +7 -0
  231. package/dist/{hooks → esm/hooks}/useMedia.js +31 -42
  232. package/dist/esm/hooks/useMedia.js.map +7 -0
  233. package/dist/{hooks → esm/hooks}/usePressable.js +2 -1
  234. package/dist/{hooks → esm/hooks}/usePressable.js.map +2 -2
  235. package/dist/esm/hooks/useTheme.js +178 -0
  236. package/dist/esm/hooks/useTheme.js.map +7 -0
  237. package/dist/esm/hooks/useUnmountEffect.js +11 -0
  238. package/dist/esm/hooks/useUnmountEffect.js.map +7 -0
  239. package/dist/{index.js → esm/index.js} +25 -5
  240. package/dist/esm/index.js.map +7 -0
  241. package/dist/{static → esm/static}/postProcessStyles.js +0 -0
  242. package/dist/{static → esm/static}/postProcessStyles.js.map +2 -2
  243. package/dist/{static.js → esm/static.js} +4 -2
  244. package/dist/esm/static.js.map +7 -0
  245. package/dist/esm/styled.js +45 -0
  246. package/dist/esm/styled.js.map +7 -0
  247. package/dist/esm/tamagui-base.css +11 -0
  248. package/dist/esm/tamagui-base.css.map +7 -0
  249. package/dist/esm/types-rnw.js +1 -0
  250. package/dist/esm/types-rnw.js.map +7 -0
  251. package/dist/{types.js → esm/types.js} +0 -0
  252. package/dist/esm/types.js.map +7 -0
  253. package/dist/{views → esm/views}/Animated.js +0 -0
  254. package/dist/{views → esm/views}/Animated.js.map +2 -2
  255. package/dist/{views → esm/views}/Stack.js +1 -0
  256. package/dist/esm/views/Stack.js.map +7 -0
  257. package/dist/{views → esm/views}/Text.js +6 -4
  258. package/dist/esm/views/Text.js.map +7 -0
  259. package/dist/esm/views/TextAncestorContext.js +18 -0
  260. package/dist/esm/views/TextAncestorContext.js.map +7 -0
  261. package/dist/esm/views/Theme.js +35 -0
  262. package/dist/esm/views/Theme.js.map +7 -0
  263. package/dist/esm/views/ThemeContext.js +6 -0
  264. package/dist/{views → esm/views}/ThemeContext.js.map +2 -2
  265. package/dist/{views → esm/views}/ThemeInverse.js +1 -1
  266. package/dist/{views → esm/views}/ThemeInverse.js.map +3 -3
  267. package/dist/{views → esm/views}/ThemeManagerContext.js +5 -4
  268. package/dist/{views → esm/views}/ThemeManagerContext.js.map +2 -2
  269. package/dist/esm/views/ThemeProvider.js +42 -0
  270. package/dist/esm/views/ThemeProvider.js.map +7 -0
  271. package/dist/esm/views/ThemeReset.js +38 -0
  272. package/dist/esm/views/ThemeReset.js.map +7 -0
  273. package/dist/jsx/Tamagui.js +41 -0
  274. package/dist/jsx/ThemeContext.js +5 -0
  275. package/dist/jsx/ThemeManager.js +186 -0
  276. package/dist/jsx/conf.js +35 -0
  277. package/dist/jsx/constants/constants.js +17 -0
  278. package/dist/jsx/constants/platform.js +25 -0
  279. package/dist/jsx/constants/pseudos.js +17 -0
  280. package/dist/jsx/constants/rnw.js +23 -0
  281. package/dist/jsx/contexts/ButtonInsideButtonContext.js +5 -0
  282. package/dist/jsx/createComponent.js +592 -0
  283. package/dist/jsx/createFont.js +27 -0
  284. package/dist/jsx/createShorthands.js +9 -0
  285. package/dist/jsx/createTamagui.js +201 -0
  286. package/dist/jsx/createTheme.js +6 -0
  287. package/dist/jsx/createTokens.js +28 -0
  288. package/dist/jsx/createVariable.js +48 -0
  289. package/dist/jsx/defaultComponentState.js +0 -0
  290. package/dist/jsx/helpers/RNComponents.js +11 -0
  291. package/dist/jsx/helpers/addStylesUsingClassname.js +63 -0
  292. package/dist/jsx/helpers/areEqualSets.js +15 -0
  293. package/dist/jsx/helpers/createMediaStyle.js +30 -0
  294. package/dist/jsx/helpers/createPropMapper.js +205 -0
  295. package/dist/jsx/helpers/createShallowUpdate.js +18 -0
  296. package/dist/jsx/helpers/createTamaguiProvider.js +34 -0
  297. package/dist/jsx/helpers/extendStaticConfig.js +61 -0
  298. package/dist/jsx/helpers/fixNativeShadow.js +7 -0
  299. package/dist/jsx/helpers/fixNativeShadow.native.js +33 -0
  300. package/dist/jsx/helpers/getExpandedShorthands.js +18 -0
  301. package/dist/jsx/helpers/getSize.js +12 -0
  302. package/dist/jsx/helpers/getSplitStyles.js +277 -0
  303. package/dist/jsx/helpers/getStylesAtomic.js +130 -0
  304. package/dist/jsx/helpers/getStylesAtomic.native.js +9 -0
  305. package/dist/jsx/helpers/getThemeParentClassName.js +10 -0
  306. package/dist/jsx/helpers/insertStyleRule.js +93 -0
  307. package/dist/jsx/helpers/isObj.js +6 -0
  308. package/dist/jsx/helpers/isTamaguiElement.js +10 -0
  309. package/dist/jsx/helpers/matchMedia.js +17 -0
  310. package/dist/jsx/helpers/matchMedia.native.js +8 -0
  311. package/dist/jsx/helpers/proxyThemeVariables.js +17 -0
  312. package/dist/jsx/helpers/themeable.js +24 -0
  313. package/dist/jsx/helpers/validate.js +75 -0
  314. package/dist/jsx/helpers/withStaticProperties.js +9 -0
  315. package/dist/jsx/helpers/wrapThemeManagerContext.js +10 -0
  316. package/dist/jsx/hooks/useConstant.js +14 -0
  317. package/dist/jsx/hooks/useFeatures.js +167 -0
  318. package/dist/jsx/hooks/useIsMounted.js +18 -0
  319. package/dist/jsx/hooks/useIsTouchDevice.js +16 -0
  320. package/dist/jsx/hooks/useMedia.js +159 -0
  321. package/dist/jsx/hooks/usePressable.js +13 -0
  322. package/dist/jsx/hooks/useTheme.js +177 -0
  323. package/dist/jsx/hooks/useUnmountEffect.js +10 -0
  324. package/dist/jsx/index.js +51 -0
  325. package/dist/jsx/static/postProcessStyles.js +17 -0
  326. package/dist/jsx/static.js +16 -0
  327. package/dist/jsx/styled.js +44 -0
  328. package/dist/jsx/tamagui-base.css +10 -0
  329. package/dist/jsx/types-rnw.js +0 -0
  330. package/dist/jsx/types.js +0 -0
  331. package/dist/jsx/views/Animated.js +74 -0
  332. package/dist/jsx/views/Stack.js +12 -0
  333. package/dist/jsx/views/Text.js +61 -0
  334. package/dist/jsx/views/TextAncestorContext.js +15 -0
  335. package/dist/jsx/views/Theme.js +31 -0
  336. package/dist/jsx/views/ThemeContext.js +5 -0
  337. package/dist/jsx/views/ThemeInverse.js +22 -0
  338. package/dist/jsx/views/ThemeManagerContext.js +61 -0
  339. package/dist/jsx/views/ThemeProvider.js +35 -0
  340. package/dist/jsx/views/ThemeReset.js +34 -0
  341. package/package.json +22 -20
  342. package/types/Tamagui.d.ts +30 -0
  343. package/types/Tamagui.d.ts.map +1 -0
  344. package/types/ThemeContext.d.ts +7 -0
  345. package/types/ThemeContext.d.ts.map +1 -0
  346. package/types/ThemeManager.d.ts +49 -0
  347. package/types/ThemeManager.d.ts.map +1 -0
  348. package/types/conf.d.ts +27 -0
  349. package/types/conf.d.ts.map +1 -0
  350. package/{dist/packages/core/src → types}/constants/constants.d.ts +2 -0
  351. package/types/constants/constants.d.ts.map +1 -0
  352. package/{dist/packages/core/src → types}/constants/platform.d.ts +3 -0
  353. package/types/constants/platform.d.ts.map +1 -0
  354. package/{dist/packages/core/src → types}/constants/rnw.d.ts +0 -0
  355. package/types/constants/rnw.d.ts.map +1 -0
  356. package/types/contexts/ButtonInsideButtonContext.d.ts +3 -0
  357. package/types/contexts/ButtonInsideButtonContext.d.ts.map +1 -0
  358. package/types/createComponent.d.ts +19 -0
  359. package/types/createComponent.d.ts.map +1 -0
  360. package/types/createFont.d.ts +3 -0
  361. package/types/createFont.d.ts.map +1 -0
  362. package/{dist/packages/core/src → types}/createShorthands.d.ts +0 -0
  363. package/types/createShorthands.d.ts.map +1 -0
  364. package/types/createTamagui.d.ts +18 -0
  365. package/types/createTamagui.d.ts.map +1 -0
  366. package/types/createTheme.d.ts +7 -0
  367. package/types/createTheme.d.ts.map +1 -0
  368. package/{dist/packages/core/src → types}/createTokens.d.ts +0 -16
  369. package/types/createTokens.d.ts.map +1 -0
  370. package/types/createVariable.d.ts +20 -0
  371. package/types/createVariable.d.ts.map +1 -0
  372. package/types/defaultComponentState.d.ts +1 -0
  373. package/types/defaultComponentState.d.ts.map +1 -0
  374. package/types/helpers/RNComponents.d.ts +2 -0
  375. package/types/helpers/RNComponents.d.ts.map +1 -0
  376. package/types/helpers/addStylesUsingClassname.d.ts +3 -0
  377. package/types/helpers/addStylesUsingClassname.d.ts.map +1 -0
  378. package/types/helpers/areEqualSets.d.ts +2 -0
  379. package/types/helpers/areEqualSets.d.ts.map +1 -0
  380. package/{dist/packages/core/src → types}/helpers/createMediaStyle.d.ts +1 -1
  381. package/types/helpers/createMediaStyle.d.ts.map +1 -0
  382. package/types/helpers/createPropMapper.d.ts +4 -0
  383. package/types/helpers/createPropMapper.d.ts.map +1 -0
  384. package/types/helpers/createShallowUpdate.d.ts +4 -0
  385. package/types/helpers/createShallowUpdate.d.ts.map +1 -0
  386. package/types/helpers/createTamaguiProvider.d.ts +7 -0
  387. package/types/helpers/createTamaguiProvider.d.ts.map +1 -0
  388. package/types/helpers/extendStaticConfig.d.ts +4 -0
  389. package/types/helpers/extendStaticConfig.d.ts.map +1 -0
  390. package/{dist/packages/core/src → types}/helpers/fixNativeShadow.d.ts +0 -0
  391. package/types/helpers/fixNativeShadow.d.ts.map +1 -0
  392. package/types/helpers/fixNativeShadow.native.d.ts +2 -0
  393. package/types/helpers/fixNativeShadow.native.d.ts.map +1 -0
  394. package/types/helpers/getExpandedShorthands.d.ts +3 -0
  395. package/types/helpers/getExpandedShorthands.d.ts.map +1 -0
  396. package/types/helpers/getSize.d.ts +3 -0
  397. package/types/helpers/getSize.d.ts.map +1 -0
  398. package/types/helpers/getSplitStyles.d.ts +19 -0
  399. package/types/helpers/getSplitStyles.d.ts.map +1 -0
  400. package/types/helpers/getStylesAtomic.d.ts +27 -0
  401. package/types/helpers/getStylesAtomic.d.ts.map +1 -0
  402. package/{dist/packages/core/src → types}/helpers/getStylesAtomic.native.d.ts +0 -0
  403. package/types/helpers/getStylesAtomic.native.d.ts.map +1 -0
  404. package/types/helpers/insertStyleRule.d.ts +8 -0
  405. package/types/helpers/insertStyleRule.d.ts.map +1 -0
  406. package/types/helpers/isObj.d.ts +2 -0
  407. package/types/helpers/isObj.d.ts.map +1 -0
  408. package/types/helpers/isTamaguiElement.d.ts +3 -0
  409. package/types/helpers/isTamaguiElement.d.ts.map +1 -0
  410. package/{dist/packages/core/src → types}/helpers/matchMedia.d.ts +0 -0
  411. package/types/helpers/matchMedia.d.ts.map +1 -0
  412. package/{dist/packages/core/src → types}/helpers/matchMedia.native.d.ts +0 -0
  413. package/types/helpers/matchMedia.native.d.ts.map +1 -0
  414. package/types/helpers/proxyThemeVariables.d.ts +2 -0
  415. package/types/helpers/proxyThemeVariables.d.ts.map +1 -0
  416. package/types/helpers/themeable.d.ts +12 -0
  417. package/types/helpers/themeable.d.ts.map +1 -0
  418. package/types/helpers/validate.d.ts +4 -0
  419. package/types/helpers/validate.d.ts.map +1 -0
  420. package/types/helpers/withStaticProperties.d.ts +2 -0
  421. package/types/helpers/withStaticProperties.d.ts.map +1 -0
  422. package/types/helpers/wrapThemeManagerContext.d.ts +3 -0
  423. package/types/helpers/wrapThemeManagerContext.d.ts.map +1 -0
  424. package/{dist/packages/core/src → types}/hooks/useConstant.d.ts +0 -0
  425. package/types/hooks/useConstant.d.ts.map +1 -0
  426. package/types/hooks/useFeatures.d.ts +18 -0
  427. package/types/hooks/useFeatures.d.ts.map +1 -0
  428. package/types/hooks/useIsMounted.d.ts +3 -0
  429. package/types/hooks/useIsMounted.d.ts.map +1 -0
  430. package/types/hooks/useIsTouchDevice.d.ts +2 -0
  431. package/types/hooks/useIsTouchDevice.d.ts.map +1 -0
  432. package/{dist/packages/core/src → types}/hooks/useMedia.d.ts +2 -6
  433. package/types/hooks/useMedia.d.ts.map +1 -0
  434. package/{dist/packages/core/src → types}/hooks/usePressable.d.ts +0 -0
  435. package/types/hooks/usePressable.d.ts.map +1 -0
  436. package/types/hooks/useTheme.d.ts +36 -0
  437. package/types/hooks/useTheme.d.ts.map +1 -0
  438. package/types/hooks/useUnmountEffect.d.ts +2 -0
  439. package/types/hooks/useUnmountEffect.d.ts.map +1 -0
  440. package/types/index.d.ts +42 -0
  441. package/types/index.d.ts.map +1 -0
  442. package/{dist/packages/core/src → types}/static.d.ts +7 -2
  443. package/types/static.d.ts.map +1 -0
  444. package/types/styled.d.ts +16 -0
  445. package/types/styled.d.ts.map +1 -0
  446. package/types/types-rnw.d.ts +74 -0
  447. package/types/types-rnw.d.ts.map +1 -0
  448. package/types/types.d.ts +406 -0
  449. package/types/types.d.ts.map +1 -0
  450. package/types/views/Stack.d.ts +4 -0
  451. package/types/views/Stack.d.ts.map +1 -0
  452. package/types/views/Text.d.ts +4 -0
  453. package/types/views/Text.d.ts.map +1 -0
  454. package/types/views/TextAncestorContext.d.ts +5 -0
  455. package/types/views/TextAncestorContext.d.ts.map +1 -0
  456. package/types/views/Theme.d.ts +12 -0
  457. package/types/views/Theme.d.ts.map +1 -0
  458. package/{dist/packages/core/src → types}/views/ThemeInverse.d.ts +0 -0
  459. package/types/views/ThemeInverse.d.ts.map +1 -0
  460. package/{dist/packages/core/src → types}/views/ThemeProvider.d.ts +1 -1
  461. package/types/views/ThemeProvider.d.ts.map +1 -0
  462. package/types/views/ThemeReset.d.ts +4 -0
  463. package/types/views/ThemeReset.d.ts.map +1 -0
  464. package/LICENSE +0 -21
  465. package/dist/constants/constants.js.map +0 -7
  466. package/dist/constants/platform.js.map +0 -7
  467. package/dist/constants/rnw.js.map +0 -7
  468. package/dist/constants/styleConstants.js +0 -46
  469. package/dist/constants/styleConstants.js.map +0 -7
  470. package/dist/createComponent.js +0 -463
  471. package/dist/createComponent.js.map +0 -7
  472. package/dist/createTamagui.js +0 -168
  473. package/dist/createTamagui.js.map +0 -7
  474. package/dist/createTheme.js +0 -20
  475. package/dist/createTheme.js.map +0 -7
  476. package/dist/createTokens.js.map +0 -7
  477. package/dist/createVariable.js +0 -25
  478. package/dist/createVariable.js.map +0 -7
  479. package/dist/helpers/addStylesUsingClassname.js.map +0 -7
  480. package/dist/helpers/createMediaStyle.js.map +0 -7
  481. package/dist/helpers/createPropMapper.js +0 -153
  482. package/dist/helpers/createPropMapper.js.map +0 -7
  483. package/dist/helpers/createTamaguiProvider.js +0 -25
  484. package/dist/helpers/createTamaguiProvider.js.map +0 -7
  485. package/dist/helpers/extendStaticConfig.js.map +0 -7
  486. package/dist/helpers/fixNativeShadow.native.js +0 -30
  487. package/dist/helpers/fixNativeShadow.native.js.map +0 -7
  488. package/dist/helpers/getSplitStyles.js +0 -150
  489. package/dist/helpers/getSplitStyles.js.map +0 -7
  490. package/dist/helpers/getStylesAtomic.js +0 -83
  491. package/dist/helpers/getStylesAtomic.js.map +0 -7
  492. package/dist/helpers/insertStyleRule.js +0 -24
  493. package/dist/helpers/insertStyleRule.js.map +0 -7
  494. package/dist/helpers/isComponent.js +0 -10
  495. package/dist/helpers/isComponent.js.map +0 -7
  496. package/dist/helpers/isTamaguiComponent.js +0 -10
  497. package/dist/helpers/isTamaguiComponent.js.map +0 -7
  498. package/dist/helpers/pseudos.js +0 -1
  499. package/dist/helpers/themeable.js.map +0 -7
  500. package/dist/helpers/validate.js +0 -60
  501. package/dist/helpers/validate.js.map +0 -7
  502. package/dist/helpers/validateConfig.js +0 -46
  503. package/dist/helpers/validateConfig.js.map +0 -7
  504. package/dist/helpers/validateTokens.js +0 -29
  505. package/dist/helpers/validateTokens.js.map +0 -7
  506. package/dist/hooks/useFeatures.js +0 -63
  507. package/dist/hooks/useFeatures.js.map +0 -7
  508. package/dist/hooks/useForceUpdate.js +0 -28
  509. package/dist/hooks/useForceUpdate.js.map +0 -7
  510. package/dist/hooks/useMedia.js.map +0 -7
  511. package/dist/hooks/useTheme.js +0 -89
  512. package/dist/hooks/useTheme.js.map +0 -7
  513. package/dist/index.cjs +0 -2202
  514. package/dist/index.cjs.map +0 -7
  515. package/dist/index.js.map +0 -7
  516. package/dist/packages/core/src/constants/constants.d.ts.map +0 -1
  517. package/dist/packages/core/src/constants/platform.d.ts.map +0 -1
  518. package/dist/packages/core/src/constants/pseudos.d.ts +0 -15
  519. package/dist/packages/core/src/constants/pseudos.d.ts.map +0 -1
  520. package/dist/packages/core/src/constants/rnw.d.ts.map +0 -1
  521. package/dist/packages/core/src/createComponent.d.ts +0 -16
  522. package/dist/packages/core/src/createComponent.d.ts.map +0 -1
  523. package/dist/packages/core/src/createShorthands.d.ts.map +0 -1
  524. package/dist/packages/core/src/createTamagui.d.ts +0 -37
  525. package/dist/packages/core/src/createTamagui.d.ts.map +0 -1
  526. package/dist/packages/core/src/createTheme.d.ts +0 -5
  527. package/dist/packages/core/src/createTheme.d.ts.map +0 -1
  528. package/dist/packages/core/src/createTokens.d.ts.map +0 -1
  529. package/dist/packages/core/src/createVariable.d.ts +0 -14
  530. package/dist/packages/core/src/createVariable.d.ts.map +0 -1
  531. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts +0 -2
  532. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts.map +0 -1
  533. package/dist/packages/core/src/helpers/createMediaStyle.d.ts.map +0 -1
  534. package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts +0 -5
  535. package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts.map +0 -1
  536. package/dist/packages/core/src/helpers/extendStaticConfig.d.ts +0 -5
  537. package/dist/packages/core/src/helpers/extendStaticConfig.d.ts.map +0 -1
  538. package/dist/packages/core/src/helpers/fixNativeShadow.d.ts.map +0 -1
  539. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts +0 -2
  540. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts.map +0 -1
  541. package/dist/packages/core/src/helpers/getSplitStyles.d.ts +0 -15
  542. package/dist/packages/core/src/helpers/getSplitStyles.d.ts.map +0 -1
  543. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts +0 -3
  544. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts.map +0 -1
  545. package/dist/packages/core/src/helpers/getStylesAtomic.native.d.ts.map +0 -1
  546. package/dist/packages/core/src/helpers/insertStyleRule.d.ts +0 -2
  547. package/dist/packages/core/src/helpers/insertStyleRule.d.ts.map +0 -1
  548. package/dist/packages/core/src/helpers/matchMedia.d.ts.map +0 -1
  549. package/dist/packages/core/src/helpers/matchMedia.native.d.ts.map +0 -1
  550. package/dist/packages/core/src/helpers/themeable.d.ts +0 -10
  551. package/dist/packages/core/src/helpers/themeable.d.ts.map +0 -1
  552. package/dist/packages/core/src/hooks/useConstant.d.ts.map +0 -1
  553. package/dist/packages/core/src/hooks/useFeatures.d.ts +0 -5
  554. package/dist/packages/core/src/hooks/useFeatures.d.ts.map +0 -1
  555. package/dist/packages/core/src/hooks/useForceUpdate.d.ts +0 -2
  556. package/dist/packages/core/src/hooks/useForceUpdate.d.ts.map +0 -1
  557. package/dist/packages/core/src/hooks/useMedia.d.ts.map +0 -1
  558. package/dist/packages/core/src/hooks/usePressable.d.ts.map +0 -1
  559. package/dist/packages/core/src/hooks/useTheme.d.ts +0 -18
  560. package/dist/packages/core/src/hooks/useTheme.d.ts.map +0 -1
  561. package/dist/packages/core/src/index.d.ts +0 -27
  562. package/dist/packages/core/src/index.d.ts.map +0 -1
  563. package/dist/packages/core/src/static/postProcessStyles.d.ts +0 -7
  564. package/dist/packages/core/src/static/postProcessStyles.d.ts.map +0 -1
  565. package/dist/packages/core/src/static.d.ts.map +0 -1
  566. package/dist/packages/core/src/styled.d.ts +0 -16
  567. package/dist/packages/core/src/styled.d.ts.map +0 -1
  568. package/dist/packages/core/src/types.d.ts +0 -305
  569. package/dist/packages/core/src/types.d.ts.map +0 -1
  570. package/dist/packages/core/src/views/Animated.d.ts +0 -15
  571. package/dist/packages/core/src/views/Animated.d.ts.map +0 -1
  572. package/dist/packages/core/src/views/Stack.d.ts +0 -3
  573. package/dist/packages/core/src/views/Stack.d.ts.map +0 -1
  574. package/dist/packages/core/src/views/Text.d.ts +0 -3
  575. package/dist/packages/core/src/views/Text.d.ts.map +0 -1
  576. package/dist/packages/core/src/views/TextAncestorContext.d.ts +0 -3
  577. package/dist/packages/core/src/views/TextAncestorContext.d.ts.map +0 -1
  578. package/dist/packages/core/src/views/Theme.d.ts +0 -8
  579. package/dist/packages/core/src/views/Theme.d.ts.map +0 -1
  580. package/dist/packages/core/src/views/ThemeContext.d.ts +0 -18
  581. package/dist/packages/core/src/views/ThemeContext.d.ts.map +0 -1
  582. package/dist/packages/core/src/views/ThemeInverse.d.ts.map +0 -1
  583. package/dist/packages/core/src/views/ThemeManagerContext.d.ts +0 -15
  584. package/dist/packages/core/src/views/ThemeManagerContext.d.ts.map +0 -1
  585. package/dist/packages/core/src/views/ThemeProvider.d.ts.map +0 -1
  586. package/dist/packages/helpers/src/AllRules.d.ts +0 -3
  587. package/dist/packages/helpers/src/AllRules.d.ts.map +0 -1
  588. package/dist/packages/helpers/src/concatClassName.d.ts +0 -2
  589. package/dist/packages/helpers/src/concatClassName.d.ts.map +0 -1
  590. package/dist/packages/helpers/src/index.d.ts +0 -5
  591. package/dist/packages/helpers/src/index.d.ts.map +0 -1
  592. package/dist/packages/helpers/src/types.d.ts +0 -8
  593. package/dist/packages/helpers/src/types.d.ts.map +0 -1
  594. package/dist/packages/helpers/src/validStyleProps.d.ts +0 -475
  595. package/dist/packages/helpers/src/validStyleProps.d.ts.map +0 -1
  596. package/dist/static.js.map +0 -7
  597. package/dist/styled.js +0 -21
  598. package/dist/styled.js.map +0 -7
  599. package/dist/views/SafeAreaProvider.js +0 -30
  600. package/dist/views/SafeAreaProvider.js.map +0 -7
  601. package/dist/views/Stack.js.map +0 -7
  602. package/dist/views/Text.js.map +0 -7
  603. package/dist/views/TextAncestorContext.js +0 -18
  604. package/dist/views/TextAncestorContext.js.map +0 -7
  605. package/dist/views/Theme.js +0 -65
  606. package/dist/views/Theme.js.map +0 -7
  607. package/dist/views/ThemeProvider.js +0 -45
  608. package/dist/views/ThemeProvider.js.map +0 -7
  609. package/src/constants/constants.ts +0 -12
  610. package/src/constants/platform.ts +0 -15
  611. package/src/constants/pseudos.ts +0 -14
  612. package/src/constants/rnw.tsx +0 -20
  613. package/src/createComponent.tsx +0 -612
  614. package/src/createFont.ts +0 -31
  615. package/src/createShorthands.ts +0 -5
  616. package/src/createTamagui.ts +0 -217
  617. package/src/createTheme.ts +0 -19
  618. package/src/createTokens.ts +0 -88
  619. package/src/createVariable.ts +0 -26
  620. package/src/helpers/addStylesUsingClassname.tsx +0 -60
  621. package/src/helpers/createMediaStyle.ts +0 -46
  622. package/src/helpers/createPropMapper.ts +0 -184
  623. package/src/helpers/createTamaguiProvider.tsx +0 -22
  624. package/src/helpers/extendStaticConfig.ts +0 -68
  625. package/src/helpers/fixNativeShadow.native.tsx +0 -27
  626. package/src/helpers/fixNativeShadow.tsx +0 -2
  627. package/src/helpers/getSplitStyles.tsx +0 -200
  628. package/src/helpers/getStylesAtomic.native.ts +0 -3
  629. package/src/helpers/getStylesAtomic.ts +0 -103
  630. package/src/helpers/insertStyleRule.tsx +0 -18
  631. package/src/helpers/isObj.ts +0 -1
  632. package/src/helpers/isTamaguiElement.tsx +0 -5
  633. package/src/helpers/matchMedia.native.ts +0 -6
  634. package/src/helpers/matchMedia.ts +0 -17
  635. package/src/helpers/themeable.tsx +0 -42
  636. package/src/helpers/validate.ts +0 -59
  637. package/src/hooks/useConstant.tsx +0 -10
  638. package/src/hooks/useFeatures.tsx +0 -79
  639. package/src/hooks/useMedia.tsx +0 -194
  640. package/src/hooks/usePressable.tsx +0 -9
  641. package/src/hooks/useTheme.tsx +0 -106
  642. package/src/index.ts +0 -32
  643. package/src/static/postProcessStyles.tsx +0 -20
  644. package/src/static.ts +0 -22
  645. package/src/styled.ts +0 -82
  646. package/src/types.tsx +0 -562
  647. package/src/views/Animated.tsx +0 -121
  648. package/src/views/Stack.tsx +0 -21
  649. package/src/views/Text.tsx +0 -66
  650. package/src/views/TextAncestorContext.tsx +0 -12
  651. package/src/views/Theme.tsx +0 -90
  652. package/src/views/ThemeContext.tsx +0 -5
  653. package/src/views/ThemeInverse.tsx +0 -22
  654. package/src/views/ThemeManagerContext.tsx +0 -62
  655. package/src/views/ThemeProvider.tsx +0 -52
  656. package/types.d.ts +0 -559
@@ -21,7 +21,6 @@ var __spreadValues = (a, b) => {
21
21
  return a;
22
22
  };
23
23
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
25
24
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
26
25
  var __objRest = (source, exclude) => {
27
26
  var target = {};
@@ -36,98 +35,132 @@ var __objRest = (source, exclude) => {
36
35
  return target;
37
36
  };
38
37
  var __export = (target, all) => {
39
- __markAsModule(target);
40
38
  for (var name in all)
41
39
  __defProp(target, name, { get: all[name], enumerable: true });
42
40
  };
43
- var __reExport = (target, module2, desc) => {
44
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
45
- for (let key of __getOwnPropNames(module2))
46
- if (!__hasOwnProp.call(target, key) && key !== "default")
47
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
41
+ var __copyProps = (to, from, except, desc) => {
42
+ if (from && typeof from === "object" || typeof from === "function") {
43
+ for (let key of __getOwnPropNames(from))
44
+ if (!__hasOwnProp.call(to, key) && key !== except)
45
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
48
46
  }
49
- return target;
50
- };
51
- var __toModule = (module2) => {
52
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
47
+ return to;
53
48
  };
54
- __export(exports, {
49
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
50
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
51
+ var createComponent_exports = {};
52
+ __export(createComponent_exports, {
53
+ AbsoluteFill: () => AbsoluteFill,
55
54
  Spacer: () => Spacer,
56
55
  createComponent: () => createComponent,
57
56
  mouseUps: () => mouseUps,
58
57
  spacedChildren: () => spacedChildren
59
58
  });
60
- var import_helpers = __toModule(require("@tamagui/helpers"));
61
- var import_use_force_update = __toModule(require("@tamagui/use-force-update"));
62
- var import_react = __toModule(require("react"));
63
- var import_react_native = __toModule(require("react-native"));
64
- var import_constants = __toModule(require("./constants/constants"));
65
- var import_platform = __toModule(require("./constants/platform"));
66
- var import_rnw = __toModule(require("./constants/rnw"));
67
- var import_createTamagui = __toModule(require("./createTamagui"));
68
- var import_addStylesUsingClassname = __toModule(require("./helpers/addStylesUsingClassname"));
69
- var import_extendStaticConfig = __toModule(require("./helpers/extendStaticConfig"));
70
- var import_getSplitStyles = __toModule(require("./helpers/getSplitStyles"));
71
- var import_useFeatures = __toModule(require("./hooks/useFeatures"));
72
- var import_usePressable = __toModule(require("./hooks/usePressable"));
73
- var import_TextAncestorContext = __toModule(require("./views/TextAncestorContext"));
74
- var import_ThemeManagerContext = __toModule(require("./views/ThemeManagerContext"));
75
- const mouseUps = new Set();
59
+ module.exports = __toCommonJS(createComponent_exports);
60
+ var import_helpers = require("@tamagui/helpers");
61
+ var import_use_force_update = require("@tamagui/use-force-update");
62
+ var import_react = __toESM(require("react"));
63
+ var import_react_native = require("react-native");
64
+ var import_conf = require("./conf");
65
+ var import_constants = require("./constants/constants");
66
+ var import_platform = require("./constants/platform");
67
+ var import_rnw = require("./constants/rnw");
68
+ var import_createVariable = require("./createVariable");
69
+ var import_createShallowUpdate = require("./helpers/createShallowUpdate");
70
+ var import_extendStaticConfig = require("./helpers/extendStaticConfig");
71
+ var import_getSplitStyles = require("./helpers/getSplitStyles");
72
+ var import_insertStyleRule = require("./helpers/insertStyleRule");
73
+ var import_proxyThemeVariables = require("./helpers/proxyThemeVariables");
74
+ var import_wrapThemeManagerContext = require("./helpers/wrapThemeManagerContext");
75
+ var import_useFeatures = require("./hooks/useFeatures");
76
+ var import_usePressable = require("./hooks/usePressable");
77
+ var import_useTheme = require("./hooks/useTheme");
78
+ var import_TextAncestorContext = require("./views/TextAncestorContext");
79
+ import_react.default["keep"];
80
+ const defaultComponentState = {
81
+ hover: false,
82
+ press: false,
83
+ pressIn: false,
84
+ focus: false,
85
+ mounted: false,
86
+ animation: null
87
+ };
88
+ const mouseUps = /* @__PURE__ */ new Set();
76
89
  if (typeof document !== "undefined") {
77
90
  document.addEventListener("mouseup", () => {
78
91
  mouseUps.forEach((x) => x());
79
92
  mouseUps.clear();
80
93
  });
81
94
  }
82
- function createComponent(configIn) {
83
- let staticConfig;
84
- if ("parsed" in configIn) {
85
- staticConfig = configIn;
86
- } else {
87
- staticConfig = (0, import_extendStaticConfig.parseStaticConfig)(configIn);
95
+ function mergeShorthands({ defaultProps }, { shorthands }) {
96
+ for (const key in defaultProps) {
97
+ defaultProps[shorthands[key] || key] = defaultProps[key];
88
98
  }
89
- const { Component, validStyles, isText, isZStack } = staticConfig;
90
- const validStyleProps = validStyles ?? import_helpers.stylePropsView;
91
- let defaultProps = null;
99
+ }
100
+ __name(mergeShorthands, "mergeShorthands");
101
+ let initialTheme;
102
+ function createComponent(configIn, ParentComponent) {
103
+ const staticConfig = (() => {
104
+ const config = (0, import_extendStaticConfig.extendStaticConfig)(configIn, ParentComponent);
105
+ if ("parsed" in config) {
106
+ return config;
107
+ } else {
108
+ return (0, import_extendStaticConfig.parseStaticConfig)(config);
109
+ }
110
+ })();
111
+ const componentClassName = `is_${staticConfig.componentName}`;
92
112
  let tamaguiConfig;
93
- let defaultsStyle;
94
- let defaultsClassName = "";
95
- let initialTheme;
113
+ let AnimatedText;
114
+ let AnimatedView;
115
+ let avoidClasses = true;
116
+ let defaultNativeStyle;
117
+ let defaultNativeStyleSheet;
118
+ let initialSplitStyles;
119
+ function addPseudoToStyles(styles, name, pseudos) {
120
+ const pseudoStyle = pseudos[name];
121
+ const shouldNestObject = import_platform.isWeb && name !== "enterStyle" && name !== "exitStyle";
122
+ if (pseudoStyle) {
123
+ styles.push(shouldNestObject ? { [name]: pseudoStyle } : pseudoStyle);
124
+ }
125
+ const defaultPseudoStyle = initialSplitStyles.pseudos[name];
126
+ if (defaultPseudoStyle) {
127
+ styles.push(shouldNestObject ? { [name]: defaultPseudoStyle } : defaultPseudoStyle);
128
+ }
129
+ }
130
+ __name(addPseudoToStyles, "addPseudoToStyles");
96
131
  const component = (0, import_react.forwardRef)((props, forwardedRef) => {
97
- var _b;
98
- const forceUpdate = (0, import_use_force_update.useForceUpdate)();
99
- const features = (0, import_useFeatures.useFeatures)(props, { forceUpdate });
100
- const manager = (0, import_react.useContext)(import_ThemeManagerContext.ThemeManagerContext);
101
- const [state, set_] = (0, import_react.useState)(() => ({
102
- hover: false,
103
- press: false,
104
- pressIn: false,
105
- theme: manager.name
106
- }));
107
- const set = /* @__PURE__ */ __name((next) => set_((prev) => {
108
- for (const key in next) {
109
- if (prev[key] !== next[key]) {
110
- return __spreadValues(__spreadValues({}, prev), next);
111
- }
132
+ var _a, _c, _d, _e;
133
+ const { Component, componentName, isText, isZStack } = staticConfig;
134
+ if (process.env.NODE_ENV === "development") {
135
+ if (props["debug"]) {
136
+ console.warn(staticConfig.componentName || (Component == null ? void 0 : Component.displayName) || (Component == null ? void 0 : Component.name) || "[Unnamed Component]", "debug on");
137
+ console.log("props in:", props);
138
+ if (props["debug"] === "break")
139
+ debugger;
112
140
  }
113
- return prev;
114
- }), "set");
115
- if (process.env.NODE_ENV === "development" && !isText && import_platform.isWeb) {
116
- import_react.Children.toArray(props.children).forEach((item) => {
117
- if (typeof item === "string") {
118
- console.error(`Unexpected text node: ${item}. A text node cannot be a child of a <View>.`);
119
- }
120
- });
121
141
  }
122
- const hasTextAncestor = import_platform.isWeb ? (0, import_react.useContext)(import_TextAncestorContext.TextAncestorContext) : false;
123
- const hostRef = (0, import_react.useRef)(null);
124
- const {
125
- viewProps: viewPropsIn,
142
+ const forceUpdate = (0, import_use_force_update.useForceUpdate)();
143
+ const theme = (0, import_useTheme.useTheme)(props.theme, staticConfig.componentName, props, forceUpdate);
144
+ const [state, set_] = (0, import_react.useState)(defaultComponentState);
145
+ const setStateShallow = (0, import_createShallowUpdate.createShallowUpdate)(set_);
146
+ const shouldAvoidClasses = !!(props.animation && avoidClasses);
147
+ const splitStyles = (0, import_getSplitStyles.getSplitStyles)(props, staticConfig, theme, shouldAvoidClasses ? __spreadProps(__spreadValues({}, state), { noClassNames: true, resolveVariablesAs: "value" }) : state, shouldAvoidClasses ? null : initialSplitStyles.classNames);
148
+ const { viewProps: viewPropsIn, pseudos, medias, style, classNames } = splitStyles;
149
+ const useAnimations = (_a = tamaguiConfig.animations) == null ? void 0 : _a.useAnimations;
150
+ const isAnimated = !!(useAnimations && props.animation);
151
+ const hasEnterStyle = !!props.enterStyle;
152
+ const features = (0, import_useFeatures.useFeatures)(props, {
153
+ forceUpdate,
154
+ setStateShallow,
155
+ useAnimations,
156
+ state,
157
+ style: props.animation ? __spreadValues(__spreadValues({}, defaultNativeStyle), style) : null,
126
158
  pseudos,
127
- style,
128
- classNames
129
- } = (0, import_getSplitStyles.getSplitStyles)(props, staticConfig, manager.theme || initialTheme);
130
- const _a = viewPropsIn, {
159
+ staticConfig,
160
+ theme,
161
+ onDidAnimate: props.onDidAnimate
162
+ });
163
+ const _b = viewPropsIn, {
131
164
  tag,
132
165
  hitSlop,
133
166
  children,
@@ -159,11 +192,16 @@ function createComponent(configIn) {
159
192
  onStartShouldSetResponder,
160
193
  onStartShouldSetResponderCapture,
161
194
  onMouseDown,
162
- onClick,
195
+ nativeID,
163
196
  accessible,
164
197
  accessibilityRole,
198
+ collapsable,
199
+ focusable,
200
+ onClick,
201
+ theme: _themeProp,
202
+ defaultVariants,
165
203
  onLayout
166
- } = _a, viewProps = __objRest(_a, [
204
+ } = _b, viewPropsRest = __objRest(_b, [
167
205
  "tag",
168
206
  "hitSlop",
169
207
  "children",
@@ -195,11 +233,53 @@ function createComponent(configIn) {
195
233
  "onStartShouldSetResponder",
196
234
  "onStartShouldSetResponderCapture",
197
235
  "onMouseDown",
198
- "onClick",
236
+ "nativeID",
199
237
  "accessible",
200
238
  "accessibilityRole",
239
+ "collapsable",
240
+ "focusable",
241
+ "onClick",
242
+ "theme",
243
+ "defaultVariants",
201
244
  "onLayout"
202
245
  ]);
246
+ let viewProps = viewPropsRest;
247
+ if (process.env.NODE_ENV === "development" && !isText && import_platform.isWeb) {
248
+ import_react.Children.toArray(props.children).forEach((item) => {
249
+ if (typeof item === "string") {
250
+ console.error(`Unexpected text node: ${item}. A text node cannot be a child of a <View>.`);
251
+ }
252
+ });
253
+ }
254
+ const hasTextAncestor = import_platform.isWeb ? (0, import_react.useContext)(import_TextAncestorContext.TextAncestorContext) : false;
255
+ const hostRef = (0, import_react.useRef)(null);
256
+ const internal = (0, import_react.useRef)();
257
+ if (!internal.current) {
258
+ internal.current = {
259
+ isMounted: true
260
+ };
261
+ }
262
+ (0, import_platform.useIsomorphicLayoutEffect)(() => {
263
+ if (typeof window !== "undefined" && (hasEnterStyle || props.animation)) {
264
+ setStateShallow({
265
+ mounted: true
266
+ });
267
+ }
268
+ internal.current.isMounted = true;
269
+ return () => {
270
+ mouseUps.delete(unPress);
271
+ internal.current.isMounted = false;
272
+ };
273
+ }, [hasEnterStyle, props.animation]);
274
+ if (nativeID) {
275
+ viewProps.id = nativeID;
276
+ }
277
+ if (import_platform.isAndroid) {
278
+ if (collapsable)
279
+ viewProps.collapsable = collapsable;
280
+ if (focusable)
281
+ viewProps.focusable = focusable;
282
+ }
203
283
  if (!import_platform.isWeb) {
204
284
  if (accessible)
205
285
  viewProps.accessible = accessible;
@@ -226,53 +306,51 @@ function createComponent(configIn) {
226
306
  onStartShouldSetResponderCapture
227
307
  });
228
308
  }
229
- const isTracking = (0, import_react.useRef)(false);
230
- const internal = (0, import_react.useRef)();
231
- if (!internal.current) {
232
- internal.current = {
233
- isMounted: true
234
- };
309
+ const isTaggable = !Component || typeof Component === "string";
310
+ const element = import_platform.isWeb ? isTaggable ? tag || Component : Component : Component;
311
+ const BaseTextComponent = !import_platform.isWeb ? import_react_native.Text : element || "span";
312
+ const BaseViewComponent = !import_platform.isWeb ? import_react_native.View : element || (hasTextAncestor ? "span" : "div");
313
+ let ViewComponent = isText ? (isAnimated ? AnimatedText || import_react_native.Text : null) || BaseTextComponent : (isAnimated ? AnimatedView || import_react_native.View : null) || BaseViewComponent;
314
+ ViewComponent = Component || ViewComponent;
315
+ let styles;
316
+ const isStringElement = typeof ViewComponent === "string";
317
+ const animationStyles = state.animation ? state.animation.style : null;
318
+ if (isStringElement && shouldAvoidClasses) {
319
+ styles = __spreadValues(__spreadValues(__spreadValues({}, defaultNativeStyle), animationStyles), medias);
320
+ } else {
321
+ styles = [
322
+ import_platform.isWeb ? null : defaultNativeStyleSheet ? defaultNativeStyleSheet.base : null,
323
+ animationStyles ? animationStyles : style,
324
+ medias
325
+ ];
326
+ if (!animationStyles) {
327
+ !state.mounted && addPseudoToStyles(styles, "enterStyle", pseudos);
328
+ state.hover && addPseudoToStyles(styles, "hoverStyle", pseudos);
329
+ state.focus && addPseudoToStyles(styles, "focusStyle", pseudos);
330
+ state.press && addPseudoToStyles(styles, "pressStyle", pseudos);
331
+ }
235
332
  }
236
- (0, import_react.useEffect)(() => {
237
- internal.current.isMounted = true;
238
- const dispose = manager == null ? void 0 : manager.onChangeTheme((name) => {
239
- if (isTracking.current) {
240
- set({ theme: name });
241
- }
242
- });
243
- return () => {
244
- dispose();
245
- mouseUps.delete(unPress);
246
- isTracking.current = false;
247
- internal.current.isMounted = false;
248
- };
249
- }, [manager]);
250
- const element = import_platform.isWeb ? !Component || typeof Component === "string" ? tag || Component : Component : Component;
251
- const ReactView = !import_platform.isWeb ? import_react_native.View : element || (hasTextAncestor ? "span" : "div");
252
- const ReactText = !import_platform.isWeb ? import_react_native.Text : element || "span";
253
- const ViewComponent = isText ? ReactText : ReactView;
254
- const isHovering = !import_platform.isTouchDevice && !disabled && pseudos && state.hover;
255
- const isPressing = !disabled && pseudos && state.press;
256
- const styles = [
257
- style,
258
- isHovering ? pseudos.hoverStyle || null : null,
259
- isPressing ? pseudos.pressStyle || null : null
260
- ];
261
333
  if (import_platform.isWeb) {
262
- const stylesClassNames = (0, import_addStylesUsingClassname.useStylesAsClassname)(styles);
263
- const classList = isText ? [
264
- defaultsClassName,
265
- classNames,
266
- stylesClassNames,
267
- props.className
268
- ] : [defaultsClassName, props.className, classNames, stylesClassNames];
269
- const className = (0, import_helpers.concatClassName)(...classList);
270
- if (process.env.NODE_ENV === "development") {
271
- if (props["debug"]) {
272
- console.log("\u{1F95A} className", { style, styles, classList, stylesClassNames, className });
334
+ if (!shouldAvoidClasses) {
335
+ const fontFamilyName = isText ? props.fontFamily || staticConfig.defaultProps.fontFamily : null;
336
+ const fontFamily = fontFamilyName && fontFamilyName[0] === "$" ? fontFamilyName.slice(1) : null;
337
+ const classList = [
338
+ componentName ? componentClassName : "",
339
+ fontFamily ? `font_${fontFamily}` : "",
340
+ theme.className,
341
+ classNames ? Object.values(classNames).join(" ") : ""
342
+ ];
343
+ const className = classList.join(" ");
344
+ if (process.env.NODE_ENV === "development") {
345
+ if (props["debug"]) {
346
+ console.log(" \xBB className", { isStringElement, pseudos, state, classNames, propsClassName: props.className, style, classList, className: className.trim().split(" "), themeClassName: theme.className, values: Object.fromEntries(Object.entries(classNames).map(([k, v]) => [v, (0, import_insertStyleRule.getAllSelectors)()[v]])) });
347
+ }
273
348
  }
349
+ viewProps.className = className;
350
+ viewProps.style = animationStyles;
351
+ } else {
352
+ viewProps.style = styles;
274
353
  }
275
- viewProps.className = className;
276
354
  } else {
277
355
  viewProps.style = styles;
278
356
  }
@@ -282,7 +360,13 @@ function createComponent(configIn) {
282
360
  if (import_platform.isWeb) {
283
361
  const platformMethodsRef = import_rnw.rnw.usePlatformMethods(viewProps);
284
362
  const setRef = import_rnw.rnw.useMergeRefs(hostRef, platformMethodsRef, forwardedRef);
285
- viewProps.ref = setRef;
363
+ if (!isAnimated) {
364
+ viewProps.ref = setRef;
365
+ } else {
366
+ if (forwardedRef) {
367
+ viewProps.ref = forwardedRef;
368
+ }
369
+ }
286
370
  if (props.href != null && hrefAttrs != null) {
287
371
  const { download, rel, target } = hrefAttrs;
288
372
  if (download != null) {
@@ -300,16 +384,16 @@ function createComponent(configIn) {
300
384
  viewProps.ref = forwardedRef;
301
385
  }
302
386
  }
303
- const attachPress = !!(pseudos && pseudos.pressStyle || onPress || onPressOut || onPressIn || onClick);
304
- const attachHover = import_platform.isWeb && !import_platform.isTouchDevice && !!(pseudos && pseudos.hoverStyle || onHoverIn || onHoverOut || onMouseEnter || onMouseLeave);
305
- const shouldAttach = internal.current.hasEverHadEvents || attachPress || attachHover || "pressStyle" in props || "onPress" in props || "onPressIn" in props || "onPressOut" in props || import_platform.isWeb && ("hoverStyle" in props || "onClick" in props || "onHoverIn" in props || "onHoverOut" in props || "onMouseEnter" in props || "onMouseLeave" in props);
306
- if (shouldAttach) {
307
- internal.current.hasEverHadEvents = true;
308
- }
387
+ const initialPseudos = initialSplitStyles.pseudos;
388
+ const attachPress = !!(pseudos && pseudos.pressStyle || initialPseudos && initialPseudos.pressStyle || onPress || onPressOut || onPressIn || onClick);
389
+ const isHoverable = import_platform.isWeb && !import_platform.isTouchDevice;
390
+ const attachHover = isHoverable && !!(pseudos && pseudos.hoverStyle || onHoverIn || onHoverOut || onMouseEnter || onMouseLeave);
391
+ const pressEventKey = isStringElement ? "onClick" : "onPress";
392
+ const shouldAttach = attachPress || attachHover || "pressStyle" in props || "onPress" in props || "onPressIn" in props || "onPressOut" in props || import_platform.isWeb && ("hoverStyle" in props || "onHoverIn" in props || "onHoverOut" in props || "onMouseEnter" in props || "onMouseLeave" in props);
309
393
  const unPress = (0, import_react.useCallback)(() => {
310
394
  if (!internal.current.isMounted)
311
395
  return;
312
- set({
396
+ setStateShallow({
313
397
  press: false,
314
398
  pressIn: false
315
399
  });
@@ -319,8 +403,8 @@ function createComponent(configIn) {
319
403
  unPress();
320
404
  onPressOut == null ? void 0 : onPressOut(e);
321
405
  }
322
- }), import_platform.isWeb && !import_platform.isTouchDevice && {
323
- onMouseEnter: attachHover || attachPress ? (e) => {
406
+ }), isHoverable && {
407
+ onMouseEnter: attachHover ? (e) => {
324
408
  let next = {};
325
409
  if (attachHover) {
326
410
  next.hover = true;
@@ -329,12 +413,12 @@ function createComponent(configIn) {
329
413
  next.press = true;
330
414
  }
331
415
  if (Object.keys(next).length) {
332
- set(next);
416
+ setStateShallow(next);
333
417
  }
334
418
  onHoverIn == null ? void 0 : onHoverIn(e);
335
419
  onMouseEnter == null ? void 0 : onMouseEnter(e);
336
420
  } : void 0,
337
- onMouseLeave: attachHover || attachPress ? (e) => {
421
+ onMouseLeave: attachHover ? (e) => {
338
422
  let next = {};
339
423
  mouseUps.add(unPress);
340
424
  if (attachHover) {
@@ -345,114 +429,153 @@ function createComponent(configIn) {
345
429
  next.pressIn = false;
346
430
  }
347
431
  if (Object.keys(next).length) {
348
- set(next);
432
+ setStateShallow(next);
349
433
  }
350
434
  onHoverOut == null ? void 0 : onHoverOut(e);
351
435
  onMouseLeave == null ? void 0 : onMouseLeave(e);
352
436
  } : void 0
353
437
  }), {
354
438
  onMouseDown: attachPress ? (e) => {
355
- set({
439
+ setStateShallow({
356
440
  press: true,
357
441
  pressIn: true
358
442
  });
359
443
  onPressIn == null ? void 0 : onPressIn(e);
360
444
  onMouseDown == null ? void 0 : onMouseDown(e);
361
- } : onPressIn,
362
- onClick: attachPress ? (e) => {
445
+ } : null,
446
+ [pressEventKey]: attachPress ? (e) => {
363
447
  onPress == null ? void 0 : onPress(e);
364
- onClick == null ? void 0 : onClick(e);
365
448
  unPress();
366
449
  onPressOut == null ? void 0 : onPressOut(e);
367
- } : onPressOut
450
+ onClick == null ? void 0 : onClick(e);
451
+ } : null
368
452
  }) : null;
369
- if (events) {
370
- if (typeof ViewComponent !== "string") {
371
- const [pressProps] = (0, import_usePressable.usePressable)({
372
- disabled,
373
- hitSlop,
374
- onPressIn: events.onMouseDown,
375
- onPressOut: events.onPressOut,
376
- onPress: events.onClick
377
- });
378
- Object.assign(viewProps, pressProps);
379
- } else {
380
- Object.assign(viewProps, events);
381
- }
382
- }
383
- const childEls = spacedChildren({
453
+ let childEls = !children ? children : (0, import_wrapThemeManagerContext.wrapThemeManagerContext)(spacedChildren({
384
454
  children,
385
455
  space,
386
- flexDirection: props.flexDirection || (defaultProps == null ? void 0 : defaultProps.flexDirection),
456
+ flexDirection: props.flexDirection || ((_c = staticConfig.defaultProps) == null ? void 0 : _c.flexDirection),
387
457
  isZStack
458
+ }), (0, import_useTheme.getThemeManagerIfChanged)(theme));
459
+ const [pressProps] = (0, import_usePressable.usePressable)(events ? __spreadProps(__spreadValues({
460
+ disabled
461
+ }, hitSlop && {
462
+ hitSlop
463
+ }), {
464
+ onPressIn: events.onMouseDown,
465
+ onPressOut: events.onPressOut,
466
+ onPress: events[pressEventKey]
467
+ }) : {
468
+ disabled: true
388
469
  });
389
470
  let content;
390
- if (import_platform.isWeb && import_rnw.rnw) {
391
- const domProps = import_rnw.rnw.createDOMProps(viewProps);
392
- const className = domProps.className && domProps.className !== viewProps.className ? `${domProps.className} ${viewProps.className}` : viewProps.className;
393
- Object.assign(viewProps, domProps);
394
- viewProps.className = className;
395
- content = (0, import_react.createElement)(ViewComponent, viewProps, childEls);
396
- } else {
397
- content = (0, import_react.createElement)(ViewComponent, viewProps, childEls);
471
+ if (import_platform.isWeb) {
472
+ if (staticConfig.isReactNativeWeb) {
473
+ viewProps.dataSet = __spreadProps(__spreadValues({}, viewProps.dataSet), {
474
+ className: viewProps.className
475
+ });
476
+ } else {
477
+ const rnProps = import_rnw.rnw.createDOMProps(viewProps);
478
+ const className = rnProps.className && rnProps.className !== viewProps.className ? `${rnProps.className} ${viewProps.className}` : viewProps.className;
479
+ Object.assign(viewProps, rnProps);
480
+ if (className) {
481
+ viewProps.className = className;
482
+ }
483
+ }
398
484
  }
399
- const shouldWrapTextAncestor = import_platform.isWeb && isText && !hasTextAncestor;
400
- if (shouldWrapTextAncestor) {
401
- content = (0, import_react.createElement)(import_TextAncestorContext.TextAncestorContext.Provider, { value: true }, content);
485
+ if (events) {
486
+ if (!isStringElement) {
487
+ Object.assign(viewProps, pressProps);
488
+ } else {
489
+ Object.assign(viewProps, events);
490
+ }
491
+ }
492
+ content = (0, import_react.createElement)(ViewComponent, viewProps, childEls);
493
+ if (import_platform.isWeb && events && attachHover) {
494
+ content = /* @__PURE__ */ import_react.default.createElement("span", {
495
+ className: "tui_Hoverable",
496
+ style: {
497
+ display: "contents"
498
+ },
499
+ onMouseEnter: events.onMouseEnter,
500
+ onMouseLeave: events.onMouseLeave
501
+ }, content);
402
502
  }
403
503
  if (process.env.NODE_ENV === "development") {
404
504
  if (props["debug"]) {
405
505
  viewProps["debug"] = true;
406
- console.log("\u{1F95A} props in:", props);
407
- console.log("\u{1F95A} props out:", viewProps);
408
- console.log((_b = props.onClick) == null ? void 0 : _b.toString());
409
- console.log("\u{1F95A} etc:", { shouldAttach, ViewComponent, viewProps, styles, pseudos, content, childEls });
410
- if (import_platform.isWeb) {
411
- console.log("\u{1F95A} component info", { staticConfig, tamaguiConfig });
412
- }
506
+ console.log(" \xBB ", __spreadValues({ propsIn: __spreadValues({}, props), propsOut: __spreadValues({}, viewProps), state, splitStyles, animationStyles, isStringElement, classNamesIn: (_d = props.className) == null ? void 0 : _d.split(" "), classNamesOut: (_e = viewProps.className) == null ? void 0 : _e.split(" "), pressProps, events, shouldAttach, ViewComponent, viewProps, styles, pseudos, content, childEls, shouldAvoidClasses, avoidClasses, animation: props.animation, style, defaultNativeStyle, initialSplitStyles }, typeof window !== "undefined" ? { theme, themeState: theme.__state, themeClassName: theme.className, staticConfig, tamaguiConfig } : null));
413
507
  }
414
508
  }
415
- return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, features, content);
509
+ if (features.length) {
510
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, features, content);
511
+ }
512
+ return content;
416
513
  });
417
- (0, import_createTamagui.onConfiguredOnce)((conf) => {
418
- var _a;
514
+ component.displayName = staticConfig.componentName;
515
+ (0, import_conf.onConfiguredOnce)((conf) => {
516
+ var _a, _b, _c, _d;
517
+ if (process.env.IS_STATIC === "is_static") {
518
+ return;
519
+ }
419
520
  tamaguiConfig = conf;
420
- initialTheme = conf.themes[conf.defaultTheme || Object.keys(conf.themes)[0]];
421
- const next = (0, import_getSplitStyles.getSplitStyles)(staticConfig.defaultProps, staticConfig, initialTheme, true);
422
- if (import_platform.isWeb) {
423
- if (next.classNames) {
424
- defaultsClassName += next.classNames + " ";
425
- }
426
- defaultsClassName += (0, import_addStylesUsingClassname.addStylesUsingClassname)([next.style, next.pseudos]);
427
- } else {
428
- if (!hasWarnedOnce) {
429
- hasWarnedOnce = true;
430
- console.log("\u26A0\uFE0F TODO account for default styles for media queries");
431
- }
521
+ mergeShorthands(staticConfig, tamaguiConfig);
522
+ avoidClasses = !!((_a = tamaguiConfig.animations) == null ? void 0 : _a.avoidClasses);
523
+ AnimatedText = (_b = tamaguiConfig.animations) == null ? void 0 : _b.Text;
524
+ AnimatedView = (_c = tamaguiConfig == null ? void 0 : tamaguiConfig.animations) == null ? void 0 : _c.View;
525
+ initialTheme = initialTheme || (0, import_proxyThemeVariables.proxyThemeVariables)(conf.themes[conf.defaultTheme || Object.keys(conf.themes)[0]]);
526
+ initialSplitStyles = (0, import_getSplitStyles.getSplitStyles)(staticConfig.defaultProps, staticConfig, initialTheme, {
527
+ mounted: true,
528
+ hover: false,
529
+ press: false,
530
+ pressIn: false,
531
+ focus: false,
532
+ resolveVariablesAs: "both",
533
+ keepVariantsAsProps: true
534
+ });
535
+ const { style, viewProps } = initialSplitStyles;
536
+ defaultNativeStyle = {};
537
+ for (const key in style) {
538
+ const v = style[key];
539
+ defaultNativeStyle[key] = (0, import_createVariable.isVariable)(v) ? v.val : v;
432
540
  }
433
- component.defaultProps = __spreadValues(__spreadValues({}, next.viewProps), component.defaultProps);
434
- if (process.env.NODE_ENV === "development") {
435
- if ((_a = staticConfig.defaultProps) == null ? void 0 : _a.debug) {
436
- console.log("tamagui debug component:", next, defaultsClassName, component.defaultProps);
541
+ defaultNativeStyleSheet = import_react_native.StyleSheet.create({
542
+ base: defaultNativeStyle
543
+ });
544
+ component.defaultProps = __spreadValues(__spreadValues({}, viewProps), component.defaultProps);
545
+ if (process.env.NODE_ENV === "development" && ((_d = staticConfig.defaultProps) == null ? void 0 : _d.debug)) {
546
+ if (process.env.IS_STATIC !== "is_static") {
547
+ console.log(`\u{1F41B} [${staticConfig.componentName || "Component"}]`, {
548
+ staticConfig,
549
+ initialSplitStyles
550
+ });
437
551
  }
438
552
  }
439
553
  });
440
- component["staticConfig"] = __spreadValues({
441
- validStyles: validStyleProps
554
+ let res = component;
555
+ if (configIn.memo) {
556
+ res = (0, import_react.memo)(res);
557
+ }
558
+ res["staticConfig"] = __spreadValues({
559
+ validStyles: staticConfig.validStyles || import_helpers.stylePropsView
442
560
  }, staticConfig);
443
- const res = component;
444
- res["extractable"] = (Component2, conf) => {
445
- Component2["staticConfig"] = (0, import_extendStaticConfig.extendStaticConfig)(res, __spreadProps(__spreadValues({}, conf), {
561
+ if (process.env.NODE_ENV === "development") {
562
+ res["whyDidYouRender"] = true;
563
+ }
564
+ res["extractable"] = (Component, conf) => {
565
+ Component["staticConfig"] = (0, import_extendStaticConfig.extendStaticConfig)(__spreadProps(__spreadValues({
566
+ Component
567
+ }, conf), {
446
568
  neverFlatten: true,
447
- defaultProps: __spreadValues(__spreadValues({}, Component2.defaultProps), conf == null ? void 0 : conf.defaultProps)
448
- }));
449
- return Component2;
569
+ defaultProps: __spreadValues(__spreadValues({}, Component.defaultProps), conf == null ? void 0 : conf.defaultProps)
570
+ }), res);
571
+ return Component;
450
572
  };
451
573
  return res;
452
574
  }
453
575
  __name(createComponent, "createComponent");
454
- let hasWarnedOnce = false;
455
576
  const Spacer = createComponent({
577
+ memo: true,
578
+ componentName: "Spacer",
456
579
  defaultProps: __spreadProps(__spreadValues({}, import_constants.stackDefaultStyles), {
457
580
  size: true
458
581
  }),
@@ -460,18 +583,28 @@ const Spacer = createComponent({
460
583
  size: {
461
584
  "...size": (size, { tokens }) => {
462
585
  size = size == true ? "$true" : size;
586
+ const sizePx = tokens.size[size] ?? size;
463
587
  return {
464
- width: tokens.size[size] ?? size,
465
- height: tokens.size[size] ?? size
588
+ width: sizePx,
589
+ height: sizePx,
590
+ minWidth: sizePx,
591
+ minHeight: sizePx
466
592
  };
467
593
  }
468
594
  },
595
+ flex: {
596
+ true: {
597
+ flex: 1
598
+ }
599
+ },
469
600
  direction: {
470
601
  horizontal: {
471
- height: 0
602
+ height: 0,
603
+ minHeight: 0
472
604
  },
473
605
  vertical: {
474
- width: 0
606
+ width: 0,
607
+ minWidth: 0
475
608
  }
476
609
  }
477
610
  }
@@ -480,52 +613,65 @@ function spacedChildren({
480
613
  isZStack,
481
614
  children,
482
615
  space,
483
- flexDirection
616
+ flexDirection,
617
+ spaceFlex
484
618
  }) {
485
619
  var _a;
486
- if (!space && !isZStack) {
487
- return children;
488
- }
489
620
  const childrenList = import_react.Children.toArray(children);
490
621
  const len = childrenList.length;
491
622
  if (len === 1) {
492
- return children;
623
+ return childrenList;
493
624
  }
494
625
  const next = [];
495
626
  for (const [index, child] of childrenList.entries()) {
496
627
  if (child === null || child === void 0) {
497
628
  continue;
498
629
  }
499
- const key = `${(child == null ? void 0 : child["key"]) ?? index}`;
500
- next.push(/* @__PURE__ */ import_react.default.createElement(import_react.Fragment, {
501
- key
502
- }, isZStack ? /* @__PURE__ */ import_react.default.createElement(Absolute, null, child) : child));
503
- if ((_a = child == null ? void 0 : child["type"]) == null ? void 0 : _a["isVisuallyHidden"]) {
630
+ if (!child || child["key"] && !isZStack) {
631
+ next.push(child);
632
+ } else {
633
+ next.push(/* @__PURE__ */ import_react.default.createElement(import_react.Fragment, {
634
+ key: index
635
+ }, isZStack ? /* @__PURE__ */ import_react.default.createElement(AbsoluteFill, null, child) : child));
636
+ }
637
+ if ((_a = child["type"]) == null ? void 0 : _a["isVisuallyHidden"]) {
504
638
  continue;
505
639
  }
506
640
  if (index !== len - 1) {
507
641
  if (space) {
508
- next.push(/* @__PURE__ */ import_react.default.createElement(Spacer, {
509
- key: `${key}_spacer`,
642
+ next.push(/* @__PURE__ */ import_react.default.createElement(Spacer, __spreadValues({
643
+ key: `_${index}_spacer`,
510
644
  direction: flexDirection === "row" || flexDirection === "row-reverse" ? "horizontal" : "vertical",
511
645
  size: space
512
- }));
646
+ }, spaceFlex && {
647
+ flex: spaceFlex
648
+ })));
513
649
  }
514
650
  }
515
651
  }
516
652
  return next;
517
653
  }
518
654
  __name(spacedChildren, "spacedChildren");
519
- const Absolute = /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ import_react.default.createElement(import_react_native.View, {
520
- style: sheet.fullscreen
521
- }, children), "Absolute");
522
- const sheet = import_react_native.StyleSheet.create({
523
- fullscreen: {
524
- position: "absolute",
525
- top: 0,
526
- left: 0,
527
- right: 0,
528
- bottom: 0
529
- }
655
+ function AbsoluteFill(props) {
656
+ return import_platform.isWeb ? /* @__PURE__ */ import_react.default.createElement("div", {
657
+ style: {
658
+ position: "absolute",
659
+ top: 0,
660
+ left: 0,
661
+ right: 0,
662
+ bottom: 0
663
+ }
664
+ }, props.children) : /* @__PURE__ */ import_react.default.createElement(import_react_native.View, {
665
+ style: import_react_native.StyleSheet.absoluteFill
666
+ }, props.child);
667
+ }
668
+ __name(AbsoluteFill, "AbsoluteFill");
669
+ // Annotate the CommonJS export names for ESM import in node:
670
+ 0 && (module.exports = {
671
+ AbsoluteFill,
672
+ Spacer,
673
+ createComponent,
674
+ mouseUps,
675
+ spacedChildren
530
676
  });
531
677
  //# sourceMappingURL=createComponent.js.map