@tamagui/core 1.0.0-alpha.2 → 1.0.0-alpha.23

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 (500) hide show
  1. package/dist/cjs/constants/constants.js +50 -0
  2. package/{_ → dist/cjs}/constants/constants.js.map +2 -2
  3. package/dist/cjs/constants/platform.js +43 -0
  4. package/dist/cjs/constants/platform.js.map +7 -0
  5. package/dist/cjs/constants/pseudos.js +25 -0
  6. package/dist/{constants → cjs/constants}/pseudos.js.map +2 -2
  7. package/dist/cjs/constants/rnw.js +28 -0
  8. package/{_ → dist/cjs}/constants/rnw.js.map +2 -2
  9. package/dist/cjs/createComponent.js +532 -0
  10. package/dist/cjs/createComponent.js.map +7 -0
  11. package/dist/cjs/createFont.js +50 -0
  12. package/dist/cjs/createFont.js.map +7 -0
  13. package/dist/cjs/createShorthands.js +16 -0
  14. package/{_ → dist/cjs}/createShorthands.js.map +2 -2
  15. package/dist/cjs/createTamagui.js +208 -0
  16. package/dist/cjs/createTamagui.js.map +7 -0
  17. package/dist/cjs/createTheme.js +44 -0
  18. package/dist/cjs/createTheme.js.map +7 -0
  19. package/dist/cjs/createTokens.js +55 -0
  20. package/dist/cjs/createTokens.js.map +7 -0
  21. package/dist/cjs/createVariable.js +47 -0
  22. package/dist/cjs/createVariable.js.map +7 -0
  23. package/dist/cjs/helpers/addStylesUsingClassname.js +79 -0
  24. package/dist/cjs/helpers/addStylesUsingClassname.js.map +7 -0
  25. package/dist/cjs/helpers/createMediaStyle.js +56 -0
  26. package/dist/{helpers → cjs/helpers}/createMediaStyle.js.map +2 -2
  27. package/dist/cjs/helpers/createPropMapper.js +197 -0
  28. package/dist/cjs/helpers/createPropMapper.js.map +7 -0
  29. package/dist/cjs/helpers/createTamaguiProvider.js +74 -0
  30. package/dist/cjs/helpers/createTamaguiProvider.js.map +7 -0
  31. package/dist/cjs/helpers/extendStaticConfig.js +82 -0
  32. package/dist/cjs/helpers/extendStaticConfig.js.map +7 -0
  33. package/dist/cjs/helpers/fixNativeShadow.js +14 -0
  34. package/dist/cjs/helpers/fixNativeShadow.js.map +7 -0
  35. package/dist/cjs/helpers/fixNativeShadow.native.js +36 -0
  36. package/{_ → dist/cjs}/helpers/fixNativeShadow.native.js.map +2 -2
  37. package/dist/cjs/helpers/getSplitStyles.js +180 -0
  38. package/dist/cjs/helpers/getSplitStyles.js.map +7 -0
  39. package/dist/cjs/helpers/getStylesAtomic.js +117 -0
  40. package/dist/cjs/helpers/getStylesAtomic.js.map +7 -0
  41. package/dist/cjs/helpers/getStylesAtomic.native.js +16 -0
  42. package/dist/cjs/helpers/getStylesAtomic.native.js.map +7 -0
  43. package/dist/cjs/helpers/insertStyleRule.js +46 -0
  44. package/dist/{helpers → cjs/helpers}/insertStyleRule.js.map +2 -2
  45. package/dist/cjs/helpers/isObj.js +13 -0
  46. package/dist/cjs/helpers/isObj.js.map +7 -0
  47. package/dist/cjs/helpers/isTamaguiElement.js +33 -0
  48. package/dist/cjs/helpers/isTamaguiElement.js.map +7 -0
  49. package/dist/cjs/helpers/matchMedia.js +24 -0
  50. package/dist/cjs/helpers/matchMedia.js.map +7 -0
  51. package/dist/cjs/helpers/matchMedia.native.js +31 -0
  52. package/dist/cjs/helpers/matchMedia.native.js.map +7 -0
  53. package/dist/cjs/helpers/themeable.js +78 -0
  54. package/{_ → dist/cjs}/helpers/themeable.js.map +2 -2
  55. package/dist/cjs/helpers/validate.js +82 -0
  56. package/dist/cjs/helpers/validate.js.map +7 -0
  57. package/dist/cjs/hooks/useConstant.js +37 -0
  58. package/dist/{hooks → cjs/hooks}/useConstant.js.map +2 -2
  59. package/dist/cjs/hooks/useFeatures.js +100 -0
  60. package/dist/cjs/hooks/useFeatures.js.map +7 -0
  61. package/dist/cjs/hooks/useMedia.js +207 -0
  62. package/dist/cjs/hooks/useMedia.js.map +7 -0
  63. package/dist/cjs/hooks/usePressable.js +50 -0
  64. package/{_ → dist/cjs}/hooks/usePressable.js.map +2 -2
  65. package/dist/cjs/hooks/useTheme.js +112 -0
  66. package/dist/cjs/hooks/useTheme.js.map +7 -0
  67. package/dist/cjs/index.js +55 -0
  68. package/dist/cjs/index.js.map +7 -0
  69. package/dist/cjs/static/postProcessStyles.js +40 -0
  70. package/dist/{static → cjs/static}/postProcessStyles.js.map +2 -2
  71. package/dist/cjs/static.js +34 -0
  72. package/dist/cjs/static.js.map +7 -0
  73. package/dist/cjs/styled.js +72 -0
  74. package/dist/cjs/styled.js.map +7 -0
  75. package/dist/cjs/types.js +4 -0
  76. package/dist/cjs/types.js.map +7 -0
  77. package/dist/cjs/views/Animated.js +129 -0
  78. package/dist/{views → cjs/views}/Animated.js.map +2 -2
  79. package/dist/cjs/views/Stack.js +51 -0
  80. package/dist/{views → cjs/views}/Stack.js.map +2 -2
  81. package/dist/cjs/views/Text.js +93 -0
  82. package/dist/cjs/views/Text.js.map +7 -0
  83. package/dist/cjs/views/TextAncestorContext.js +40 -0
  84. package/dist/cjs/views/TextAncestorContext.js.map +7 -0
  85. package/dist/cjs/views/Theme.js +91 -0
  86. package/dist/cjs/views/Theme.js.map +7 -0
  87. package/dist/cjs/views/ThemeContext.js +29 -0
  88. package/dist/{views → cjs/views}/ThemeContext.js.map +2 -2
  89. package/dist/cjs/views/ThemeInverse.js +48 -0
  90. package/dist/{views → cjs/views}/ThemeInverse.js.map +3 -3
  91. package/dist/cjs/views/ThemeManagerContext.js +84 -0
  92. package/dist/cjs/views/ThemeManagerContext.js.map +7 -0
  93. package/dist/cjs/views/ThemeProvider.js +67 -0
  94. package/dist/{views → cjs/views}/ThemeProvider.js.map +2 -2
  95. package/{_ → dist/esm}/constants/constants.js +0 -0
  96. package/dist/{constants → esm/constants}/constants.js.map +1 -1
  97. package/dist/{constants → esm/constants}/platform.js +0 -0
  98. package/dist/{constants → esm/constants}/platform.js.map +1 -1
  99. package/{_ → dist/esm}/constants/pseudos.js +0 -0
  100. package/{_ → dist/esm}/constants/pseudos.js.map +1 -1
  101. package/{_ → dist/esm}/constants/rnw.js +0 -0
  102. package/dist/{constants → esm/constants}/rnw.js.map +1 -1
  103. package/dist/{createComponent.js → esm/createComponent.js} +51 -32
  104. package/dist/esm/createComponent.js.map +7 -0
  105. package/dist/{createFont.js → esm/createFont.js} +4 -0
  106. package/dist/esm/createFont.js.map +7 -0
  107. package/{_ → dist/esm}/createShorthands.js +0 -0
  108. package/dist/{createShorthands.js.map → esm/createShorthands.js.map} +1 -1
  109. package/dist/{createTamagui.js → esm/createTamagui.js} +13 -2
  110. package/dist/esm/createTamagui.js.map +7 -0
  111. package/dist/{createTheme.js → esm/createTheme.js} +2 -0
  112. package/dist/esm/createTheme.js.map +7 -0
  113. package/dist/{createTokens.js → esm/createTokens.js} +4 -0
  114. package/dist/esm/createTokens.js.map +7 -0
  115. package/dist/{createVariable.js → esm/createVariable.js} +3 -0
  116. package/dist/{createVariable.js.map → esm/createVariable.js.map} +3 -3
  117. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js +0 -0
  118. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js.map +1 -1
  119. package/{_ → dist/esm}/helpers/createMediaStyle.js +0 -0
  120. package/{_ → dist/esm}/helpers/createMediaStyle.js.map +1 -1
  121. package/dist/{helpers → esm/helpers}/createPropMapper.js +16 -9
  122. package/dist/esm/helpers/createPropMapper.js.map +7 -0
  123. package/dist/{helpers → esm/helpers}/createTamaguiProvider.js +0 -0
  124. package/dist/{helpers → esm/helpers}/createTamaguiProvider.js.map +1 -1
  125. package/dist/{helpers → esm/helpers}/extendStaticConfig.js +0 -0
  126. package/dist/{helpers → esm/helpers}/extendStaticConfig.js.map +1 -1
  127. package/{_ → dist/esm}/helpers/fixNativeShadow.js +0 -0
  128. package/dist/{helpers → esm/helpers}/fixNativeShadow.js.map +1 -1
  129. package/{_ → dist/esm}/helpers/fixNativeShadow.native.js +0 -0
  130. package/dist/{helpers → esm/helpers}/fixNativeShadow.native.js.map +1 -1
  131. package/dist/{helpers → esm/helpers}/getSplitStyles.js +13 -23
  132. package/dist/esm/helpers/getSplitStyles.js.map +7 -0
  133. package/dist/{helpers → esm/helpers}/getStylesAtomic.js +0 -0
  134. package/dist/esm/helpers/getStylesAtomic.js.map +7 -0
  135. package/{_ → dist/esm}/helpers/getStylesAtomic.native.js +0 -0
  136. package/{_ → dist/esm}/helpers/getStylesAtomic.native.js.map +1 -1
  137. package/{_ → dist/esm}/helpers/insertStyleRule.js +0 -0
  138. package/{_ → dist/esm}/helpers/insertStyleRule.js.map +1 -1
  139. package/dist/{helpers → esm/helpers}/isObj.js +0 -0
  140. package/dist/{helpers → esm/helpers}/isObj.js.map +1 -1
  141. package/dist/esm/helpers/isTamaguiElement.js +10 -0
  142. package/dist/esm/helpers/isTamaguiElement.js.map +7 -0
  143. package/{_ → dist/esm}/helpers/matchMedia.js +3 -0
  144. package/dist/esm/helpers/matchMedia.js.map +7 -0
  145. package/dist/{helpers → esm/helpers}/matchMedia.native.js +1 -0
  146. package/{_ → dist/esm}/helpers/matchMedia.native.js.map +3 -3
  147. package/dist/{helpers → esm/helpers}/themeable.js +0 -0
  148. package/dist/{helpers → esm/helpers}/themeable.js.map +1 -1
  149. package/dist/esm/helpers/validate.js +60 -0
  150. package/dist/esm/helpers/validate.js.map +7 -0
  151. package/{_ → dist/esm}/hooks/useConstant.js +0 -0
  152. package/{_ → dist/esm}/hooks/useConstant.js.map +1 -1
  153. package/{_ → dist/esm}/hooks/useFeatures.js +39 -51
  154. package/dist/esm/hooks/useFeatures.js.map +7 -0
  155. package/dist/{hooks → esm/hooks}/useMedia.js +6 -4
  156. package/dist/esm/hooks/useMedia.js.map +7 -0
  157. package/dist/{hooks → esm/hooks}/usePressable.js +0 -0
  158. package/dist/{hooks → esm/hooks}/usePressable.js.map +1 -1
  159. package/dist/{hooks → esm/hooks}/useTheme.js +7 -10
  160. package/dist/esm/hooks/useTheme.js.map +7 -0
  161. package/dist/{index.js → esm/index.js} +1 -2
  162. package/dist/{index.js.map → esm/index.js.map} +3 -3
  163. package/{_ → dist/esm}/static/postProcessStyles.js +0 -0
  164. package/{_ → dist/esm}/static/postProcessStyles.js.map +1 -1
  165. package/dist/{static.js → esm/static.js} +0 -0
  166. package/dist/{static.js.map → esm/static.js.map} +1 -1
  167. package/dist/{styled.js → esm/styled.js} +0 -0
  168. package/dist/{styled.js.map → esm/styled.js.map} +1 -1
  169. package/{_ → dist/esm}/types.js +0 -0
  170. package/{_ → dist/esm}/types.js.map +0 -0
  171. package/{_ → dist/esm}/views/Animated.js +0 -0
  172. package/{_ → dist/esm}/views/Animated.js.map +1 -1
  173. package/{_ → dist/esm}/views/Stack.js +0 -0
  174. package/{_ → dist/esm}/views/Stack.js.map +1 -1
  175. package/dist/{views → esm/views}/Text.js +1 -1
  176. package/dist/esm/views/Text.js.map +7 -0
  177. package/{_ → dist/esm}/views/TextAncestorContext.js +7 -9
  178. package/dist/esm/views/TextAncestorContext.js.map +7 -0
  179. package/dist/{views → esm/views}/Theme.js +25 -13
  180. package/dist/esm/views/Theme.js.map +7 -0
  181. package/{_ → dist/esm}/views/ThemeContext.js +0 -0
  182. package/{_ → dist/esm}/views/ThemeContext.js.map +1 -1
  183. package/{_ → dist/esm}/views/ThemeInverse.js +0 -1
  184. package/{_ → dist/esm}/views/ThemeInverse.js.map +3 -3
  185. package/dist/{views → esm/views}/ThemeManagerContext.js +11 -5
  186. package/dist/esm/views/ThemeManagerContext.js.map +7 -0
  187. package/{_ → dist/esm}/views/ThemeProvider.js +0 -0
  188. package/{_ → dist/esm}/views/ThemeProvider.js.map +1 -1
  189. package/dist/{constants → jsx/constants}/constants.js +0 -1
  190. package/{_ → dist/jsx}/constants/platform.js +1 -3
  191. package/dist/{constants → jsx/constants}/pseudos.js +0 -1
  192. package/dist/{constants → jsx/constants}/rnw.js +0 -1
  193. package/{_ → dist/jsx}/createComponent.js +114 -83
  194. package/dist/jsx/createFont.js +27 -0
  195. package/dist/{createShorthands.js → jsx/createShorthands.js} +0 -1
  196. package/{_ → dist/jsx}/createTamagui.js +63 -16
  197. package/{_ → dist/jsx}/createTheme.js +2 -1
  198. package/{_ → dist/jsx}/createTokens.js +4 -1
  199. package/{_ → dist/jsx}/createVariable.js +3 -1
  200. package/dist/jsx/helpers/addStylesUsingClassname.js +56 -0
  201. package/dist/{helpers → jsx/helpers}/createMediaStyle.js +0 -1
  202. package/dist/jsx/helpers/createPropMapper.js +159 -0
  203. package/dist/jsx/helpers/createTamaguiProvider.js +19 -0
  204. package/dist/jsx/helpers/extendStaticConfig.js +58 -0
  205. package/dist/{helpers → jsx/helpers}/fixNativeShadow.js +0 -1
  206. package/dist/{helpers → jsx/helpers}/fixNativeShadow.native.js +0 -1
  207. package/{_ → dist/jsx}/helpers/getSplitStyles.js +18 -29
  208. package/{_ → dist/jsx}/helpers/getStylesAtomic.js +1 -3
  209. package/dist/{helpers → jsx/helpers}/getStylesAtomic.native.js +0 -1
  210. package/dist/{helpers → jsx/helpers}/insertStyleRule.js +0 -1
  211. package/dist/jsx/helpers/isObj.js +6 -0
  212. package/dist/jsx/helpers/isTamaguiElement.js +9 -0
  213. package/dist/{helpers → jsx/helpers}/matchMedia.js +3 -1
  214. package/{_ → dist/jsx}/helpers/matchMedia.native.js +1 -1
  215. package/{_ → dist/jsx}/helpers/themeable.js +3 -6
  216. package/dist/jsx/helpers/validate.js +59 -0
  217. package/dist/{hooks → jsx/hooks}/useConstant.js +0 -1
  218. package/dist/jsx/hooks/useFeatures.js +57 -0
  219. package/{_ → dist/jsx}/hooks/useMedia.js +8 -9
  220. package/{_ → dist/jsx}/hooks/usePressable.js +1 -3
  221. package/{_ → dist/jsx}/hooks/useTheme.js +8 -13
  222. package/{_ → dist/jsx}/index.js +3 -2
  223. package/dist/{static → jsx/static}/postProcessStyles.js +0 -1
  224. package/{_ → dist/jsx}/static.js +3 -1
  225. package/{_ → dist/jsx}/styled.js +2 -3
  226. package/dist/jsx/types.js +0 -0
  227. package/dist/{views → jsx/views}/Animated.js +2 -7
  228. package/dist/{views → jsx/views}/Stack.js +0 -1
  229. package/{_ → dist/jsx}/views/Text.js +1 -2
  230. package/dist/{views → jsx/views}/TextAncestorContext.js +5 -9
  231. package/dist/jsx/views/Theme.js +62 -0
  232. package/dist/{views → jsx/views}/ThemeContext.js +0 -1
  233. package/dist/{views → jsx/views}/ThemeInverse.js +1 -6
  234. package/{_ → dist/jsx}/views/ThemeManagerContext.js +12 -8
  235. package/dist/{views → jsx/views}/ThemeProvider.js +2 -8
  236. package/package.json +18 -11
  237. package/{dist/packages/core/src → types}/constants/constants.d.ts +0 -0
  238. package/types/constants/constants.d.ts.map +1 -0
  239. package/{dist/packages/core/src → types}/constants/platform.d.ts +0 -0
  240. package/types/constants/platform.d.ts.map +1 -0
  241. package/{dist/packages/core/src → types}/constants/pseudos.d.ts +0 -0
  242. package/types/constants/pseudos.d.ts.map +1 -0
  243. package/{dist/packages/core/src → types}/constants/rnw.d.ts +0 -0
  244. package/types/constants/rnw.d.ts.map +1 -0
  245. package/{dist/packages/core/src → types}/createComponent.d.ts +3 -2
  246. package/types/createComponent.d.ts.map +1 -0
  247. package/types/createFont.d.ts +3 -0
  248. package/types/createFont.d.ts.map +1 -0
  249. package/{dist/packages/core/src → types}/createShorthands.d.ts +0 -0
  250. package/types/createShorthands.d.ts.map +1 -0
  251. package/{dist/packages/core/src → types}/createTamagui.d.ts +18 -1
  252. package/types/createTamagui.d.ts.map +1 -0
  253. package/{dist/packages/core/src → types}/createTheme.d.ts +1 -1
  254. package/types/createTheme.d.ts.map +1 -0
  255. package/{dist/packages/core/src → types}/createTokens.d.ts +24 -14
  256. package/types/createTokens.d.ts.map +1 -0
  257. package/{dist/packages/core/src → types}/createVariable.d.ts +1 -0
  258. package/types/createVariable.d.ts.map +1 -0
  259. package/types/helpers/addStylesUsingClassname.d.ts +3 -0
  260. package/types/helpers/addStylesUsingClassname.d.ts.map +1 -0
  261. package/{dist/packages/core/src → types}/helpers/createMediaStyle.d.ts +0 -0
  262. package/types/helpers/createMediaStyle.d.ts.map +1 -0
  263. package/types/helpers/createPropMapper.d.ts +3 -0
  264. package/types/helpers/createPropMapper.d.ts.map +1 -0
  265. package/{dist/packages/core/src → types}/helpers/createTamaguiProvider.d.ts +0 -0
  266. package/types/helpers/createTamaguiProvider.d.ts.map +1 -0
  267. package/{dist/packages/core/src → types}/helpers/extendStaticConfig.d.ts +1 -1
  268. package/types/helpers/extendStaticConfig.d.ts.map +1 -0
  269. package/{dist/packages/core/src → types}/helpers/fixNativeShadow.d.ts +0 -0
  270. package/types/helpers/fixNativeShadow.d.ts.map +1 -0
  271. package/{dist/packages/core/src → types}/helpers/fixNativeShadow.native.d.ts +0 -0
  272. package/types/helpers/fixNativeShadow.native.d.ts.map +1 -0
  273. package/{dist/packages/core/src → types}/helpers/getSplitStyles.d.ts +0 -0
  274. package/types/helpers/getSplitStyles.d.ts.map +1 -0
  275. package/types/helpers/getStylesAtomic.d.ts +3 -0
  276. package/types/helpers/getStylesAtomic.d.ts.map +1 -0
  277. package/{dist/packages/core/src → types}/helpers/getStylesAtomic.native.d.ts +0 -0
  278. package/types/helpers/getStylesAtomic.native.d.ts.map +1 -0
  279. package/{dist/packages/core/src → types}/helpers/insertStyleRule.d.ts +0 -0
  280. package/types/helpers/insertStyleRule.d.ts.map +1 -0
  281. package/types/helpers/isObj.d.ts +2 -0
  282. package/types/helpers/isObj.d.ts.map +1 -0
  283. package/types/helpers/isTamaguiElement.d.ts +3 -0
  284. package/types/helpers/isTamaguiElement.d.ts.map +1 -0
  285. package/{dist/packages/core/src → types}/helpers/matchMedia.d.ts +0 -0
  286. package/types/helpers/matchMedia.d.ts.map +1 -0
  287. package/{dist/packages/core/src → types}/helpers/matchMedia.native.d.ts +0 -0
  288. package/types/helpers/matchMedia.native.d.ts.map +1 -0
  289. package/{dist/packages/core/src → types}/helpers/themeable.d.ts +0 -0
  290. package/types/helpers/themeable.d.ts.map +1 -0
  291. package/types/helpers/validate.d.ts +4 -0
  292. package/types/helpers/validate.d.ts.map +1 -0
  293. package/{dist/packages/core/src → types}/hooks/useConstant.d.ts +0 -0
  294. package/types/hooks/useConstant.d.ts.map +1 -0
  295. package/{dist/packages/core/src → types}/hooks/useFeatures.d.ts +0 -0
  296. package/types/hooks/useFeatures.d.ts.map +1 -0
  297. package/{dist/packages/core/src → types}/hooks/useMedia.d.ts +0 -0
  298. package/types/hooks/useMedia.d.ts.map +1 -0
  299. package/{dist/packages/core/src → types}/hooks/usePressable.d.ts +0 -0
  300. package/types/hooks/usePressable.d.ts.map +1 -0
  301. package/{dist/packages/core/src → types}/hooks/useTheme.d.ts +3 -1
  302. package/types/hooks/useTheme.d.ts.map +1 -0
  303. package/{dist/packages/core/src → types}/index.d.ts +3 -1
  304. package/types/index.d.ts.map +1 -0
  305. package/{dist/packages/core/src → types}/static/postProcessStyles.d.ts +0 -0
  306. package/types/static/postProcessStyles.d.ts.map +1 -0
  307. package/{dist/packages/core/src → types}/static.d.ts +3 -0
  308. package/types/static.d.ts.map +1 -0
  309. package/types/styled.d.ts +21 -0
  310. package/types/styled.d.ts.map +1 -0
  311. package/{dist/packages/core/src → types}/types.d.ts +71 -70
  312. package/types/types.d.ts.map +1 -0
  313. package/{dist/packages/core/src → types}/views/Animated.d.ts +0 -0
  314. package/types/views/Animated.d.ts.map +1 -0
  315. package/{dist/packages/core/src → types}/views/Stack.d.ts +0 -0
  316. package/types/views/Stack.d.ts.map +1 -0
  317. package/types/views/Text.d.ts +3 -0
  318. package/types/views/Text.d.ts.map +1 -0
  319. package/types/views/TextAncestorContext.d.ts +5 -0
  320. package/types/views/TextAncestorContext.d.ts.map +1 -0
  321. package/{dist/packages/core/src → types}/views/Theme.d.ts +1 -1
  322. package/types/views/Theme.d.ts.map +1 -0
  323. package/{dist/packages/core/src → types}/views/ThemeContext.d.ts +0 -0
  324. package/types/views/ThemeContext.d.ts.map +1 -0
  325. package/{dist/packages/core/src → types}/views/ThemeInverse.d.ts +0 -0
  326. package/types/views/ThemeInverse.d.ts.map +1 -0
  327. package/types/views/ThemeManagerContext.d.ts +22 -0
  328. package/types/views/ThemeManagerContext.d.ts.map +1 -0
  329. package/{dist/packages/core/src → types}/views/ThemeProvider.d.ts +0 -0
  330. package/types/views/ThemeProvider.d.ts.map +1 -0
  331. package/.ultra.cache.json +0 -1
  332. package/_/constants/platform.js.map +0 -7
  333. package/_/createComponent.js.map +0 -7
  334. package/_/createTamagui.js.map +0 -7
  335. package/_/createTheme.js.map +0 -7
  336. package/_/createTokens.js.map +0 -7
  337. package/_/createVariable.js.map +0 -7
  338. package/_/helpers/addStylesUsingClassname.js +0 -32
  339. package/_/helpers/addStylesUsingClassname.js.map +0 -7
  340. package/_/helpers/createTamaguiProvider.js +0 -42
  341. package/_/helpers/createTamaguiProvider.js.map +0 -7
  342. package/_/helpers/extendStaticConfig.js +0 -176
  343. package/_/helpers/extendStaticConfig.js.map +0 -7
  344. package/_/helpers/fixNativeShadow.js.map +0 -7
  345. package/_/helpers/getSplitStyles.js.map +0 -7
  346. package/_/helpers/getStylesAtomic.js.map +0 -7
  347. package/_/helpers/matchMedia.js.map +0 -7
  348. package/_/hooks/useFeatures.js.map +0 -7
  349. package/_/hooks/useForceUpdate.js +0 -28
  350. package/_/hooks/useForceUpdate.js.map +0 -7
  351. package/_/hooks/useMedia.js.map +0 -7
  352. package/_/hooks/useTheme.js.map +0 -7
  353. package/_/index.js.map +0 -7
  354. package/_/static.js.map +0 -7
  355. package/_/styled.js.map +0 -7
  356. package/_/views/Text.js.map +0 -7
  357. package/_/views/TextAncestorContext.js.map +0 -7
  358. package/_/views/Theme.js +0 -57
  359. package/_/views/Theme.js.map +0 -7
  360. package/_/views/ThemeManagerContext.js.map +0 -7
  361. package/dist/constants/styleConstants.js +0 -46
  362. package/dist/constants/styleConstants.js.map +0 -7
  363. package/dist/createComponent.js.map +0 -7
  364. package/dist/createFont.js.map +0 -7
  365. package/dist/createTamagui.js.map +0 -7
  366. package/dist/createTheme.js.map +0 -7
  367. package/dist/createTokens.js.map +0 -7
  368. package/dist/helpers/createPropMapper.js.map +0 -7
  369. package/dist/helpers/getSplitStyles.js.map +0 -7
  370. package/dist/helpers/getStylesAtomic.js.map +0 -7
  371. package/dist/helpers/getStylesAtomic.native.js.map +0 -7
  372. package/dist/helpers/matchMedia.js.map +0 -7
  373. package/dist/helpers/matchMedia.native.js.map +0 -7
  374. package/dist/helpers/pseudos.js +0 -1
  375. package/dist/helpers/pseudos.js.map +0 -7
  376. package/dist/hooks/useFeatures.js +0 -75
  377. package/dist/hooks/useFeatures.js.map +0 -7
  378. package/dist/hooks/useForceUpdate.js +0 -28
  379. package/dist/hooks/useForceUpdate.js.map +0 -7
  380. package/dist/hooks/useMedia.js.map +0 -7
  381. package/dist/hooks/useTheme.js.map +0 -7
  382. package/dist/index.cjs +0 -2125
  383. package/dist/index.cjs.map +0 -7
  384. package/dist/packages/core/src/constants/constants.d.ts.map +0 -1
  385. package/dist/packages/core/src/constants/platform.d.ts.map +0 -1
  386. package/dist/packages/core/src/constants/pseudos.d.ts.map +0 -1
  387. package/dist/packages/core/src/constants/rnw.d.ts.map +0 -1
  388. package/dist/packages/core/src/createComponent.d.ts.map +0 -1
  389. package/dist/packages/core/src/createShorthands.d.ts.map +0 -1
  390. package/dist/packages/core/src/createTamagui.d.ts.map +0 -1
  391. package/dist/packages/core/src/createTheme.d.ts.map +0 -1
  392. package/dist/packages/core/src/createTokens.d.ts.map +0 -1
  393. package/dist/packages/core/src/createVariable.d.ts.map +0 -1
  394. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts +0 -2
  395. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts.map +0 -1
  396. package/dist/packages/core/src/helpers/createMediaStyle.d.ts.map +0 -1
  397. package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts.map +0 -1
  398. package/dist/packages/core/src/helpers/extendStaticConfig.d.ts.map +0 -1
  399. package/dist/packages/core/src/helpers/fixNativeShadow.d.ts.map +0 -1
  400. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts.map +0 -1
  401. package/dist/packages/core/src/helpers/getSplitStyles.d.ts.map +0 -1
  402. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts +0 -3
  403. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts.map +0 -1
  404. package/dist/packages/core/src/helpers/getStylesAtomic.native.d.ts.map +0 -1
  405. package/dist/packages/core/src/helpers/insertStyleRule.d.ts.map +0 -1
  406. package/dist/packages/core/src/helpers/matchMedia.d.ts.map +0 -1
  407. package/dist/packages/core/src/helpers/matchMedia.native.d.ts.map +0 -1
  408. package/dist/packages/core/src/helpers/themeable.d.ts.map +0 -1
  409. package/dist/packages/core/src/hooks/useConstant.d.ts.map +0 -1
  410. package/dist/packages/core/src/hooks/useFeatures.d.ts.map +0 -1
  411. package/dist/packages/core/src/hooks/useForceUpdate.d.ts +0 -2
  412. package/dist/packages/core/src/hooks/useForceUpdate.d.ts.map +0 -1
  413. package/dist/packages/core/src/hooks/useMedia.d.ts.map +0 -1
  414. package/dist/packages/core/src/hooks/usePressable.d.ts.map +0 -1
  415. package/dist/packages/core/src/hooks/useTheme.d.ts.map +0 -1
  416. package/dist/packages/core/src/index.d.ts.map +0 -1
  417. package/dist/packages/core/src/static/postProcessStyles.d.ts.map +0 -1
  418. package/dist/packages/core/src/static.d.ts.map +0 -1
  419. package/dist/packages/core/src/styled.d.ts +0 -16
  420. package/dist/packages/core/src/styled.d.ts.map +0 -1
  421. package/dist/packages/core/src/types.d.ts.map +0 -1
  422. package/dist/packages/core/src/views/Animated.d.ts.map +0 -1
  423. package/dist/packages/core/src/views/Stack.d.ts.map +0 -1
  424. package/dist/packages/core/src/views/Text.d.ts +0 -3
  425. package/dist/packages/core/src/views/Text.d.ts.map +0 -1
  426. package/dist/packages/core/src/views/TextAncestorContext.d.ts +0 -3
  427. package/dist/packages/core/src/views/TextAncestorContext.d.ts.map +0 -1
  428. package/dist/packages/core/src/views/Theme.d.ts.map +0 -1
  429. package/dist/packages/core/src/views/ThemeContext.d.ts.map +0 -1
  430. package/dist/packages/core/src/views/ThemeInverse.d.ts.map +0 -1
  431. package/dist/packages/core/src/views/ThemeManagerContext.d.ts +0 -15
  432. package/dist/packages/core/src/views/ThemeManagerContext.d.ts.map +0 -1
  433. package/dist/packages/core/src/views/ThemeProvider.d.ts.map +0 -1
  434. package/dist/packages/helpers/src/AllRules.d.ts +0 -3
  435. package/dist/packages/helpers/src/AllRules.d.ts.map +0 -1
  436. package/dist/packages/helpers/src/concatClassName.d.ts +0 -2
  437. package/dist/packages/helpers/src/concatClassName.d.ts.map +0 -1
  438. package/dist/packages/helpers/src/index.d.ts +0 -5
  439. package/dist/packages/helpers/src/index.d.ts.map +0 -1
  440. package/dist/packages/helpers/src/types.d.ts +0 -8
  441. package/dist/packages/helpers/src/types.d.ts.map +0 -1
  442. package/dist/packages/helpers/src/validStyleProps.d.ts +0 -475
  443. package/dist/packages/helpers/src/validStyleProps.d.ts.map +0 -1
  444. package/dist/types.js +0 -1
  445. package/dist/types.js.map +0 -7
  446. package/dist/views/SafeAreaProvider.js +0 -30
  447. package/dist/views/SafeAreaProvider.js.map +0 -7
  448. package/dist/views/Text.js.map +0 -7
  449. package/dist/views/TextAncestorContext.js.map +0 -7
  450. package/dist/views/Theme.js.map +0 -7
  451. package/dist/views/ThemeManagerContext.js.map +0 -7
  452. package/src/constants/constants.ts +0 -12
  453. package/src/constants/platform.ts +0 -15
  454. package/src/constants/pseudos.ts +0 -14
  455. package/src/constants/rnw.tsx +0 -20
  456. package/src/createComponent.tsx +0 -597
  457. package/src/createFont.ts +0 -26
  458. package/src/createShorthands.ts +0 -5
  459. package/src/createTamagui.ts +0 -207
  460. package/src/createTheme.ts +0 -19
  461. package/src/createTokens.ts +0 -83
  462. package/src/createVariable.ts +0 -22
  463. package/src/helpers/addStylesUsingClassname.tsx +0 -60
  464. package/src/helpers/createMediaStyle.ts +0 -46
  465. package/src/helpers/createPropMapper.ts +0 -184
  466. package/src/helpers/createTamaguiProvider.tsx +0 -22
  467. package/src/helpers/extendStaticConfig.ts +0 -68
  468. package/src/helpers/fixNativeShadow.native.tsx +0 -27
  469. package/src/helpers/fixNativeShadow.tsx +0 -2
  470. package/src/helpers/getSplitStyles.tsx +0 -210
  471. package/src/helpers/getStylesAtomic.native.ts +0 -3
  472. package/src/helpers/getStylesAtomic.ts +0 -103
  473. package/src/helpers/insertStyleRule.tsx +0 -18
  474. package/src/helpers/isObj.ts +0 -1
  475. package/src/helpers/matchMedia.native.ts +0 -3
  476. package/src/helpers/matchMedia.ts +0 -9
  477. package/src/helpers/themeable.tsx +0 -42
  478. package/src/hooks/useConstant.tsx +0 -10
  479. package/src/hooks/useFeatures.tsx +0 -78
  480. package/src/hooks/useForceUpdate.tsx +0 -26
  481. package/src/hooks/useMedia.tsx +0 -194
  482. package/src/hooks/usePressable.tsx +0 -9
  483. package/src/hooks/useTheme.tsx +0 -107
  484. package/src/index.ts +0 -33
  485. package/src/static/postProcessStyles.tsx +0 -20
  486. package/src/static.ts +0 -22
  487. package/src/styled.ts +0 -82
  488. package/src/types.tsx +0 -561
  489. package/src/views/Animated.tsx +0 -121
  490. package/src/views/SafeAreaProvider.tsx +0 -33
  491. package/src/views/Stack.tsx +0 -21
  492. package/src/views/Text.tsx +0 -66
  493. package/src/views/TextAncestorContext.tsx +0 -12
  494. package/src/views/Theme.tsx +0 -73
  495. package/src/views/ThemeContext.tsx +0 -5
  496. package/src/views/ThemeInverse.tsx +0 -23
  497. package/src/views/ThemeManagerContext.tsx +0 -50
  498. package/src/views/ThemeProvider.tsx +0 -52
  499. package/tsconfig.json +0 -8
  500. package/types.d.ts +0 -558
@@ -7,20 +7,17 @@ const themeable = /* @__PURE__ */ __name(function graphql(component) {
7
7
  const withThemeComponent = forwardRef(/* @__PURE__ */ __name(function WithTheme({ themeInverse, ...rest }, ref) {
8
8
  const el = React.createElement(component, { ...rest, ref });
9
9
  if (themeInverse) {
10
- return /* @__PURE__ */ React.createElement(ThemeInverse, null, el);
10
+ return <ThemeInverse>{el}</ThemeInverse>;
11
11
  }
12
12
  if (rest.theme) {
13
- return /* @__PURE__ */ React.createElement(Theme, {
14
- name: rest.theme || null
15
- }, el);
13
+ return <Theme name={rest.theme || null}>{el}</Theme>;
16
14
  }
17
15
  return el;
18
16
  }, "WithTheme"));
19
17
  const withTheme = withThemeComponent;
20
- withTheme.displayName = `Themed(${(component == null ? void 0 : component.displayName) || (component == null ? void 0 : component.name) || "Anonymous"})`;
18
+ withTheme.displayName = `Themed(${component?.displayName || component?.name || "Anonymous"})`;
21
19
  return withTheme;
22
20
  }, "graphql");
23
21
  export {
24
22
  themeable
25
23
  };
26
- //# sourceMappingURL=themeable.js.map
@@ -0,0 +1,59 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import ow from "@tamagui/ow";
4
+ const validateConfig = /* @__PURE__ */ __name((conf) => {
5
+ if (!conf) {
6
+ console.warn("no conf?");
7
+ return;
8
+ }
9
+ try {
10
+ ow(conf, validConfig);
11
+ } catch (err) {
12
+ console.log("Given config:\n", JSON.stringify(conf, null, 2));
13
+ throw err;
14
+ }
15
+ }, "validateConfig");
16
+ const validConfig = ow.object.exactShape({
17
+ defaultTheme: ow.optional.string,
18
+ disableRootThemeClass: ow.optional.boolean,
19
+ shorthands: ow.optional.object.valuesOfType(ow.string),
20
+ themes: ow.object.valuesOfType(ow.object),
21
+ tokens: ow.object.valuesOfType(ow.object),
22
+ media: ow.object.valuesOfType(ow.object)
23
+ });
24
+ const validFont = ow.object.exactShape({
25
+ family: ow.string,
26
+ size: ow.object.nonEmpty.valuesOfType(ow.number),
27
+ lineHeight: ow.object.nonEmpty.valuesOfType(ow.number),
28
+ weight: ow.object.nonEmpty.valuesOfType(ow.string),
29
+ letterSpacing: ow.object.nonEmpty.valuesOfType(ow.number)
30
+ });
31
+ const validTokens = ow.object.exactShape({
32
+ font: ow.object.valuesOfType(validFont),
33
+ size: ow.object.nonEmpty.valuesOfType(ow.number),
34
+ space: ow.object.nonEmpty.valuesOfType(ow.number),
35
+ zIndex: ow.object.nonEmpty.valuesOfType(ow.number),
36
+ radius: ow.object.nonEmpty.valuesOfType(ow.number),
37
+ color: ow.object.nonEmpty.valuesOfType(ow.string)
38
+ });
39
+ const validateTokens = /* @__PURE__ */ __name((tokens) => {
40
+ try {
41
+ ow(tokens, validTokens);
42
+ } catch (err) {
43
+ console.log("Given tokens:\n", JSON.stringify(tokens, null, 2));
44
+ throw err;
45
+ }
46
+ }, "validateTokens");
47
+ const validateFont = /* @__PURE__ */ __name((font) => {
48
+ try {
49
+ ow(font, validFont);
50
+ } catch (err) {
51
+ console.log("Given font:\n", JSON.stringify(font, null, 2));
52
+ throw err;
53
+ }
54
+ }, "validateFont");
55
+ export {
56
+ validateConfig,
57
+ validateFont,
58
+ validateTokens
59
+ };
@@ -12,4 +12,3 @@ __name(useConstant, "useConstant");
12
12
  export {
13
13
  useConstant
14
14
  };
15
- //# sourceMappingURL=useConstant.js.map
@@ -0,0 +1,57 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { isWeb, useIsomorphicLayoutEffect } from "../constants/platform";
4
+ import { addMediaQueryListener, mediaState, removeMediaQueryListener } from "./useMedia";
5
+ const createDefinition = /* @__PURE__ */ __name(({
6
+ Component,
7
+ propNames
8
+ }) => ({
9
+ isEnabled: (props) => propNames.some((name) => !!props[name]),
10
+ Component
11
+ }), "createDefinition");
12
+ let featureDefinitions = null;
13
+ const useFeatures = /* @__PURE__ */ __name((props, utils) => {
14
+ if (!featureDefinitions) {
15
+ featureDefinitions = loadFeatures();
16
+ }
17
+ const features = [];
18
+ for (const name in featureDefinitions) {
19
+ const { isEnabled, Component } = featureDefinitions[name];
20
+ if (isEnabled(props) && Component) {
21
+ features.push(<Component key={name} {...props} _utils={utils} />);
22
+ }
23
+ }
24
+ return features;
25
+ }, "useFeatures");
26
+ function loadFeatures() {
27
+ return {
28
+ ...!isWeb && {
29
+ mediaQuery: loadMediaQueryFeature()
30
+ }
31
+ };
32
+ }
33
+ __name(loadFeatures, "loadFeatures");
34
+ function loadMediaQueryFeature() {
35
+ const mediaPropNames = Object.keys(mediaState);
36
+ return createDefinition({
37
+ Component: (props) => {
38
+ const keys = mediaPropNames.flatMap((x) => x in props ? x.slice(1) : []);
39
+ useIsomorphicLayoutEffect(() => {
40
+ for (const key of keys) {
41
+ addMediaQueryListener(key, props._utils.forceUpdate);
42
+ }
43
+ return () => {
44
+ for (const key of keys) {
45
+ removeMediaQueryListener(key, props._utils.forceUpdate);
46
+ }
47
+ };
48
+ }, [keys.join(",")]);
49
+ return null;
50
+ },
51
+ propNames: mediaPropNames
52
+ });
53
+ }
54
+ __name(loadMediaQueryFeature, "loadMediaQueryFeature");
55
+ export {
56
+ useFeatures
57
+ };
@@ -1,10 +1,10 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { useForceUpdate } from "@tamagui/use-force-update";
3
4
  import { useRef } from "react";
4
5
  import { useIsomorphicLayoutEffect } from "../constants/platform";
5
6
  import { matchMedia } from "../helpers/matchMedia";
6
7
  import { useConstant } from "./useConstant";
7
- import { useForceUpdate } from "./useForceUpdate";
8
8
  const mediaState = {};
9
9
  const mediaQueryListeners = {};
10
10
  const addMediaQueryListener = /* @__PURE__ */ __name((key, cb) => {
@@ -12,19 +12,21 @@ const addMediaQueryListener = /* @__PURE__ */ __name((key, cb) => {
12
12
  mediaQueryListeners[key].add(cb);
13
13
  }, "addMediaQueryListener");
14
14
  const removeMediaQueryListener = /* @__PURE__ */ __name((key, cb) => {
15
- mediaQueryListeners[key].delete(cb);
15
+ mediaQueryListeners[key]?.delete(cb);
16
16
  }, "removeMediaQueryListener");
17
17
  let conf = null;
18
18
  const mediaQueryConfig = new Proxy({}, {
19
19
  get(target, key) {
20
20
  if (!conf) {
21
- throw new Error(`Be sure to run configureMedia before accessing mediaQueryConfig`);
21
+ console.warn("Warning: accessing media query before init");
22
+ return null;
22
23
  }
23
24
  return Reflect.get(conf, key);
24
25
  },
25
26
  ownKeys() {
26
27
  if (!conf) {
27
- throw new Error(`Be sure to run configureMedia before accessing mediaQueryConfig`);
28
+ console.warn("Warning: accessing media query before init");
29
+ return [];
28
30
  }
29
31
  return Object.keys(conf);
30
32
  },
@@ -45,10 +47,8 @@ const configureMedia = /* @__PURE__ */ __name(({
45
47
  queries,
46
48
  defaultActive = ["sm", "xs"]
47
49
  } = {}) => {
48
- var _a;
49
50
  if (conf) {
50
51
  console.warn(`Already configured mediaQueries once (you may have called getMedia() before configureMedia())`);
51
- return;
52
52
  }
53
53
  if (queries) {
54
54
  conf = queries;
@@ -68,7 +68,7 @@ const configureMedia = /* @__PURE__ */ __name(({
68
68
  return;
69
69
  mediaState[key] = next;
70
70
  const listeners = mediaQueryListeners[key];
71
- if (listeners == null ? void 0 : listeners.size) {
71
+ if (listeners?.size) {
72
72
  for (const cb of [...listeners]) {
73
73
  cb();
74
74
  }
@@ -76,7 +76,7 @@ const configureMedia = /* @__PURE__ */ __name(({
76
76
  });
77
77
  } catch (err) {
78
78
  console.error("Error running media query", str, err.message, err.stack);
79
- const isDefaultActive = (_a = defaultActive == null ? void 0 : defaultActive.includes(key)) != null ? _a : true;
79
+ const isDefaultActive = defaultActive?.includes(key) ?? true;
80
80
  mediaState[key] = isDefaultActive;
81
81
  }
82
82
  }
@@ -170,4 +170,3 @@ export {
170
170
  removeMediaQueryListener,
171
171
  useMedia
172
172
  };
173
- //# sourceMappingURL=useMedia.js.map
@@ -1,8 +1,7 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- var _a, _b;
4
3
  import { Pressable } from "react-native";
5
- const getPressable = (_b = (_a = Pressable) == null ? void 0 : _a["type"]) == null ? void 0 : _b["render"];
4
+ const getPressable = Pressable?.["type"]?.["render"];
6
5
  const usePressable = /* @__PURE__ */ __name((props) => {
7
6
  const out = getPressable(props);
8
7
  const { children, style, ...pressableProps } = out.props;
@@ -11,4 +10,3 @@ const usePressable = /* @__PURE__ */ __name((props) => {
11
10
  export {
12
11
  usePressable
13
12
  };
14
- //# sourceMappingURL=usePressable.js.map
@@ -1,12 +1,12 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { useForceUpdate } from "@tamagui/use-force-update";
3
4
  import { useContext, useEffect, useMemo, useRef, useState } from "react";
4
5
  import { useIsomorphicLayoutEffect } from "../constants/platform";
5
6
  import { Variable } from "../createVariable";
6
7
  import { ThemeContext } from "../views/ThemeContext";
7
8
  import { ThemeManagerContext } from "../views/ThemeManagerContext";
8
9
  import { GET_DEFAULT_THEME } from "../views/ThemeProvider";
9
- import { useForceUpdate } from "./useForceUpdate";
10
10
  const areEqualSets = /* @__PURE__ */ __name((a, b) => {
11
11
  if (a.size !== b.size)
12
12
  return false;
@@ -17,16 +17,12 @@ const areEqualSets = /* @__PURE__ */ __name((a, b) => {
17
17
  }
18
18
  return true;
19
19
  }, "areEqualSets");
20
- const useThemeName = /* @__PURE__ */ __name(() => {
20
+ const useThemeName = /* @__PURE__ */ __name((opts) => {
21
21
  const parent = useContext(ThemeManagerContext);
22
22
  const [name, setName] = useState(parent.name);
23
- useEffect(() => {
24
- return parent.onChangeTheme((next) => {
25
- setName((prev) => {
26
- if (prev === next)
27
- return prev;
28
- return next;
29
- });
23
+ useIsomorphicLayoutEffect(() => {
24
+ return parent.onChangeTheme((next, manager) => {
25
+ setName(opts?.parent ? manager.parentName : next);
30
26
  });
31
27
  }, [parent]);
32
28
  return name || "light";
@@ -35,7 +31,6 @@ const useDefaultThemeName = /* @__PURE__ */ __name(() => {
35
31
  return useContext(ThemeContext)[GET_DEFAULT_THEME];
36
32
  }, "useDefaultThemeName");
37
33
  const useTheme = /* @__PURE__ */ __name(() => {
38
- var _a;
39
34
  const forceUpdate = useForceUpdate();
40
35
  const manager = useContext(ThemeManagerContext);
41
36
  const themes = useContext(ThemeContext);
@@ -59,7 +54,7 @@ const useTheme = /* @__PURE__ */ __name(() => {
59
54
  useEffect(() => {
60
55
  return manager.onUpdate(state.current.uuid, forceUpdate);
61
56
  }, []);
62
- const theme = (_a = manager.name ? themes[manager.name] : themes.light) != null ? _a : themes.light;
57
+ const theme = (manager.name ? themes[manager.name] : themes.light) ?? themes.light;
63
58
  return useMemo(() => {
64
59
  return new Proxy(theme, {
65
60
  get(_, key) {
@@ -75,7 +70,8 @@ const useTheme = /* @__PURE__ */ __name(() => {
75
70
  const val = activeTheme[key];
76
71
  if (process.env.NODE_ENV === "development") {
77
72
  if (typeof val === "undefined") {
78
- throw new Error(`No theme value "${String(key)}" in: ${Object.keys(activeTheme)}`);
73
+ console.warn(`No theme value "${String(key)}" in: ${Object.keys(activeTheme)}`);
74
+ return null;
79
75
  }
80
76
  }
81
77
  if (state.current.isRendering) {
@@ -91,4 +87,3 @@ export {
91
87
  useTheme,
92
88
  useThemeName
93
89
  };
94
- //# sourceMappingURL=useTheme.js.map
@@ -2,6 +2,7 @@ export * from "./createComponent";
2
2
  export * from "./createShorthands";
3
3
  export * from "./createTheme";
4
4
  export * from "./createTamagui";
5
+ export * from "./createFont";
5
6
  import { createTokens } from "./createTokens";
6
7
  export * from "./createVariable";
7
8
  export * from "./styled";
@@ -10,11 +11,12 @@ export * from "./constants/pseudos";
10
11
  export * from "./constants/constants";
11
12
  export * from "./constants/platform";
12
13
  export * from "./constants/rnw";
14
+ export * from "./helpers/isObj";
13
15
  export * from "./helpers/getStylesAtomic";
14
16
  export * from "./helpers/matchMedia";
15
17
  export * from "./helpers/themeable";
18
+ export * from "./helpers/isTamaguiElement";
16
19
  export * from "./hooks/useConstant";
17
- export * from "./hooks/useForceUpdate";
18
20
  export * from "./hooks/useMedia";
19
21
  export * from "./hooks/useTheme";
20
22
  export * from "./views/Animated";
@@ -27,4 +29,3 @@ export * from "./views/TextAncestorContext";
27
29
  export {
28
30
  createTokens
29
31
  };
30
- //# sourceMappingURL=index.js.map
@@ -15,4 +15,3 @@ const postProcessStyles = /* @__PURE__ */ __name((inStyles, staticConfig, theme)
15
15
  export {
16
16
  postProcessStyles
17
17
  };
18
- //# sourceMappingURL=postProcessStyles.js.map
@@ -1,12 +1,14 @@
1
1
  export * from "./styled";
2
2
  export * from "./createComponent";
3
+ export * from "./createFont";
4
+ export * from "./createTokens";
3
5
  export * from "./createTamagui";
4
6
  export * from "./constants/constants";
5
7
  export * from "./hooks/useMedia";
6
8
  export * from "./hooks/useTheme";
9
+ export * from "./helpers/isObj";
7
10
  export * from "./helpers/getStylesAtomic";
8
11
  export * from "./helpers/getSplitStyles";
9
12
  export * from "@tamagui/helpers";
10
13
  export * from "./constants/pseudos";
11
14
  export * from "./static/postProcessStyles";
12
- //# sourceMappingURL=static.js.map
@@ -2,11 +2,11 @@ var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
  import { createComponent } from "./createComponent";
4
4
  import { extendStaticConfig } from "./helpers/extendStaticConfig";
5
- function styled(Component, options) {
5
+ function styled(Component, options, staticExtractionOptions) {
6
6
  const staticConfigProps = (() => {
7
7
  if (options) {
8
8
  const { variants, ...defaultProps } = options;
9
- return { variants, defaultProps };
9
+ return { ...staticExtractionOptions, variants, defaultProps };
10
10
  }
11
11
  return {};
12
12
  })();
@@ -18,4 +18,3 @@ __name(styled, "styled");
18
18
  export {
19
19
  styled
20
20
  };
21
- //# sourceMappingURL=styled.js.map
File without changes
@@ -1,6 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import React, { useMemo } from "react";
3
+ import { useMemo } from "react";
4
4
  import {
5
5
  Animated
6
6
  } from "react-native";
@@ -67,13 +67,8 @@ const AnimatedStack = /* @__PURE__ */ __name(({
67
67
  }).start();
68
68
  }, [animated, animateState]);
69
69
  const childrenMemo = useMemo(() => children, [children]);
70
- return /* @__PURE__ */ React.createElement(Stack, {
71
- animated,
72
- ...props,
73
- ...animatedProps
74
- }, childrenMemo);
70
+ return <Stack animated={animated} {...props} {...animatedProps}>{childrenMemo}</Stack>;
75
71
  }, "AnimatedStack");
76
72
  export {
77
73
  AnimatedStack
78
74
  };
79
- //# sourceMappingURL=Animated.js.map
@@ -9,4 +9,3 @@ const Stack = createComponent({
9
9
  export {
10
10
  Stack
11
11
  };
12
- //# sourceMappingURL=Stack.js.map
@@ -1,6 +1,6 @@
1
+ import { stylePropsTextOnly, validStyles } from "@tamagui/helpers";
1
2
  import { isWeb } from "../constants/platform";
2
3
  import { createComponent } from "../createComponent";
3
- import { stylePropsTextOnly, validStyles } from "../static";
4
4
  const ellipseStyle = {
5
5
  maxWidth: "100%",
6
6
  overflow: "hidden",
@@ -57,4 +57,3 @@ const Text = createComponent({
57
57
  export {
58
58
  Text
59
59
  };
60
- //# sourceMappingURL=Text.js.map
@@ -1,18 +1,14 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import React from "react";
3
+ import { createContext } from "react";
4
4
  import { rnw } from "../constants/rnw";
5
- const TextAncestorContext = rnw?.TextAncestorContext;
5
+ const FallbackNativeContext = createContext(false);
6
+ const TextAncestorContext = rnw?.TextAncestorContext ?? FallbackNativeContext;
6
7
  const TextAncestorProvider = /* @__PURE__ */ __name((props) => {
7
- if (TextAncestorContext) {
8
- return /* @__PURE__ */ React.createElement(TextAncestorContext.Provider, {
9
- value: false
10
- }, props.children);
11
- }
12
- return props.children;
8
+ return <TextAncestorContext.Provider value={false}>{props.children}</TextAncestorContext.Provider>;
13
9
  }, "TextAncestorProvider");
14
10
  export {
11
+ FallbackNativeContext,
15
12
  TextAncestorContext,
16
13
  TextAncestorProvider
17
14
  };
18
- //# sourceMappingURL=TextAncestorContext.js.map
@@ -0,0 +1,62 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { useContext, useState } from "react";
4
+ import { isWeb, useIsomorphicLayoutEffect } from "../constants/platform";
5
+ import { getThemeParentClassName } from "../createTamagui";
6
+ import { useConstant } from "../hooks/useConstant";
7
+ import { ThemeContext } from "./ThemeContext";
8
+ import { ThemeManager, ThemeManagerContext } from "./ThemeManagerContext";
9
+ const Theme = /* @__PURE__ */ __name((props) => {
10
+ const parent = useContext(ThemeManagerContext);
11
+ const themes = useContext(ThemeContext);
12
+ const [parentName, setParentName] = useState(parent.name || "light");
13
+ if (!themes) {
14
+ console.warn("Error, no themes in context", props);
15
+ return props.children;
16
+ }
17
+ const nextNameParent = `${props.name}-${parentName}`;
18
+ const nextNameParentParent = `${props.name}-${parent.parentName}`;
19
+ const name = !props.name ? null : props.name in themes ? props.name : nextNameParent in themes ? nextNameParent : nextNameParentParent in themes ? nextNameParentParent : null;
20
+ const theme = name ? themes[name] : null;
21
+ const themeManager = useConstant(() => {
22
+ if (!theme) {
23
+ return null;
24
+ }
25
+ const manager = new ThemeManager();
26
+ if (name) {
27
+ manager.setActiveTheme({ name, theme: themes[name], parentName });
28
+ }
29
+ return manager;
30
+ });
31
+ useIsomorphicLayoutEffect(() => {
32
+ if (!themeManager) {
33
+ return;
34
+ }
35
+ if (name) {
36
+ themeManager.setActiveTheme({ name, theme, parentName });
37
+ }
38
+ return parent.onChangeTheme((next) => {
39
+ if (next) {
40
+ themeManager.setActiveTheme({ name: next, theme: themes[next], parentName });
41
+ setParentName(next);
42
+ }
43
+ });
44
+ }, [themes, name, parentName]);
45
+ if (!name || !theme) {
46
+ return props.children;
47
+ }
48
+ const contents = themeManager ? <ThemeManagerContext.Provider value={themeManager}>{props.children}</ThemeManagerContext.Provider> : props.children;
49
+ if (isWeb) {
50
+ if (props.disableThemeClass) {
51
+ return contents;
52
+ }
53
+ if (name) {
54
+ const color = themes[name]?.["color"]?.["variable"];
55
+ return <div className={getThemeParentClassName(props.name)} style={{ display: "contents", color }}>{contents}</div>;
56
+ }
57
+ }
58
+ return contents;
59
+ }, "Theme");
60
+ export {
61
+ Theme
62
+ };
@@ -3,4 +3,3 @@ const ThemeContext = createContext(null);
3
3
  export {
4
4
  ThemeContext
5
5
  };
6
- //# sourceMappingURL=ThemeContext.js.map
@@ -1,6 +1,5 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import React from "react";
4
3
  import { useDefaultThemeName, useThemeName } from "../hooks/useTheme";
5
4
  import { Theme } from "./Theme";
6
5
  let inversions = {
@@ -15,13 +14,9 @@ const ThemeInverse = /* @__PURE__ */ __name((props) => {
15
14
  const themeName = useThemeName();
16
15
  const defaultTheme = useDefaultThemeName();
17
16
  const name = inversions[themeName] || inversions[defaultTheme] || null;
18
- console.log("todo fixme invert", { themeName, defaultTheme, next: name });
19
- return /* @__PURE__ */ React.createElement(Theme, {
20
- name
21
- }, props.children);
17
+ return <Theme name={name}>{props.children}</Theme>;
22
18
  }, "ThemeInverse");
23
19
  export {
24
20
  ThemeInverse,
25
21
  setThemeInversions
26
22
  };
27
- //# sourceMappingURL=ThemeInverse.js.map
@@ -4,16 +4,22 @@ import { createContext } from "react";
4
4
  class ThemeManager {
5
5
  constructor() {
6
6
  this.name = "light";
7
+ this.parentName = null;
7
8
  this.keys = new Map();
8
9
  this.listeners = new Map();
9
- this.callbacks = new Set();
10
+ this.themeListeners = new Set();
10
11
  this.theme = null;
11
12
  }
12
- setActiveTheme(name, theme) {
13
+ setActiveTheme({
14
+ name,
15
+ theme,
16
+ parentName
17
+ }) {
13
18
  if (name === this.name)
14
19
  return;
15
20
  this.name = name;
16
21
  this.theme = theme;
22
+ this.parentName = parentName || null;
17
23
  this.update();
18
24
  }
19
25
  track(uuid, keys) {
@@ -22,21 +28,20 @@ class ThemeManager {
22
28
  this.keys.set(uuid, keys);
23
29
  }
24
30
  update() {
25
- var _a;
26
31
  if (!this.name) {
27
32
  this.keys.clear();
28
33
  }
29
34
  for (const [uuid, keys] of this.keys.entries()) {
30
35
  if (keys.size) {
31
- (_a = this.listeners.get(uuid)) == null ? void 0 : _a();
36
+ this.listeners.get(uuid)?.();
32
37
  }
33
38
  }
34
- this.callbacks.forEach((cb) => cb(this.name));
39
+ this.themeListeners.forEach((cb) => cb(this.name, this));
35
40
  }
36
41
  onChangeTheme(cb) {
37
- this.callbacks.add(cb);
42
+ this.themeListeners.add(cb);
38
43
  return () => {
39
- this.callbacks.delete(cb);
44
+ this.themeListeners.delete(cb);
40
45
  };
41
46
  }
42
47
  onUpdate(uuid, cb) {
@@ -53,4 +58,3 @@ export {
53
58
  ThemeManager,
54
59
  ThemeManagerContext
55
60
  };
56
- //# sourceMappingURL=ThemeManagerContext.js.map
@@ -1,6 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import React, { useMemo } from "react";
3
+ import { useMemo } from "react";
4
4
  import { useIsomorphicLayoutEffect } from "../constants/platform";
5
5
  import { getHasConfigured, getThemeParentClassName } from "../createTamagui";
6
6
  import { Theme } from "./Theme";
@@ -31,15 +31,9 @@ const ThemeProvider = /* @__PURE__ */ __name((props) => {
31
31
  }
32
32
  });
33
33
  }, [props.themes]);
34
- return /* @__PURE__ */ React.createElement(ThemeContext.Provider, {
35
- value: themeContext
36
- }, /* @__PURE__ */ React.createElement(Theme, {
37
- name: props.defaultTheme,
38
- disableThemeClass: props.disableRootThemeClass
39
- }, props.children));
34
+ return <ThemeContext.Provider value={themeContext}><Theme name={props.defaultTheme} disableThemeClass={props.disableRootThemeClass}>{props.children}</Theme></ThemeContext.Provider>;
40
35
  }, "ThemeProvider");
41
36
  export {
42
37
  GET_DEFAULT_THEME,
43
38
  ThemeProvider
44
39
  };
45
- //# sourceMappingURL=ThemeProvider.js.map
package/package.json CHANGED
@@ -1,28 +1,35 @@
1
1
  {
2
2
  "name": "@tamagui/core",
3
- "version": "1.0.0-alpha.2",
3
+ "version": "1.0.0-alpha.23",
4
4
  "source": "src/index.ts",
5
- "main": "dist/index.cjs",
6
- "module": "dist/index.js",
7
- "typings": "types.d.ts",
5
+ "main": "dist/cjs",
6
+ "module": "dist",
7
+ "typings": "types",
8
8
  "scripts": {
9
9
  "build": "tamagui-build",
10
10
  "watch": "tamagui-build --watch"
11
11
  },
12
+ "files": [
13
+ "types",
14
+ "dist"
15
+ ],
12
16
  "dependencies": {
13
- "@tamagui/helpers": "^1.0.0-alpha.2",
17
+ "@tamagui/helpers": "^1.0.0-alpha.23",
18
+ "@tamagui/ow": "^0.28.1",
19
+ "@tamagui/use-debounce": "^1.0.0-alpha.23",
20
+ "@tamagui/use-force-update": "^1.0.0-alpha.23",
14
21
  "react": "*",
15
- "react-dom": "*",
16
- "react-native-safe-area-context": "^3.3.0"
22
+ "react-dom": "*"
17
23
  },
18
24
  "peerDependencies": {
19
25
  "react-native-web": "*"
20
26
  },
21
27
  "devDependencies": {
22
- "@tamagui/build": "^1.0.0-alpha.2",
28
+ "@tamagui/build": "^1.0.0-alpha.22",
23
29
  "@types/react": "^17.0.35",
24
- "esbuild": "^0.11.20",
25
- "typescript": "^4.4.4"
30
+ "esbuild": "^0.13.12",
31
+ "react-native-web": "^0.17.5",
32
+ "typescript": "^4.5.2"
26
33
  },
27
34
  "publishConfig": {
28
35
  "access": "public"
@@ -30,5 +37,5 @@
30
37
  "engines": {
31
38
  "node": ">=16"
32
39
  },
33
- "gitHead": "a9f30fdf4ebd448961a6e133741cd4b903185559"
40
+ "gitHead": "69fb1d82868a6525fee6b0750cb2113d88ffea79"
34
41
  }