@tamagui/core 1.0.0-alpha.5 → 1.0.0-alpha.58

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 (507) hide show
  1. package/dist/cjs/conf.js +52 -0
  2. package/dist/cjs/conf.js.map +7 -0
  3. package/dist/cjs/constants/constants.js +55 -0
  4. package/dist/cjs/constants/constants.js.map +7 -0
  5. package/dist/cjs/constants/platform.js +44 -0
  6. package/dist/cjs/constants/platform.js.map +7 -0
  7. package/dist/cjs/constants/pseudos.js +42 -0
  8. package/dist/cjs/constants/pseudos.js.map +7 -0
  9. package/dist/cjs/constants/rnw.js +45 -0
  10. package/dist/cjs/constants/rnw.js.map +7 -0
  11. package/dist/cjs/createComponent.js +544 -0
  12. package/dist/cjs/createComponent.js.map +7 -0
  13. package/dist/cjs/createFont.js +51 -0
  14. package/dist/cjs/createFont.js.map +7 -0
  15. package/dist/cjs/createShorthands.js +33 -0
  16. package/dist/cjs/createShorthands.js.map +7 -0
  17. package/dist/cjs/createTamagui.js +205 -0
  18. package/dist/cjs/createTamagui.js.map +7 -0
  19. package/dist/cjs/createTheme.js +30 -0
  20. package/dist/cjs/createTheme.js.map +7 -0
  21. package/dist/cjs/createTokens.js +56 -0
  22. package/dist/cjs/createTokens.js.map +7 -0
  23. package/dist/cjs/createVariable.js +48 -0
  24. package/dist/cjs/createVariable.js.map +7 -0
  25. package/dist/cjs/helpers/addStylesUsingClassname.js +80 -0
  26. package/dist/cjs/helpers/addStylesUsingClassname.js.map +7 -0
  27. package/dist/cjs/helpers/createMediaStyle.js +57 -0
  28. package/dist/cjs/helpers/createMediaStyle.js.map +7 -0
  29. package/dist/cjs/helpers/createPropMapper.js +199 -0
  30. package/dist/cjs/helpers/createPropMapper.js.map +7 -0
  31. package/dist/cjs/helpers/createTamaguiProvider.js +80 -0
  32. package/dist/cjs/helpers/createTamaguiProvider.js.map +7 -0
  33. package/dist/cjs/helpers/extendStaticConfig.js +83 -0
  34. package/dist/cjs/helpers/extendStaticConfig.js.map +7 -0
  35. package/dist/cjs/helpers/fixNativeShadow.js +31 -0
  36. package/dist/cjs/helpers/fixNativeShadow.js.map +7 -0
  37. package/dist/cjs/helpers/fixNativeShadow.native.js +57 -0
  38. package/dist/cjs/helpers/fixNativeShadow.native.js.map +7 -0
  39. package/dist/cjs/helpers/getSplitStyles.js +181 -0
  40. package/dist/cjs/helpers/getSplitStyles.js.map +7 -0
  41. package/dist/cjs/helpers/getStylesAtomic.js +118 -0
  42. package/dist/cjs/helpers/getStylesAtomic.js.map +7 -0
  43. package/dist/cjs/helpers/getStylesAtomic.native.js +33 -0
  44. package/dist/cjs/helpers/getStylesAtomic.native.js.map +7 -0
  45. package/dist/cjs/helpers/getThemeParentClassName.js +34 -0
  46. package/dist/cjs/helpers/getThemeParentClassName.js.map +7 -0
  47. package/dist/cjs/helpers/insertStyleRule.js +47 -0
  48. package/dist/cjs/helpers/insertStyleRule.js.map +7 -0
  49. package/dist/cjs/helpers/isObj.js +30 -0
  50. package/dist/cjs/helpers/isObj.js.map +7 -0
  51. package/dist/cjs/helpers/isTamaguiElement.js +34 -0
  52. package/dist/cjs/helpers/isTamaguiElement.js.map +7 -0
  53. package/dist/cjs/helpers/matchMedia.js +41 -0
  54. package/dist/cjs/helpers/matchMedia.js.map +7 -0
  55. package/dist/cjs/helpers/matchMedia.native.js +37 -0
  56. package/dist/cjs/helpers/matchMedia.native.js.map +7 -0
  57. package/dist/cjs/helpers/themeable.js +84 -0
  58. package/dist/cjs/helpers/themeable.js.map +7 -0
  59. package/dist/cjs/helpers/validate.js +88 -0
  60. package/dist/cjs/helpers/validate.js.map +7 -0
  61. package/dist/cjs/hooks/useConstant.js +38 -0
  62. package/dist/cjs/hooks/useConstant.js.map +7 -0
  63. package/dist/cjs/hooks/useFeatures.js +106 -0
  64. package/dist/cjs/hooks/useFeatures.js.map +7 -0
  65. package/dist/cjs/hooks/useMedia.js +208 -0
  66. package/dist/cjs/hooks/useMedia.js.map +7 -0
  67. package/dist/cjs/hooks/usePressable.js +51 -0
  68. package/dist/cjs/hooks/usePressable.js.map +7 -0
  69. package/dist/cjs/hooks/useTheme.js +121 -0
  70. package/dist/cjs/hooks/useTheme.js.map +7 -0
  71. package/dist/cjs/index.js +63 -0
  72. package/dist/cjs/index.js.map +7 -0
  73. package/dist/cjs/static/postProcessStyles.js +41 -0
  74. package/dist/cjs/static/postProcessStyles.js.map +7 -0
  75. package/dist/cjs/static.js +35 -0
  76. package/dist/cjs/static.js.map +7 -0
  77. package/dist/cjs/styled.js +73 -0
  78. package/dist/cjs/styled.js.map +7 -0
  79. package/dist/cjs/tamagui-base.css +8 -0
  80. package/dist/cjs/tamagui-base.css.map +7 -0
  81. package/dist/cjs/types.js +21 -0
  82. package/dist/cjs/types.js.map +7 -0
  83. package/dist/cjs/views/AbsoluteFullscreen.js +38 -0
  84. package/dist/cjs/views/AbsoluteFullscreen.js.map +7 -0
  85. package/dist/cjs/views/AbsoluteFullscreen.native.js +1 -0
  86. package/dist/{helpers/pseudos.js.map → cjs/views/AbsoluteFullscreen.native.js.map} +0 -0
  87. package/dist/cjs/views/Animated.js +135 -0
  88. package/dist/cjs/views/Animated.js.map +7 -0
  89. package/dist/cjs/views/Stack.js +52 -0
  90. package/dist/cjs/views/Stack.js.map +7 -0
  91. package/dist/cjs/views/Text.js +94 -0
  92. package/dist/cjs/views/Text.js.map +7 -0
  93. package/dist/cjs/views/TextAncestorContext.js +46 -0
  94. package/dist/cjs/views/TextAncestorContext.js.map +7 -0
  95. package/dist/cjs/views/Theme.js +97 -0
  96. package/dist/cjs/views/Theme.js.map +7 -0
  97. package/dist/cjs/views/ThemeContext.js +30 -0
  98. package/dist/cjs/views/ThemeContext.js.map +7 -0
  99. package/dist/cjs/views/ThemeInverse.js +54 -0
  100. package/dist/cjs/views/ThemeInverse.js.map +7 -0
  101. package/dist/cjs/views/ThemeManagerContext.js +85 -0
  102. package/dist/cjs/views/ThemeManagerContext.js.map +7 -0
  103. package/dist/cjs/views/ThemeProvider.js +73 -0
  104. package/dist/cjs/views/ThemeProvider.js.map +7 -0
  105. package/dist/esm/conf.js +29 -0
  106. package/dist/esm/conf.js.map +7 -0
  107. package/dist/{constants → esm/constants}/constants.js +4 -0
  108. package/dist/esm/constants/constants.js.map +7 -0
  109. package/dist/{constants → esm/constants}/platform.js +2 -1
  110. package/dist/esm/constants/platform.js.map +7 -0
  111. package/dist/{constants → esm/constants}/pseudos.js +0 -0
  112. package/dist/{constants → esm/constants}/pseudos.js.map +1 -1
  113. package/dist/{constants → esm/constants}/rnw.js +0 -0
  114. package/dist/{constants → esm/constants}/rnw.js.map +1 -1
  115. package/dist/{createComponent.js → esm/createComponent.js} +120 -91
  116. package/dist/esm/createComponent.js.map +7 -0
  117. package/dist/{createFont.js → esm/createFont.js} +4 -0
  118. package/dist/esm/createFont.js.map +7 -0
  119. package/dist/{createShorthands.js → esm/createShorthands.js} +0 -0
  120. package/dist/{createShorthands.js.map → esm/createShorthands.js.map} +1 -1
  121. package/dist/esm/createTamagui.js +166 -0
  122. package/dist/esm/createTamagui.js.map +7 -0
  123. package/dist/esm/createTheme.js +7 -0
  124. package/dist/esm/createTheme.js.map +7 -0
  125. package/dist/{createTokens.js → esm/createTokens.js} +4 -0
  126. package/dist/esm/createTokens.js.map +7 -0
  127. package/dist/{createVariable.js → esm/createVariable.js} +3 -0
  128. package/dist/{createVariable.js.map → esm/createVariable.js.map} +3 -3
  129. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js +1 -1
  130. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js.map +3 -3
  131. package/dist/{helpers → esm/helpers}/createMediaStyle.js +0 -0
  132. package/dist/{helpers → esm/helpers}/createMediaStyle.js.map +1 -1
  133. package/dist/{helpers → esm/helpers}/createPropMapper.js +44 -20
  134. package/dist/esm/helpers/createPropMapper.js.map +7 -0
  135. package/dist/{helpers → esm/helpers}/createTamaguiProvider.js +0 -0
  136. package/dist/{helpers → esm/helpers}/createTamaguiProvider.js.map +1 -1
  137. package/dist/{helpers → esm/helpers}/extendStaticConfig.js +4 -2
  138. package/dist/esm/helpers/extendStaticConfig.js.map +7 -0
  139. package/dist/{helpers → esm/helpers}/fixNativeShadow.js +0 -0
  140. package/dist/{helpers → esm/helpers}/fixNativeShadow.js.map +1 -1
  141. package/dist/esm/helpers/fixNativeShadow.native.js +34 -0
  142. package/dist/esm/helpers/fixNativeShadow.native.js.map +7 -0
  143. package/dist/{helpers → esm/helpers}/getSplitStyles.js +13 -23
  144. package/dist/esm/helpers/getSplitStyles.js.map +7 -0
  145. package/dist/{helpers → esm/helpers}/getStylesAtomic.js +2 -1
  146. package/dist/esm/helpers/getStylesAtomic.js.map +7 -0
  147. package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js +0 -0
  148. package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js.map +1 -1
  149. package/dist/esm/helpers/getThemeParentClassName.js +11 -0
  150. package/dist/esm/helpers/getThemeParentClassName.js.map +7 -0
  151. package/dist/{helpers → esm/helpers}/insertStyleRule.js +0 -0
  152. package/dist/{helpers → esm/helpers}/insertStyleRule.js.map +1 -1
  153. package/dist/{helpers → esm/helpers}/isObj.js +0 -0
  154. package/dist/{helpers → esm/helpers}/isObj.js.map +1 -1
  155. package/dist/esm/helpers/isTamaguiElement.js +11 -0
  156. package/dist/esm/helpers/isTamaguiElement.js.map +7 -0
  157. package/dist/{helpers → esm/helpers}/matchMedia.js +3 -0
  158. package/dist/esm/helpers/matchMedia.js.map +7 -0
  159. package/dist/{helpers → esm/helpers}/matchMedia.native.js +1 -0
  160. package/dist/{helpers → esm/helpers}/matchMedia.native.js.map +3 -3
  161. package/dist/{helpers → esm/helpers}/themeable.js +1 -1
  162. package/dist/{helpers → esm/helpers}/themeable.js.map +2 -2
  163. package/dist/esm/helpers/validate.js +60 -0
  164. package/dist/esm/helpers/validate.js.map +7 -0
  165. package/dist/{hooks → esm/hooks}/useConstant.js +0 -0
  166. package/dist/{hooks → esm/hooks}/useConstant.js.map +1 -1
  167. package/dist/{hooks → esm/hooks}/useFeatures.js +39 -51
  168. package/dist/esm/hooks/useFeatures.js.map +7 -0
  169. package/dist/{hooks → esm/hooks}/useMedia.js +10 -6
  170. package/dist/esm/hooks/useMedia.js.map +7 -0
  171. package/dist/{hooks → esm/hooks}/usePressable.js +2 -1
  172. package/dist/{hooks → esm/hooks}/usePressable.js.map +2 -2
  173. package/dist/{hooks → esm/hooks}/useTheme.js +21 -15
  174. package/dist/esm/hooks/useTheme.js.map +7 -0
  175. package/dist/{index.js → esm/index.js} +9 -2
  176. package/dist/esm/index.js.map +7 -0
  177. package/dist/{static → esm/static}/postProcessStyles.js +0 -0
  178. package/dist/{static → esm/static}/postProcessStyles.js.map +1 -1
  179. package/dist/{static.js → esm/static.js} +0 -0
  180. package/dist/{static.js.map → esm/static.js.map} +1 -1
  181. package/dist/{styled.js → esm/styled.js} +0 -0
  182. package/dist/esm/styled.js.map +7 -0
  183. package/dist/esm/tamagui-base.css +8 -0
  184. package/dist/esm/tamagui-base.css.map +7 -0
  185. package/dist/{types.js → esm/types.js} +0 -0
  186. package/dist/{types.js.map → esm/types.js.map} +0 -0
  187. package/dist/esm/views/AbsoluteFullscreen.js +14 -0
  188. package/dist/esm/views/AbsoluteFullscreen.js.map +7 -0
  189. package/dist/esm/views/AbsoluteFullscreen.native.js +1 -0
  190. package/dist/esm/views/AbsoluteFullscreen.native.js.map +7 -0
  191. package/dist/{views → esm/views}/Animated.js +0 -0
  192. package/dist/{views → esm/views}/Animated.js.map +1 -1
  193. package/dist/{views → esm/views}/Stack.js +0 -0
  194. package/dist/{views → esm/views}/Stack.js.map +1 -1
  195. package/dist/{views → esm/views}/Text.js +2 -2
  196. package/dist/esm/views/Text.js.map +7 -0
  197. package/dist/esm/views/TextAncestorContext.js +18 -0
  198. package/dist/esm/views/TextAncestorContext.js.map +7 -0
  199. package/dist/{views → esm/views}/Theme.js +27 -14
  200. package/dist/esm/views/Theme.js.map +7 -0
  201. package/dist/{views → esm/views}/ThemeContext.js +0 -0
  202. package/dist/{views → esm/views}/ThemeContext.js.map +1 -1
  203. package/dist/{views → esm/views}/ThemeInverse.js +0 -1
  204. package/dist/{views → esm/views}/ThemeInverse.js.map +3 -3
  205. package/dist/{views → esm/views}/ThemeManagerContext.js +15 -8
  206. package/dist/esm/views/ThemeManagerContext.js.map +7 -0
  207. package/dist/{views → esm/views}/ThemeProvider.js +3 -3
  208. package/dist/esm/views/ThemeProvider.js.map +7 -0
  209. package/dist/jsx/conf.js +28 -0
  210. package/dist/jsx/constants/constants.js +17 -0
  211. package/dist/jsx/constants/platform.js +19 -0
  212. package/dist/jsx/constants/pseudos.js +17 -0
  213. package/dist/jsx/constants/rnw.js +21 -0
  214. package/dist/jsx/createComponent.js +466 -0
  215. package/dist/jsx/createFont.js +27 -0
  216. package/dist/jsx/createShorthands.js +9 -0
  217. package/dist/jsx/createTamagui.js +165 -0
  218. package/dist/jsx/createTheme.js +6 -0
  219. package/dist/jsx/createTokens.js +32 -0
  220. package/dist/jsx/createVariable.js +24 -0
  221. package/dist/jsx/helpers/addStylesUsingClassname.js +56 -0
  222. package/dist/jsx/helpers/createMediaStyle.js +33 -0
  223. package/dist/jsx/helpers/createPropMapper.js +176 -0
  224. package/dist/jsx/helpers/createTamaguiProvider.js +19 -0
  225. package/dist/jsx/helpers/extendStaticConfig.js +60 -0
  226. package/dist/jsx/helpers/fixNativeShadow.js +7 -0
  227. package/dist/jsx/helpers/fixNativeShadow.native.js +33 -0
  228. package/dist/jsx/helpers/getSplitStyles.js +149 -0
  229. package/dist/jsx/helpers/getStylesAtomic.js +83 -0
  230. package/dist/jsx/helpers/getStylesAtomic.native.js +9 -0
  231. package/dist/jsx/helpers/getThemeParentClassName.js +10 -0
  232. package/dist/jsx/helpers/insertStyleRule.js +23 -0
  233. package/dist/jsx/helpers/isObj.js +6 -0
  234. package/dist/jsx/helpers/isTamaguiElement.js +10 -0
  235. package/dist/jsx/helpers/matchMedia.js +17 -0
  236. package/dist/jsx/helpers/matchMedia.native.js +8 -0
  237. package/dist/jsx/helpers/themeable.js +23 -0
  238. package/dist/jsx/helpers/validate.js +59 -0
  239. package/dist/jsx/hooks/useConstant.js +14 -0
  240. package/dist/jsx/hooks/useFeatures.js +57 -0
  241. package/dist/jsx/hooks/useMedia.js +174 -0
  242. package/dist/jsx/hooks/usePressable.js +13 -0
  243. package/dist/jsx/hooks/useTheme.js +98 -0
  244. package/dist/jsx/index.js +38 -0
  245. package/dist/jsx/static/postProcessStyles.js +17 -0
  246. package/dist/jsx/static.js +14 -0
  247. package/dist/jsx/styled.js +20 -0
  248. package/dist/jsx/tamagui-base.css +7 -0
  249. package/dist/jsx/types.js +0 -0
  250. package/dist/jsx/views/AbsoluteFullscreen.js +13 -0
  251. package/dist/jsx/views/AbsoluteFullscreen.native.js +0 -0
  252. package/dist/jsx/views/Animated.js +74 -0
  253. package/dist/jsx/views/Stack.js +11 -0
  254. package/dist/jsx/views/Text.js +59 -0
  255. package/dist/jsx/views/TextAncestorContext.js +15 -0
  256. package/dist/jsx/views/Theme.js +63 -0
  257. package/dist/jsx/views/ThemeContext.js +5 -0
  258. package/dist/jsx/views/ThemeInverse.js +22 -0
  259. package/dist/jsx/views/ThemeManagerContext.js +61 -0
  260. package/dist/jsx/views/ThemeProvider.js +39 -0
  261. package/package.json +20 -19
  262. package/types/conf.d.ts +44 -0
  263. package/types/conf.d.ts.map +1 -0
  264. package/{dist/packages/core/src → types}/constants/constants.d.ts +2 -0
  265. package/types/constants/constants.d.ts.map +1 -0
  266. package/{dist/packages/core/src → types}/constants/platform.d.ts +0 -0
  267. package/types/constants/platform.d.ts.map +1 -0
  268. package/{dist/packages/core/src → types}/constants/pseudos.d.ts +0 -0
  269. package/types/constants/pseudos.d.ts.map +1 -0
  270. package/{dist/packages/core/src → types}/constants/rnw.d.ts +0 -0
  271. package/types/constants/rnw.d.ts.map +1 -0
  272. package/types/createComponent.d.ts +20 -0
  273. package/types/createComponent.d.ts.map +1 -0
  274. package/types/createFont.d.ts +3 -0
  275. package/types/createFont.d.ts.map +1 -0
  276. package/{dist/packages/core/src → types}/createShorthands.d.ts +0 -0
  277. package/types/createShorthands.d.ts.map +1 -0
  278. package/types/createTamagui.d.ts +13 -0
  279. package/types/createTamagui.d.ts.map +1 -0
  280. package/types/createTheme.d.ts +7 -0
  281. package/types/createTheme.d.ts.map +1 -0
  282. package/{dist/packages/core/src → types}/createTokens.d.ts +24 -14
  283. package/types/createTokens.d.ts.map +1 -0
  284. package/{dist/packages/core/src → types}/createVariable.d.ts +1 -0
  285. package/types/createVariable.d.ts.map +1 -0
  286. package/types/helpers/addStylesUsingClassname.d.ts +3 -0
  287. package/types/helpers/addStylesUsingClassname.d.ts.map +1 -0
  288. package/{dist/packages/core/src → types}/helpers/createMediaStyle.d.ts +0 -0
  289. package/types/helpers/createMediaStyle.d.ts.map +1 -0
  290. package/types/helpers/createPropMapper.d.ts +3 -0
  291. package/types/helpers/createPropMapper.d.ts.map +1 -0
  292. package/{dist/packages/core/src → types}/helpers/createTamaguiProvider.d.ts +0 -0
  293. package/types/helpers/createTamaguiProvider.d.ts.map +1 -0
  294. package/{dist/packages/core/src → types}/helpers/extendStaticConfig.d.ts +1 -1
  295. package/types/helpers/extendStaticConfig.d.ts.map +1 -0
  296. package/{dist/packages/core/src → types}/helpers/fixNativeShadow.d.ts +0 -0
  297. package/types/helpers/fixNativeShadow.d.ts.map +1 -0
  298. package/types/helpers/fixNativeShadow.native.d.ts +2 -0
  299. package/types/helpers/fixNativeShadow.native.d.ts.map +1 -0
  300. package/{dist/packages/core/src → types}/helpers/getSplitStyles.d.ts +0 -0
  301. package/types/helpers/getSplitStyles.d.ts.map +1 -0
  302. package/types/helpers/getStylesAtomic.d.ts +3 -0
  303. package/types/helpers/getStylesAtomic.d.ts.map +1 -0
  304. package/{dist/packages/core/src → types}/helpers/getStylesAtomic.native.d.ts +0 -0
  305. package/types/helpers/getStylesAtomic.native.d.ts.map +1 -0
  306. package/types/helpers/getThemeParentClassName.d.ts +2 -0
  307. package/types/helpers/getThemeParentClassName.d.ts.map +1 -0
  308. package/{dist/packages/core/src → types}/helpers/insertStyleRule.d.ts +0 -0
  309. package/types/helpers/insertStyleRule.d.ts.map +1 -0
  310. package/types/helpers/isObj.d.ts +2 -0
  311. package/types/helpers/isObj.d.ts.map +1 -0
  312. package/types/helpers/isTamaguiElement.d.ts +3 -0
  313. package/types/helpers/isTamaguiElement.d.ts.map +1 -0
  314. package/{dist/packages/core/src → types}/helpers/matchMedia.d.ts +0 -0
  315. package/types/helpers/matchMedia.d.ts.map +1 -0
  316. package/{dist/packages/core/src → types}/helpers/matchMedia.native.d.ts +0 -0
  317. package/types/helpers/matchMedia.native.d.ts.map +1 -0
  318. package/{dist/packages/core/src → types}/helpers/themeable.d.ts +0 -0
  319. package/types/helpers/themeable.d.ts.map +1 -0
  320. package/types/helpers/validate.d.ts +4 -0
  321. package/types/helpers/validate.d.ts.map +1 -0
  322. package/{dist/packages/core/src → types}/hooks/useConstant.d.ts +0 -0
  323. package/types/hooks/useConstant.d.ts.map +1 -0
  324. package/{dist/packages/core/src → types}/hooks/useFeatures.d.ts +0 -0
  325. package/types/hooks/useFeatures.d.ts.map +1 -0
  326. package/{dist/packages/core/src → types}/hooks/useMedia.d.ts +0 -0
  327. package/types/hooks/useMedia.d.ts.map +1 -0
  328. package/{dist/packages/core/src → types}/hooks/usePressable.d.ts +0 -0
  329. package/types/hooks/usePressable.d.ts.map +1 -0
  330. package/types/hooks/useTheme.d.ts +7 -0
  331. package/types/hooks/useTheme.d.ts.map +1 -0
  332. package/{dist/packages/core/src → types}/index.d.ts +5 -1
  333. package/types/index.d.ts.map +1 -0
  334. package/{dist/packages/core/src → types}/static/postProcessStyles.d.ts +0 -0
  335. package/types/static/postProcessStyles.d.ts.map +1 -0
  336. package/{dist/packages/core/src → types}/static.d.ts +3 -0
  337. package/types/static.d.ts.map +1 -0
  338. package/types/styled.d.ts +21 -0
  339. package/types/styled.d.ts.map +1 -0
  340. package/{dist/packages/core/src → types}/types.d.ts +88 -70
  341. package/types/types.d.ts.map +1 -0
  342. package/{dist/packages/core/src → types}/views/Animated.d.ts +0 -0
  343. package/types/views/Animated.d.ts.map +1 -0
  344. package/{dist/packages/core/src → types}/views/Stack.d.ts +0 -0
  345. package/types/views/Stack.d.ts.map +1 -0
  346. package/types/views/Text.d.ts +3 -0
  347. package/types/views/Text.d.ts.map +1 -0
  348. package/types/views/TextAncestorContext.d.ts +5 -0
  349. package/types/views/TextAncestorContext.d.ts.map +1 -0
  350. package/{dist/packages/core/src → types}/views/Theme.d.ts +1 -1
  351. package/types/views/Theme.d.ts.map +1 -0
  352. package/{dist/packages/core/src → types}/views/ThemeContext.d.ts +0 -0
  353. package/types/views/ThemeContext.d.ts.map +1 -0
  354. package/{dist/packages/core/src → types}/views/ThemeInverse.d.ts +0 -0
  355. package/types/views/ThemeInverse.d.ts.map +1 -0
  356. package/types/views/ThemeManagerContext.d.ts +22 -0
  357. package/types/views/ThemeManagerContext.d.ts.map +1 -0
  358. package/{dist/packages/core/src → types}/views/ThemeProvider.d.ts +0 -1
  359. package/types/views/ThemeProvider.d.ts.map +1 -0
  360. package/dist/constants/constants.js.map +0 -7
  361. package/dist/constants/platform.js.map +0 -7
  362. package/dist/constants/styleConstants.js +0 -46
  363. package/dist/constants/styleConstants.js.map +0 -7
  364. package/dist/createComponent.js.map +0 -7
  365. package/dist/createFont.js.map +0 -7
  366. package/dist/createTamagui.js +0 -159
  367. package/dist/createTamagui.js.map +0 -7
  368. package/dist/createTheme.js +0 -20
  369. package/dist/createTheme.js.map +0 -7
  370. package/dist/createTokens.js.map +0 -7
  371. package/dist/helpers/createPropMapper.js.map +0 -7
  372. package/dist/helpers/extendStaticConfig.js.map +0 -7
  373. package/dist/helpers/fixNativeShadow.native.js +0 -30
  374. package/dist/helpers/fixNativeShadow.native.js.map +0 -7
  375. package/dist/helpers/getSplitStyles.js.map +0 -7
  376. package/dist/helpers/getStylesAtomic.js.map +0 -7
  377. package/dist/helpers/matchMedia.js.map +0 -7
  378. package/dist/helpers/pseudos.js +0 -1
  379. package/dist/hooks/useFeatures.js.map +0 -7
  380. package/dist/hooks/useForceUpdate.js +0 -28
  381. package/dist/hooks/useForceUpdate.js.map +0 -7
  382. package/dist/hooks/useMedia.js.map +0 -7
  383. package/dist/hooks/useTheme.js.map +0 -7
  384. package/dist/index.cjs +0 -2103
  385. package/dist/index.cjs.map +0 -7
  386. package/dist/index.js.map +0 -7
  387. package/dist/packages/core/src/constants/constants.d.ts.map +0 -1
  388. package/dist/packages/core/src/constants/platform.d.ts.map +0 -1
  389. package/dist/packages/core/src/constants/pseudos.d.ts.map +0 -1
  390. package/dist/packages/core/src/constants/rnw.d.ts.map +0 -1
  391. package/dist/packages/core/src/createComponent.d.ts +0 -16
  392. package/dist/packages/core/src/createComponent.d.ts.map +0 -1
  393. package/dist/packages/core/src/createShorthands.d.ts.map +0 -1
  394. package/dist/packages/core/src/createTamagui.d.ts +0 -37
  395. package/dist/packages/core/src/createTamagui.d.ts.map +0 -1
  396. package/dist/packages/core/src/createTheme.d.ts +0 -5
  397. package/dist/packages/core/src/createTheme.d.ts.map +0 -1
  398. package/dist/packages/core/src/createTokens.d.ts.map +0 -1
  399. package/dist/packages/core/src/createVariable.d.ts.map +0 -1
  400. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts +0 -2
  401. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts.map +0 -1
  402. package/dist/packages/core/src/helpers/createMediaStyle.d.ts.map +0 -1
  403. package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts.map +0 -1
  404. package/dist/packages/core/src/helpers/extendStaticConfig.d.ts.map +0 -1
  405. package/dist/packages/core/src/helpers/fixNativeShadow.d.ts.map +0 -1
  406. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts +0 -2
  407. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts.map +0 -1
  408. package/dist/packages/core/src/helpers/getSplitStyles.d.ts.map +0 -1
  409. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts +0 -3
  410. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts.map +0 -1
  411. package/dist/packages/core/src/helpers/getStylesAtomic.native.d.ts.map +0 -1
  412. package/dist/packages/core/src/helpers/insertStyleRule.d.ts.map +0 -1
  413. package/dist/packages/core/src/helpers/matchMedia.d.ts.map +0 -1
  414. package/dist/packages/core/src/helpers/matchMedia.native.d.ts.map +0 -1
  415. package/dist/packages/core/src/helpers/themeable.d.ts.map +0 -1
  416. package/dist/packages/core/src/hooks/useConstant.d.ts.map +0 -1
  417. package/dist/packages/core/src/hooks/useFeatures.d.ts.map +0 -1
  418. package/dist/packages/core/src/hooks/useForceUpdate.d.ts +0 -2
  419. package/dist/packages/core/src/hooks/useForceUpdate.d.ts.map +0 -1
  420. package/dist/packages/core/src/hooks/useMedia.d.ts.map +0 -1
  421. package/dist/packages/core/src/hooks/usePressable.d.ts.map +0 -1
  422. package/dist/packages/core/src/hooks/useTheme.d.ts +0 -18
  423. package/dist/packages/core/src/hooks/useTheme.d.ts.map +0 -1
  424. package/dist/packages/core/src/index.d.ts.map +0 -1
  425. package/dist/packages/core/src/static/postProcessStyles.d.ts.map +0 -1
  426. package/dist/packages/core/src/static.d.ts.map +0 -1
  427. package/dist/packages/core/src/styled.d.ts +0 -16
  428. package/dist/packages/core/src/styled.d.ts.map +0 -1
  429. package/dist/packages/core/src/types.d.ts.map +0 -1
  430. package/dist/packages/core/src/views/Animated.d.ts.map +0 -1
  431. package/dist/packages/core/src/views/Stack.d.ts.map +0 -1
  432. package/dist/packages/core/src/views/Text.d.ts +0 -3
  433. package/dist/packages/core/src/views/Text.d.ts.map +0 -1
  434. package/dist/packages/core/src/views/TextAncestorContext.d.ts +0 -3
  435. package/dist/packages/core/src/views/TextAncestorContext.d.ts.map +0 -1
  436. package/dist/packages/core/src/views/Theme.d.ts.map +0 -1
  437. package/dist/packages/core/src/views/ThemeContext.d.ts.map +0 -1
  438. package/dist/packages/core/src/views/ThemeInverse.d.ts.map +0 -1
  439. package/dist/packages/core/src/views/ThemeManagerContext.d.ts +0 -15
  440. package/dist/packages/core/src/views/ThemeManagerContext.d.ts.map +0 -1
  441. package/dist/packages/core/src/views/ThemeProvider.d.ts.map +0 -1
  442. package/dist/packages/helpers/src/AllRules.d.ts +0 -3
  443. package/dist/packages/helpers/src/AllRules.d.ts.map +0 -1
  444. package/dist/packages/helpers/src/concatClassName.d.ts +0 -2
  445. package/dist/packages/helpers/src/concatClassName.d.ts.map +0 -1
  446. package/dist/packages/helpers/src/index.d.ts +0 -5
  447. package/dist/packages/helpers/src/index.d.ts.map +0 -1
  448. package/dist/packages/helpers/src/types.d.ts +0 -8
  449. package/dist/packages/helpers/src/types.d.ts.map +0 -1
  450. package/dist/packages/helpers/src/validStyleProps.d.ts +0 -475
  451. package/dist/packages/helpers/src/validStyleProps.d.ts.map +0 -1
  452. package/dist/styled.js.map +0 -7
  453. package/dist/views/SafeAreaProvider.js +0 -30
  454. package/dist/views/SafeAreaProvider.js.map +0 -7
  455. package/dist/views/Text.js.map +0 -7
  456. package/dist/views/TextAncestorContext.js +0 -18
  457. package/dist/views/TextAncestorContext.js.map +0 -7
  458. package/dist/views/Theme.js.map +0 -7
  459. package/dist/views/ThemeManagerContext.js.map +0 -7
  460. package/dist/views/ThemeProvider.js.map +0 -7
  461. package/src/constants/constants.ts +0 -12
  462. package/src/constants/platform.ts +0 -15
  463. package/src/constants/pseudos.ts +0 -14
  464. package/src/constants/rnw.tsx +0 -20
  465. package/src/createComponent.tsx +0 -597
  466. package/src/createFont.ts +0 -26
  467. package/src/createShorthands.ts +0 -5
  468. package/src/createTamagui.ts +0 -207
  469. package/src/createTheme.ts +0 -19
  470. package/src/createTokens.ts +0 -83
  471. package/src/createVariable.ts +0 -22
  472. package/src/helpers/addStylesUsingClassname.tsx +0 -60
  473. package/src/helpers/createMediaStyle.ts +0 -46
  474. package/src/helpers/createPropMapper.ts +0 -184
  475. package/src/helpers/createTamaguiProvider.tsx +0 -22
  476. package/src/helpers/extendStaticConfig.ts +0 -68
  477. package/src/helpers/fixNativeShadow.native.tsx +0 -27
  478. package/src/helpers/fixNativeShadow.tsx +0 -2
  479. package/src/helpers/getSplitStyles.tsx +0 -210
  480. package/src/helpers/getStylesAtomic.native.ts +0 -3
  481. package/src/helpers/getStylesAtomic.ts +0 -103
  482. package/src/helpers/insertStyleRule.tsx +0 -18
  483. package/src/helpers/isObj.ts +0 -1
  484. package/src/helpers/matchMedia.native.ts +0 -3
  485. package/src/helpers/matchMedia.ts +0 -9
  486. package/src/helpers/themeable.tsx +0 -42
  487. package/src/hooks/useConstant.tsx +0 -10
  488. package/src/hooks/useFeatures.tsx +0 -78
  489. package/src/hooks/useMedia.tsx +0 -194
  490. package/src/hooks/usePressable.tsx +0 -9
  491. package/src/hooks/useTheme.tsx +0 -107
  492. package/src/index.ts +0 -32
  493. package/src/static/postProcessStyles.tsx +0 -20
  494. package/src/static.ts +0 -22
  495. package/src/styled.ts +0 -82
  496. package/src/types.tsx +0 -561
  497. package/src/views/Animated.tsx +0 -121
  498. package/src/views/SafeAreaProvider.tsx +0 -33
  499. package/src/views/Stack.tsx +0 -21
  500. package/src/views/Text.tsx +0 -66
  501. package/src/views/TextAncestorContext.tsx +0 -12
  502. package/src/views/Theme.tsx +0 -73
  503. package/src/views/ThemeContext.tsx +0 -5
  504. package/src/views/ThemeInverse.tsx +0 -23
  505. package/src/views/ThemeManagerContext.tsx +0 -50
  506. package/src/views/ThemeProvider.tsx +0 -52
  507. package/types.d.ts +0 -557
@@ -1,5 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import "./tamagui-base.css";
3
4
  import { concatClassName, stylePropsView } from "@tamagui/helpers";
4
5
  import { useForceUpdate } from "@tamagui/use-force-update";
5
6
  import React, {
@@ -14,24 +15,42 @@ import React, {
14
15
  useState
15
16
  } from "react";
16
17
  import { StyleSheet, Text, View } from "react-native";
18
+ import { onConfiguredOnce } from "./conf";
17
19
  import { stackDefaultStyles } from "./constants/constants";
18
20
  import { isTouchDevice, isWeb } from "./constants/platform";
19
21
  import { rnw } from "./constants/rnw";
20
- import { onConfiguredOnce } from "./createTamagui";
21
22
  import { addStylesUsingClassname, useStylesAsClassname } from "./helpers/addStylesUsingClassname";
22
23
  import { extendStaticConfig, parseStaticConfig } from "./helpers/extendStaticConfig";
23
24
  import { getSplitStyles } from "./helpers/getSplitStyles";
24
25
  import { useFeatures } from "./hooks/useFeatures";
25
26
  import { usePressable } from "./hooks/usePressable";
27
+ import { useTheme } from "./hooks/useTheme";
26
28
  import { TextAncestorContext } from "./views/TextAncestorContext";
27
- import { ThemeManagerContext } from "./views/ThemeManagerContext";
28
- const mouseUps = new Set();
29
+ const mouseUps = /* @__PURE__ */ new Set();
29
30
  if (typeof document !== "undefined") {
30
31
  document.addEventListener("mouseup", () => {
31
32
  mouseUps.forEach((x) => x());
32
33
  mouseUps.clear();
33
34
  });
34
35
  }
36
+ const defaultComponentState = {
37
+ hover: false,
38
+ press: false,
39
+ pressIn: false
40
+ };
41
+ function createShallowUpdate(setter) {
42
+ return (next) => {
43
+ setter((prev) => {
44
+ for (const key in next) {
45
+ if (prev[key] !== next[key]) {
46
+ return { ...prev, ...next };
47
+ }
48
+ }
49
+ return prev;
50
+ });
51
+ };
52
+ }
53
+ __name(createShallowUpdate, "createShallowUpdate");
35
54
  function createComponent(configIn) {
36
55
  let staticConfig;
37
56
  if ("parsed" in configIn) {
@@ -40,13 +59,34 @@ function createComponent(configIn) {
40
59
  staticConfig = parseStaticConfig(configIn);
41
60
  }
42
61
  const { Component, validStyles, isText, isZStack } = staticConfig;
43
- const validStyleProps = validStyles ?? stylePropsView;
62
+ const validStyleProps = validStyles != null ? validStyles : stylePropsView;
44
63
  let defaultProps = null;
45
64
  let tamaguiConfig;
46
- let defaultsStyle;
65
+ let defaultNativeStyle = null;
47
66
  let defaultsClassName = "";
48
67
  let initialTheme;
49
68
  const component = forwardRef((props, forwardedRef) => {
69
+ var _a;
70
+ const forceUpdate = useForceUpdate();
71
+ const features = useFeatures(props, { forceUpdate });
72
+ const theme = useTheme();
73
+ const [state, set_] = useState(defaultComponentState);
74
+ const set = createShallowUpdate(set_);
75
+ if (process.env.NODE_ENV === "development" && !isText && isWeb) {
76
+ Children.toArray(props.children).forEach((item) => {
77
+ if (typeof item === "string") {
78
+ console.error(`Unexpected text node: ${item}. A text node cannot be a child of a <View>.`);
79
+ }
80
+ });
81
+ }
82
+ const hasTextAncestor = isWeb ? useContext(TextAncestorContext) : false;
83
+ const hostRef = useRef(null);
84
+ const {
85
+ viewProps: viewPropsIn,
86
+ pseudos,
87
+ style,
88
+ classNames
89
+ } = getSplitStyles(props, staticConfig, theme);
50
90
  const {
51
91
  tag,
52
92
  hitSlop,
@@ -80,34 +120,17 @@ function createComponent(configIn) {
80
120
  onStartShouldSetResponderCapture,
81
121
  onMouseDown,
82
122
  onClick,
83
- onLayout
84
- } = props;
85
- const forceUpdate = useForceUpdate();
86
- const features = useFeatures(props, { forceUpdate });
87
- const manager = useContext(ThemeManagerContext);
88
- const [state, set_] = useState(() => ({
89
- hover: false,
90
- press: false,
91
- pressIn: false,
92
- theme: manager.name
93
- }));
94
- const set = /* @__PURE__ */ __name((next) => set_((prev) => {
95
- for (const key in next) {
96
- if (prev[key] !== next[key]) {
97
- return { ...prev, ...next };
98
- }
99
- }
100
- return prev;
101
- }), "set");
102
- if (process.env.NODE_ENV === "development" && !isText && isWeb) {
103
- Children.toArray(props.children).forEach((item) => {
104
- if (typeof item === "string") {
105
- console.error(`Unexpected text node: ${item}. A text node cannot be a child of a <View>.`);
106
- }
107
- });
123
+ accessible,
124
+ accessibilityRole,
125
+ onLayout,
126
+ ...viewProps
127
+ } = viewPropsIn;
128
+ if (!isWeb) {
129
+ if (accessible)
130
+ viewProps.accessible = accessible;
131
+ if (accessibilityRole)
132
+ viewProps.accessibilityRole = accessibilityRole;
108
133
  }
109
- const hasTextAncestor = isWeb ? useContext(TextAncestorContext) : false;
110
- const hostRef = useRef(null);
111
134
  if (isWeb) {
112
135
  rnw.useResponderEvents(hostRef, {
113
136
  onMoveShouldSetResponder,
@@ -128,8 +151,6 @@ function createComponent(configIn) {
128
151
  onStartShouldSetResponderCapture
129
152
  });
130
153
  }
131
- const isTracking = useRef(false);
132
- const { viewProps, pseudos, style, classNames } = getSplitStyles(props, staticConfig, manager.theme || initialTheme);
133
154
  const internal = useRef();
134
155
  if (!internal.current) {
135
156
  internal.current = {
@@ -138,25 +159,20 @@ function createComponent(configIn) {
138
159
  }
139
160
  useEffect(() => {
140
161
  internal.current.isMounted = true;
141
- const dispose = manager?.onChangeTheme((name) => {
142
- if (isTracking.current) {
143
- set({ theme: name });
144
- }
145
- });
146
162
  return () => {
147
- dispose();
148
163
  mouseUps.delete(unPress);
149
- isTracking.current = false;
150
164
  internal.current.isMounted = false;
151
165
  };
152
- }, [manager]);
153
- const element = isWeb ? !Component || typeof Component === "string" ? tag || Component : Component : Component;
166
+ }, []);
167
+ const isInternalComponent = !Component || typeof Component === "string";
168
+ const element = isWeb ? isInternalComponent ? tag || Component : Component : Component;
154
169
  const ReactView = !isWeb ? View : element || (hasTextAncestor ? "span" : "div");
155
170
  const ReactText = !isWeb ? Text : element || "span";
156
171
  const ViewComponent = isText ? ReactText : ReactView;
157
172
  const isHovering = !isTouchDevice && !disabled && pseudos && state.hover;
158
173
  const isPressing = !disabled && pseudos && state.press;
159
174
  const styles = [
175
+ defaultNativeStyle ? defaultNativeStyle.base : null,
160
176
  style,
161
177
  isHovering ? pseudos.hoverStyle || null : null,
162
178
  isPressing ? pseudos.pressStyle || null : null
@@ -172,7 +188,7 @@ function createComponent(configIn) {
172
188
  const className = concatClassName(...classList);
173
189
  if (process.env.NODE_ENV === "development") {
174
190
  if (props["debug"]) {
175
- console.log("\u{1F95A} className", { style, styles, classList, stylesClassNames, className });
191
+ console.log("\u{1F95A} className", { style, styles, classList, stylesClassNames, className: className.trim().split(" ") });
176
192
  }
177
193
  }
178
194
  viewProps.className = className;
@@ -221,7 +237,7 @@ function createComponent(configIn) {
221
237
  ...!isWeb && {
222
238
  onPressOut: (e) => {
223
239
  unPress();
224
- onPressOut?.(e);
240
+ onPressOut == null ? void 0 : onPressOut(e);
225
241
  }
226
242
  },
227
243
  ...isWeb && !isTouchDevice && {
@@ -236,8 +252,8 @@ function createComponent(configIn) {
236
252
  if (Object.keys(next).length) {
237
253
  set(next);
238
254
  }
239
- onHoverIn?.(e);
240
- onMouseEnter?.(e);
255
+ onHoverIn == null ? void 0 : onHoverIn(e);
256
+ onMouseEnter == null ? void 0 : onMouseEnter(e);
241
257
  } : void 0,
242
258
  onMouseLeave: attachHover || attachPress ? (e) => {
243
259
  let next = {};
@@ -252,8 +268,8 @@ function createComponent(configIn) {
252
268
  if (Object.keys(next).length) {
253
269
  set(next);
254
270
  }
255
- onHoverOut?.(e);
256
- onMouseLeave?.(e);
271
+ onHoverOut == null ? void 0 : onHoverOut(e);
272
+ onMouseLeave == null ? void 0 : onMouseLeave(e);
257
273
  } : void 0
258
274
  },
259
275
  onMouseDown: attachPress ? (e) => {
@@ -261,14 +277,14 @@ function createComponent(configIn) {
261
277
  press: true,
262
278
  pressIn: true
263
279
  });
264
- onPressIn?.(e);
265
- onMouseDown?.(e);
280
+ onPressIn == null ? void 0 : onPressIn(e);
281
+ onMouseDown == null ? void 0 : onMouseDown(e);
266
282
  } : onPressIn,
267
283
  onClick: attachPress ? (e) => {
268
- onPress?.(e);
269
- onClick?.(e);
284
+ onPress == null ? void 0 : onPress(e);
285
+ onClick == null ? void 0 : onClick(e);
270
286
  unPress();
271
- onPressOut?.(e);
287
+ onPressOut == null ? void 0 : onPressOut(e);
272
288
  } : onPressOut
273
289
  } : null;
274
290
  if (events) {
@@ -288,7 +304,7 @@ function createComponent(configIn) {
288
304
  const childEls = spacedChildren({
289
305
  children,
290
306
  space,
291
- flexDirection: props.flexDirection || defaultProps?.flexDirection,
307
+ flexDirection: props.flexDirection || (defaultProps == null ? void 0 : defaultProps.flexDirection),
292
308
  isZStack
293
309
  });
294
310
  let content;
@@ -296,7 +312,12 @@ function createComponent(configIn) {
296
312
  const domProps = rnw.createDOMProps(viewProps);
297
313
  const className = domProps.className && domProps.className !== viewProps.className ? `${domProps.className} ${viewProps.className}` : viewProps.className;
298
314
  Object.assign(viewProps, domProps);
299
- viewProps.className = className;
315
+ if (staticConfig.isReactNativeWeb) {
316
+ viewProps.dataSet = viewProps.dataSet || {};
317
+ Object.assign(viewProps.dataSet, { __className: className });
318
+ } else {
319
+ viewProps.className = className;
320
+ }
300
321
  content = createElement(ViewComponent, viewProps, childEls);
301
322
  } else {
302
323
  content = createElement(ViewComponent, viewProps, childEls);
@@ -309,39 +330,47 @@ function createComponent(configIn) {
309
330
  if (props["debug"]) {
310
331
  viewProps["debug"] = true;
311
332
  console.log("\u{1F95A} props in:", props);
312
- console.log("\u{1F95A} props out:", viewProps);
313
- console.log(props.onClick?.toString());
333
+ console.log("\u{1F95A} props out:", viewProps, (_a = viewProps.className) == null ? void 0 : _a.split(" "));
314
334
  console.log("\u{1F95A} etc:", { shouldAttach, ViewComponent, viewProps, styles, pseudos, content, childEls });
315
- if (isWeb) {
335
+ if (typeof window !== "undefined") {
316
336
  console.log("\u{1F95A} component info", { staticConfig, tamaguiConfig });
317
337
  }
318
338
  }
319
339
  }
320
- return /* @__PURE__ */ React.createElement(React.Fragment, null, features, content);
340
+ if (features.length) {
341
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, features, content);
342
+ }
343
+ return content;
321
344
  });
322
345
  onConfiguredOnce((conf) => {
346
+ var _a;
347
+ const shouldDebug = (_a = staticConfig.defaultProps) == null ? void 0 : _a.debug;
323
348
  tamaguiConfig = conf;
324
349
  initialTheme = conf.themes[conf.defaultTheme || Object.keys(conf.themes)[0]];
325
- const next = getSplitStyles(staticConfig.defaultProps, staticConfig, initialTheme, true);
350
+ const { classNames, pseudos, style, viewProps } = getSplitStyles(staticConfig.defaultProps, staticConfig, initialTheme, true);
326
351
  if (isWeb) {
327
- if (next.classNames) {
328
- defaultsClassName += next.classNames + " ";
352
+ if (classNames) {
353
+ defaultsClassName += classNames + " ";
354
+ }
355
+ defaultsClassName += addStylesUsingClassname([style, pseudos]);
356
+ if (process.env.NODE_ENV === "development" && shouldDebug) {
357
+ console.log("tamagui \u{1F41B}:", { defaultsClassName: defaultsClassName.split(" ") });
329
358
  }
330
- defaultsClassName += addStylesUsingClassname([next.style, next.pseudos]);
331
359
  } else {
332
- if (!hasWarnedOnce) {
333
- hasWarnedOnce = true;
334
- console.log("\u26A0\uFE0F we need to account for default styles for media queries");
360
+ const sheetStyles = {};
361
+ for (const styleObj of style) {
362
+ Object.assign(sheetStyles, styleObj);
335
363
  }
364
+ defaultNativeStyle = StyleSheet.create({
365
+ base: sheetStyles
366
+ });
336
367
  }
337
368
  component.defaultProps = {
338
- ...next.viewProps,
369
+ ...viewProps,
339
370
  ...component.defaultProps
340
371
  };
341
- if (process.env.NODE_ENV === "development") {
342
- if (staticConfig.defaultProps?.debug) {
343
- console.log("tamagui debug component:", next, defaultsClassName, component.defaultProps);
344
- }
372
+ if (process.env.NODE_ENV === "development" && shouldDebug) {
373
+ console.log("tamagui \u{1F41B}:", { initialTheme, classNames, pseudos, style, viewProps, defaultsClassName, component });
345
374
  }
346
375
  });
347
376
  component["staticConfig"] = {
@@ -349,10 +378,14 @@ function createComponent(configIn) {
349
378
  ...staticConfig
350
379
  };
351
380
  const res = component;
352
- res["extractable"] = (Component2) => {
381
+ res["extractable"] = (Component2, conf) => {
353
382
  Component2["staticConfig"] = extendStaticConfig(res, {
383
+ ...conf,
354
384
  neverFlatten: true,
355
- defaultProps: Component2.defaultProps
385
+ defaultProps: {
386
+ ...Component2.defaultProps,
387
+ ...conf == null ? void 0 : conf.defaultProps
388
+ }
356
389
  });
357
390
  return Component2;
358
391
  };
@@ -368,10 +401,11 @@ const Spacer = createComponent({
368
401
  variants: {
369
402
  size: {
370
403
  "...size": (size, { tokens }) => {
404
+ var _a, _b;
371
405
  size = size == true ? "$true" : size;
372
406
  return {
373
- width: tokens.size[size] ?? size,
374
- height: tokens.size[size] ?? size
407
+ width: (_a = tokens.size[size]) != null ? _a : size,
408
+ height: (_b = tokens.size[size]) != null ? _b : size
375
409
  };
376
410
  }
377
411
  },
@@ -391,6 +425,7 @@ function spacedChildren({
391
425
  space,
392
426
  flexDirection
393
427
  }) {
428
+ var _a, _b;
394
429
  if (!space && !isZStack) {
395
430
  return children;
396
431
  }
@@ -404,11 +439,11 @@ function spacedChildren({
404
439
  if (child === null || child === void 0) {
405
440
  continue;
406
441
  }
407
- const key = `${child?.["key"] ?? index}`;
442
+ const key = `${(_a = child == null ? void 0 : child["key"]) != null ? _a : index}`;
408
443
  next.push(/* @__PURE__ */ React.createElement(Fragment, {
409
444
  key
410
- }, isZStack ? /* @__PURE__ */ React.createElement(Absolute, null, child) : child));
411
- if (child?.["type"]?.["isVisuallyHidden"]) {
445
+ }, isZStack ? /* @__PURE__ */ React.createElement(AbsoluteFill, null, child) : child));
446
+ if ((_b = child == null ? void 0 : child["type"]) == null ? void 0 : _b["isVisuallyHidden"]) {
412
447
  continue;
413
448
  }
414
449
  if (index !== len - 1) {
@@ -424,19 +459,13 @@ function spacedChildren({
424
459
  return next;
425
460
  }
426
461
  __name(spacedChildren, "spacedChildren");
427
- const Absolute = /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ React.createElement(View, {
428
- style: sheet.fullscreen
429
- }, children), "Absolute");
430
- const sheet = StyleSheet.create({
431
- fullscreen: {
432
- position: "absolute",
433
- top: 0,
434
- left: 0,
435
- right: 0,
436
- bottom: 0
437
- }
438
- });
462
+ const AbsoluteFill = /* @__PURE__ */ __name((props) => isWeb ? /* @__PURE__ */ React.createElement("div", {
463
+ className: "tamagui-absolute-fill"
464
+ }, props.children) : /* @__PURE__ */ React.createElement(View, {
465
+ style: StyleSheet.absoluteFill
466
+ }, props.child), "AbsoluteFill");
439
467
  export {
468
+ AbsoluteFill,
440
469
  Spacer,
441
470
  createComponent,
442
471
  mouseUps,
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/createComponent.tsx"],
4
+ "sourcesContent": ["import './tamagui-base.css'\n\nimport { concatClassName, stylePropsView } from '@tamagui/helpers'\nimport { useForceUpdate } from '@tamagui/use-force-update'\nimport React, {\n Children,\n Fragment,\n createElement,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport { StyleSheet, Text, View, ViewStyle } from 'react-native'\n\nimport { onConfiguredOnce } from './conf'\nimport { stackDefaultStyles } from './constants/constants'\nimport { isTouchDevice, isWeb } from './constants/platform'\nimport { rnw } from './constants/rnw'\nimport { addStylesUsingClassname, useStylesAsClassname } from './helpers/addStylesUsingClassname'\nimport { extendStaticConfig, parseStaticConfig } from './helpers/extendStaticConfig'\nimport { getSplitStyles } from './helpers/getSplitStyles'\nimport { useFeatures } from './hooks/useFeatures'\nimport { usePressable } from './hooks/usePressable'\nimport { useTheme } from './hooks/useTheme'\nimport {\n SpaceTokens,\n StaticComponent,\n StaticConfig,\n StaticConfigParsed,\n TamaguiInternalConfig,\n} from './types'\nimport { TextAncestorContext } from './views/TextAncestorContext'\n\nexport const mouseUps = new Set<Function>()\n\nif (typeof document !== 'undefined') {\n document.addEventListener('mouseup', () => {\n mouseUps.forEach((x) => x())\n mouseUps.clear()\n })\n}\n\ntype DefaultProps = {}\n\nconst defaultComponentState = {\n hover: false,\n press: false,\n pressIn: false,\n}\n\ntype ComponentState = typeof defaultComponentState\n\nfunction createShallowUpdate(setter: React.Dispatch<React.SetStateAction<ComponentState>>) {\n return (next: Partial<ComponentState>) => {\n setter((prev) => {\n for (const key in next) {\n if (prev[key] !== next[key]) {\n return { ...prev, ...next }\n }\n }\n return prev\n })\n }\n}\n\nexport function createComponent<ComponentPropTypes extends Object = DefaultProps>(\n configIn: Partial<StaticConfig> | StaticConfigParsed\n) {\n let staticConfig: StaticConfigParsed\n if ('parsed' in configIn) {\n staticConfig = configIn\n } else {\n staticConfig = parseStaticConfig(configIn)\n }\n\n const { Component, validStyles, isText, isZStack } = staticConfig\n const validStyleProps = validStyles ?? stylePropsView\n\n // split out default styles vs props so we can assign it to component.defaultProps\n let defaultProps = null as any\n let tamaguiConfig: TamaguiInternalConfig\n\n // web uses className, native uses style\n let defaultNativeStyle: StyleSheet.NamedStyles<{ base: {} }> | null = null\n let defaultsClassName = ''\n let initialTheme: any\n\n // see onConfiguredOnce below which attaches a name then to this component\n\n const component = forwardRef<View, ComponentPropTypes>((props: any, forwardedRef) => {\n const forceUpdate = useForceUpdate()\n const features = useFeatures(props, { forceUpdate })\n const theme = useTheme()\n const [state, set_] = useState<ComponentState>(defaultComponentState)\n const set = createShallowUpdate(set_)\n\n // from react-native-web\n if (process.env.NODE_ENV === 'development' && !isText && isWeb) {\n Children.toArray(props.children).forEach((item) => {\n if (typeof item === 'string') {\n console.error(`Unexpected text node: ${item}. A text node cannot be a child of a <View>.`)\n }\n })\n }\n\n const hasTextAncestor = isWeb ? useContext(TextAncestorContext) : false\n const hostRef = useRef(null)\n\n const {\n viewProps: viewPropsIn,\n pseudos,\n style,\n classNames,\n } = getSplitStyles(props, staticConfig, theme)\n\n const {\n tag,\n hitSlop,\n children,\n pointerEvents,\n onPress,\n onPressIn,\n onPressOut,\n onHoverIn,\n onHoverOut,\n space,\n disabled,\n onMouseEnter,\n onMouseLeave,\n hrefAttrs,\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture,\n onMouseDown,\n onClick,\n\n accessible,\n accessibilityRole,\n\n // TODO feature load layout hook\n onLayout,\n ...viewProps\n } = viewPropsIn\n\n if (!isWeb) {\n if (accessible) viewProps.accessible = accessible\n if (accessibilityRole) viewProps.accessibilityRole = accessibilityRole\n }\n\n if (isWeb) {\n // from react-native-web\n rnw.useResponderEvents(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture,\n })\n }\n\n // hasEverHadEvents prevents repareting if you remove onPress or similar...\n const internal = useRef<{ isMounted: boolean; hasEverHadEvents?: boolean }>()\n if (!internal.current) {\n internal.current = {\n isMounted: true,\n }\n }\n\n useEffect(() => {\n internal.current!.isMounted = true\n return () => {\n mouseUps.delete(unPress)\n internal.current!.isMounted = false\n }\n }, [])\n\n // element\n const isInternalComponent = !Component || typeof Component === 'string'\n // default to tag, fallback to component (when both strings)\n const element = isWeb ? (isInternalComponent ? tag || Component : Component) : Component\n const ReactView = !isWeb ? View : element || (hasTextAncestor ? 'span' : 'div')\n const ReactText = !isWeb ? Text : element || 'span'\n const ViewComponent = isText ? ReactText : ReactView\n\n // styles\n const isHovering = !isTouchDevice && !disabled && pseudos && state.hover\n const isPressing = !disabled && pseudos && state.press\n\n const styles = [\n defaultNativeStyle ? defaultNativeStyle.base : null,\n // parity w react-native-web, only for text in text\n // TODO this should be able to be done w css to replicate after extraction:\n // (.text .text { display: inline-flex; }) (but if they set display we'd need stronger precendence)\n // isText && hasTextAncestor && isWeb ? { display: 'inline-flex' } : null,\n style,\n isHovering ? pseudos.hoverStyle || null : null,\n isPressing ? pseudos.pressStyle || null : null,\n ]\n\n if (isWeb) {\n const stylesClassNames = useStylesAsClassname(styles)\n const classList = isText\n ? [\n defaultsClassName,\n // hasTextAncestor === true && cssText.textHasAncestor,\n // TODO MOVE TO VARIANTS [number] [any]\n // numberOfLines != null && numberOfLines > 1 && cssText.textMultiLine,\n classNames,\n stylesClassNames,\n props.className,\n ]\n : [defaultsClassName, props.className, classNames, stylesClassNames]\n\n // @ts-ignore we are optimizing using arguments\n const className = concatClassName(...classList)\n if (process.env.NODE_ENV === 'development') {\n if (props['debug']) {\n // prettier-ignore\n console.log('\uD83E\uDD5A className', { style, styles, classList, stylesClassNames, className: className.trim().split(' ') })\n }\n }\n viewProps.className = className\n } else {\n viewProps.style = styles\n }\n\n if (pointerEvents) {\n viewProps.pointerEvents = pointerEvents\n }\n\n if (isWeb) {\n // from react-native-web\n const platformMethodsRef = rnw.usePlatformMethods(viewProps)\n const setRef = rnw.useMergeRefs(hostRef, platformMethodsRef, forwardedRef)\n viewProps.ref = setRef\n if (props.href != null && hrefAttrs != null) {\n const { download, rel, target } = hrefAttrs\n if (download != null) {\n viewProps.download = download\n }\n if (rel != null) {\n viewProps.rel = rel\n }\n if (typeof target === 'string') {\n viewProps.target = target.charAt(0) !== '_' ? '_' + target : target\n }\n }\n } else {\n if (forwardedRef) {\n viewProps.ref = forwardedRef\n }\n }\n\n const attachPress = !!(\n (pseudos && pseudos.pressStyle) ||\n onPress ||\n onPressOut ||\n onPressIn ||\n onClick\n )\n const attachHover =\n isWeb &&\n !isTouchDevice &&\n !!((pseudos && pseudos.hoverStyle) || onHoverIn || onHoverOut || onMouseEnter || onMouseLeave)\n\n // check presence to prevent reparenting bugs, allows for onPress={x ? function : undefined} usage\n // while avoiding reparenting...\n // once proper reparenting is supported, we can remove this and use that...\n const shouldAttach =\n internal.current.hasEverHadEvents ||\n attachPress ||\n attachHover ||\n 'pressStyle' in props ||\n 'onPress' in props ||\n 'onPressIn' in props ||\n 'onPressOut' in props ||\n (isWeb &&\n ('hoverStyle' in props ||\n 'onClick' in props ||\n 'onHoverIn' in props ||\n 'onHoverOut' in props ||\n 'onMouseEnter' in props ||\n 'onMouseLeave' in props))\n\n // never remove events as we wrap in a div (for now, may be able to remove..)\n if (shouldAttach) {\n internal.current.hasEverHadEvents = true\n }\n\n const unPress = useCallback(() => {\n if (!internal.current!.isMounted) return\n set({\n press: false,\n pressIn: false,\n })\n }, [])\n\n const events = shouldAttach\n ? {\n ...(!isWeb && {\n // non web\n onPressOut: (e) => {\n unPress()\n onPressOut?.(e)\n },\n }),\n ...(isWeb &&\n !isTouchDevice && {\n onMouseEnter:\n attachHover || attachPress\n ? (e) => {\n let next: Partial<typeof state> = {}\n if (attachHover) {\n next.hover = true\n }\n if (state.pressIn) {\n next.press = true\n }\n if (Object.keys(next).length) {\n set(next)\n }\n onHoverIn?.(e)\n onMouseEnter?.(e)\n }\n : undefined,\n onMouseLeave:\n attachHover || attachPress\n ? (e) => {\n let next: Partial<typeof state> = {}\n mouseUps.add(unPress)\n if (attachHover) {\n next.hover = false\n }\n if (state.pressIn) {\n next.press = false\n next.pressIn = false\n }\n if (Object.keys(next).length) {\n set(next)\n }\n onHoverOut?.(e)\n onMouseLeave?.(e)\n }\n : undefined,\n }),\n onMouseDown: attachPress\n ? (e) => {\n set({\n press: true,\n pressIn: true,\n })\n onPressIn?.(e)\n onMouseDown?.(e)\n }\n : (onPressIn as any),\n onClick: attachPress\n ? (e) => {\n // this caused issue with next.js passing href\n // e.preventDefault()\n onPress?.(e)\n onClick?.(e)\n unPress()\n onPressOut?.(e)\n }\n : (onPressOut as any),\n }\n : null\n\n if (events) {\n if (typeof ViewComponent !== 'string') {\n // TODO once we do the above we can then rely entirely on pressStyle returned here isntead of above pressStyle logic\n const [pressProps] = usePressable({\n disabled,\n hitSlop,\n onPressIn: events.onMouseDown,\n onPressOut: events.onPressOut,\n onPress: events.onClick,\n })\n Object.assign(viewProps, pressProps)\n } else {\n Object.assign(viewProps, events)\n }\n }\n\n const childEls = spacedChildren({\n children,\n space,\n flexDirection: props.flexDirection || defaultProps?.flexDirection,\n isZStack: isZStack,\n })\n\n let content: any\n\n // replicate react-native-web's `createElement`\n if (isWeb && rnw) {\n const domProps = rnw.createDOMProps(viewProps)\n const className =\n domProps.className && domProps.className !== viewProps.className\n ? `${domProps.className} ${viewProps.className}`\n : viewProps.className\n Object.assign(viewProps, domProps)\n\n if (staticConfig.isReactNativeWeb) {\n viewProps.dataSet = viewProps.dataSet || {}\n Object.assign(viewProps.dataSet, { __className: className })\n } else {\n // we already handle Text/View properly\n viewProps.className = className\n }\n\n content = createElement(ViewComponent, viewProps, childEls)\n } else {\n content = createElement(ViewComponent, viewProps, childEls)\n }\n\n const shouldWrapTextAncestor = isWeb && isText && !hasTextAncestor\n if (shouldWrapTextAncestor) {\n // from react-native-web\n content = createElement(TextAncestorContext.Provider, { value: true }, content)\n }\n\n if (process.env.NODE_ENV === 'development') {\n if (props['debug']) {\n viewProps['debug'] = true\n console.log('\uD83E\uDD5A props in:', props)\n console.log('\uD83E\uDD5A props out:', viewProps, viewProps.className?.split(' '))\n // prettier-ignore\n console.log('\uD83E\uDD5A etc:', { shouldAttach, ViewComponent, viewProps, styles, pseudos, content, childEls })\n // only on browser because node expands it huge\n if (typeof window !== 'undefined') {\n console.log('\uD83E\uDD5A component info', { staticConfig, tamaguiConfig })\n }\n }\n }\n\n if (features.length) {\n return (\n <>\n {features}\n {content}\n </>\n )\n }\n\n return content\n })\n\n // Once configuration is run and all components are registered\n // get default props + className and analyze styles\n onConfiguredOnce((conf) => {\n const shouldDebug = staticConfig.defaultProps?.debug\n tamaguiConfig = conf\n initialTheme = conf.themes[conf.defaultTheme || Object.keys(conf.themes)[0]]\n const { classNames, pseudos, style, viewProps } = getSplitStyles(\n staticConfig.defaultProps,\n staticConfig,\n initialTheme,\n true\n )\n if (isWeb) {\n if (classNames) {\n defaultsClassName += classNames + ' '\n }\n defaultsClassName += addStylesUsingClassname([style, pseudos])\n if (process.env.NODE_ENV === 'development' && shouldDebug) {\n // prettier-ignore\n console.log('tamagui \uD83D\uDC1B:', { defaultsClassName: defaultsClassName.split(' ') })\n }\n } else {\n // native, create a default StyleSheet\n // TODO handle pseudos\n const sheetStyles = {}\n for (const styleObj of style) {\n Object.assign(sheetStyles, styleObj)\n }\n defaultNativeStyle = StyleSheet.create({\n base: sheetStyles,\n })\n }\n // @ts-ignore\n component.defaultProps = {\n ...viewProps,\n ...component.defaultProps,\n }\n if (process.env.NODE_ENV === 'development' && shouldDebug) {\n // prettier-ignore\n console.log('tamagui \uD83D\uDC1B:', { initialTheme, classNames, pseudos, style, viewProps, defaultsClassName, component })\n }\n })\n\n component['staticConfig'] = {\n validStyles: validStyleProps,\n ...staticConfig,\n }\n\n const res = component as any as StaticComponent<ComponentPropTypes, void>\n\n // add extractable HoC\n res['extractable'] = (Component: any, conf?: StaticConfig) => {\n Component['staticConfig'] = extendStaticConfig(res, {\n ...conf,\n neverFlatten: true,\n defaultProps: {\n ...Component.defaultProps,\n ...conf?.defaultProps,\n },\n })\n return Component\n }\n\n return res\n}\n\nlet hasWarnedOnce = false\n\n// dont used styled() here to avoid circular deps\n// keep inline to avoid circular deps\n\nexport const Spacer = createComponent<{ size?: number | SpaceTokens; flex?: boolean | number }>({\n defaultProps: {\n ...stackDefaultStyles,\n size: true,\n },\n variants: {\n size: {\n '...size': (size, { tokens }) => {\n size = size == true ? '$true' : size\n return {\n width: tokens.size[size] ?? size,\n height: tokens.size[size] ?? size,\n }\n },\n },\n\n direction: {\n horizontal: {\n height: 0,\n },\n vertical: {\n width: 0,\n },\n },\n },\n})\n\nexport function spacedChildren({\n isZStack,\n children,\n space,\n flexDirection,\n}: {\n isZStack?: boolean\n children: any\n space?: any\n flexDirection?: ViewStyle['flexDirection']\n}) {\n if (!space && !isZStack) {\n return children\n }\n const childrenList = Children.toArray(children)\n const len = childrenList.length\n if (len === 1) {\n return children\n }\n const next: any[] = []\n for (const [index, child] of childrenList.entries()) {\n if (child === null || child === undefined) {\n continue\n }\n\n const key = `${child?.['key'] ?? index}`\n\n next.push(\n <Fragment key={key}>{isZStack ? <AbsoluteFill>{child}</AbsoluteFill> : child}</Fragment>\n )\n\n // allows for custom visually hidden components that dont insert spacing\n if (child?.['type']?.['isVisuallyHidden']) {\n continue\n }\n\n if (index !== len - 1) {\n if (space) {\n next.push(\n <Spacer\n key={`${key}_spacer`}\n // @ts-ignore TODO\n direction={\n flexDirection === 'row' || flexDirection === 'row-reverse' ? 'horizontal' : 'vertical'\n }\n size={space}\n />\n )\n }\n }\n }\n return next\n}\n\nexport const AbsoluteFill = (props: any) =>\n isWeb ? (\n <div className=\"tamagui-absolute-fill\">{props.children}</div>\n ) : (\n <View style={StyleSheet.absoluteFill}>{props.child}</View>\n )\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,6 +1,10 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { validateFont } from "./helpers/validate";
3
4
  const createFont = /* @__PURE__ */ __name((font) => {
5
+ if (process.env.NODE_ENV === "development") {
6
+ validateFont(font);
7
+ }
4
8
  const sizeKeys = Object.keys(font.size);
5
9
  for (const key in font) {
6
10
  if (key === "size" || key === "family")
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/createFont.ts"],
4
+ "sourcesContent": ["import { validateFont } from './helpers/validate'\nimport { GenericFont } from './types'\n\nexport const createFont = <A extends GenericFont>(font: A): A => {\n if (process.env.NODE_ENV === 'development') {\n validateFont(font)\n }\n\n // fills in any missing values based on size keys being standard\n const sizeKeys = Object.keys(font.size)\n\n for (const key in font) {\n if (key === 'size' || key === 'family') continue\n const section = font[key]\n const keys = Object.keys(section)\n\n // fill with first filled in value to start\n let fillVal = section[keys[0]]\n\n for (const sKey of sizeKeys) {\n if (!(sKey in section)) {\n section[sKey] = fillVal\n } else {\n // if exists, set as the fillVal\n fillVal = section[sKey]\n }\n }\n }\n\n return Object.freeze(font)\n}\n"],
5
+ "mappings": ";;AAAA;AAGO,MAAM,aAAa,wBAAwB,SAAe;AAC/D,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,iBAAa;AAAA;AAIf,QAAM,WAAW,OAAO,KAAK,KAAK;AAElC,aAAW,OAAO,MAAM;AACtB,QAAI,QAAQ,UAAU,QAAQ;AAAU;AACxC,UAAM,UAAU,KAAK;AACrB,UAAM,OAAO,OAAO,KAAK;AAGzB,QAAI,UAAU,QAAQ,KAAK;AAE3B,eAAW,QAAQ,UAAU;AAC3B,UAAI,CAAE,SAAQ,UAAU;AACtB,gBAAQ,QAAQ;AAAA,aACX;AAEL,kBAAU,QAAQ;AAAA;AAAA;AAAA;AAKxB,SAAO,OAAO,OAAO;AAAA,GA1BG;",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/createShorthands.ts"],
3
+ "sources": ["../../src/createShorthands.ts"],
4
4
  "sourcesContent": ["// type helper\n\nexport function createShorthands<A extends Record<string, string>>(shorthands: A): A {\n return Object.freeze(shorthands) as any\n}\n"],
5
5
  "mappings": ";;AAEO,0BAA4D,YAAkB;AACnF,SAAO,OAAO,OAAO;AAAA;AADP;",
6
6
  "names": []
@@ -0,0 +1,166 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { getStyleRules } from "@tamagui/helpers";
4
+ import { configListeners, getHasConfigured, setConfig } from "./conf";
5
+ import { PREFIX } from "./constants/constants";
6
+ import { isWeb } from "./constants/platform";
7
+ import { Variable, createVariable } from "./createVariable";
8
+ import { createTamaguiProvider } from "./helpers/createTamaguiProvider";
9
+ import { configureMedia } from "./hooks/useMedia";
10
+ const createdConfigs = /* @__PURE__ */ new WeakMap();
11
+ function createTamagui(config) {
12
+ if (createdConfigs.has(config)) {
13
+ return config;
14
+ }
15
+ if (getHasConfigured()) {
16
+ console.warn("Called createTamagui twice! Should never do so");
17
+ }
18
+ configureMedia({
19
+ queries: config.media,
20
+ defaultActive: config.mediaQueryDefaultActive
21
+ });
22
+ const themeConfig = (() => {
23
+ var _a;
24
+ let cssRules = [];
25
+ const varsByValue = /* @__PURE__ */ new Map();
26
+ if (isWeb) {
27
+ let tokenRule = `:root {`;
28
+ const addVar = /* @__PURE__ */ __name((v) => {
29
+ varsByValue[v.val] = v;
30
+ const rule = `--${v.name}:${typeof v.val === "number" ? `${v.val}px` : v.val};`;
31
+ tokenRule += rule;
32
+ }, "addVar");
33
+ for (const key in config.tokens) {
34
+ for (const skey in config.tokens[key]) {
35
+ const val = config.tokens[key][skey];
36
+ if (key === "font") {
37
+ for (const fkey in val) {
38
+ if (fkey === "family") {
39
+ addVar(val[fkey]);
40
+ } else {
41
+ for (const fskey in val[fkey]) {
42
+ addVar(val[fkey][fskey]);
43
+ }
44
+ }
45
+ }
46
+ } else {
47
+ addVar(val);
48
+ }
49
+ }
50
+ }
51
+ cssRules.push(`${tokenRule}
52
+ }`);
53
+ }
54
+ for (const themeName in config.themes) {
55
+ const theme = { ...config.themes[themeName] };
56
+ config.themes[themeName] = theme;
57
+ let vars = "";
58
+ for (const themeKey in theme) {
59
+ if (isWeb) {
60
+ const val = theme[themeKey];
61
+ const varName = val instanceof Variable ? val.name : (_a = varsByValue[val]) == null ? void 0 : _a.name;
62
+ vars += `--${themeKey}:${varName ? `var(--${varName});` : `${val}`};`;
63
+ }
64
+ ensureThemeVariable(theme, themeKey);
65
+ }
66
+ if (isWeb) {
67
+ const [themeClassName, parentName] = themeName.includes("-") ? themeName.split("-") : [themeName, ""];
68
+ const oppositeName = parentName === "dark" ? "light" : "dark";
69
+ const cssParentSel = parentName ? `.${PREFIX}${parentName}` : "";
70
+ const cssChildSel = `.${PREFIX}${themeClassName}`;
71
+ const cssSel = `${cssParentSel} ${cssChildSel}`;
72
+ const cssRule = `${cssSel}, .${PREFIX}${oppositeName} ${cssSel} {
73
+ ${vars}
74
+ }`;
75
+ cssRules.push(cssRule);
76
+ }
77
+ }
78
+ varsByValue.clear();
79
+ Object.freeze(cssRules);
80
+ return {
81
+ cssRules,
82
+ css: cssRules.join("\n")
83
+ };
84
+ })();
85
+ const tokensParsed = parseTokens(config.tokens);
86
+ const themeParsed = {};
87
+ const firstKey = Object.keys(config.themes)[0];
88
+ for (const key in config.themes[firstKey]) {
89
+ const val = config.themes[firstKey][key].val;
90
+ themeParsed[`$${key}`] = new Variable({ val, name: key });
91
+ }
92
+ const next = {
93
+ shorthands: {},
94
+ media: {},
95
+ ...config,
96
+ Provider: createTamaguiProvider({
97
+ defaultTheme: "light",
98
+ ...config
99
+ }),
100
+ themeConfig,
101
+ themeParsed,
102
+ tokensParsed,
103
+ parsed: true,
104
+ getCSS() {
105
+ return `${themeConfig.css}
106
+ ${[...getStyleRules()].join("\n")}`;
107
+ }
108
+ };
109
+ setConfig(next);
110
+ if (configListeners.size) {
111
+ configListeners.forEach((cb) => cb(next));
112
+ configListeners.clear();
113
+ }
114
+ createdConfigs.set(next, true);
115
+ return next;
116
+ }
117
+ __name(createTamagui, "createTamagui");
118
+ const parseTokens = /* @__PURE__ */ __name((tokens) => {
119
+ const res = {};
120
+ for (const key in tokens) {
121
+ res[key] = {};
122
+ if (key === "font") {
123
+ for (const family in tokens.font) {
124
+ const obj = {};
125
+ res.font[`$${family}`] = obj;
126
+ for (const attrKey in tokens.font[family]) {
127
+ const attr = tokens.font[family][attrKey];
128
+ if (attrKey === "family") {
129
+ obj[attrKey] = attr;
130
+ continue;
131
+ }
132
+ obj[attrKey] = Object.keys(attr).reduce((acc, cur) => {
133
+ acc[`$${cur}`] = attr[cur];
134
+ return acc;
135
+ }, {});
136
+ }
137
+ }
138
+ continue;
139
+ }
140
+ for (const skey in tokens[key]) {
141
+ res[key][`$${skey}`] = tokens[key][skey];
142
+ }
143
+ }
144
+ return res;
145
+ }, "parseTokens");
146
+ function ensureThemeVariable(theme, key) {
147
+ const val = theme[key];
148
+ if (!(val instanceof Variable)) {
149
+ theme[key] = createVariable({
150
+ name: key,
151
+ val
152
+ });
153
+ } else {
154
+ if (val.name !== key) {
155
+ theme[key] = createVariable({
156
+ name: key,
157
+ val: val.val
158
+ });
159
+ }
160
+ }
161
+ }
162
+ __name(ensureThemeVariable, "ensureThemeVariable");
163
+ export {
164
+ createTamagui
165
+ };
166
+ //# sourceMappingURL=createTamagui.js.map