@tamagui/core 1.0.0-alpha.4 → 1.0.0-alpha.40

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 (539) 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 +2 -2
  11. package/dist/cjs/createComponent.js +535 -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 +2 -2
  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/getThemeParentClassName.js +34 -0
  26. package/dist/cjs/getThemeParentClassName.js.map +7 -0
  27. package/dist/cjs/helpers/addStylesUsingClassname.js +80 -0
  28. package/dist/cjs/helpers/addStylesUsingClassname.js.map +7 -0
  29. package/dist/cjs/helpers/createMediaStyle.js +57 -0
  30. package/dist/{helpers → cjs/helpers}/createMediaStyle.js.map +2 -2
  31. package/dist/cjs/helpers/createPropMapper.js +198 -0
  32. package/dist/cjs/helpers/createPropMapper.js.map +7 -0
  33. package/dist/cjs/helpers/createTamaguiProvider.js +80 -0
  34. package/dist/cjs/helpers/createTamaguiProvider.js.map +7 -0
  35. package/dist/cjs/helpers/extendStaticConfig.js +83 -0
  36. package/dist/{helpers → cjs/helpers}/extendStaticConfig.js.map +2 -2
  37. package/dist/cjs/helpers/fixNativeShadow.js +31 -0
  38. package/dist/cjs/helpers/fixNativeShadow.js.map +7 -0
  39. package/dist/cjs/helpers/fixNativeShadow.native.js +57 -0
  40. package/dist/cjs/helpers/fixNativeShadow.native.js.map +7 -0
  41. package/dist/cjs/helpers/getSplitStyles.js +181 -0
  42. package/dist/cjs/helpers/getSplitStyles.js.map +7 -0
  43. package/dist/cjs/helpers/getStylesAtomic.js +118 -0
  44. package/dist/cjs/helpers/getStylesAtomic.js.map +7 -0
  45. package/dist/cjs/helpers/getStylesAtomic.native.js +33 -0
  46. package/dist/cjs/helpers/getStylesAtomic.native.js.map +7 -0
  47. package/dist/cjs/helpers/getThemeParentClassName.js +34 -0
  48. package/dist/cjs/helpers/getThemeParentClassName.js.map +7 -0
  49. package/dist/cjs/helpers/insertStyleRule.js +47 -0
  50. package/dist/{helpers → cjs/helpers}/insertStyleRule.js.map +2 -2
  51. package/dist/cjs/helpers/isObj.js +30 -0
  52. package/dist/cjs/helpers/isObj.js.map +7 -0
  53. package/dist/cjs/helpers/isTamaguiElement.js +34 -0
  54. package/dist/cjs/helpers/isTamaguiElement.js.map +7 -0
  55. package/dist/cjs/helpers/matchMedia.js +41 -0
  56. package/dist/cjs/helpers/matchMedia.js.map +7 -0
  57. package/dist/cjs/helpers/matchMedia.native.js +37 -0
  58. package/dist/cjs/helpers/matchMedia.native.js.map +7 -0
  59. package/dist/cjs/helpers/themeable.js +84 -0
  60. package/dist/{helpers → cjs/helpers}/themeable.js.map +2 -2
  61. package/dist/cjs/helpers/validate.js +88 -0
  62. package/dist/cjs/helpers/validate.js.map +7 -0
  63. package/dist/cjs/hooks/useConstant.js +38 -0
  64. package/dist/{hooks → cjs/hooks}/useConstant.js.map +2 -2
  65. package/dist/cjs/hooks/useFeatures.js +106 -0
  66. package/dist/cjs/hooks/useFeatures.js.map +7 -0
  67. package/dist/cjs/hooks/useMedia.js +208 -0
  68. package/dist/cjs/hooks/useMedia.js.map +7 -0
  69. package/dist/cjs/hooks/usePressable.js +51 -0
  70. package/dist/{hooks → cjs/hooks}/usePressable.js.map +2 -2
  71. package/dist/cjs/hooks/useTheme.js +119 -0
  72. package/dist/cjs/hooks/useTheme.js.map +7 -0
  73. package/dist/cjs/index.js +63 -0
  74. package/dist/cjs/index.js.map +7 -0
  75. package/dist/cjs/static/postProcessStyles.js +41 -0
  76. package/dist/{static → cjs/static}/postProcessStyles.js.map +2 -2
  77. package/dist/cjs/static.js +35 -0
  78. package/dist/cjs/static.js.map +7 -0
  79. package/dist/cjs/styled.js +73 -0
  80. package/dist/cjs/styled.js.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/Animated.js +135 -0
  84. package/dist/{views → cjs/views}/Animated.js.map +2 -2
  85. package/dist/cjs/views/Stack.js +52 -0
  86. package/dist/{views → cjs/views}/Stack.js.map +2 -2
  87. package/dist/cjs/views/Text.js +94 -0
  88. package/dist/cjs/views/Text.js.map +7 -0
  89. package/dist/cjs/views/TextAncestorContext.js +46 -0
  90. package/dist/cjs/views/TextAncestorContext.js.map +7 -0
  91. package/dist/cjs/views/Theme.js +97 -0
  92. package/dist/cjs/views/Theme.js.map +7 -0
  93. package/dist/cjs/views/ThemeContext.js +30 -0
  94. package/dist/{views → cjs/views}/ThemeContext.js.map +2 -2
  95. package/dist/cjs/views/ThemeInverse.js +54 -0
  96. package/dist/{views → cjs/views}/ThemeInverse.js.map +3 -3
  97. package/dist/cjs/views/ThemeManagerContext.js +85 -0
  98. package/dist/cjs/views/ThemeManagerContext.js.map +7 -0
  99. package/dist/cjs/views/ThemeProvider.js +73 -0
  100. package/dist/cjs/views/ThemeProvider.js.map +7 -0
  101. package/dist/esm/conf.js +29 -0
  102. package/dist/esm/conf.js.map +7 -0
  103. package/{_ → dist/esm}/constants/constants.js +4 -0
  104. package/dist/esm/constants/constants.js.map +7 -0
  105. package/{_ → dist/esm}/constants/platform.js +1 -1
  106. package/dist/{constants → esm/constants}/platform.js.map +2 -2
  107. package/{_ → dist/esm}/constants/pseudos.js +0 -0
  108. package/{_ → dist/esm}/constants/pseudos.js.map +1 -1
  109. package/{_ → dist/esm}/constants/rnw.js +0 -0
  110. package/dist/{constants → esm/constants}/rnw.js.map +1 -1
  111. package/dist/{createComponent.js → esm/createComponent.js} +81 -61
  112. package/dist/esm/createComponent.js.map +7 -0
  113. package/dist/{createFont.js → esm/createFont.js} +4 -0
  114. package/dist/esm/createFont.js.map +7 -0
  115. package/{_ → dist/esm}/createShorthands.js +0 -0
  116. package/dist/{createShorthands.js.map → esm/createShorthands.js.map} +1 -1
  117. package/dist/esm/createTamagui.js +166 -0
  118. package/dist/esm/createTamagui.js.map +7 -0
  119. package/dist/esm/createTheme.js +7 -0
  120. package/dist/esm/createTheme.js.map +7 -0
  121. package/dist/{createTokens.js → esm/createTokens.js} +4 -0
  122. package/dist/esm/createTokens.js.map +7 -0
  123. package/dist/{createVariable.js → esm/createVariable.js} +3 -0
  124. package/dist/{createVariable.js.map → esm/createVariable.js.map} +3 -3
  125. package/dist/esm/getThemeParentClassName.js +11 -0
  126. package/dist/esm/getThemeParentClassName.js.map +7 -0
  127. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js +1 -1
  128. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js.map +2 -2
  129. package/{_ → dist/esm}/helpers/createMediaStyle.js +0 -0
  130. package/{_ → dist/esm}/helpers/createMediaStyle.js.map +1 -1
  131. package/dist/{helpers → esm/helpers}/createPropMapper.js +25 -16
  132. package/dist/esm/helpers/createPropMapper.js.map +7 -0
  133. package/dist/{helpers → esm/helpers}/createTamaguiProvider.js +0 -0
  134. package/dist/{helpers → esm/helpers}/createTamaguiProvider.js.map +1 -1
  135. package/dist/{helpers → esm/helpers}/extendStaticConfig.js +3 -2
  136. package/dist/esm/helpers/extendStaticConfig.js.map +7 -0
  137. package/{_ → dist/esm}/helpers/fixNativeShadow.js +0 -0
  138. package/dist/{helpers → esm/helpers}/fixNativeShadow.js.map +1 -1
  139. package/dist/esm/helpers/fixNativeShadow.native.js +34 -0
  140. package/dist/esm/helpers/fixNativeShadow.native.js.map +7 -0
  141. package/dist/{helpers → esm/helpers}/getSplitStyles.js +13 -23
  142. package/dist/esm/helpers/getSplitStyles.js.map +7 -0
  143. package/{_ → dist/esm}/helpers/getStylesAtomic.js +0 -0
  144. package/dist/esm/helpers/getStylesAtomic.js.map +7 -0
  145. package/{_ → dist/esm}/helpers/getStylesAtomic.native.js +0 -0
  146. package/{_ → dist/esm}/helpers/getStylesAtomic.native.js.map +1 -1
  147. package/dist/esm/helpers/getThemeParentClassName.js +11 -0
  148. package/dist/esm/helpers/getThemeParentClassName.js.map +7 -0
  149. package/{_ → dist/esm}/helpers/insertStyleRule.js +0 -0
  150. package/{_ → dist/esm}/helpers/insertStyleRule.js.map +1 -1
  151. package/dist/{helpers → esm/helpers}/isObj.js +0 -0
  152. package/dist/{helpers → esm/helpers}/isObj.js.map +1 -1
  153. package/dist/esm/helpers/isTamaguiElement.js +11 -0
  154. package/dist/esm/helpers/isTamaguiElement.js.map +7 -0
  155. package/{_ → dist/esm}/helpers/matchMedia.js +3 -0
  156. package/dist/esm/helpers/matchMedia.js.map +7 -0
  157. package/dist/{helpers → esm/helpers}/matchMedia.native.js +1 -0
  158. package/{_ → dist/esm}/helpers/matchMedia.native.js.map +3 -3
  159. package/{_ → dist/esm}/helpers/themeable.js +0 -0
  160. package/{_ → dist/esm}/helpers/themeable.js.map +1 -1
  161. package/dist/esm/helpers/validate.js +60 -0
  162. package/dist/esm/helpers/validate.js.map +7 -0
  163. package/{_ → dist/esm}/hooks/useConstant.js +0 -0
  164. package/{_ → dist/esm}/hooks/useConstant.js.map +1 -1
  165. package/{_ → dist/esm}/hooks/useFeatures.js +39 -51
  166. package/dist/esm/hooks/useFeatures.js.map +7 -0
  167. package/{_ → dist/esm}/hooks/useMedia.js +8 -6
  168. package/dist/esm/hooks/useMedia.js.map +7 -0
  169. package/{_ → dist/esm}/hooks/usePressable.js +0 -0
  170. package/{_ → dist/esm}/hooks/usePressable.js.map +1 -1
  171. package/{_ → dist/esm}/hooks/useTheme.js +16 -13
  172. package/dist/esm/hooks/useTheme.js.map +7 -0
  173. package/dist/{index.js → esm/index.js} +9 -2
  174. package/dist/esm/index.js.map +7 -0
  175. package/{_ → dist/esm}/static/postProcessStyles.js +0 -0
  176. package/{_ → dist/esm}/static/postProcessStyles.js.map +1 -1
  177. package/dist/{static.js → esm/static.js} +0 -0
  178. package/dist/{static.js.map → esm/static.js.map} +1 -1
  179. package/dist/{styled.js → esm/styled.js} +0 -0
  180. package/dist/esm/styled.js.map +7 -0
  181. package/{_ → dist/esm}/types.js +0 -0
  182. package/{_ → dist/esm}/types.js.map +0 -0
  183. package/{_ → dist/esm}/views/Animated.js +0 -0
  184. package/{_ → dist/esm}/views/Animated.js.map +1 -1
  185. package/{_ → dist/esm}/views/Stack.js +0 -0
  186. package/{_ → dist/esm}/views/Stack.js.map +1 -1
  187. package/dist/{views → esm/views}/Text.js +1 -1
  188. package/dist/esm/views/Text.js.map +7 -0
  189. package/dist/esm/views/TextAncestorContext.js +18 -0
  190. package/dist/esm/views/TextAncestorContext.js.map +7 -0
  191. package/{_ → dist/esm}/views/Theme.js +26 -14
  192. package/dist/esm/views/Theme.js.map +7 -0
  193. package/{_ → dist/esm}/views/ThemeContext.js +0 -0
  194. package/{_ → dist/esm}/views/ThemeContext.js.map +1 -1
  195. package/{_ → dist/esm}/views/ThemeInverse.js +0 -1
  196. package/{_ → dist/esm}/views/ThemeInverse.js.map +3 -3
  197. package/{_ → dist/esm}/views/ThemeManagerContext.js +13 -7
  198. package/dist/esm/views/ThemeManagerContext.js.map +7 -0
  199. package/dist/{views → esm/views}/ThemeProvider.js +3 -3
  200. package/dist/esm/views/ThemeProvider.js.map +7 -0
  201. package/dist/jsx/conf.js +28 -0
  202. package/dist/{constants → jsx/constants}/constants.js +4 -1
  203. package/dist/{constants → jsx/constants}/platform.js +2 -2
  204. package/dist/{constants → jsx/constants}/pseudos.js +0 -1
  205. package/dist/{constants → jsx/constants}/rnw.js +0 -1
  206. package/{_ → dist/jsx}/createComponent.js +105 -73
  207. package/dist/jsx/createFont.js +27 -0
  208. package/dist/{createShorthands.js → jsx/createShorthands.js} +0 -1
  209. package/dist/jsx/createTamagui.js +165 -0
  210. package/dist/jsx/createTheme.js +6 -0
  211. package/{_ → dist/jsx}/createTokens.js +4 -1
  212. package/{_ → dist/jsx}/createVariable.js +3 -1
  213. package/dist/jsx/getThemeParentClassName.js +10 -0
  214. package/dist/jsx/helpers/addStylesUsingClassname.js +56 -0
  215. package/dist/{helpers → jsx/helpers}/createMediaStyle.js +0 -1
  216. package/dist/jsx/helpers/createPropMapper.js +161 -0
  217. package/dist/jsx/helpers/createTamaguiProvider.js +19 -0
  218. package/dist/jsx/helpers/extendStaticConfig.js +59 -0
  219. package/dist/{helpers → jsx/helpers}/fixNativeShadow.js +0 -1
  220. package/dist/jsx/helpers/fixNativeShadow.native.js +33 -0
  221. package/{_ → dist/jsx}/helpers/getSplitStyles.js +18 -29
  222. package/dist/{helpers → jsx/helpers}/getStylesAtomic.js +2 -2
  223. package/dist/{helpers → jsx/helpers}/getStylesAtomic.native.js +0 -1
  224. package/dist/jsx/helpers/getThemeParentClassName.js +10 -0
  225. package/dist/{helpers → jsx/helpers}/insertStyleRule.js +0 -1
  226. package/dist/jsx/helpers/isObj.js +6 -0
  227. package/dist/jsx/helpers/isTamaguiElement.js +10 -0
  228. package/dist/{helpers → jsx/helpers}/matchMedia.js +3 -1
  229. package/{_ → dist/jsx}/helpers/matchMedia.native.js +1 -1
  230. package/dist/{helpers → jsx/helpers}/themeable.js +3 -6
  231. package/dist/jsx/helpers/validate.js +59 -0
  232. package/dist/{hooks → jsx/hooks}/useConstant.js +0 -1
  233. package/dist/jsx/hooks/useFeatures.js +57 -0
  234. package/dist/{hooks → jsx/hooks}/useMedia.js +10 -7
  235. package/dist/{hooks → jsx/hooks}/usePressable.js +2 -2
  236. package/dist/{hooks → jsx/hooks}/useTheme.js +17 -14
  237. package/{_ → dist/jsx}/index.js +11 -3
  238. package/dist/{static → jsx/static}/postProcessStyles.js +0 -1
  239. package/{_ → dist/jsx}/static.js +3 -1
  240. package/{_ → dist/jsx}/styled.js +2 -3
  241. package/dist/jsx/types.js +0 -0
  242. package/dist/{views → jsx/views}/Animated.js +2 -7
  243. package/dist/{views → jsx/views}/Stack.js +0 -1
  244. package/{_ → dist/jsx}/views/Text.js +1 -2
  245. package/dist/jsx/views/TextAncestorContext.js +15 -0
  246. package/dist/jsx/views/Theme.js +63 -0
  247. package/dist/{views → jsx/views}/ThemeContext.js +0 -1
  248. package/dist/{views → jsx/views}/ThemeInverse.js +1 -6
  249. package/dist/{views → jsx/views}/ThemeManagerContext.js +15 -9
  250. package/{_ → dist/jsx}/views/ThemeProvider.js +5 -11
  251. package/package.json +18 -16
  252. package/types/conf.d.ts +46 -0
  253. package/types/conf.d.ts.map +1 -0
  254. package/{dist/packages/core/src → types}/constants/constants.d.ts +2 -0
  255. package/types/constants/constants.d.ts.map +1 -0
  256. package/{dist/packages/core/src → types}/constants/platform.d.ts +0 -0
  257. package/types/constants/platform.d.ts.map +1 -0
  258. package/{dist/packages/core/src → types}/constants/pseudos.d.ts +0 -0
  259. package/types/constants/pseudos.d.ts.map +1 -0
  260. package/{dist/packages/core/src → types}/constants/rnw.d.ts +0 -0
  261. package/types/constants/rnw.d.ts.map +1 -0
  262. package/{dist/packages/core/src → types}/createComponent.d.ts +3 -2
  263. package/types/createComponent.d.ts.map +1 -0
  264. package/types/createFont.d.ts +3 -0
  265. package/types/createFont.d.ts.map +1 -0
  266. package/{dist/packages/core/src → types}/createShorthands.d.ts +0 -0
  267. package/types/createShorthands.d.ts.map +1 -0
  268. package/types/createTamagui.d.ts +13 -0
  269. package/types/createTamagui.d.ts.map +1 -0
  270. package/types/createTheme.d.ts +7 -0
  271. package/types/createTheme.d.ts.map +1 -0
  272. package/{dist/packages/core/src → types}/createTokens.d.ts +24 -14
  273. package/types/createTokens.d.ts.map +1 -0
  274. package/{dist/packages/core/src → types}/createVariable.d.ts +1 -0
  275. package/types/createVariable.d.ts.map +1 -0
  276. package/types/helpers/addStylesUsingClassname.d.ts +3 -0
  277. package/types/helpers/addStylesUsingClassname.d.ts.map +1 -0
  278. package/{dist/packages/core/src → types}/helpers/createMediaStyle.d.ts +0 -0
  279. package/types/helpers/createMediaStyle.d.ts.map +1 -0
  280. package/types/helpers/createPropMapper.d.ts +3 -0
  281. package/types/helpers/createPropMapper.d.ts.map +1 -0
  282. package/{dist/packages/core/src → types}/helpers/createTamaguiProvider.d.ts +0 -0
  283. package/types/helpers/createTamaguiProvider.d.ts.map +1 -0
  284. package/{dist/packages/core/src → types}/helpers/extendStaticConfig.d.ts +1 -1
  285. package/types/helpers/extendStaticConfig.d.ts.map +1 -0
  286. package/{dist/packages/core/src → types}/helpers/fixNativeShadow.d.ts +0 -0
  287. package/types/helpers/fixNativeShadow.d.ts.map +1 -0
  288. package/types/helpers/fixNativeShadow.native.d.ts +2 -0
  289. package/types/helpers/fixNativeShadow.native.d.ts.map +1 -0
  290. package/{dist/packages/core/src → types}/helpers/getSplitStyles.d.ts +0 -0
  291. package/types/helpers/getSplitStyles.d.ts.map +1 -0
  292. package/types/helpers/getStylesAtomic.d.ts +3 -0
  293. package/types/helpers/getStylesAtomic.d.ts.map +1 -0
  294. package/{dist/packages/core/src → types}/helpers/getStylesAtomic.native.d.ts +0 -0
  295. package/types/helpers/getStylesAtomic.native.d.ts.map +1 -0
  296. package/types/helpers/getThemeParentClassName.d.ts +2 -0
  297. package/types/helpers/getThemeParentClassName.d.ts.map +1 -0
  298. package/{dist/packages/core/src → types}/helpers/insertStyleRule.d.ts +0 -0
  299. package/types/helpers/insertStyleRule.d.ts.map +1 -0
  300. package/types/helpers/isObj.d.ts +2 -0
  301. package/types/helpers/isObj.d.ts.map +1 -0
  302. package/types/helpers/isTamaguiElement.d.ts +3 -0
  303. package/types/helpers/isTamaguiElement.d.ts.map +1 -0
  304. package/{dist/packages/core/src → types}/helpers/matchMedia.d.ts +0 -0
  305. package/types/helpers/matchMedia.d.ts.map +1 -0
  306. package/{dist/packages/core/src → types}/helpers/matchMedia.native.d.ts +0 -0
  307. package/types/helpers/matchMedia.native.d.ts.map +1 -0
  308. package/{dist/packages/core/src → types}/helpers/themeable.d.ts +0 -0
  309. package/types/helpers/themeable.d.ts.map +1 -0
  310. package/types/helpers/validate.d.ts +4 -0
  311. package/types/helpers/validate.d.ts.map +1 -0
  312. package/{dist/packages/core/src → types}/hooks/useConstant.d.ts +0 -0
  313. package/types/hooks/useConstant.d.ts.map +1 -0
  314. package/{dist/packages/core/src → types}/hooks/useFeatures.d.ts +0 -0
  315. package/types/hooks/useFeatures.d.ts.map +1 -0
  316. package/{dist/packages/core/src → types}/hooks/useMedia.d.ts +0 -0
  317. package/types/hooks/useMedia.d.ts.map +1 -0
  318. package/{dist/packages/core/src → types}/hooks/usePressable.d.ts +0 -0
  319. package/types/hooks/usePressable.d.ts.map +1 -0
  320. package/types/hooks/useTheme.d.ts +7 -0
  321. package/types/hooks/useTheme.d.ts.map +1 -0
  322. package/{dist/packages/core/src → types}/index.d.ts +5 -1
  323. package/types/index.d.ts.map +1 -0
  324. package/{dist/packages/core/src → types}/static/postProcessStyles.d.ts +0 -0
  325. package/types/static/postProcessStyles.d.ts.map +1 -0
  326. package/{dist/packages/core/src → types}/static.d.ts +3 -0
  327. package/types/static.d.ts.map +1 -0
  328. package/types/styled.d.ts +21 -0
  329. package/types/styled.d.ts.map +1 -0
  330. package/{dist/packages/core/src → types}/types.d.ts +79 -70
  331. package/types/types.d.ts.map +1 -0
  332. package/{dist/packages/core/src → types}/views/Animated.d.ts +0 -0
  333. package/types/views/Animated.d.ts.map +1 -0
  334. package/{dist/packages/core/src → types}/views/Stack.d.ts +0 -0
  335. package/types/views/Stack.d.ts.map +1 -0
  336. package/types/views/Text.d.ts +3 -0
  337. package/types/views/Text.d.ts.map +1 -0
  338. package/types/views/TextAncestorContext.d.ts +5 -0
  339. package/types/views/TextAncestorContext.d.ts.map +1 -0
  340. package/{dist/packages/core/src → types}/views/Theme.d.ts +1 -1
  341. package/types/views/Theme.d.ts.map +1 -0
  342. package/{dist/packages/core/src → types}/views/ThemeContext.d.ts +0 -0
  343. package/types/views/ThemeContext.d.ts.map +1 -0
  344. package/{dist/packages/core/src → types}/views/ThemeInverse.d.ts +0 -0
  345. package/types/views/ThemeInverse.d.ts.map +1 -0
  346. package/types/views/ThemeManagerContext.d.ts +22 -0
  347. package/types/views/ThemeManagerContext.d.ts.map +1 -0
  348. package/{dist/packages/core/src → types}/views/ThemeProvider.d.ts +0 -1
  349. package/types/views/ThemeProvider.d.ts.map +1 -0
  350. package/.ultra.cache.json +0 -1
  351. package/_/constants/constants.js.map +0 -7
  352. package/_/constants/platform.js.map +0 -7
  353. package/_/createComponent.js.map +0 -7
  354. package/_/createTamagui.js +0 -122
  355. package/_/createTamagui.js.map +0 -7
  356. package/_/createTheme.js +0 -20
  357. package/_/createTheme.js.map +0 -7
  358. package/_/createTokens.js.map +0 -7
  359. package/_/createVariable.js.map +0 -7
  360. package/_/helpers/addStylesUsingClassname.js +0 -32
  361. package/_/helpers/addStylesUsingClassname.js.map +0 -7
  362. package/_/helpers/createTamaguiProvider.js +0 -42
  363. package/_/helpers/createTamaguiProvider.js.map +0 -7
  364. package/_/helpers/extendStaticConfig.js +0 -176
  365. package/_/helpers/extendStaticConfig.js.map +0 -7
  366. package/_/helpers/fixNativeShadow.js.map +0 -7
  367. package/_/helpers/fixNativeShadow.native.js +0 -30
  368. package/_/helpers/fixNativeShadow.native.js.map +0 -7
  369. package/_/helpers/getSplitStyles.js.map +0 -7
  370. package/_/helpers/getStylesAtomic.js.map +0 -7
  371. package/_/helpers/matchMedia.js.map +0 -7
  372. package/_/hooks/useFeatures.js.map +0 -7
  373. package/_/hooks/useForceUpdate.js +0 -28
  374. package/_/hooks/useForceUpdate.js.map +0 -7
  375. package/_/hooks/useMedia.js.map +0 -7
  376. package/_/hooks/useTheme.js.map +0 -7
  377. package/_/index.js.map +0 -7
  378. package/_/static.js.map +0 -7
  379. package/_/styled.js.map +0 -7
  380. package/_/views/Text.js.map +0 -7
  381. package/_/views/TextAncestorContext.js +0 -19
  382. package/_/views/TextAncestorContext.js.map +0 -7
  383. package/_/views/Theme.js.map +0 -7
  384. package/_/views/ThemeManagerContext.js.map +0 -7
  385. package/_/views/ThemeProvider.js.map +0 -7
  386. package/dist/constants/constants.js.map +0 -7
  387. package/dist/constants/pseudos.js.map +0 -7
  388. package/dist/constants/styleConstants.js +0 -46
  389. package/dist/constants/styleConstants.js.map +0 -7
  390. package/dist/createComponent.js.map +0 -7
  391. package/dist/createFont.js.map +0 -7
  392. package/dist/createTamagui.js +0 -159
  393. package/dist/createTamagui.js.map +0 -7
  394. package/dist/createTheme.js +0 -20
  395. package/dist/createTheme.js.map +0 -7
  396. package/dist/createTokens.js.map +0 -7
  397. package/dist/helpers/createPropMapper.js.map +0 -7
  398. package/dist/helpers/fixNativeShadow.native.js +0 -30
  399. package/dist/helpers/fixNativeShadow.native.js.map +0 -7
  400. package/dist/helpers/getSplitStyles.js.map +0 -7
  401. package/dist/helpers/getStylesAtomic.js.map +0 -7
  402. package/dist/helpers/getStylesAtomic.native.js.map +0 -7
  403. package/dist/helpers/matchMedia.js.map +0 -7
  404. package/dist/helpers/matchMedia.native.js.map +0 -7
  405. package/dist/helpers/pseudos.js +0 -1
  406. package/dist/helpers/pseudos.js.map +0 -7
  407. package/dist/hooks/useFeatures.js +0 -75
  408. package/dist/hooks/useFeatures.js.map +0 -7
  409. package/dist/hooks/useForceUpdate.js +0 -28
  410. package/dist/hooks/useForceUpdate.js.map +0 -7
  411. package/dist/hooks/useMedia.js.map +0 -7
  412. package/dist/hooks/useTheme.js.map +0 -7
  413. package/dist/index.cjs +0 -2103
  414. package/dist/index.cjs.map +0 -7
  415. package/dist/index.js.map +0 -7
  416. package/dist/packages/core/src/constants/constants.d.ts.map +0 -1
  417. package/dist/packages/core/src/constants/platform.d.ts.map +0 -1
  418. package/dist/packages/core/src/constants/pseudos.d.ts.map +0 -1
  419. package/dist/packages/core/src/constants/rnw.d.ts.map +0 -1
  420. package/dist/packages/core/src/createComponent.d.ts.map +0 -1
  421. package/dist/packages/core/src/createShorthands.d.ts.map +0 -1
  422. package/dist/packages/core/src/createTamagui.d.ts +0 -37
  423. package/dist/packages/core/src/createTamagui.d.ts.map +0 -1
  424. package/dist/packages/core/src/createTheme.d.ts +0 -5
  425. package/dist/packages/core/src/createTheme.d.ts.map +0 -1
  426. package/dist/packages/core/src/createTokens.d.ts.map +0 -1
  427. package/dist/packages/core/src/createVariable.d.ts.map +0 -1
  428. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts +0 -2
  429. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts.map +0 -1
  430. package/dist/packages/core/src/helpers/createMediaStyle.d.ts.map +0 -1
  431. package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts.map +0 -1
  432. package/dist/packages/core/src/helpers/extendStaticConfig.d.ts.map +0 -1
  433. package/dist/packages/core/src/helpers/fixNativeShadow.d.ts.map +0 -1
  434. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts +0 -2
  435. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts.map +0 -1
  436. package/dist/packages/core/src/helpers/getSplitStyles.d.ts.map +0 -1
  437. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts +0 -3
  438. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts.map +0 -1
  439. package/dist/packages/core/src/helpers/getStylesAtomic.native.d.ts.map +0 -1
  440. package/dist/packages/core/src/helpers/insertStyleRule.d.ts.map +0 -1
  441. package/dist/packages/core/src/helpers/matchMedia.d.ts.map +0 -1
  442. package/dist/packages/core/src/helpers/matchMedia.native.d.ts.map +0 -1
  443. package/dist/packages/core/src/helpers/themeable.d.ts.map +0 -1
  444. package/dist/packages/core/src/hooks/useConstant.d.ts.map +0 -1
  445. package/dist/packages/core/src/hooks/useFeatures.d.ts.map +0 -1
  446. package/dist/packages/core/src/hooks/useForceUpdate.d.ts +0 -2
  447. package/dist/packages/core/src/hooks/useForceUpdate.d.ts.map +0 -1
  448. package/dist/packages/core/src/hooks/useMedia.d.ts.map +0 -1
  449. package/dist/packages/core/src/hooks/usePressable.d.ts.map +0 -1
  450. package/dist/packages/core/src/hooks/useTheme.d.ts +0 -18
  451. package/dist/packages/core/src/hooks/useTheme.d.ts.map +0 -1
  452. package/dist/packages/core/src/index.d.ts.map +0 -1
  453. package/dist/packages/core/src/static/postProcessStyles.d.ts.map +0 -1
  454. package/dist/packages/core/src/static.d.ts.map +0 -1
  455. package/dist/packages/core/src/styled.d.ts +0 -16
  456. package/dist/packages/core/src/styled.d.ts.map +0 -1
  457. package/dist/packages/core/src/types.d.ts.map +0 -1
  458. package/dist/packages/core/src/views/Animated.d.ts.map +0 -1
  459. package/dist/packages/core/src/views/Stack.d.ts.map +0 -1
  460. package/dist/packages/core/src/views/Text.d.ts +0 -3
  461. package/dist/packages/core/src/views/Text.d.ts.map +0 -1
  462. package/dist/packages/core/src/views/TextAncestorContext.d.ts +0 -3
  463. package/dist/packages/core/src/views/TextAncestorContext.d.ts.map +0 -1
  464. package/dist/packages/core/src/views/Theme.d.ts.map +0 -1
  465. package/dist/packages/core/src/views/ThemeContext.d.ts.map +0 -1
  466. package/dist/packages/core/src/views/ThemeInverse.d.ts.map +0 -1
  467. package/dist/packages/core/src/views/ThemeManagerContext.d.ts +0 -15
  468. package/dist/packages/core/src/views/ThemeManagerContext.d.ts.map +0 -1
  469. package/dist/packages/core/src/views/ThemeProvider.d.ts.map +0 -1
  470. package/dist/packages/helpers/src/AllRules.d.ts +0 -3
  471. package/dist/packages/helpers/src/AllRules.d.ts.map +0 -1
  472. package/dist/packages/helpers/src/concatClassName.d.ts +0 -2
  473. package/dist/packages/helpers/src/concatClassName.d.ts.map +0 -1
  474. package/dist/packages/helpers/src/index.d.ts +0 -5
  475. package/dist/packages/helpers/src/index.d.ts.map +0 -1
  476. package/dist/packages/helpers/src/types.d.ts +0 -8
  477. package/dist/packages/helpers/src/types.d.ts.map +0 -1
  478. package/dist/packages/helpers/src/validStyleProps.d.ts +0 -475
  479. package/dist/packages/helpers/src/validStyleProps.d.ts.map +0 -1
  480. package/dist/styled.js.map +0 -7
  481. package/dist/types.js +0 -1
  482. package/dist/types.js.map +0 -7
  483. package/dist/views/SafeAreaProvider.js +0 -30
  484. package/dist/views/SafeAreaProvider.js.map +0 -7
  485. package/dist/views/Text.js.map +0 -7
  486. package/dist/views/TextAncestorContext.js +0 -18
  487. package/dist/views/TextAncestorContext.js.map +0 -7
  488. package/dist/views/Theme.js +0 -56
  489. package/dist/views/Theme.js.map +0 -7
  490. package/dist/views/ThemeManagerContext.js.map +0 -7
  491. package/dist/views/ThemeProvider.js.map +0 -7
  492. package/src/constants/constants.ts +0 -12
  493. package/src/constants/platform.ts +0 -15
  494. package/src/constants/pseudos.ts +0 -14
  495. package/src/constants/rnw.tsx +0 -20
  496. package/src/createComponent.tsx +0 -597
  497. package/src/createFont.ts +0 -26
  498. package/src/createShorthands.ts +0 -5
  499. package/src/createTamagui.ts +0 -207
  500. package/src/createTheme.ts +0 -19
  501. package/src/createTokens.ts +0 -83
  502. package/src/createVariable.ts +0 -22
  503. package/src/helpers/addStylesUsingClassname.tsx +0 -60
  504. package/src/helpers/createMediaStyle.ts +0 -46
  505. package/src/helpers/createPropMapper.ts +0 -184
  506. package/src/helpers/createTamaguiProvider.tsx +0 -22
  507. package/src/helpers/extendStaticConfig.ts +0 -68
  508. package/src/helpers/fixNativeShadow.native.tsx +0 -27
  509. package/src/helpers/fixNativeShadow.tsx +0 -2
  510. package/src/helpers/getSplitStyles.tsx +0 -210
  511. package/src/helpers/getStylesAtomic.native.ts +0 -3
  512. package/src/helpers/getStylesAtomic.ts +0 -103
  513. package/src/helpers/insertStyleRule.tsx +0 -18
  514. package/src/helpers/isObj.ts +0 -1
  515. package/src/helpers/matchMedia.native.ts +0 -3
  516. package/src/helpers/matchMedia.ts +0 -9
  517. package/src/helpers/themeable.tsx +0 -42
  518. package/src/hooks/useConstant.tsx +0 -10
  519. package/src/hooks/useFeatures.tsx +0 -78
  520. package/src/hooks/useMedia.tsx +0 -194
  521. package/src/hooks/usePressable.tsx +0 -9
  522. package/src/hooks/useTheme.tsx +0 -107
  523. package/src/index.ts +0 -32
  524. package/src/static/postProcessStyles.tsx +0 -20
  525. package/src/static.ts +0 -22
  526. package/src/styled.ts +0 -82
  527. package/src/types.tsx +0 -561
  528. package/src/views/Animated.tsx +0 -121
  529. package/src/views/SafeAreaProvider.tsx +0 -33
  530. package/src/views/Stack.tsx +0 -21
  531. package/src/views/Text.tsx +0 -66
  532. package/src/views/TextAncestorContext.tsx +0 -12
  533. package/src/views/Theme.tsx +0 -73
  534. package/src/views/ThemeContext.tsx +0 -5
  535. package/src/views/ThemeInverse.tsx +0 -23
  536. package/src/views/ThemeManagerContext.tsx +0 -50
  537. package/src/views/ThemeProvider.tsx +0 -52
  538. package/tsconfig.json +0 -8
  539. package/types.d.ts +0 -557
@@ -1,68 +0,0 @@
1
- import React from 'react'
2
-
3
- import { StaticComponent, StaticConfig, StaticConfigParsed } from '../types'
4
- import { createPropMapper } from './createPropMapper'
5
-
6
- export function extendStaticConfig(
7
- // can be undefined when loading with @tamagui/fake-react-native
8
- // could be fixed a bit cleaner
9
- Component?: StaticComponent | React.Component<any>,
10
- config: StaticConfig = {}
11
- ): StaticConfigParsed | null {
12
- const parent = (Component || {}) as any
13
- if (!parent.staticConfig) {
14
- // if no static config, we are extending an external component
15
- parent.staticConfig = {
16
- Component,
17
- }
18
- }
19
-
20
- const variants = {
21
- ...parent.staticConfig.variants,
22
- }
23
-
24
- // merge variants without clobbering previous... can we tho (typed??
25
- if (config.variants) {
26
- for (const key in config.variants) {
27
- if (variants[key]) {
28
- variants[key] = {
29
- ...variants[key],
30
- ...config.variants[key],
31
- }
32
- } else {
33
- variants[key] = config.variants[key]
34
- }
35
- }
36
- }
37
-
38
- return parseStaticConfig({
39
- ...parent.staticConfig,
40
- isZStack: config.isZStack || parent.staticConfig.isZStack,
41
- variants,
42
- isText: config.isText || parent.staticConfig.isText || false,
43
- neverFlatten: config.neverFlatten ?? parent.staticConfig.neverFlatten,
44
- ensureOverriddenProp: config.ensureOverriddenProp ?? parent.staticConfig.ensureOverriddenProp,
45
- validStyles: config.validStyles
46
- ? {
47
- ...parent.staticConfig.validStyles,
48
- ...config.validStyles,
49
- }
50
- : parent.staticConfig.validStyles,
51
- validPropsExtra: {
52
- ...parent.staticConfig.validPropsExtra,
53
- ...config.validPropsExtra,
54
- },
55
- defaultProps: {
56
- ...parent.staticConfig.defaultProps,
57
- ...config.defaultProps,
58
- },
59
- })
60
- }
61
-
62
- export const parseStaticConfig = (config: StaticConfig): StaticConfigParsed => {
63
- return {
64
- ...config,
65
- parsed: true,
66
- propMapper: createPropMapper(config),
67
- }
68
- }
@@ -1,27 +0,0 @@
1
- const matchRgba =
2
- /rgba\(\s*([\d\.]{1,})\s*,\s*([\d\.]{1,})\s*,\s*([\d\.]{1,})\s*,\s*([\d\.]{1,})\s*\)$/
3
-
4
- export function fixNativeShadow(props: any) {
5
- if (props.shadowColor) {
6
- if (!!!('shadowOffset' in props)) {
7
- // fixes some broken shadows
8
- props.shadowOffset = {
9
- width: 0,
10
- height: 0,
11
- }
12
- }
13
- if (!!!('shadowOpacity' in props)) {
14
- const c = `${props.shadowColor}`
15
- // react native has issues sometimes with rgba()
16
- if (c[0] === 'r' && c[3] === 'a') {
17
- const [_, r, g, b, a] = c.match(matchRgba) || []
18
- if (typeof a !== 'string') {
19
- console.warn('non valid rgba', c)
20
- return props
21
- }
22
- props.shadowColor = `rgb(${r},${g},${b})`
23
- props.shadowOpacity = +a
24
- }
25
- }
26
- }
27
- }
@@ -1,2 +0,0 @@
1
- // only native of course
2
- export const fixNativeShadow = (a: any) => {}
@@ -1,210 +0,0 @@
1
- import {
2
- AllRules,
3
- stylePropsText,
4
- stylePropsTransform,
5
- validStyles,
6
- validStylesPseudo,
7
- } from '@tamagui/helpers'
8
- import { ViewStyle } from 'react-native'
9
-
10
- import { isWeb } from '../constants/platform'
11
- import { mediaQueryConfig } from '../hooks/useMedia'
12
- import { StaticConfigParsed, ThemeObject } from '../types'
13
- import { createMediaStyle } from './createMediaStyle'
14
- import { fixNativeShadow } from './fixNativeShadow'
15
- import { getStylesAtomic } from './getStylesAtomic'
16
- import { insertStyleRule } from './insertStyleRule'
17
-
18
- export type SplitStyles = ReturnType<typeof getSplitStyles>
19
-
20
- // TODO run over this, should be able to cut it down quite a bit
21
-
22
- export const getSplitStyles = (
23
- props: { [key: string]: any },
24
- staticConfig: StaticConfigParsed,
25
- theme: ThemeObject,
26
- isSplittingDefaultProps?: boolean
27
- ) => {
28
- const validStyleProps = staticConfig.isText ? stylePropsText : validStyles
29
- const viewProps: Record<string, any> = {}
30
- const style: any[] = []
31
- const blacklistProps = isSplittingDefaultProps ? blacklistDefaultProps : blacklistFinalProps
32
-
33
- let pseudos: { hoverStyle?: ViewStyle; pressStyle?: ViewStyle } | null = null
34
- let cur: ViewStyle | null = null
35
- let classNames: string[] | null = null
36
-
37
- for (const keyInit in props) {
38
- // be sure to sync next few lines below to getSubStyle (*1)
39
- const valInit = props[keyInit]
40
-
41
- // media
42
- if (keyInit[0] === '$') {
43
- const mediaKey = keyInit.slice(1)
44
-
45
- if (!mediaQueryConfig[mediaKey]) {
46
- // this isn't a media key, pass through
47
- viewProps[keyInit] = valInit
48
- continue
49
- }
50
-
51
- // dont check if media is active, we just apply *all* media styles
52
- // we combine the media props on top regular props, could proxy this
53
- // TODO test proxy here instead of merge
54
- const mediaProps = { ...props, ...valInit }
55
- // TODO media + hover
56
- const mediaStyle = getSubStyle(valInit, staticConfig, theme, props)
57
- const mediaStyles = getStylesAtomic(mediaStyle)
58
- if (process.env.NODE_ENV === 'development') {
59
- if (props['debug']) {
60
- console.log('mediaStyles', keyInit, { mediaProps, mediaStyle, mediaStyles })
61
- }
62
- }
63
- for (const style of mediaStyles) {
64
- if (isWeb) {
65
- const out = createMediaStyle(style, mediaKey, mediaQueryConfig)
66
- classNames = classNames || []
67
- classNames.push(out.identifier)
68
- AllRules.add(out.styleRule)
69
- insertStyleRule(out.styleRule)
70
- if (process.env.NODE_ENV === 'development' && props['debug']) {
71
- console.log('mediaProp', style.identifier, out, mediaProps, mediaStyle, mediaStyles)
72
- }
73
- } else {
74
- console.log('TODO native media style logic')
75
- }
76
- }
77
- continue
78
- }
79
-
80
- // pseudo
81
- if (validStylesPseudo[keyInit]) {
82
- if (!valInit) continue
83
- pseudos = pseudos || {}
84
- pseudos[keyInit] = getSubStyle(valInit, staticConfig, theme, props)
85
- continue
86
- }
87
-
88
- const out = staticConfig.propMapper(keyInit, valInit, theme, props)
89
-
90
- const expanded = out === true || !out ? [[keyInit, valInit]] : Object.entries(out)
91
-
92
- for (const [key, val] of expanded) {
93
- // const val = valueMap(valInit) ?? valInit
94
- const keyFirstChar = key[0]
95
- if (key === 'style' || (keyFirstChar === '_' && key.startsWith('_style'))) {
96
- if (cur) {
97
- // process last
98
- fixNativeShadow(cur)
99
- style.push(cur)
100
- cur = null
101
- }
102
- fixNativeShadow(val)
103
- style.push(val)
104
- continue
105
- }
106
- // expand flex so it merged with flexShrink etc properly
107
- // TODO this shouldn't be here...
108
- if (key === 'flex') {
109
- cur = cur || {}
110
- // see spec for flex shorthand https://developer.mozilla.org/en-US/docs/Web/CSS/flex
111
- // TODO this fixed a behavior but need to find / document / test
112
- Object.assign(cur, {
113
- flexGrow: val,
114
- flexShrink: 1,
115
- })
116
- continue
117
- }
118
- if (!isWeb && key === 'pointerEvents') {
119
- viewProps[key] = val
120
- continue
121
- }
122
- if (validStyleProps[key]) {
123
- // transforms
124
- if (key in stylePropsTransform) {
125
- cur = cur || {}
126
- mergeTransform(cur, key, val)
127
- continue
128
- }
129
- cur = cur || {}
130
- cur[key] = val
131
- continue
132
- }
133
- // TODO this blacklist should be configurable + better set up
134
- if (!blacklistProps[key]) {
135
- viewProps[key] = val
136
- }
137
- }
138
- }
139
- // push last style
140
- if (cur) {
141
- fixNativeShadow(cur)
142
- style.push(cur)
143
- }
144
-
145
- if (process.env.NODE_ENV === 'development') {
146
- if (props['debug']) {
147
- console.log(' 🥚 splitProps:', { props, viewProps, style })
148
- }
149
- }
150
-
151
- return {
152
- viewProps,
153
- style,
154
- pseudos,
155
- classNames,
156
- }
157
- }
158
-
159
- const getSubStyle = (
160
- styleIn: Object,
161
- staticConfig: StaticConfigParsed,
162
- theme: ThemeObject,
163
- props: any
164
- ): ViewStyle => {
165
- const styleOut: ViewStyle = {}
166
- for (const key in styleIn) {
167
- // be sure to sync next few lines below to loop above (*1)
168
- const val = styleIn[key]
169
- const out = staticConfig.propMapper(key, val, theme, props)
170
- const expanded = out === true || !out ? [[key, val]] : Object.entries(out)
171
- for (const [skey, sval] of expanded) {
172
- // const sval = valueMap(valInit)
173
- if (skey in stylePropsTransform) {
174
- mergeTransform(styleOut, skey, sval)
175
- } else {
176
- styleOut[skey] = sval
177
- }
178
- }
179
- }
180
- fixNativeShadow(styleOut)
181
- return styleOut
182
- }
183
-
184
- const blacklistDefaultProps = {
185
- ...validStyles,
186
- ...stylePropsText,
187
- }
188
-
189
- const blacklistFinalProps = {
190
- ...blacklistDefaultProps,
191
- tag: true,
192
- debug: true,
193
- space: true,
194
- hitSlop: true,
195
- }
196
-
197
- const mapTransformKeys = {
198
- x: 'translateX',
199
- y: 'translateY',
200
- }
201
-
202
- const mergeTransform = (obj: ViewStyle, key: string, val: any) => {
203
- const transform: any[] = obj.transform
204
- ? Array.isArray(obj.transform)
205
- ? obj.transform
206
- : [obj.transform]
207
- : []
208
- transform.push({ [mapTransformKeys[key] || key]: val })
209
- obj.transform = transform
210
- }
@@ -1,3 +0,0 @@
1
- export function getStylesAtomic() {
2
- console.warn('no-op native')
3
- }
@@ -1,103 +0,0 @@
1
- import { AllRules, StyleObject } from '@tamagui/helpers'
2
- import { ViewStyle } from 'react-native'
3
-
4
- import { pseudos } from '../constants/pseudos'
5
- import { rnw } from '../constants/rnw'
6
-
7
- const generateStyle = (style: any) => {
8
- const { atomic, createCompileableStyle, createReactDOMStyle, i18Style } = rnw
9
- return {
10
- ...atomic(createCompileableStyle(createReactDOMStyle(i18Style(style)))),
11
- }
12
- }
13
-
14
- const borderDefaults = {
15
- borderWidth: 'borderStyle',
16
- borderBottomWidth: 'borderBottomStyle',
17
- borderTopWidth: 'borderTopStyle',
18
- borderLeftWidth: 'borderLeftStyle',
19
- borderRightWidth: 'borderRightStyle',
20
- }
21
-
22
- export function getStylesAtomic(style: any, avoidCollection = false) {
23
- const styles: { [key: string]: ViewStyle } = {
24
- base: {},
25
- }
26
- // split pseudos
27
- for (const key in style) {
28
- if (!!pseudos[key]) {
29
- styles[key] = style[key]
30
- } else {
31
- styles.base[key] = style[key]
32
- }
33
- }
34
- return Object.keys(styles)
35
- .map((key) => {
36
- return getAtomicStyle(styles[key], pseudos[key], avoidCollection)
37
- })
38
- .flat()
39
- }
40
-
41
- const importantRegex = /\!important*/g
42
-
43
- function getAtomicStyle(
44
- style: ViewStyle,
45
- pseudo?: { name: string; priority: number },
46
- avoidCollection?: boolean
47
- ): StyleObject[] {
48
- if (style == null || typeof style !== 'object') {
49
- throw new Error(`Wrong style type: "${typeof style}": ${style}`)
50
- }
51
-
52
- // why is this diff from react-native-web!? need to figure out
53
- for (const key in borderDefaults) {
54
- if (key in style) {
55
- style[borderDefaults[key]] = style[borderDefaults[key]] ?? 'solid'
56
- }
57
- }
58
-
59
- const all = generateStyle(style)
60
- return Object.keys(all).map((key) => {
61
- const val = all[key]
62
- const hash = val.identifier.slice(`${val.identifier}`.lastIndexOf('-') + 1)
63
- // pseudos have a `--` to be easier to find with concatClassNames
64
- const psuedoPrefix = pseudo ? `-${pseudo.name}-` : ''
65
- const identifier = `_${val.property}-${psuedoPrefix}${hash}`
66
- const className = `.${identifier}`
67
- const rules = val.rules.map((rule) => {
68
- if (pseudo) {
69
- const psuedoPrefixSelect = [...Array(pseudo.priority)].map(() => ':root').join('') + ' '
70
- let res = rule
71
- .replace(`.${val.identifier}`, `${psuedoPrefixSelect} ${className}`)
72
- .replace('{', `:${pseudo.name}{`)
73
-
74
- if (pseudo.name === 'hover') {
75
- // hover styles need to be conditional
76
- // perhaps this can be generalized but for now lets just shortcut
77
- // and hardcode for hover styles, if we need to later we can
78
- // WEIRD SYNTAX, SEE:
79
- // https://stackoverflow.com/questions/40532204/media-query-for-devices-supporting-hover
80
- res = `@media not all and (hover: none) { ${res} }`
81
- }
82
- return res
83
- }
84
- return rule.replace(`.${val.identifier}`, className).replace(importantRegex, '')
85
- })
86
-
87
- if (!avoidCollection) {
88
- if (rules.length > 1) {
89
- console.warn('have never seen more than one, verifying')
90
- }
91
- AllRules.add(rules[0])
92
- }
93
-
94
- const result: StyleObject = {
95
- property: val.property,
96
- value: val.value,
97
- identifier,
98
- className,
99
- rules,
100
- }
101
- return result
102
- })
103
- }
@@ -1,18 +0,0 @@
1
- import { isWeb } from '../constants/platform'
2
-
3
- export function insertStyleRule(rule: string) {
4
- if (typeof window === 'undefined') {
5
- return
6
- }
7
- if (process.env.NODE_ENV === 'development') {
8
- if (!isWeb) {
9
- console.warn('non web platform, dont use this')
10
- return
11
- }
12
- }
13
- const sheet = window.document.styleSheets[0]
14
- if (!sheet) {
15
- return
16
- }
17
- sheet.insertRule(rule, sheet.cssRules.length)
18
- }
@@ -1 +0,0 @@
1
- export const isObj = (x: any) => x && !Array.isArray(x) && typeof x === 'object'
@@ -1,3 +0,0 @@
1
- import MediaQueryList from '@expo/match-media/build/MediaQueryList.js'
2
-
3
- export const matchMedia = (media: string) => new MediaQueryList(media)
@@ -1,9 +0,0 @@
1
- export const matchMedia =
2
- (typeof window !== 'undefined' && window.matchMedia) ||
3
- (function matchMediaFallback(query: string) {
4
- return {
5
- addListener() {},
6
- removeListener() {},
7
- matches: false,
8
- }
9
- } as any)
@@ -1,42 +0,0 @@
1
- import React, { ReactElement, forwardRef } from 'react'
2
-
3
- import { Theme } from '../views/Theme'
4
- import { ThemeInverse } from '../views/ThemeInverse'
5
-
6
- export type ThemeableProps = {
7
- theme?: string | null
8
- themeInverse?: boolean
9
- }
10
-
11
- export const themeable: ThemeableHOC = function graphql<
12
- R extends ReactElement<any, any> | null,
13
- P extends ThemeableProps = {}
14
- >(component: (props: P) => R) {
15
- const withThemeComponent = forwardRef(function WithTheme({ themeInverse, ...rest }: P, ref) {
16
- const el = React.createElement(component, { ...rest, ref } as any) as R
17
- if (themeInverse) {
18
- return (<ThemeInverse>{el}</ThemeInverse>) as R
19
- }
20
- if (rest.theme) {
21
- return (<Theme name={rest.theme || null}>{el}</Theme>) as R
22
- }
23
- return el
24
- })
25
-
26
- const withTheme: {
27
- (props: P): R
28
- displayName: string
29
- } = withThemeComponent as any
30
-
31
- withTheme.displayName = `Themed(${
32
- (component as any)?.displayName || (component as any)?.name || 'Anonymous'
33
- })`
34
-
35
- return withTheme
36
- }
37
-
38
- export interface ThemeableHOC {
39
- <R extends ReactElement<any, any> | null, P extends ThemeableProps = {}>(
40
- component: (props: P) => R
41
- ): (props: P) => R
42
- }
@@ -1,10 +0,0 @@
1
- import { useRef } from 'react'
2
-
3
- type ResultBox<T> = { v: T }
4
- export function useConstant<T>(fn: () => T): T {
5
- const ref = useRef<ResultBox<T>>()
6
- if (!ref.current) {
7
- ref.current = { v: fn() }
8
- }
9
- return ref.current.v
10
- }
@@ -1,78 +0,0 @@
1
- import React from 'react'
2
-
3
- import { isWeb, useIsomorphicLayoutEffect } from '../constants/platform'
4
- import { addMediaQueryListener, removeMediaQueryListener } from './useMedia'
5
-
6
- // only needed on native
7
- // dynamic loading of features to avoid heavy views
8
-
9
- const createDefinition = ({ Component, propNames }: { Component; propNames: string[] }) => ({
10
- isEnabled: (props: any) => propNames.some((name) => !!props[name]),
11
- Component,
12
- })
13
-
14
- const mediaQueryPropNames = [
15
- '$xs',
16
- '$sm',
17
- '$md',
18
- '$lg',
19
- '$xl',
20
- '$xxl',
21
- '$pointerCoarse',
22
- '$hoverNone',
23
- '$tall',
24
- '$short',
25
- '$gtSm',
26
- '$notXs',
27
- '$gtMd',
28
- '$gtLg',
29
- ]
30
-
31
- const featureDefinitions = {
32
- measureLayout: createDefinition({
33
- Component: (props) => {
34
- console.log('measure', props)
35
- return null
36
- },
37
- propNames: ['onLayout'],
38
- }),
39
-
40
- // will update the parent whenever media query changes
41
- mediaQuery: createDefinition({
42
- Component: (props) => {
43
- if (isWeb) {
44
- // no need for media queries are inserted and run in css
45
- return
46
- }
47
-
48
- const keys = mediaQueryPropNames.flatMap((x) => (x in props ? x.slice(1) : []))
49
- useIsomorphicLayoutEffect(() => {
50
- for (const key of keys) {
51
- addMediaQueryListener(key, props._utils.forceUpdate)
52
- }
53
- return () => {
54
- for (const key of keys) {
55
- removeMediaQueryListener(key, props._utils.forceUpdate)
56
- }
57
- }
58
- }, [keys.join(',')])
59
- return null
60
- },
61
- propNames: mediaQueryPropNames,
62
- }),
63
- }
64
-
65
- const featureNames = Object.keys(featureDefinitions)
66
- const numFeatures = featureNames.length
67
-
68
- export const useFeatures = (props: any, utils?: { forceUpdate?: Function }) => {
69
- const features: JSX.Element[] = []
70
- for (let i = 0; i < numFeatures; i++) {
71
- const name = featureNames[i]
72
- const { isEnabled, Component } = featureDefinitions[name] as any //FeatureDefinition
73
- if (isEnabled(props) && Component) {
74
- features.push(<Component key={name} {...props} _utils={utils} />)
75
- }
76
- }
77
- return features
78
- }