@tamagui/core 1.0.0-alpha.6 → 1.0.0-alpha.66

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 (512) hide show
  1. package/dist/cjs/conf.js +52 -0
  2. package/dist/cjs/conf.js.map +7 -0
  3. package/dist/cjs/constants/constants.js +55 -0
  4. package/dist/cjs/constants/constants.js.map +7 -0
  5. package/dist/cjs/constants/platform.js +44 -0
  6. package/dist/cjs/constants/platform.js.map +7 -0
  7. package/dist/cjs/constants/pseudos.js +42 -0
  8. package/dist/cjs/constants/pseudos.js.map +7 -0
  9. package/dist/cjs/constants/rnw.js +45 -0
  10. package/dist/cjs/constants/rnw.js.map +7 -0
  11. package/dist/cjs/createComponent.js +544 -0
  12. package/dist/cjs/createComponent.js.map +7 -0
  13. package/dist/cjs/createFont.js +51 -0
  14. package/dist/cjs/createFont.js.map +7 -0
  15. package/dist/cjs/createShorthands.js +33 -0
  16. package/dist/cjs/createShorthands.js.map +7 -0
  17. package/dist/cjs/createTamagui.js +205 -0
  18. package/dist/cjs/createTamagui.js.map +7 -0
  19. package/dist/cjs/createTheme.js +30 -0
  20. package/dist/cjs/createTheme.js.map +7 -0
  21. package/dist/cjs/createTokens.js +56 -0
  22. package/dist/cjs/createTokens.js.map +7 -0
  23. package/dist/cjs/createVariable.js +53 -0
  24. package/dist/cjs/createVariable.js.map +7 -0
  25. package/dist/cjs/helpers/addStylesUsingClassname.js +80 -0
  26. package/dist/cjs/helpers/addStylesUsingClassname.js.map +7 -0
  27. package/dist/cjs/helpers/createMediaStyle.js +57 -0
  28. package/dist/cjs/helpers/createMediaStyle.js.map +7 -0
  29. package/dist/cjs/helpers/createPropMapper.js +199 -0
  30. package/dist/cjs/helpers/createPropMapper.js.map +7 -0
  31. package/dist/cjs/helpers/createTamaguiProvider.js +80 -0
  32. package/dist/cjs/helpers/createTamaguiProvider.js.map +7 -0
  33. package/dist/cjs/helpers/extendStaticConfig.js +83 -0
  34. package/dist/cjs/helpers/extendStaticConfig.js.map +7 -0
  35. package/dist/cjs/helpers/fixNativeShadow.js +31 -0
  36. package/dist/cjs/helpers/fixNativeShadow.js.map +7 -0
  37. package/dist/cjs/helpers/fixNativeShadow.native.js +57 -0
  38. package/dist/cjs/helpers/fixNativeShadow.native.js.map +7 -0
  39. package/dist/cjs/helpers/getSplitStyles.js +186 -0
  40. package/dist/cjs/helpers/getSplitStyles.js.map +7 -0
  41. package/dist/cjs/helpers/getStylesAtomic.js +118 -0
  42. package/dist/cjs/helpers/getStylesAtomic.js.map +7 -0
  43. package/dist/cjs/helpers/getStylesAtomic.native.js +33 -0
  44. package/dist/cjs/helpers/getStylesAtomic.native.js.map +7 -0
  45. package/dist/cjs/helpers/getThemeParentClassName.js +34 -0
  46. package/dist/cjs/helpers/getThemeParentClassName.js.map +7 -0
  47. package/dist/cjs/helpers/insertStyleRule.js +47 -0
  48. package/dist/cjs/helpers/insertStyleRule.js.map +7 -0
  49. package/dist/cjs/helpers/isObj.js +30 -0
  50. package/dist/cjs/helpers/isObj.js.map +7 -0
  51. package/dist/cjs/helpers/isTamaguiElement.js +34 -0
  52. package/dist/cjs/helpers/isTamaguiElement.js.map +7 -0
  53. package/dist/cjs/helpers/matchMedia.js +41 -0
  54. package/dist/cjs/helpers/matchMedia.js.map +7 -0
  55. package/dist/cjs/helpers/matchMedia.native.js +37 -0
  56. package/dist/cjs/helpers/matchMedia.native.js.map +7 -0
  57. package/dist/cjs/helpers/themeable.js +84 -0
  58. package/dist/cjs/helpers/themeable.js.map +7 -0
  59. package/dist/cjs/helpers/validate.js +88 -0
  60. package/dist/cjs/helpers/validate.js.map +7 -0
  61. package/dist/cjs/hooks/useConstant.js +38 -0
  62. package/dist/cjs/hooks/useConstant.js.map +7 -0
  63. package/dist/cjs/hooks/useFeatures.js +106 -0
  64. package/dist/cjs/hooks/useFeatures.js.map +7 -0
  65. package/dist/cjs/hooks/useMedia.js +211 -0
  66. package/dist/cjs/hooks/useMedia.js.map +7 -0
  67. package/dist/cjs/hooks/usePressable.js +51 -0
  68. package/dist/cjs/hooks/usePressable.js.map +7 -0
  69. package/dist/cjs/hooks/useTheme.js +121 -0
  70. package/dist/cjs/hooks/useTheme.js.map +7 -0
  71. package/dist/cjs/index.js +63 -0
  72. package/dist/cjs/index.js.map +7 -0
  73. package/dist/cjs/static/postProcessStyles.js +41 -0
  74. package/dist/cjs/static/postProcessStyles.js.map +7 -0
  75. package/dist/cjs/static.js +35 -0
  76. package/dist/cjs/static.js.map +7 -0
  77. package/dist/cjs/styled.js +73 -0
  78. package/dist/cjs/styled.js.map +7 -0
  79. package/dist/cjs/tamagui-base.css +11 -0
  80. package/dist/cjs/tamagui-base.css.map +7 -0
  81. package/dist/cjs/types.js +21 -0
  82. package/dist/cjs/types.js.map +7 -0
  83. package/dist/cjs/views/AbsoluteFullscreen.js +38 -0
  84. package/dist/cjs/views/AbsoluteFullscreen.js.map +7 -0
  85. package/dist/cjs/views/AbsoluteFullscreen.native.js +1 -0
  86. package/dist/{helpers/pseudos.js.map → cjs/views/AbsoluteFullscreen.native.js.map} +0 -0
  87. package/dist/cjs/views/Animated.js +135 -0
  88. package/dist/cjs/views/Animated.js.map +7 -0
  89. package/dist/cjs/views/Stack.js +52 -0
  90. package/dist/cjs/views/Stack.js.map +7 -0
  91. package/dist/cjs/views/Text.js +94 -0
  92. package/dist/cjs/views/Text.js.map +7 -0
  93. package/dist/cjs/views/TextAncestorContext.js +46 -0
  94. package/dist/cjs/views/TextAncestorContext.js.map +7 -0
  95. package/dist/cjs/views/Theme.js +97 -0
  96. package/dist/cjs/views/Theme.js.map +7 -0
  97. package/dist/cjs/views/ThemeContext.js +30 -0
  98. package/dist/cjs/views/ThemeContext.js.map +7 -0
  99. package/dist/cjs/views/ThemeInverse.js +54 -0
  100. package/dist/cjs/views/ThemeInverse.js.map +7 -0
  101. package/dist/cjs/views/ThemeManagerContext.js +85 -0
  102. package/dist/cjs/views/ThemeManagerContext.js.map +7 -0
  103. package/dist/cjs/views/ThemeProvider.js +73 -0
  104. package/dist/cjs/views/ThemeProvider.js.map +7 -0
  105. package/dist/esm/conf.js +29 -0
  106. package/dist/esm/conf.js.map +7 -0
  107. package/dist/{constants → esm/constants}/constants.js +4 -0
  108. package/dist/esm/constants/constants.js.map +7 -0
  109. package/dist/{constants → esm/constants}/platform.js +2 -1
  110. package/dist/esm/constants/platform.js.map +7 -0
  111. package/dist/{constants → esm/constants}/pseudos.js +0 -0
  112. package/dist/{constants → esm/constants}/pseudos.js.map +1 -1
  113. package/dist/{constants → esm/constants}/rnw.js +0 -0
  114. package/dist/{constants → esm/constants}/rnw.js.map +1 -1
  115. package/dist/{createComponent.js → esm/createComponent.js} +97 -82
  116. package/dist/esm/createComponent.js.map +7 -0
  117. package/dist/{createFont.js → esm/createFont.js} +4 -0
  118. package/dist/esm/createFont.js.map +7 -0
  119. package/dist/{createShorthands.js → esm/createShorthands.js} +0 -0
  120. package/dist/{createShorthands.js.map → esm/createShorthands.js.map} +1 -1
  121. package/dist/{createTamagui.js → esm/createTamagui.js} +71 -64
  122. package/dist/esm/createTamagui.js.map +7 -0
  123. package/dist/esm/createTheme.js +7 -0
  124. package/dist/esm/createTheme.js.map +7 -0
  125. package/dist/{createTokens.js → esm/createTokens.js} +4 -0
  126. package/dist/esm/createTokens.js.map +7 -0
  127. package/dist/{createVariable.js → esm/createVariable.js} +8 -3
  128. package/dist/esm/createVariable.js.map +7 -0
  129. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js +1 -1
  130. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js.map +3 -3
  131. package/dist/{helpers → esm/helpers}/createMediaStyle.js +0 -0
  132. package/dist/{helpers → esm/helpers}/createMediaStyle.js.map +1 -1
  133. package/dist/{helpers → esm/helpers}/createPropMapper.js +48 -24
  134. package/dist/esm/helpers/createPropMapper.js.map +7 -0
  135. package/dist/{helpers → esm/helpers}/createTamaguiProvider.js +0 -0
  136. package/dist/{helpers → esm/helpers}/createTamaguiProvider.js.map +1 -1
  137. package/dist/{helpers → esm/helpers}/extendStaticConfig.js +4 -2
  138. package/dist/esm/helpers/extendStaticConfig.js.map +7 -0
  139. package/dist/{helpers → esm/helpers}/fixNativeShadow.js +0 -0
  140. package/dist/{helpers → esm/helpers}/fixNativeShadow.js.map +1 -1
  141. package/dist/esm/helpers/fixNativeShadow.native.js +34 -0
  142. package/dist/esm/helpers/fixNativeShadow.native.js.map +7 -0
  143. package/dist/{helpers → esm/helpers}/getSplitStyles.js +20 -13
  144. package/dist/esm/helpers/getSplitStyles.js.map +7 -0
  145. package/dist/{helpers → esm/helpers}/getStylesAtomic.js +2 -1
  146. package/dist/esm/helpers/getStylesAtomic.js.map +7 -0
  147. package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js +0 -0
  148. package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js.map +1 -1
  149. package/dist/esm/helpers/getThemeParentClassName.js +11 -0
  150. package/dist/esm/helpers/getThemeParentClassName.js.map +7 -0
  151. package/dist/{helpers → esm/helpers}/insertStyleRule.js +0 -0
  152. package/dist/{helpers → esm/helpers}/insertStyleRule.js.map +1 -1
  153. package/dist/{helpers → esm/helpers}/isObj.js +0 -0
  154. package/dist/{helpers → esm/helpers}/isObj.js.map +1 -1
  155. package/dist/{helpers → esm/helpers}/isTamaguiElement.js +2 -1
  156. package/dist/{helpers → esm/helpers}/isTamaguiElement.js.map +2 -2
  157. package/dist/{helpers → esm/helpers}/matchMedia.js +3 -0
  158. package/dist/esm/helpers/matchMedia.js.map +7 -0
  159. package/dist/{helpers → esm/helpers}/matchMedia.native.js +1 -0
  160. package/dist/{helpers → esm/helpers}/matchMedia.native.js.map +3 -3
  161. package/dist/{helpers → esm/helpers}/themeable.js +1 -1
  162. package/dist/{helpers → esm/helpers}/themeable.js.map +2 -2
  163. package/dist/esm/helpers/validate.js +60 -0
  164. package/dist/esm/helpers/validate.js.map +7 -0
  165. package/dist/{hooks → esm/hooks}/useConstant.js +0 -0
  166. package/dist/{hooks → esm/hooks}/useConstant.js.map +1 -1
  167. package/dist/{hooks → esm/hooks}/useFeatures.js +39 -51
  168. package/dist/esm/hooks/useFeatures.js.map +7 -0
  169. package/dist/{hooks → esm/hooks}/useMedia.js +13 -6
  170. package/dist/esm/hooks/useMedia.js.map +7 -0
  171. package/dist/{hooks → esm/hooks}/usePressable.js +2 -1
  172. package/dist/{hooks → esm/hooks}/usePressable.js.map +2 -2
  173. package/dist/{hooks → esm/hooks}/useTheme.js +22 -16
  174. package/dist/esm/hooks/useTheme.js.map +7 -0
  175. package/dist/{index.js → esm/index.js} +8 -1
  176. package/dist/esm/index.js.map +7 -0
  177. package/dist/{static → esm/static}/postProcessStyles.js +0 -0
  178. package/dist/{static → esm/static}/postProcessStyles.js.map +1 -1
  179. package/dist/{static.js → esm/static.js} +0 -0
  180. package/dist/{static.js.map → esm/static.js.map} +1 -1
  181. package/dist/{styled.js → esm/styled.js} +0 -0
  182. package/dist/esm/styled.js.map +7 -0
  183. package/dist/esm/tamagui-base.css +11 -0
  184. package/dist/esm/tamagui-base.css.map +7 -0
  185. package/dist/{types.js → esm/types.js} +0 -0
  186. package/dist/{types.js.map → esm/types.js.map} +0 -0
  187. package/dist/esm/views/AbsoluteFullscreen.js +14 -0
  188. package/dist/esm/views/AbsoluteFullscreen.js.map +7 -0
  189. package/dist/esm/views/AbsoluteFullscreen.native.js +1 -0
  190. package/dist/esm/views/AbsoluteFullscreen.native.js.map +7 -0
  191. package/dist/{views → esm/views}/Animated.js +0 -0
  192. package/dist/{views → esm/views}/Animated.js.map +1 -1
  193. package/dist/{views → esm/views}/Stack.js +0 -0
  194. package/dist/{views → esm/views}/Stack.js.map +1 -1
  195. package/dist/{views → esm/views}/Text.js +2 -2
  196. package/dist/esm/views/Text.js.map +7 -0
  197. package/dist/esm/views/TextAncestorContext.js +18 -0
  198. package/dist/esm/views/TextAncestorContext.js.map +7 -0
  199. package/dist/{views → esm/views}/Theme.js +20 -14
  200. package/dist/esm/views/Theme.js.map +7 -0
  201. package/dist/{views → esm/views}/ThemeContext.js +0 -0
  202. package/dist/{views → esm/views}/ThemeContext.js.map +1 -1
  203. package/dist/{views → esm/views}/ThemeInverse.js +0 -0
  204. package/dist/{views → esm/views}/ThemeInverse.js.map +1 -1
  205. package/dist/{views → esm/views}/ThemeManagerContext.js +15 -8
  206. package/dist/esm/views/ThemeManagerContext.js.map +7 -0
  207. package/dist/{views → esm/views}/ThemeProvider.js +3 -3
  208. package/dist/esm/views/ThemeProvider.js.map +7 -0
  209. package/dist/jsx/conf.js +28 -0
  210. package/dist/jsx/constants/constants.js +17 -0
  211. package/dist/jsx/constants/platform.js +19 -0
  212. package/dist/jsx/constants/pseudos.js +17 -0
  213. package/dist/jsx/constants/rnw.js +21 -0
  214. package/dist/jsx/createComponent.js +466 -0
  215. package/dist/jsx/createFont.js +27 -0
  216. package/dist/jsx/createShorthands.js +9 -0
  217. package/dist/jsx/createTamagui.js +165 -0
  218. package/dist/jsx/createTheme.js +6 -0
  219. package/dist/jsx/createTokens.js +32 -0
  220. package/dist/jsx/createVariable.js +29 -0
  221. package/dist/jsx/helpers/addStylesUsingClassname.js +56 -0
  222. package/dist/jsx/helpers/createMediaStyle.js +33 -0
  223. package/dist/jsx/helpers/createPropMapper.js +176 -0
  224. package/dist/jsx/helpers/createTamaguiProvider.js +19 -0
  225. package/dist/jsx/helpers/extendStaticConfig.js +60 -0
  226. package/dist/jsx/helpers/fixNativeShadow.js +7 -0
  227. package/dist/jsx/helpers/fixNativeShadow.native.js +33 -0
  228. package/dist/jsx/helpers/getSplitStyles.js +154 -0
  229. package/dist/jsx/helpers/getStylesAtomic.js +83 -0
  230. package/dist/jsx/helpers/getStylesAtomic.native.js +9 -0
  231. package/dist/jsx/helpers/getThemeParentClassName.js +10 -0
  232. package/dist/jsx/helpers/insertStyleRule.js +23 -0
  233. package/dist/jsx/helpers/isObj.js +6 -0
  234. package/dist/jsx/helpers/isTamaguiElement.js +10 -0
  235. package/dist/jsx/helpers/matchMedia.js +17 -0
  236. package/dist/jsx/helpers/matchMedia.native.js +8 -0
  237. package/dist/jsx/helpers/themeable.js +23 -0
  238. package/dist/jsx/helpers/validate.js +59 -0
  239. package/dist/jsx/hooks/useConstant.js +14 -0
  240. package/dist/jsx/hooks/useFeatures.js +57 -0
  241. package/dist/jsx/hooks/useMedia.js +177 -0
  242. package/dist/jsx/hooks/usePressable.js +13 -0
  243. package/dist/jsx/hooks/useTheme.js +98 -0
  244. package/dist/jsx/index.js +38 -0
  245. package/dist/jsx/static/postProcessStyles.js +17 -0
  246. package/dist/jsx/static.js +14 -0
  247. package/dist/jsx/styled.js +20 -0
  248. package/dist/jsx/tamagui-base.css +10 -0
  249. package/dist/jsx/types.js +0 -0
  250. package/dist/jsx/views/AbsoluteFullscreen.js +13 -0
  251. package/dist/jsx/views/AbsoluteFullscreen.native.js +0 -0
  252. package/dist/jsx/views/Animated.js +74 -0
  253. package/dist/jsx/views/Stack.js +11 -0
  254. package/dist/jsx/views/Text.js +59 -0
  255. package/dist/jsx/views/TextAncestorContext.js +15 -0
  256. package/dist/jsx/views/Theme.js +63 -0
  257. package/dist/jsx/views/ThemeContext.js +5 -0
  258. package/dist/jsx/views/ThemeInverse.js +22 -0
  259. package/dist/jsx/views/ThemeManagerContext.js +61 -0
  260. package/dist/jsx/views/ThemeProvider.js +39 -0
  261. package/package.json +19 -17
  262. package/types/conf.d.ts +44 -0
  263. package/types/conf.d.ts.map +1 -0
  264. package/{dist/packages/core/src → types}/constants/constants.d.ts +2 -0
  265. package/types/constants/constants.d.ts.map +1 -0
  266. package/{dist/packages/core/src → types}/constants/platform.d.ts +0 -0
  267. package/types/constants/platform.d.ts.map +1 -0
  268. package/{dist/packages/core/src → types}/constants/pseudos.d.ts +0 -0
  269. package/types/constants/pseudos.d.ts.map +1 -0
  270. package/{dist/packages/core/src → types}/constants/rnw.d.ts +0 -0
  271. package/types/constants/rnw.d.ts.map +1 -0
  272. package/types/createComponent.d.ts +20 -0
  273. package/types/createComponent.d.ts.map +1 -0
  274. package/types/createFont.d.ts +3 -0
  275. package/types/createFont.d.ts.map +1 -0
  276. package/{dist/packages/core/src → types}/createShorthands.d.ts +0 -0
  277. package/types/createShorthands.d.ts.map +1 -0
  278. package/types/createTamagui.d.ts +13 -0
  279. package/types/createTamagui.d.ts.map +1 -0
  280. package/types/createTheme.d.ts +7 -0
  281. package/types/createTheme.d.ts.map +1 -0
  282. package/{dist/packages/core/src → types}/createTokens.d.ts +24 -14
  283. package/types/createTokens.d.ts.map +1 -0
  284. package/{dist/packages/core/src → types}/createVariable.d.ts +4 -1
  285. package/types/createVariable.d.ts.map +1 -0
  286. package/types/helpers/addStylesUsingClassname.d.ts +3 -0
  287. package/types/helpers/addStylesUsingClassname.d.ts.map +1 -0
  288. package/{dist/packages/core/src → types}/helpers/createMediaStyle.d.ts +0 -0
  289. package/types/helpers/createMediaStyle.d.ts.map +1 -0
  290. package/types/helpers/createPropMapper.d.ts +3 -0
  291. package/types/helpers/createPropMapper.d.ts.map +1 -0
  292. package/{dist/packages/core/src → types}/helpers/createTamaguiProvider.d.ts +0 -0
  293. package/types/helpers/createTamaguiProvider.d.ts.map +1 -0
  294. package/types/helpers/extendStaticConfig.d.ts +5 -0
  295. package/types/helpers/extendStaticConfig.d.ts.map +1 -0
  296. package/{dist/packages/core/src → types}/helpers/fixNativeShadow.d.ts +0 -0
  297. package/types/helpers/fixNativeShadow.d.ts.map +1 -0
  298. package/types/helpers/fixNativeShadow.native.d.ts +2 -0
  299. package/types/helpers/fixNativeShadow.native.d.ts.map +1 -0
  300. package/{dist/packages/core/src → types}/helpers/getSplitStyles.d.ts +1 -1
  301. package/types/helpers/getSplitStyles.d.ts.map +1 -0
  302. package/types/helpers/getStylesAtomic.d.ts +3 -0
  303. package/types/helpers/getStylesAtomic.d.ts.map +1 -0
  304. package/{dist/packages/core/src → types}/helpers/getStylesAtomic.native.d.ts +0 -0
  305. package/types/helpers/getStylesAtomic.native.d.ts.map +1 -0
  306. package/types/helpers/getThemeParentClassName.d.ts +2 -0
  307. package/types/helpers/getThemeParentClassName.d.ts.map +1 -0
  308. package/{dist/packages/core/src → types}/helpers/insertStyleRule.d.ts +0 -0
  309. package/types/helpers/insertStyleRule.d.ts.map +1 -0
  310. package/types/helpers/isObj.d.ts +2 -0
  311. package/types/helpers/isObj.d.ts.map +1 -0
  312. package/types/helpers/isTamaguiElement.d.ts +3 -0
  313. package/types/helpers/isTamaguiElement.d.ts.map +1 -0
  314. package/{dist/packages/core/src → types}/helpers/matchMedia.d.ts +0 -0
  315. package/types/helpers/matchMedia.d.ts.map +1 -0
  316. package/{dist/packages/core/src → types}/helpers/matchMedia.native.d.ts +0 -0
  317. package/types/helpers/matchMedia.native.d.ts.map +1 -0
  318. package/{dist/packages/core/src → types}/helpers/themeable.d.ts +0 -0
  319. package/types/helpers/themeable.d.ts.map +1 -0
  320. package/types/helpers/validate.d.ts +4 -0
  321. package/types/helpers/validate.d.ts.map +1 -0
  322. package/{dist/packages/core/src → types}/hooks/useConstant.d.ts +0 -0
  323. package/types/hooks/useConstant.d.ts.map +1 -0
  324. package/{dist/packages/core/src → types}/hooks/useFeatures.d.ts +0 -0
  325. package/types/hooks/useFeatures.d.ts.map +1 -0
  326. package/{dist/packages/core/src → types}/hooks/useMedia.d.ts +0 -0
  327. package/types/hooks/useMedia.d.ts.map +1 -0
  328. package/{dist/packages/core/src → types}/hooks/usePressable.d.ts +0 -0
  329. package/types/hooks/usePressable.d.ts.map +1 -0
  330. package/types/hooks/useTheme.d.ts +7 -0
  331. package/types/hooks/useTheme.d.ts.map +1 -0
  332. package/{dist/packages/core/src → types}/index.d.ts +5 -1
  333. package/types/index.d.ts.map +1 -0
  334. package/{dist/packages/core/src → types}/static/postProcessStyles.d.ts +0 -0
  335. package/types/static/postProcessStyles.d.ts.map +1 -0
  336. package/{dist/packages/core/src → types}/static.d.ts +3 -0
  337. package/types/static.d.ts.map +1 -0
  338. package/types/styled.d.ts +21 -0
  339. package/types/styled.d.ts.map +1 -0
  340. package/{dist/packages/core/src → types}/types.d.ts +89 -70
  341. package/types/types.d.ts.map +1 -0
  342. package/{dist/packages/core/src → types}/views/Animated.d.ts +0 -0
  343. package/types/views/Animated.d.ts.map +1 -0
  344. package/{dist/packages/core/src → types}/views/Stack.d.ts +0 -0
  345. package/types/views/Stack.d.ts.map +1 -0
  346. package/types/views/Text.d.ts +3 -0
  347. package/types/views/Text.d.ts.map +1 -0
  348. package/types/views/TextAncestorContext.d.ts +5 -0
  349. package/types/views/TextAncestorContext.d.ts.map +1 -0
  350. package/{dist/packages/core/src → types}/views/Theme.d.ts +1 -1
  351. package/types/views/Theme.d.ts.map +1 -0
  352. package/{dist/packages/core/src → types}/views/ThemeContext.d.ts +0 -0
  353. package/types/views/ThemeContext.d.ts.map +1 -0
  354. package/{dist/packages/core/src → types}/views/ThemeInverse.d.ts +0 -0
  355. package/types/views/ThemeInverse.d.ts.map +1 -0
  356. package/types/views/ThemeManagerContext.d.ts +22 -0
  357. package/types/views/ThemeManagerContext.d.ts.map +1 -0
  358. package/{dist/packages/core/src → types}/views/ThemeProvider.d.ts +0 -1
  359. package/types/views/ThemeProvider.d.ts.map +1 -0
  360. package/dist/constants/constants.js.map +0 -7
  361. package/dist/constants/platform.js.map +0 -7
  362. package/dist/constants/styleConstants.js +0 -46
  363. package/dist/constants/styleConstants.js.map +0 -7
  364. package/dist/createComponent.js.map +0 -7
  365. package/dist/createFont.js.map +0 -7
  366. package/dist/createTamagui.js.map +0 -7
  367. package/dist/createTheme.js +0 -20
  368. package/dist/createTheme.js.map +0 -7
  369. package/dist/createTokens.js.map +0 -7
  370. package/dist/createVariable.js.map +0 -7
  371. package/dist/helpers/createPropMapper.js.map +0 -7
  372. package/dist/helpers/extendStaticConfig.js.map +0 -7
  373. package/dist/helpers/fixNativeShadow.native.js +0 -30
  374. package/dist/helpers/fixNativeShadow.native.js.map +0 -7
  375. package/dist/helpers/getSplitStyles.js.map +0 -7
  376. package/dist/helpers/getStylesAtomic.js.map +0 -7
  377. package/dist/helpers/isComponent.js +0 -10
  378. package/dist/helpers/isComponent.js.map +0 -7
  379. package/dist/helpers/isTamaguiComponent.js +0 -10
  380. package/dist/helpers/isTamaguiComponent.js.map +0 -7
  381. package/dist/helpers/matchMedia.js.map +0 -7
  382. package/dist/helpers/pseudos.js +0 -1
  383. package/dist/hooks/useFeatures.js.map +0 -7
  384. package/dist/hooks/useForceUpdate.js +0 -28
  385. package/dist/hooks/useForceUpdate.js.map +0 -7
  386. package/dist/hooks/useMedia.js.map +0 -7
  387. package/dist/hooks/useTheme.js.map +0 -7
  388. package/dist/index.cjs +0 -2137
  389. package/dist/index.cjs.map +0 -7
  390. package/dist/index.js.map +0 -7
  391. package/dist/packages/core/src/constants/constants.d.ts.map +0 -1
  392. package/dist/packages/core/src/constants/platform.d.ts.map +0 -1
  393. package/dist/packages/core/src/constants/pseudos.d.ts.map +0 -1
  394. package/dist/packages/core/src/constants/rnw.d.ts.map +0 -1
  395. package/dist/packages/core/src/createComponent.d.ts +0 -16
  396. package/dist/packages/core/src/createComponent.d.ts.map +0 -1
  397. package/dist/packages/core/src/createShorthands.d.ts.map +0 -1
  398. package/dist/packages/core/src/createTamagui.d.ts +0 -37
  399. package/dist/packages/core/src/createTamagui.d.ts.map +0 -1
  400. package/dist/packages/core/src/createTheme.d.ts +0 -5
  401. package/dist/packages/core/src/createTheme.d.ts.map +0 -1
  402. package/dist/packages/core/src/createTokens.d.ts.map +0 -1
  403. package/dist/packages/core/src/createVariable.d.ts.map +0 -1
  404. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts +0 -2
  405. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts.map +0 -1
  406. package/dist/packages/core/src/helpers/createMediaStyle.d.ts.map +0 -1
  407. package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts.map +0 -1
  408. package/dist/packages/core/src/helpers/extendStaticConfig.d.ts +0 -5
  409. package/dist/packages/core/src/helpers/extendStaticConfig.d.ts.map +0 -1
  410. package/dist/packages/core/src/helpers/fixNativeShadow.d.ts.map +0 -1
  411. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts +0 -2
  412. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts.map +0 -1
  413. package/dist/packages/core/src/helpers/getSplitStyles.d.ts.map +0 -1
  414. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts +0 -3
  415. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts.map +0 -1
  416. package/dist/packages/core/src/helpers/getStylesAtomic.native.d.ts.map +0 -1
  417. package/dist/packages/core/src/helpers/insertStyleRule.d.ts.map +0 -1
  418. package/dist/packages/core/src/helpers/matchMedia.d.ts.map +0 -1
  419. package/dist/packages/core/src/helpers/matchMedia.native.d.ts.map +0 -1
  420. package/dist/packages/core/src/helpers/themeable.d.ts.map +0 -1
  421. package/dist/packages/core/src/hooks/useConstant.d.ts.map +0 -1
  422. package/dist/packages/core/src/hooks/useFeatures.d.ts.map +0 -1
  423. package/dist/packages/core/src/hooks/useForceUpdate.d.ts +0 -2
  424. package/dist/packages/core/src/hooks/useForceUpdate.d.ts.map +0 -1
  425. package/dist/packages/core/src/hooks/useMedia.d.ts.map +0 -1
  426. package/dist/packages/core/src/hooks/usePressable.d.ts.map +0 -1
  427. package/dist/packages/core/src/hooks/useTheme.d.ts +0 -18
  428. package/dist/packages/core/src/hooks/useTheme.d.ts.map +0 -1
  429. package/dist/packages/core/src/index.d.ts.map +0 -1
  430. package/dist/packages/core/src/static/postProcessStyles.d.ts.map +0 -1
  431. package/dist/packages/core/src/static.d.ts.map +0 -1
  432. package/dist/packages/core/src/styled.d.ts +0 -16
  433. package/dist/packages/core/src/styled.d.ts.map +0 -1
  434. package/dist/packages/core/src/types.d.ts.map +0 -1
  435. package/dist/packages/core/src/views/Animated.d.ts.map +0 -1
  436. package/dist/packages/core/src/views/Stack.d.ts.map +0 -1
  437. package/dist/packages/core/src/views/Text.d.ts +0 -3
  438. package/dist/packages/core/src/views/Text.d.ts.map +0 -1
  439. package/dist/packages/core/src/views/TextAncestorContext.d.ts +0 -3
  440. package/dist/packages/core/src/views/TextAncestorContext.d.ts.map +0 -1
  441. package/dist/packages/core/src/views/Theme.d.ts.map +0 -1
  442. package/dist/packages/core/src/views/ThemeContext.d.ts.map +0 -1
  443. package/dist/packages/core/src/views/ThemeInverse.d.ts.map +0 -1
  444. package/dist/packages/core/src/views/ThemeManagerContext.d.ts +0 -15
  445. package/dist/packages/core/src/views/ThemeManagerContext.d.ts.map +0 -1
  446. package/dist/packages/core/src/views/ThemeProvider.d.ts.map +0 -1
  447. package/dist/packages/helpers/src/AllRules.d.ts +0 -3
  448. package/dist/packages/helpers/src/AllRules.d.ts.map +0 -1
  449. package/dist/packages/helpers/src/concatClassName.d.ts +0 -2
  450. package/dist/packages/helpers/src/concatClassName.d.ts.map +0 -1
  451. package/dist/packages/helpers/src/index.d.ts +0 -5
  452. package/dist/packages/helpers/src/index.d.ts.map +0 -1
  453. package/dist/packages/helpers/src/types.d.ts +0 -8
  454. package/dist/packages/helpers/src/types.d.ts.map +0 -1
  455. package/dist/packages/helpers/src/validStyleProps.d.ts +0 -475
  456. package/dist/packages/helpers/src/validStyleProps.d.ts.map +0 -1
  457. package/dist/styled.js.map +0 -7
  458. package/dist/views/SafeAreaProvider.js +0 -30
  459. package/dist/views/SafeAreaProvider.js.map +0 -7
  460. package/dist/views/Text.js.map +0 -7
  461. package/dist/views/TextAncestorContext.js +0 -18
  462. package/dist/views/TextAncestorContext.js.map +0 -7
  463. package/dist/views/Theme.js.map +0 -7
  464. package/dist/views/ThemeManagerContext.js.map +0 -7
  465. package/dist/views/ThemeProvider.js.map +0 -7
  466. package/src/constants/constants.ts +0 -12
  467. package/src/constants/platform.ts +0 -15
  468. package/src/constants/pseudos.ts +0 -14
  469. package/src/constants/rnw.tsx +0 -20
  470. package/src/createComponent.tsx +0 -608
  471. package/src/createFont.ts +0 -26
  472. package/src/createShorthands.ts +0 -5
  473. package/src/createTamagui.ts +0 -207
  474. package/src/createTheme.ts +0 -19
  475. package/src/createTokens.ts +0 -83
  476. package/src/createVariable.ts +0 -26
  477. package/src/helpers/addStylesUsingClassname.tsx +0 -60
  478. package/src/helpers/createMediaStyle.ts +0 -46
  479. package/src/helpers/createPropMapper.ts +0 -184
  480. package/src/helpers/createTamaguiProvider.tsx +0 -22
  481. package/src/helpers/extendStaticConfig.ts +0 -68
  482. package/src/helpers/fixNativeShadow.native.tsx +0 -27
  483. package/src/helpers/fixNativeShadow.tsx +0 -2
  484. package/src/helpers/getSplitStyles.tsx +0 -197
  485. package/src/helpers/getStylesAtomic.native.ts +0 -3
  486. package/src/helpers/getStylesAtomic.ts +0 -103
  487. package/src/helpers/insertStyleRule.tsx +0 -18
  488. package/src/helpers/isObj.ts +0 -1
  489. package/src/helpers/isTamaguiElement.tsx +0 -5
  490. package/src/helpers/matchMedia.native.ts +0 -3
  491. package/src/helpers/matchMedia.ts +0 -9
  492. package/src/helpers/themeable.tsx +0 -42
  493. package/src/hooks/useConstant.tsx +0 -10
  494. package/src/hooks/useFeatures.tsx +0 -78
  495. package/src/hooks/useMedia.tsx +0 -194
  496. package/src/hooks/usePressable.tsx +0 -9
  497. package/src/hooks/useTheme.tsx +0 -107
  498. package/src/index.ts +0 -32
  499. package/src/static/postProcessStyles.tsx +0 -20
  500. package/src/static.ts +0 -22
  501. package/src/styled.ts +0 -82
  502. package/src/types.tsx +0 -561
  503. package/src/views/Animated.tsx +0 -121
  504. package/src/views/Stack.tsx +0 -21
  505. package/src/views/Text.tsx +0 -66
  506. package/src/views/TextAncestorContext.tsx +0 -12
  507. package/src/views/Theme.tsx +0 -80
  508. package/src/views/ThemeContext.tsx +0 -5
  509. package/src/views/ThemeInverse.tsx +0 -22
  510. package/src/views/ThemeManagerContext.tsx +0 -50
  511. package/src/views/ThemeProvider.tsx +0 -52
  512. package/types.d.ts +0 -555
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useFeatures.tsx"],
4
+ "sourcesContent": ["import React from 'react'\n\nimport { isWeb, useIsomorphicLayoutEffect } from '../constants/platform'\nimport { addMediaQueryListener, mediaState, removeMediaQueryListener } from './useMedia'\n\ntype FeatureDefinition = {\n isEnabled: (props: any) => boolean\n Component: any\n}\n\nconst createDefinition = ({\n Component,\n propNames,\n}: {\n Component: any\n propNames: string[]\n}): FeatureDefinition => ({\n isEnabled: (props: any) => propNames.some((name) => !!props[name]),\n Component,\n})\n\nlet featureDefinitions: Record<string, FeatureDefinition> | null = null\n\nexport const useFeatures = (props: any, utils?: { forceUpdate?: Function }) => {\n if (!featureDefinitions) {\n featureDefinitions = loadFeatures()\n }\n const features: JSX.Element[] = []\n for (const name in featureDefinitions) {\n const { isEnabled, Component } = featureDefinitions[name]\n if (isEnabled(props) && Component) {\n features.push(<Component key={name} {...props} _utils={utils} />)\n }\n }\n return features\n}\n\nfunction loadFeatures(): Record<string, FeatureDefinition> {\n return {\n // TODO\n // measureLayout: createDefinition({\n // Component: (props) => {\n // console.log('measure', props)\n // return null\n // },\n // propNames: ['onLayout'],\n // }),\n\n // will update the parent whenever media query changes\n // no need on web, media queries are inserted and run in css\n ...(!isWeb && {\n mediaQuery: loadMediaQueryFeature(),\n }),\n }\n}\n\nfunction loadMediaQueryFeature() {\n const mediaPropNames = Object.keys(mediaState)\n\n return createDefinition({\n Component: (props: any) => {\n const keys = mediaPropNames.flatMap((x) => (x in props ? x.slice(1) : []))\n\n useIsomorphicLayoutEffect(() => {\n for (const key of keys) {\n addMediaQueryListener(key, props._utils.forceUpdate)\n }\n return () => {\n for (const key of keys) {\n removeMediaQueryListener(key, props._utils.forceUpdate)\n }\n }\n }, [keys.join(',')])\n\n return null\n },\n propNames: mediaPropNames,\n })\n}\n"],
5
+ "mappings": ";;AAAA;AAEA;AACA;AAOA,MAAM,mBAAmB,wBAAC;AAAA,EACxB;AAAA,EACA;AAAA,MAIwB;AAAA,EACxB,WAAW,CAAC,UAAe,UAAU,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM;AAAA,EAC5D;AAAA,IARuB;AAWzB,IAAI,qBAA+D;AAE5D,MAAM,cAAc,wBAAC,OAAY,UAAuC;AAC7E,MAAI,CAAC,oBAAoB;AACvB,yBAAqB;AAAA;AAEvB,QAAM,WAA0B;AAChC,aAAW,QAAQ,oBAAoB;AACrC,UAAM,EAAE,WAAW,cAAc,mBAAmB;AACpD,QAAI,UAAU,UAAU,WAAW;AACjC,eAAS,KAAK,oCAAC,WAAD;AAAA,QAAW,KAAK;AAAA,WAAU;AAAA,QAAO,QAAQ;AAAA;AAAA;AAAA;AAG3D,SAAO;AAAA,GAXkB;AAc3B,wBAA2D;AACzD,SAAO;AAAA,OAYD,CAAC,SAAS;AAAA,MACZ,YAAY;AAAA;AAAA;AAAA;AAdT;AAmBT,iCAAiC;AAC/B,QAAM,iBAAiB,OAAO,KAAK;AAEnC,SAAO,iBAAiB;AAAA,IACtB,WAAW,CAAC,UAAe;AACzB,YAAM,OAAO,eAAe,QAAQ,CAAC,MAAO,KAAK,QAAQ,EAAE,MAAM,KAAK;AAEtE,gCAA0B,MAAM;AAC9B,mBAAW,OAAO,MAAM;AACtB,gCAAsB,KAAK,MAAM,OAAO;AAAA;AAE1C,eAAO,MAAM;AACX,qBAAW,OAAO,MAAM;AACtB,qCAAyB,KAAK,MAAM,OAAO;AAAA;AAAA;AAAA,SAG9C,CAAC,KAAK,KAAK;AAEd,aAAO;AAAA;AAAA,IAET,WAAW;AAAA;AAAA;AApBN;",
6
+ "names": []
7
+ }
@@ -8,23 +8,29 @@ import { useConstant } from "./useConstant";
8
8
  const mediaState = {};
9
9
  const mediaQueryListeners = {};
10
10
  const addMediaQueryListener = /* @__PURE__ */ __name((key, cb) => {
11
- mediaQueryListeners[key] = mediaQueryListeners[key] || new Set();
11
+ mediaQueryListeners[key] = mediaQueryListeners[key] || /* @__PURE__ */ new Set();
12
12
  mediaQueryListeners[key].add(cb);
13
13
  }, "addMediaQueryListener");
14
14
  const removeMediaQueryListener = /* @__PURE__ */ __name((key, cb) => {
15
- mediaQueryListeners[key].delete(cb);
15
+ var _a;
16
+ (_a = mediaQueryListeners[key]) == null ? void 0 : _a.delete(cb);
16
17
  }, "removeMediaQueryListener");
17
18
  let conf = null;
18
19
  const mediaQueryConfig = new Proxy({}, {
19
20
  get(target, key) {
21
+ if (key === "$$typeof") {
22
+ return Reflect.get(target, key);
23
+ }
20
24
  if (!conf) {
21
- throw new Error(`Be sure to run configureMedia before accessing mediaQueryConfig`);
25
+ console.warn("Tamagui: accessing media query before init");
26
+ return null;
22
27
  }
23
28
  return Reflect.get(conf, key);
24
29
  },
25
30
  ownKeys() {
26
31
  if (!conf) {
27
- throw new Error(`Be sure to run configureMedia before accessing mediaQueryConfig`);
32
+ console.warn("Tamagui: accessing media query before init");
33
+ return [];
28
34
  }
29
35
  return Object.keys(conf);
30
36
  },
@@ -45,6 +51,7 @@ const configureMedia = /* @__PURE__ */ __name(({
45
51
  queries,
46
52
  defaultActive = ["sm", "xs"]
47
53
  } = {}) => {
54
+ var _a;
48
55
  if (conf) {
49
56
  console.warn(`Already configured mediaQueries once (you may have called getMedia() before configureMedia())`);
50
57
  }
@@ -66,7 +73,7 @@ const configureMedia = /* @__PURE__ */ __name(({
66
73
  return;
67
74
  mediaState[key] = next;
68
75
  const listeners = mediaQueryListeners[key];
69
- if (listeners?.size) {
76
+ if (listeners == null ? void 0 : listeners.size) {
70
77
  for (const cb of [...listeners]) {
71
78
  cb();
72
79
  }
@@ -74,7 +81,7 @@ const configureMedia = /* @__PURE__ */ __name(({
74
81
  });
75
82
  } catch (err) {
76
83
  console.error("Error running media query", str, err.message, err.stack);
77
- const isDefaultActive = defaultActive?.includes(key) ?? true;
84
+ const isDefaultActive = (_a = defaultActive == null ? void 0 : defaultActive.includes(key)) != null ? _a : true;
78
85
  mediaState[key] = isDefaultActive;
79
86
  }
80
87
  }
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useMedia.tsx"],
4
+ "sourcesContent": ["import { useForceUpdate } from '@tamagui/use-force-update'\nimport { useRef } from 'react'\n\nimport { useIsomorphicLayoutEffect } from '../constants/platform'\nimport { matchMedia } from '../helpers/matchMedia'\nimport {\n ConfigureMediaQueryOptions,\n MediaQueries,\n MediaQueryObject,\n MediaQueryState,\n} from '../types'\nimport { useConstant } from './useConstant'\n\nexport const mediaState: { [key in keyof MediaQueryState]: boolean } = {} as any\nconst mediaQueryListeners: { [key: string]: Set<Function> } = {}\n\nexport const addMediaQueryListener = (key: string, cb: any) => {\n mediaQueryListeners[key] = mediaQueryListeners[key] || new Set()\n mediaQueryListeners[key].add(cb)\n}\n\nexport const removeMediaQueryListener = (key: string, cb: any) => {\n mediaQueryListeners[key]?.delete(cb)\n}\n\nlet conf: MediaQueries | null = null\n\nexport const mediaQueryConfig = new Proxy<MediaQueries>({} as any, {\n get(target, key) {\n if (key === '$$typeof') {\n return Reflect.get(target, key)\n }\n if (!conf) {\n console.warn('Tamagui: accessing media query before init')\n return null\n }\n return Reflect.get(conf, key)\n },\n ownKeys() {\n if (!conf) {\n console.warn('Tamagui: accessing media query before init')\n return []\n }\n return Object.keys(conf)\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n }\n },\n})\n\nexport const getMedia = () => {\n if (!conf) {\n throw new Error(`not configured yet`)\n }\n return mediaState\n}\n\nexport const configureMedia = ({\n queries,\n defaultActive = ['sm', 'xs'],\n}: ConfigureMediaQueryOptions = {}) => {\n if (conf) {\n console.warn(\n `Already configured mediaQueries once (you may have called getMedia() before configureMedia())`\n )\n }\n\n if (queries) {\n conf = queries\n }\n\n // setup\n for (const key in queries) {\n const str = mediaObjectToString(queries[key])\n try {\n const getMatch = () => matchMedia(str)\n const match = getMatch()\n if (!match || typeof match.addListener !== 'function') {\n // caught below\n throw new Error('\u26A0\uFE0F No match (seeing this in RN sometimes)')\n }\n mediaState[key] = !!match.matches\n match.addListener(() => {\n const next = !!getMatch().matches\n if (next === mediaState[key]) return\n mediaState[key] = next\n const listeners = mediaQueryListeners[key]\n if (listeners?.size) {\n for (const cb of [...listeners]) {\n cb()\n }\n }\n })\n } catch (err: any) {\n console.error('Error running media query', str, err.message, err.stack)\n const isDefaultActive = defaultActive?.includes(key as any) ?? true\n mediaState[key] = isDefaultActive\n }\n }\n}\n\ntype UseMediaState = {\n selections: { [key: string]: boolean }\n nextSelections: { [key: string]: boolean }\n isRendering: boolean\n isUnmounted: boolean\n}\n\nexport const useMedia = () => {\n const forceUpdate = useForceUpdate()\n const state = useRef() as React.MutableRefObject<UseMediaState>\n if (!state.current) {\n state.current = {\n selections: {},\n nextSelections: {},\n isUnmounted: false,\n isRendering: true,\n }\n }\n state.current.isRendering = true\n\n // track usage\n useIsomorphicLayoutEffect(() => {\n const st = state.current\n st.isRendering = false\n // delete old\n for (const key in st.selections) {\n if (!(key in st.nextSelections)) {\n removeMediaQueryListener(key, forceUpdate)\n }\n }\n // add new\n for (const key in st.nextSelections) {\n if (!(key in st.selections)) {\n addMediaQueryListener(key, forceUpdate)\n }\n }\n })\n\n // unmount\n useIsomorphicLayoutEffect(() => {\n return () => {\n const st = state.current\n st.isUnmounted = true\n const allKeys = {\n ...st.selections,\n ...st.nextSelections,\n }\n for (const key in allKeys) {\n removeMediaQueryListener(key, forceUpdate)\n }\n }\n }, [])\n\n return useConstant(() => {\n const st = state.current\n return new Proxy(mediaState, {\n get(target, key: string) {\n if (!(key in mediaState)) {\n return Reflect.get(target, key)\n }\n if (!st.isUnmounted) {\n if (st.isRendering) {\n st.nextSelections[key] = true\n }\n }\n if (key in mediaState) {\n return mediaState[key]\n }\n return Reflect.get(mediaState, key)\n },\n })\n })\n}\n\nfunction camelToHyphen(str: string) {\n return str.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`).toLowerCase()\n}\n\nexport function mediaObjectToString(query: string | MediaQueryObject) {\n if (typeof query === 'string') {\n return query\n }\n return Object.entries(query)\n .map(([feature, value]) => {\n feature = camelToHyphen(feature)\n if (typeof value === 'string') {\n return `(${feature}: ${value})`\n }\n if (typeof value === 'number' && /[height|width]$/.test(feature)) {\n value = `${value}px`\n }\n return `(${feature}: ${value})`\n })\n .join(' and ')\n}\n"],
5
+ "mappings": ";;AAAA;AACA;AAEA;AACA;AAOA;AAEO,MAAM,aAA0D;AACvE,MAAM,sBAAwD;AAEvD,MAAM,wBAAwB,wBAAC,KAAa,OAAY;AAC7D,sBAAoB,OAAO,oBAAoB,QAAQ,oBAAI;AAC3D,sBAAoB,KAAK,IAAI;AAAA,GAFM;AAK9B,MAAM,2BAA2B,wBAAC,KAAa,OAAY;AArBlE;AAsBE,4BAAoB,SAApB,mBAA0B,OAAO;AAAA,GADK;AAIxC,IAAI,OAA4B;AAEzB,MAAM,mBAAmB,IAAI,MAAoB,IAAW;AAAA,EACjE,IAAI,QAAQ,KAAK;AACf,QAAI,QAAQ,YAAY;AACtB,aAAO,QAAQ,IAAI,QAAQ;AAAA;AAE7B,QAAI,CAAC,MAAM;AACT,cAAQ,KAAK;AACb,aAAO;AAAA;AAET,WAAO,QAAQ,IAAI,MAAM;AAAA;AAAA,EAE3B,UAAU;AACR,QAAI,CAAC,MAAM;AACT,cAAQ,KAAK;AACb,aAAO;AAAA;AAET,WAAO,OAAO,KAAK;AAAA;AAAA,EAErB,2BAA2B;AACzB,WAAO;AAAA,MACL,YAAY;AAAA,MACZ,cAAc;AAAA;AAAA;AAAA;AAKb,MAAM,WAAW,6BAAM;AAC5B,MAAI,CAAC,MAAM;AACT,UAAM,IAAI,MAAM;AAAA;AAElB,SAAO;AAAA,GAJe;AAOjB,MAAM,iBAAiB,wBAAC;AAAA,EAC7B;AAAA,EACA,gBAAgB,CAAC,MAAM;AAAA,IACO,OAAO;AA/DvC;AAgEE,MAAI,MAAM;AACR,YAAQ,KACN;AAAA;AAIJ,MAAI,SAAS;AACX,WAAO;AAAA;AAIT,aAAW,OAAO,SAAS;AACzB,UAAM,MAAM,oBAAoB,QAAQ;AACxC,QAAI;AACF,YAAM,WAAW,6BAAM,WAAW,MAAjB;AACjB,YAAM,QAAQ;AACd,UAAI,CAAC,SAAS,OAAO,MAAM,gBAAgB,YAAY;AAErD,cAAM,IAAI,MAAM;AAAA;AAElB,iBAAW,OAAO,CAAC,CAAC,MAAM;AAC1B,YAAM,YAAY,MAAM;AACtB,cAAM,OAAO,CAAC,CAAC,WAAW;AAC1B,YAAI,SAAS,WAAW;AAAM;AAC9B,mBAAW,OAAO;AAClB,cAAM,YAAY,oBAAoB;AACtC,YAAI,uCAAW,MAAM;AACnB,qBAAW,MAAM,CAAC,GAAG,YAAY;AAC/B;AAAA;AAAA;AAAA;AAAA,aAIC,KAAP;AACA,cAAQ,MAAM,6BAA6B,KAAK,IAAI,SAAS,IAAI;AACjE,YAAM,kBAAkB,qDAAe,SAAS,SAAxB,YAAuC;AAC/D,iBAAW,OAAO;AAAA;AAAA;AAAA,GAvCM;AAmDvB,MAAM,WAAW,6BAAM;AAC5B,QAAM,cAAc;AACpB,QAAM,QAAQ;AACd,MAAI,CAAC,MAAM,SAAS;AAClB,UAAM,UAAU;AAAA,MACd,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,aAAa;AAAA;AAAA;AAGjB,QAAM,QAAQ,cAAc;AAG5B,4BAA0B,MAAM;AAC9B,UAAM,KAAK,MAAM;AACjB,OAAG,cAAc;AAEjB,eAAW,OAAO,GAAG,YAAY;AAC/B,UAAI,CAAE,QAAO,GAAG,iBAAiB;AAC/B,iCAAyB,KAAK;AAAA;AAAA;AAIlC,eAAW,OAAO,GAAG,gBAAgB;AACnC,UAAI,CAAE,QAAO,GAAG,aAAa;AAC3B,8BAAsB,KAAK;AAAA;AAAA;AAAA;AAMjC,4BAA0B,MAAM;AAC9B,WAAO,MAAM;AACX,YAAM,KAAK,MAAM;AACjB,SAAG,cAAc;AACjB,YAAM,UAAU;AAAA,WACX,GAAG;AAAA,WACH,GAAG;AAAA;AAER,iBAAW,OAAO,SAAS;AACzB,iCAAyB,KAAK;AAAA;AAAA;AAAA,KAGjC;AAEH,SAAO,YAAY,MAAM;AACvB,UAAM,KAAK,MAAM;AACjB,WAAO,IAAI,MAAM,YAAY;AAAA,MAC3B,IAAI,QAAQ,KAAa;AACvB,YAAI,CAAE,QAAO,aAAa;AACxB,iBAAO,QAAQ,IAAI,QAAQ;AAAA;AAE7B,YAAI,CAAC,GAAG,aAAa;AACnB,cAAI,GAAG,aAAa;AAClB,eAAG,eAAe,OAAO;AAAA;AAAA;AAG7B,YAAI,OAAO,YAAY;AACrB,iBAAO,WAAW;AAAA;AAEpB,eAAO,QAAQ,IAAI,YAAY;AAAA;AAAA;AAAA;AAAA,GA7Df;AAmExB,uBAAuB,KAAa;AAClC,SAAO,IAAI,QAAQ,UAAU,CAAC,MAAM,IAAI,EAAE,iBAAiB;AAAA;AADpD;AAIF,6BAA6B,OAAkC;AACpE,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO;AAAA;AAET,SAAO,OAAO,QAAQ,OACnB,IAAI,CAAC,CAAC,SAAS,WAAW;AACzB,cAAU,cAAc;AACxB,QAAI,OAAO,UAAU,UAAU;AAC7B,aAAO,IAAI,YAAY;AAAA;AAEzB,QAAI,OAAO,UAAU,YAAY,kBAAkB,KAAK,UAAU;AAChE,cAAQ,GAAG;AAAA;AAEb,WAAO,IAAI,YAAY;AAAA,KAExB,KAAK;AAAA;AAfM;",
6
+ "names": []
7
+ }
@@ -1,7 +1,8 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ var _a, _b;
3
4
  import { Pressable } from "react-native";
4
- const getPressable = Pressable?.["type"]?.["render"];
5
+ const getPressable = (_b = (_a = Pressable) == null ? void 0 : _a["type"]) == null ? void 0 : _b["render"];
5
6
  const usePressable = /* @__PURE__ */ __name((props) => {
6
7
  const out = getPressable(props);
7
8
  const { children, style, ...pressableProps } = out.props;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/hooks/usePressable.tsx"],
3
+ "sources": ["../../../src/hooks/usePressable.tsx"],
4
4
  "sourcesContent": ["import { Pressable, PressableProps } from 'react-native'\n\nconst getPressable = Pressable?.['type']?.['render']\n\nexport const usePressable = (props: PressableProps) => {\n const out = getPressable(props)\n const { children, style, ...pressableProps } = out.props\n return [pressableProps, style] as const\n}\n"],
5
- "mappings": ";;AAAA;AAEA,MAAM,eAAe,YAAY,UAAU;AAEpC,MAAM,eAAe,wBAAC,UAA0B;AACrD,QAAM,MAAM,aAAa;AACzB,QAAM,EAAE,UAAU,UAAU,mBAAmB,IAAI;AACnD,SAAO,CAAC,gBAAgB;AAAA,GAHE;",
5
+ "mappings": ";;AAAA;AAAA;AAEA,MAAM,eAAe,6CAAY,YAAZ,mBAAsB;AAEpC,MAAM,eAAe,wBAAC,UAA0B;AACrD,QAAM,MAAM,aAAa;AACzB,QAAM,EAAE,UAAU,UAAU,mBAAmB,IAAI;AACnD,SAAO,CAAC,gBAAgB;AAAA,GAHE;",
6
6
  "names": []
7
7
  }
@@ -2,11 +2,11 @@ var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
  import { useForceUpdate } from "@tamagui/use-force-update";
4
4
  import { useContext, useEffect, useMemo, useRef, useState } from "react";
5
+ import { GET_DEFAULT_THEME } from "../constants/constants";
5
6
  import { useIsomorphicLayoutEffect } from "../constants/platform";
6
- import { Variable } from "../createVariable";
7
+ import { isVariable } from "../createVariable";
7
8
  import { ThemeContext } from "../views/ThemeContext";
8
9
  import { ThemeManagerContext } from "../views/ThemeManagerContext";
9
- import { GET_DEFAULT_THEME } from "../views/ThemeProvider";
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 == null ? void 0 : opts.parent) ? manager.parentName : next);
30
26
  });
31
27
  }, [parent]);
32
28
  return name || "light";
@@ -35,14 +31,15 @@ const useDefaultThemeName = /* @__PURE__ */ __name(() => {
35
31
  return useContext(ThemeContext)[GET_DEFAULT_THEME];
36
32
  }, "useDefaultThemeName");
37
33
  const useTheme = /* @__PURE__ */ __name(() => {
34
+ var _a, _b;
38
35
  const forceUpdate = useForceUpdate();
39
36
  const manager = useContext(ThemeManagerContext);
40
- const themes = useContext(ThemeContext);
37
+ const themes = useContext(ThemeContext) || {};
41
38
  const state = useRef();
42
39
  if (!state.current) {
43
40
  state.current = {
44
41
  uuid: {},
45
- keys: new Set(),
42
+ keys: /* @__PURE__ */ new Set(),
46
43
  isRendering: true
47
44
  };
48
45
  }
@@ -58,7 +55,7 @@ const useTheme = /* @__PURE__ */ __name(() => {
58
55
  useEffect(() => {
59
56
  return manager.onUpdate(state.current.uuid, forceUpdate);
60
57
  }, []);
61
- const theme = (manager.name ? themes[manager.name] : themes.light) ?? themes.light;
58
+ const theme = (_b = (_a = manager.name ? themes[manager.name] : themes.light) != null ? _a : themes.light) != null ? _b : {};
62
59
  return useMemo(() => {
63
60
  return new Proxy(theme, {
64
61
  get(_, key) {
@@ -68,19 +65,28 @@ const useTheme = /* @__PURE__ */ __name(() => {
68
65
  }
69
66
  let activeTheme = themes[name];
70
67
  if (!activeTheme) {
71
- console.error("No theme by name", name, "only:", themes, "keeping current theme");
68
+ if (process.env.NODE_ENV !== "test") {
69
+ console.error("No theme by name", name, "only:", themes, "keeping current theme");
70
+ }
72
71
  activeTheme = theme;
73
72
  }
74
73
  const val = activeTheme[key];
75
74
  if (process.env.NODE_ENV === "development") {
76
75
  if (typeof val === "undefined") {
77
- throw new Error(`No theme value "${String(key)}" in: ${Object.keys(activeTheme)}`);
76
+ console.warn(`No theme value "${String(key)}" in`, activeTheme);
77
+ return null;
78
+ }
79
+ if (!isVariable(val)) {
80
+ console.warn("Non variable!", val);
81
+ }
82
+ if (val.name !== key) {
83
+ console.warn("Non-matching name for variable to key", key, val.name);
78
84
  }
79
85
  }
80
86
  if (state.current.isRendering) {
81
87
  state.current.keys.add(key);
82
88
  }
83
- return new Variable({ val: val.val, name: key });
89
+ return val;
84
90
  }
85
91
  });
86
92
  }, []);
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useTheme.tsx"],
4
+ "sourcesContent": ["import { useForceUpdate } from '@tamagui/use-force-update'\nimport React, { useContext, useEffect, useMemo, useRef, useState } from 'react'\n\nimport { GET_DEFAULT_THEME } from '../constants/constants'\nimport { useIsomorphicLayoutEffect } from '../constants/platform'\nimport { isVariable } from '../createVariable'\nimport { ThemeName, ThemeObject } from '../types'\nimport { ThemeContext } from '../views/ThemeContext'\nimport { ThemeManagerContext } from '../views/ThemeManagerContext'\n\ntype UseThemeState = {\n uuid: Object\n keys: Set<string>\n isRendering: boolean\n}\n\nconst areEqualSets = (a: Set<string>, b: Set<string>) => {\n if (a.size !== b.size) return false\n for (const val in a) {\n if (!b.has(val)) {\n return false\n }\n }\n return true\n}\n\nexport const useThemeName = (opts?: { parent?: true }) => {\n const parent = useContext(ThemeManagerContext)\n const [name, setName] = useState(parent.name)\n\n useIsomorphicLayoutEffect(() => {\n return parent.onChangeTheme((next, manager) => {\n setName(opts?.parent ? manager.parentName : next)\n })\n }, [parent])\n\n return name || 'light'\n}\n\nexport const useDefaultThemeName = () => {\n return useContext(ThemeContext)[GET_DEFAULT_THEME] as any as ThemeName\n}\n\nexport const useTheme = (): ThemeObject => {\n const forceUpdate = useForceUpdate()\n const manager = useContext(ThemeManagerContext)\n const themes = useContext(ThemeContext) || {}\n\n const state = useRef() as React.MutableRefObject<UseThemeState>\n if (!state.current) {\n state.current = {\n uuid: {},\n keys: new Set(),\n isRendering: true,\n }\n }\n state.current.isRendering = true\n\n // track usage\n useIsomorphicLayoutEffect(() => {\n const st = state.current\n st.isRendering = false\n const cur = manager.keys.get(st.uuid)\n if (!cur || !areEqualSets(st.keys, cur)) {\n manager.track(st.uuid, st.keys)\n }\n })\n\n useEffect(() => {\n return manager.onUpdate(state.current.uuid, forceUpdate)\n }, [])\n\n const theme = (manager.name ? themes[manager.name] : themes.light) ?? themes.light ?? {}\n\n return useMemo(\n () => {\n return new Proxy(theme, {\n get(_, key: string) {\n const name = manager.name\n if (!name) {\n return Reflect.get(_, key)\n }\n let activeTheme = themes[name]\n if (!activeTheme) {\n if (process.env.NODE_ENV !== 'test') {\n console.error('No theme by name', name, 'only:', themes, 'keeping current theme')\n }\n activeTheme = theme\n }\n const val = activeTheme[key]\n if (process.env.NODE_ENV === 'development') {\n if (typeof val === 'undefined') {\n console.warn(`No theme value \"${String(key)}\" in`, activeTheme)\n return null\n }\n if (!isVariable(val)) {\n console.warn('Non variable!', val)\n }\n if (val.name !== key) {\n console.warn('Non-matching name for variable to key', key, val.name)\n }\n }\n if (state.current.isRendering) {\n state.current.keys.add(key)\n }\n return val\n },\n })\n },\n [\n /* if concurrent mode wanted put manager.name here */\n ]\n )\n}\n"],
5
+ "mappings": ";;AAAA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAQA,MAAM,eAAe,wBAAC,GAAgB,MAAmB;AACvD,MAAI,EAAE,SAAS,EAAE;AAAM,WAAO;AAC9B,aAAW,OAAO,GAAG;AACnB,QAAI,CAAC,EAAE,IAAI,MAAM;AACf,aAAO;AAAA;AAAA;AAGX,SAAO;AAAA,GAPY;AAUd,MAAM,eAAe,wBAAC,SAA6B;AACxD,QAAM,SAAS,WAAW;AAC1B,QAAM,CAAC,MAAM,WAAW,SAAS,OAAO;AAExC,4BAA0B,MAAM;AAC9B,WAAO,OAAO,cAAc,CAAC,MAAM,YAAY;AAC7C,cAAQ,8BAAM,UAAS,QAAQ,aAAa;AAAA;AAAA,KAE7C,CAAC;AAEJ,SAAO,QAAQ;AAAA,GAVW;AAarB,MAAM,sBAAsB,6BAAM;AACvC,SAAO,WAAW,cAAc;AAAA,GADC;AAI5B,MAAM,WAAW,6BAAmB;AA3C3C;AA4CE,QAAM,cAAc;AACpB,QAAM,UAAU,WAAW;AAC3B,QAAM,SAAS,WAAW,iBAAiB;AAE3C,QAAM,QAAQ;AACd,MAAI,CAAC,MAAM,SAAS;AAClB,UAAM,UAAU;AAAA,MACd,MAAM;AAAA,MACN,MAAM,oBAAI;AAAA,MACV,aAAa;AAAA;AAAA;AAGjB,QAAM,QAAQ,cAAc;AAG5B,4BAA0B,MAAM;AAC9B,UAAM,KAAK,MAAM;AACjB,OAAG,cAAc;AACjB,UAAM,MAAM,QAAQ,KAAK,IAAI,GAAG;AAChC,QAAI,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,MAAM;AACvC,cAAQ,MAAM,GAAG,MAAM,GAAG;AAAA;AAAA;AAI9B,YAAU,MAAM;AACd,WAAO,QAAQ,SAAS,MAAM,QAAQ,MAAM;AAAA,KAC3C;AAEH,QAAM,QAAS,oBAAQ,OAAO,OAAO,QAAQ,QAAQ,OAAO,UAA7C,YAAuD,OAAO,UAA9D,YAAuE;AAEtF,SAAO,QACL,MAAM;AACJ,WAAO,IAAI,MAAM,OAAO;AAAA,MACtB,IAAI,GAAG,KAAa;AAClB,cAAM,OAAO,QAAQ;AACrB,YAAI,CAAC,MAAM;AACT,iBAAO,QAAQ,IAAI,GAAG;AAAA;AAExB,YAAI,cAAc,OAAO;AACzB,YAAI,CAAC,aAAa;AAChB,cAAI,QAAQ,IAAI,aAAa,QAAQ;AACnC,oBAAQ,MAAM,oBAAoB,MAAM,SAAS,QAAQ;AAAA;AAE3D,wBAAc;AAAA;AAEhB,cAAM,MAAM,YAAY;AACxB,YAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,cAAI,OAAO,QAAQ,aAAa;AAC9B,oBAAQ,KAAK,mBAAmB,OAAO,YAAY;AACnD,mBAAO;AAAA;AAET,cAAI,CAAC,WAAW,MAAM;AACpB,oBAAQ,KAAK,iBAAiB;AAAA;AAEhC,cAAI,IAAI,SAAS,KAAK;AACpB,oBAAQ,KAAK,yCAAyC,KAAK,IAAI;AAAA;AAAA;AAGnE,YAAI,MAAM,QAAQ,aAAa;AAC7B,gBAAM,QAAQ,KAAK,IAAI;AAAA;AAEzB,eAAO;AAAA;AAAA;AAAA,KAIb;AAAA,GAlEoB;",
6
+ "names": []
7
+ }
@@ -7,10 +7,12 @@ import { createTokens } from "./createTokens";
7
7
  export * from "./createVariable";
8
8
  export * from "./styled";
9
9
  export * from "./types";
10
+ import { getHasConfigured, getTamagui, getThemes, getTokens, onConfiguredOnce } from "./conf";
10
11
  export * from "./constants/pseudos";
11
12
  export * from "./constants/constants";
12
13
  export * from "./constants/platform";
13
14
  export * from "./constants/rnw";
15
+ export * from "./helpers/getThemeParentClassName";
14
16
  export * from "./helpers/isObj";
15
17
  export * from "./helpers/getStylesAtomic";
16
18
  export * from "./helpers/matchMedia";
@@ -27,6 +29,11 @@ export * from "./views/ThemeInverse";
27
29
  export * from "./views/ThemeProvider";
28
30
  export * from "./views/TextAncestorContext";
29
31
  export {
30
- createTokens
32
+ createTokens,
33
+ getHasConfigured,
34
+ getTamagui,
35
+ getThemes,
36
+ getTokens,
37
+ onConfiguredOnce
31
38
  };
32
39
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "sourcesContent": ["export * from './createComponent'\nexport * from './createShorthands'\nexport * from './createTheme'\nexport * from './createTamagui'\nexport * from './createFont'\nexport { createTokens } from './createTokens'\nexport * from './createVariable'\nexport * from './styled'\nexport * from './types'\nexport { getHasConfigured, getTamagui, getThemes, getTokens, onConfiguredOnce } from './conf'\n\nexport * from './constants/pseudos'\nexport * from './constants/constants'\nexport * from './constants/platform'\nexport * from './constants/rnw'\n\nexport * from './helpers/getThemeParentClassName'\nexport * from './helpers/isObj'\nexport * from './helpers/getStylesAtomic'\nexport * from './helpers/matchMedia'\nexport * from './helpers/themeable'\nexport * from './helpers/isTamaguiElement'\n\nexport * from './hooks/useConstant'\nexport * from './hooks/useMedia'\nexport * from './hooks/useTheme'\n\nexport * from './views/Animated'\nexport * from './views/Stack'\nexport * from './views/Text'\nexport * from './views/Theme'\nexport * from './views/ThemeInverse'\nexport * from './views/ThemeProvider'\nexport * from './views/TextAncestorContext'\n"],
5
+ "mappings": "AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;",
6
+ "names": []
7
+ }
File without changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/static/postProcessStyles.tsx"],
3
+ "sources": ["../../../src/static/postProcessStyles.tsx"],
4
4
  "sourcesContent": ["import { getSplitStyles } from '../helpers/getSplitStyles'\nimport { StaticConfigParsed, TamaguiInternalConfig, ThemeObject } from '../types'\n\n// used only by static extractor\n\nexport const postProcessStyles = (\n inStyles: any,\n staticConfig: StaticConfigParsed,\n theme: ThemeObject\n) => {\n const { style, viewProps, pseudos, classNames } = getSplitStyles(inStyles, staticConfig, theme)\n // flattening\n const next = {}\n for (const s of style) {\n if (!s) continue\n Object.assign(next, s)\n }\n Object.assign(next, pseudos)\n return { style: next, viewProps, classNames }\n}\n"],
5
5
  "mappings": ";;AAAA;AAKO,MAAM,oBAAoB,wBAC/B,UACA,cACA,UACG;AACH,QAAM,EAAE,OAAO,WAAW,SAAS,eAAe,eAAe,UAAU,cAAc;AAEzF,QAAM,OAAO;AACb,aAAW,KAAK,OAAO;AACrB,QAAI,CAAC;AAAG;AACR,WAAO,OAAO,MAAM;AAAA;AAEtB,SAAO,OAAO,MAAM;AACpB,SAAO,EAAE,OAAO,MAAM,WAAW;AAAA,GAbF;",
6
6
  "names": []
File without changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/static.ts"],
3
+ "sources": ["../../src/static.ts"],
4
4
  "sourcesContent": ["// only stuff that gets extracted or needed by tamagui-static\n\nexport * from './styled'\nexport * from './createComponent'\nexport * from './createFont'\nexport * from './createTokens'\nexport * from './createTamagui'\nexport * from './constants/constants'\n\nexport * from './hooks/useMedia'\nexport * from './hooks/useTheme'\n\nexport * from './helpers/isObj'\nexport * from './helpers/getStylesAtomic'\nexport * from './helpers/getSplitStyles'\nexport * from '@tamagui/helpers'\n\nexport * from './constants/pseudos'\n\n// -- below exports are only bundled compile-time --\n\nexport * from './static/postProcessStyles'\n"],
5
5
  "mappings": "AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAIA;",
6
6
  "names": []
File without changes
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/styled.ts"],
4
+ "sourcesContent": ["import * as React from 'react'\n\nimport { createComponent } from './createComponent'\nimport { extendStaticConfig } from './helpers/extendStaticConfig'\nimport {\n MediaProps,\n PseudoProps,\n StaticComponent,\n StaticConfig,\n TamaguiConfig,\n Themes,\n Tokens,\n} from './types'\n\nexport function styled<\n Props,\n ParentComponent extends StaticComponent | React.Component<any>,\n Variants extends GetVariants<GetProps<ParentComponent>>\n>(\n Component: ParentComponent,\n options?: GetProps<ParentComponent> & {\n variants?: Variants\n },\n staticExtractionOptions?: StaticConfig\n) {\n const staticConfigProps: StaticConfig = (() => {\n if (options) {\n const { variants, ...defaultProps } = options\n return { ...staticExtractionOptions, variants, defaultProps }\n }\n return {}\n })()\n const config = extendStaticConfig(Component, staticConfigProps)\n const component = createComponent(config!) // error is good here its on init\n\n type VariantProps = GetVariantProps<Variants>\n type ParentProps = Props extends Object ? Props : GetProps<ParentComponent>\n\n return component as StaticComponent<\n // if not options/variants passed just styled(Text):\n keyof VariantProps extends never\n ? ParentProps\n : // if options passed: styled(Text, { ... })\n Omit<ParentProps, keyof VariantProps> &\n VariantProps &\n MediaProps<VariantProps> &\n PseudoProps<VariantProps>,\n void\n >\n}\n\n// type ParentVariants = A extends StaticComponent<any, infer Variants> ? Variants : {}\n\nexport type GetProps<A> = A extends StaticComponent<infer Props>\n ? Props\n : A extends React.Component<infer Props>\n ? Props\n : A extends (props: infer Props) => any\n ? Props\n : {}\n\nexport type GetVariants<Props> = void | {\n [key: string]: {\n [key: string]:\n | Partial<Props>\n | ((\n val: any,\n config: {\n tokens: TamaguiConfig['tokens']\n theme: Themes extends { [key: string]: infer B } ? B : unknown\n props: Props\n }\n ) => Partial<Props>)\n }\n}\n\nexport type GetVariantProps<Variants> = Variants extends void\n ? {}\n : {\n // ensure variants actually defined\n [Key in keyof Variants]?: keyof Variants[Key] extends `...${infer VariantSpread}`\n ? VariantSpread extends keyof Tokens\n ? keyof Tokens[VariantSpread] extends string | number\n ? `$${keyof Tokens[VariantSpread]}` | null\n : unknown\n : unknown\n : keyof Variants[Key] extends 'true'\n ? boolean | null\n : keyof Exclude<Variants[Key], undefined>\n }\n\n// type X = { ok: 1 }\n// type Y = { okk: 2; ok: 3 }\n// type Z = X & Y\n// type Z2 = Z\n\n// TODO get name\n// const displayName = `styled(Component)`\n// Object.defineProperty(component, 'name', {\n// value: displayName,\n// writable: false,\n// })\n"],
5
+ "mappings": ";;AAEA;AACA;AAWO,gBAKL,WACA,SAGA,yBACA;AACA,QAAM,oBAAmC,OAAM;AAC7C,QAAI,SAAS;AACX,YAAM,EAAE,aAAa,iBAAiB;AACtC,aAAO,KAAK,yBAAyB,UAAU;AAAA;AAEjD,WAAO;AAAA;AAET,QAAM,SAAS,mBAAmB,WAAW;AAC7C,QAAM,YAAY,gBAAgB;AAKlC,SAAO;AAAA;AAxBO;",
6
+ "names": []
7
+ }
@@ -0,0 +1,11 @@
1
+ .tamagui-absolute-fill {
2
+ position: absolute;
3
+ top: 0;
4
+ left: 0;
5
+ right: 0;
6
+ bottom: 0;
7
+ }
8
+ .reset-appearance {
9
+ -webkit-appearance: none;
10
+ }
11
+ /*# sourceMappingURL=tamagui-base.css.map */
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/tamagui-base.css"],
4
+ "sourcesContent": [".tamagui-absolute-fill {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n\n.reset-appearance {\n -webkit-appearance: none;\n}\n"],
5
+ "mappings": "AAAA;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;",
6
+ "names": []
7
+ }
File without changes
File without changes
@@ -0,0 +1,14 @@
1
+ import { styled } from "../styled";
2
+ import { Stack } from "./Stack";
3
+ const AbsoluteFullscreen = styled(Stack, {
4
+ position: "absolute",
5
+ top: 0,
6
+ left: 0,
7
+ right: 0,
8
+ bottom: 0
9
+ });
10
+ globalThis["TamaguiAbsoluteFullscreen"] = AbsoluteFullscreen;
11
+ export {
12
+ AbsoluteFullscreen
13
+ };
14
+ //# sourceMappingURL=AbsoluteFullscreen.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/AbsoluteFullscreen.tsx"],
4
+ "sourcesContent": ["import { styled } from '../styled'\nimport { Stack } from './Stack'\n\nexport const AbsoluteFullscreen = styled(Stack, {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n})\n\nglobalThis['TamaguiAbsoluteFullscreen'] = AbsoluteFullscreen\n"],
5
+ "mappings": "AAAA;AACA;AAEO,MAAM,qBAAqB,OAAO,OAAO;AAAA,EAC9C,UAAU;AAAA,EACV,KAAK;AAAA,EACL,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA;AAGV,WAAW,+BAA+B;",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=AbsoluteFullscreen.native.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
File without changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/views/Animated.tsx"],
3
+ "sources": ["../../../src/views/Animated.tsx"],
4
4
  "sourcesContent": ["import React, { useMemo } from 'react'\nimport {\n Animated,\n PerpectiveTransform,\n RotateTransform,\n RotateXTransform,\n RotateYTransform,\n RotateZTransform,\n ScaleTransform,\n ScaleXTransform,\n ScaleYTransform,\n SkewXTransform,\n SkewYTransform,\n TranslateXTransform,\n TranslateYTransform,\n} from 'react-native'\n\nimport { useIsomorphicLayoutEffect } from '../constants/platform'\nimport { useConstant } from '../hooks/useConstant'\nimport { StackProps } from '../types'\nimport { Stack } from './Stack'\n\nconst defaultAnimation = {\n from: {\n opacity: 0,\n translateY: 12,\n },\n to: {\n opacity: 1,\n translateY: 0,\n },\n}\n\ntype AnimatableProps = Partial<\n Pick<StackProps, 'backgroundColor' | 'borderColor' | 'opacity'> &\n PerpectiveTransform &\n RotateTransform &\n RotateXTransform &\n RotateYTransform &\n RotateZTransform &\n ScaleTransform &\n ScaleXTransform &\n ScaleYTransform &\n TranslateXTransform &\n TranslateYTransform &\n SkewXTransform &\n SkewYTransform\n>\n\nconst styleKeys = {\n opacity: true,\n backgroundColor: true,\n borderColor: true,\n}\n\nexport type AnimatedStackProps = StackProps & {\n animateState?: 'in' | 'out'\n velocity?: number\n animation?: {\n from: AnimatableProps\n to: AnimatableProps\n }\n}\n\nexport const AnimatedStack = ({\n animateState = 'in',\n animation = defaultAnimation,\n velocity = 6,\n children,\n animated,\n ...props\n}: AnimatedStackProps) => {\n const driver = useConstant(() => {\n return new Animated.Value(0)\n })\n\n const animatedProps = useMemo(() => {\n if (!animated) {\n return null\n }\n\n const styleProps = {}\n const transform: any = []\n\n for (const key in animation.from) {\n const fromVal = animation.from[key]\n const toVal = animation.to[key]\n const interpolatedVal = driver.interpolate({\n inputRange: [0, 1],\n outputRange: [fromVal, toVal],\n })\n if (styleKeys[key]) {\n styleProps[key] = interpolatedVal\n } else {\n transform.push({\n [key]: interpolatedVal,\n })\n }\n }\n return { transform, ...styleProps }\n }, [animated, animateState])\n\n useIsomorphicLayoutEffect(() => {\n if (!animated) {\n return\n }\n Animated.spring(driver, {\n useNativeDriver: true,\n velocity,\n toValue: animateState === 'in' ? 1 : 0,\n }).start()\n }, [animated, animateState])\n\n const childrenMemo = useMemo(() => children, [children])\n\n return (\n <Stack animated={animated} {...props} {...animatedProps}>\n {childrenMemo}\n </Stack>\n )\n}\n"],
5
5
  "mappings": ";;AAAA;AACA;AAAA;AAAA;AAgBA;AACA;AAEA;AAEA,MAAM,mBAAmB;AAAA,EACvB,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,YAAY;AAAA;AAAA,EAEd,IAAI;AAAA,IACF,SAAS;AAAA,IACT,YAAY;AAAA;AAAA;AAoBhB,MAAM,YAAY;AAAA,EAChB,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,aAAa;AAAA;AAYR,MAAM,gBAAgB,wBAAC;AAAA,EAC5B,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,WAAW;AAAA,EACX;AAAA,EACA;AAAA,KACG;AAAA,MACqB;AACxB,QAAM,SAAS,YAAY,MAAM;AAC/B,WAAO,IAAI,SAAS,MAAM;AAAA;AAG5B,QAAM,gBAAgB,QAAQ,MAAM;AAClC,QAAI,CAAC,UAAU;AACb,aAAO;AAAA;AAGT,UAAM,aAAa;AACnB,UAAM,YAAiB;AAEvB,eAAW,OAAO,UAAU,MAAM;AAChC,YAAM,UAAU,UAAU,KAAK;AAC/B,YAAM,QAAQ,UAAU,GAAG;AAC3B,YAAM,kBAAkB,OAAO,YAAY;AAAA,QACzC,YAAY,CAAC,GAAG;AAAA,QAChB,aAAa,CAAC,SAAS;AAAA;AAEzB,UAAI,UAAU,MAAM;AAClB,mBAAW,OAAO;AAAA,aACb;AACL,kBAAU,KAAK;AAAA,WACZ,MAAM;AAAA;AAAA;AAAA;AAIb,WAAO,EAAE,cAAc;AAAA,KACtB,CAAC,UAAU;AAEd,4BAA0B,MAAM;AAC9B,QAAI,CAAC,UAAU;AACb;AAAA;AAEF,aAAS,OAAO,QAAQ;AAAA,MACtB,iBAAiB;AAAA,MACjB;AAAA,MACA,SAAS,iBAAiB,OAAO,IAAI;AAAA,OACpC;AAAA,KACF,CAAC,UAAU;AAEd,QAAM,eAAe,QAAQ,MAAM,UAAU,CAAC;AAE9C,SACE,oCAAC,OAAD;AAAA,IAAO;AAAA,OAAwB;AAAA,OAAW;AAAA,KACvC;AAAA,GArDsB;",
6
6
  "names": []
File without changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/views/Stack.tsx"],
3
+ "sources": ["../../../src/views/Stack.tsx"],
4
4
  "sourcesContent": ["import { stackDefaultStyles } from '../constants/constants'\nimport { createComponent } from '../createComponent'\nimport { StackProps } from '../types'\n\nexport const Stack = createComponent<StackProps>({\n defaultProps: {\n ...stackDefaultStyles,\n flexDirection: 'column',\n },\n})\n\n// test types\n// export const YStack = styled(Stack, {\n// flexDirection: 'column',\n// })\n// // test types\n// const x00 = <Stack missing={0} /> // should err\n// const x0 = <YStack missing={0} /> // should err\n// const x1 = (props: StackProps) => <YStack {...props} />\n// type ys = typeof YStack\n// type ysv = ys extends StaticComponent<any, infer V> ? V : unknown\n"],
5
5
  "mappings": "AAAA;AACA;AAGO,MAAM,QAAQ,gBAA4B;AAAA,EAC/C,cAAc;AAAA,OACT;AAAA,IACH,eAAe;AAAA;AAAA;",
6
6
  "names": []
@@ -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",
@@ -10,7 +10,7 @@ const ellipseStyle = {
10
10
  const Text = createComponent({
11
11
  isText: true,
12
12
  defaultProps: {
13
- display: isWeb ? "inline" : "inline-flex",
13
+ display: isWeb ? "inline" : "flex",
14
14
  boxSizing: "border-box",
15
15
  fontFamily: "System",
16
16
  wordWrap: "break-word"
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/Text.tsx"],
4
+ "sourcesContent": ["import { stylePropsTextOnly, validStyles } from '@tamagui/helpers'\n\nimport { isWeb } from '../constants/platform'\nimport { createComponent } from '../createComponent'\nimport { TextProps } from '../types'\n\nconst ellipseStyle = {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n}\n\nexport const Text = createComponent<TextProps>({\n isText: true,\n defaultProps: {\n display: isWeb ? 'inline' : 'flex',\n boxSizing: 'border-box',\n fontFamily: 'System',\n wordWrap: 'break-word',\n },\n variants: {\n numberOfLines: {\n 1: ellipseStyle,\n // TODO imply fn, test 1, could do types `>1` `<2`\n '[number]': (lines) => (lines > 1 ? { WebkitLineClamp: 1 } : null),\n },\n\n selectable: {\n true: {\n userSelect: 'text',\n },\n false: {\n userSelect: 'none',\n },\n },\n\n pressable: {\n true: {\n cursor: 'pointer',\n },\n },\n\n ellipse: {\n true: isWeb\n ? ellipseStyle\n : {\n numberOfLines: 1,\n lineBreakMode: 'clip',\n },\n },\n },\n deoptProps: new Set(isWeb ? [] : ['ellipse']),\n validStyles: {\n ...validStyles,\n ...stylePropsTextOnly,\n ...(isWeb && {\n userSelect: true,\n textOverflow: true,\n whiteSpace: true,\n wordWrap: true,\n selectable: true,\n cursor: true,\n }),\n },\n})\n"],
5
+ "mappings": "AAAA;AAEA;AACA;AAGA,MAAM,eAAe;AAAA,EACnB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,cAAc;AAAA,EACd,YAAY;AAAA;AAGP,MAAM,OAAO,gBAA2B;AAAA,EAC7C,QAAQ;AAAA,EACR,cAAc;AAAA,IACZ,SAAS,QAAQ,WAAW;AAAA,IAC5B,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,UAAU;AAAA;AAAA,EAEZ,UAAU;AAAA,IACR,eAAe;AAAA,MACb,GAAG;AAAA,MAEH,YAAY,CAAC,UAAW,QAAQ,IAAI,EAAE,iBAAiB,MAAM;AAAA;AAAA,IAG/D,YAAY;AAAA,MACV,MAAM;AAAA,QACJ,YAAY;AAAA;AAAA,MAEd,OAAO;AAAA,QACL,YAAY;AAAA;AAAA;AAAA,IAIhB,WAAW;AAAA,MACT,MAAM;AAAA,QACJ,QAAQ;AAAA;AAAA;AAAA,IAIZ,SAAS;AAAA,MACP,MAAM,QACF,eACA;AAAA,QACE,eAAe;AAAA,QACf,eAAe;AAAA;AAAA;AAAA;AAAA,EAIzB,YAAY,IAAI,IAAI,QAAQ,KAAK,CAAC;AAAA,EAClC,aAAa;AAAA,OACR;AAAA,OACA;AAAA,OACC,SAAS;AAAA,MACX,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,QAAQ;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,18 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ var _a, _b;
4
+ import React, { createContext } from "react";
5
+ import { rnw } from "../constants/rnw";
6
+ const FallbackNativeContext = createContext(false);
7
+ const TextAncestorContext = (_b = (_a = rnw) == null ? void 0 : _a.TextAncestorContext) != null ? _b : FallbackNativeContext;
8
+ const TextAncestorProvider = /* @__PURE__ */ __name((props) => {
9
+ return /* @__PURE__ */ React.createElement(TextAncestorContext.Provider, {
10
+ value: false
11
+ }, props.children);
12
+ }, "TextAncestorProvider");
13
+ export {
14
+ FallbackNativeContext,
15
+ TextAncestorContext,
16
+ TextAncestorProvider
17
+ };
18
+ //# sourceMappingURL=TextAncestorContext.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/TextAncestorContext.tsx"],
4
+ "sourcesContent": ["import React, { createContext } from 'react'\n\nimport { rnw } from '../constants/rnw'\n\nexport const FallbackNativeContext = createContext(false)\n\nexport const TextAncestorContext = rnw?.TextAncestorContext ?? FallbackNativeContext\n\nexport const TextAncestorProvider = (props) => {\n return <TextAncestorContext.Provider value={false}>{props.children}</TextAncestorContext.Provider>\n}\n"],
5
+ "mappings": ";;AAAA;AAAA;AAEA;AAEO,MAAM,wBAAwB,cAAc;AAE5C,MAAM,sBAAsB,uCAAK,wBAAL,YAA4B;AAExD,MAAM,uBAAuB,wBAAC,UAAU;AAC7C,SAAO,oCAAC,oBAAoB,UAArB;AAAA,IAA8B,OAAO;AAAA,KAAQ,MAAM;AAAA,GADxB;",
6
+ "names": []
7
+ }
@@ -2,28 +2,30 @@ var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
  import React, { useContext, useState } from "react";
4
4
  import { isWeb, useIsomorphicLayoutEffect } from "../constants/platform";
5
- import { getThemeParentClassName } from "../createTamagui";
5
+ import { getThemeParentClassName } from "../helpers/getThemeParentClassName";
6
6
  import { useConstant } from "../hooks/useConstant";
7
7
  import { ThemeContext } from "./ThemeContext";
8
8
  import { ThemeManager, ThemeManagerContext } from "./ThemeManagerContext";
9
9
  const Theme = /* @__PURE__ */ __name((props) => {
10
+ var _a, _b;
10
11
  const parent = useContext(ThemeManagerContext);
11
12
  const themes = useContext(ThemeContext);
12
13
  const [parentName, setParentName] = useState(parent.name || "light");
13
14
  if (!themes) {
14
- console.warn("no themes???", props);
15
+ console.warn("Error, no themes in context", props);
15
16
  return props.children;
16
17
  }
17
- const name = props.name;
18
- const activeName = !name ? null : name in themes ? name : `${name}-${parentName}`;
19
- const theme = activeName ? themes[activeName] : null;
18
+ const nextNameParent = `${props.name}-${parentName}`;
19
+ const nextNameParentParent = `${props.name}-${parent.parentName}`;
20
+ const name = !props.name ? null : props.name in themes ? props.name : nextNameParent in themes ? nextNameParent : nextNameParentParent in themes ? nextNameParentParent : null;
21
+ const theme = name ? themes[name] : null;
20
22
  const themeManager = useConstant(() => {
21
23
  if (!theme) {
22
24
  return null;
23
25
  }
24
26
  const manager = new ThemeManager();
25
27
  if (name) {
26
- manager.setActiveTheme(name, themes[name]);
28
+ manager.setActiveTheme({ name, theme: themes[name], parentName });
27
29
  }
28
30
  return manager;
29
31
  });
@@ -31,14 +33,16 @@ const Theme = /* @__PURE__ */ __name((props) => {
31
33
  if (!themeManager) {
32
34
  return;
33
35
  }
34
- themeManager.setActiveTheme(activeName, theme);
36
+ if (name) {
37
+ themeManager.setActiveTheme({ name, theme, parentName });
38
+ }
35
39
  return parent.onChangeTheme((next) => {
36
40
  if (next) {
37
- themeManager.setActiveTheme(next, themes[next]);
41
+ themeManager.setActiveTheme({ name: next, theme: themes[next], parentName });
38
42
  setParentName(next);
39
43
  }
40
44
  });
41
- }, [themes, activeName]);
45
+ }, [themes, name, parentName]);
42
46
  if (!name || !theme) {
43
47
  return props.children;
44
48
  }
@@ -49,11 +53,13 @@ const Theme = /* @__PURE__ */ __name((props) => {
49
53
  if (props.disableThemeClass) {
50
54
  return contents;
51
55
  }
52
- const color = themes[name]?.["color"]?.["variable"];
53
- return /* @__PURE__ */ React.createElement("div", {
54
- className: getThemeParentClassName(name),
55
- style: { display: "contents", color }
56
- }, contents);
56
+ if (name) {
57
+ const color = (_b = (_a = themes[name]) == null ? void 0 : _a["color"]) == null ? void 0 : _b["variable"];
58
+ return /* @__PURE__ */ React.createElement("div", {
59
+ className: getThemeParentClassName(props.name),
60
+ style: { display: "contents", color }
61
+ }, contents);
62
+ }
57
63
  }
58
64
  return contents;
59
65
  }, "Theme");
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/views/Theme.tsx"],
4
+ "sourcesContent": ["import React, { useContext, useState } from 'react'\n\nimport { isWeb, useIsomorphicLayoutEffect } from '../constants/platform'\nimport { getThemeParentClassName } from '../helpers/getThemeParentClassName'\nimport { useConstant } from '../hooks/useConstant'\nimport { ThemeName } from '../types'\nimport { ThemeContext } from './ThemeContext'\nimport { ThemeManager, ThemeManagerContext } from './ThemeManagerContext'\n\nexport type ThemeProps = {\n disableThemeClass?: boolean\n name: Exclude<ThemeName, number> | null\n children?: any\n}\n\nexport const Theme = (props: ThemeProps) => {\n const parent = useContext(ThemeManagerContext)\n const themes = useContext(ThemeContext)\n const [parentName, setParentName] = useState(parent.name || 'light')\n if (!themes) {\n console.warn('Error, no themes in context', props)\n return props.children\n }\n\n const nextNameParent = `${props.name}-${parentName}`\n const nextNameParentParent = `${props.name}-${parent.parentName}`\n const name = !props.name\n ? null\n : props.name in themes\n ? props.name\n : nextNameParent in themes\n ? nextNameParent\n : nextNameParentParent in themes\n ? nextNameParentParent\n : null\n const theme = name ? themes[name] : null\n const themeManager = useConstant<ThemeManager | null>(() => {\n if (!theme) {\n return null\n }\n const manager = new ThemeManager()\n if (name) {\n manager.setActiveTheme({ name, theme: themes[name], parentName })\n }\n return manager\n })\n\n useIsomorphicLayoutEffect(() => {\n if (!themeManager) {\n return\n }\n if (name) {\n themeManager.setActiveTheme({ name, theme, parentName })\n }\n return parent.onChangeTheme((next) => {\n if (next) {\n themeManager.setActiveTheme({ name: next, theme: themes[next], parentName })\n setParentName(next)\n }\n })\n }, [themes, name, parentName])\n\n if (!name || !theme) {\n return props.children\n }\n\n const contents = themeManager ? (\n <ThemeManagerContext.Provider value={themeManager}>\n {props.children}\n </ThemeManagerContext.Provider>\n ) : (\n props.children\n )\n\n if (isWeb) {\n if (props.disableThemeClass) {\n return contents\n }\n if (name) {\n const color = themes[name]?.['color']?.['variable']\n return (\n <div\n className={getThemeParentClassName(props.name)}\n // in order to provide currentColor, set color by default\n style={{ display: 'contents', color }}\n >\n {contents}\n </div>\n )\n }\n }\n\n return contents\n}\n"],
5
+ "mappings": ";;AAAA;AAEA;AACA;AACA;AAEA;AACA;AAQO,MAAM,QAAQ,wBAAC,UAAsB;AAf5C;AAgBE,QAAM,SAAS,WAAW;AAC1B,QAAM,SAAS,WAAW;AAC1B,QAAM,CAAC,YAAY,iBAAiB,SAAS,OAAO,QAAQ;AAC5D,MAAI,CAAC,QAAQ;AACX,YAAQ,KAAK,+BAA+B;AAC5C,WAAO,MAAM;AAAA;AAGf,QAAM,iBAAiB,GAAG,MAAM,QAAQ;AACxC,QAAM,uBAAuB,GAAG,MAAM,QAAQ,OAAO;AACrD,QAAM,OAAO,CAAC,MAAM,OAChB,OACA,MAAM,QAAQ,SACd,MAAM,OACN,kBAAkB,SAClB,iBACA,wBAAwB,SACxB,uBACA;AACJ,QAAM,QAAQ,OAAO,OAAO,QAAQ;AACpC,QAAM,eAAe,YAAiC,MAAM;AAC1D,QAAI,CAAC,OAAO;AACV,aAAO;AAAA;AAET,UAAM,UAAU,IAAI;AACpB,QAAI,MAAM;AACR,cAAQ,eAAe,EAAE,MAAM,OAAO,OAAO,OAAO;AAAA;AAEtD,WAAO;AAAA;AAGT,4BAA0B,MAAM;AAC9B,QAAI,CAAC,cAAc;AACjB;AAAA;AAEF,QAAI,MAAM;AACR,mBAAa,eAAe,EAAE,MAAM,OAAO;AAAA;AAE7C,WAAO,OAAO,cAAc,CAAC,SAAS;AACpC,UAAI,MAAM;AACR,qBAAa,eAAe,EAAE,MAAM,MAAM,OAAO,OAAO,OAAO;AAC/D,sBAAc;AAAA;AAAA;AAAA,KAGjB,CAAC,QAAQ,MAAM;AAElB,MAAI,CAAC,QAAQ,CAAC,OAAO;AACnB,WAAO,MAAM;AAAA;AAGf,QAAM,WAAW,eACf,oCAAC,oBAAoB,UAArB;AAAA,IAA8B,OAAO;AAAA,KAClC,MAAM,YAGT,MAAM;AAGR,MAAI,OAAO;AACT,QAAI,MAAM,mBAAmB;AAC3B,aAAO;AAAA;AAET,QAAI,MAAM;AACR,YAAM,QAAQ,mBAAO,UAAP,mBAAe,aAAf,mBAA0B;AACxC,aACE,oCAAC,OAAD;AAAA,QACE,WAAW,wBAAwB,MAAM;AAAA,QAEzC,OAAO,EAAE,SAAS,YAAY;AAAA,SAE7B;AAAA;AAAA;AAMT,SAAO;AAAA,GA7EY;",
6
+ "names": []
7
+ }
File without changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/views/ThemeContext.tsx"],
3
+ "sources": ["../../../src/views/ThemeContext.tsx"],
4
4
  "sourcesContent": ["import { createContext } from 'react'\n\nimport { Themes } from '../types'\n\nexport const ThemeContext = createContext<Themes>(null as any)\n"],
5
5
  "mappings": "AAAA;AAIO,MAAM,eAAe,cAAsB;",
6
6
  "names": []
File without changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/views/ThemeInverse.tsx"],
3
+ "sources": ["../../../src/views/ThemeInverse.tsx"],
4
4
  "sourcesContent": ["import React from 'react'\n\nimport { useDefaultThemeName, useThemeName } from '../hooks/useTheme'\nimport { Theme } from './Theme'\n\ntype StringRecord = { [key: string]: string }\n\nlet inversions: StringRecord = {\n light: 'dark',\n dark: 'light',\n}\n\nexport function setThemeInversions(next: StringRecord) {\n inversions = next\n}\n\nexport const ThemeInverse = (props: { children: any }) => {\n const themeName = useThemeName()\n const defaultTheme = useDefaultThemeName()\n const name = inversions[themeName] || inversions[defaultTheme] || null\n return <Theme name={name}>{props.children}</Theme>\n}\n"],
5
5
  "mappings": ";;AAAA;AAEA;AACA;AAIA,IAAI,aAA2B;AAAA,EAC7B,OAAO;AAAA,EACP,MAAM;AAAA;AAGD,4BAA4B,MAAoB;AACrD,eAAa;AAAA;AADC;AAIT,MAAM,eAAe,wBAAC,UAA6B;AACxD,QAAM,YAAY;AAClB,QAAM,eAAe;AACrB,QAAM,OAAO,WAAW,cAAc,WAAW,iBAAiB;AAClE,SAAO,oCAAC,OAAD;AAAA,IAAO;AAAA,KAAa,MAAM;AAAA,GAJP;",
6
6
  "names": []