@tamagui/core 1.0.0-alpha.8 → 1.0.0-beta.149

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