@tamagui/core 1.0.0-alpha.38 → 1.0.0-alpha.41

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 (356) 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 +539 -0
  12. package/dist/cjs/createComponent.js.map +7 -0
  13. package/dist/cjs/createFont.js +51 -0
  14. package/dist/cjs/createFont.js.map +7 -0
  15. package/dist/cjs/createShorthands.js +33 -0
  16. package/dist/cjs/createShorthands.js.map +7 -0
  17. package/dist/cjs/createTamagui.js +205 -0
  18. package/dist/cjs/createTamagui.js.map +7 -0
  19. package/dist/cjs/createTheme.js +30 -0
  20. package/dist/cjs/createTheme.js.map +7 -0
  21. package/dist/cjs/createTokens.js +56 -0
  22. package/dist/cjs/createTokens.js.map +7 -0
  23. package/dist/cjs/createVariable.js +48 -0
  24. package/dist/cjs/createVariable.js.map +7 -0
  25. package/dist/cjs/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/cjs/helpers/createMediaStyle.js.map +7 -0
  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/cjs/helpers/extendStaticConfig.js.map +7 -0
  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/cjs/helpers/insertStyleRule.js.map +7 -0
  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/cjs/helpers/themeable.js.map +7 -0
  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/cjs/hooks/useConstant.js.map +7 -0
  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/cjs/hooks/usePressable.js.map +7 -0
  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 +64 -0
  74. package/dist/cjs/index.js.map +7 -0
  75. package/dist/cjs/static/postProcessStyles.js +41 -0
  76. package/dist/cjs/static/postProcessStyles.js.map +7 -0
  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/cjs/views/Animated.js.map +7 -0
  85. package/dist/cjs/views/Stack.js +52 -0
  86. package/dist/cjs/views/Stack.js.map +7 -0
  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/cjs/views/ThemeContext.js.map +7 -0
  95. package/dist/cjs/views/ThemeInverse.js +54 -0
  96. package/dist/cjs/views/ThemeInverse.js.map +7 -0
  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 +18 -0
  104. package/dist/esm/constants/constants.js.map +7 -0
  105. package/dist/{constants → esm/constants}/platform.js +3 -2
  106. package/dist/esm/constants/platform.js.map +7 -0
  107. package/dist/esm/constants/pseudos.js +18 -0
  108. package/dist/esm/constants/pseudos.js.map +7 -0
  109. package/dist/esm/constants/rnw.js +22 -0
  110. package/dist/esm/constants/rnw.js.map +7 -0
  111. package/dist/esm/createComponent.js +469 -0
  112. package/dist/esm/createComponent.js.map +7 -0
  113. package/dist/esm/createFont.js +28 -0
  114. package/dist/esm/createFont.js.map +7 -0
  115. package/dist/{createShorthands.js → esm/createShorthands.js} +0 -0
  116. package/dist/esm/createShorthands.js.map +7 -0
  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} +6 -2
  124. package/dist/esm/createVariable.js.map +7 -0
  125. package/dist/esm/getThemeParentClassName.js +11 -0
  126. package/dist/esm/getThemeParentClassName.js.map +7 -0
  127. package/dist/esm/helpers/addStylesUsingClassname.js +57 -0
  128. package/dist/esm/helpers/addStylesUsingClassname.js.map +7 -0
  129. package/dist/{helpers → esm/helpers}/createMediaStyle.js +0 -0
  130. package/dist/{helpers → esm/helpers}/createMediaStyle.js.map +1 -1
  131. package/dist/esm/helpers/createPropMapper.js +162 -0
  132. package/dist/esm/helpers/createPropMapper.js.map +7 -0
  133. package/dist/{helpers → esm/helpers}/createTamaguiProvider.js +2 -20
  134. package/dist/esm/helpers/createTamaguiProvider.js.map +7 -0
  135. package/dist/esm/helpers/extendStaticConfig.js +60 -0
  136. package/dist/esm/helpers/extendStaticConfig.js.map +7 -0
  137. package/dist/esm/helpers/fixNativeShadow.js +8 -0
  138. package/dist/esm/helpers/fixNativeShadow.js.map +7 -0
  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 +43 -40
  142. package/dist/esm/helpers/getSplitStyles.js.map +7 -0
  143. package/dist/esm/helpers/getStylesAtomic.js +84 -0
  144. package/dist/esm/helpers/getStylesAtomic.js.map +7 -0
  145. package/dist/esm/helpers/getStylesAtomic.native.js +10 -0
  146. package/dist/esm/helpers/getStylesAtomic.native.js.map +7 -0
  147. package/dist/esm/helpers/getThemeParentClassName.js +11 -0
  148. package/dist/esm/helpers/getThemeParentClassName.js.map +7 -0
  149. package/dist/{helpers → esm/helpers}/insertStyleRule.js +7 -0
  150. package/dist/esm/helpers/insertStyleRule.js.map +7 -0
  151. package/dist/esm/helpers/isObj.js +7 -0
  152. package/dist/esm/helpers/isObj.js.map +7 -0
  153. package/dist/esm/helpers/isTamaguiElement.js +11 -0
  154. package/dist/esm/helpers/isTamaguiElement.js.map +7 -0
  155. package/dist/{helpers → 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/{helpers → esm/helpers}/matchMedia.native.js.map +3 -3
  159. package/dist/{helpers → esm/helpers}/themeable.js +1 -1
  160. package/dist/{helpers → esm/helpers}/themeable.js.map +3 -3
  161. package/dist/esm/helpers/validate.js +60 -0
  162. package/dist/esm/helpers/validate.js.map +7 -0
  163. package/dist/{hooks → esm/hooks}/useConstant.js +0 -0
  164. package/dist/{hooks → esm/hooks}/useConstant.js.map +1 -1
  165. package/dist/{hooks → esm/hooks}/useFeatures.js +39 -51
  166. package/dist/esm/hooks/useFeatures.js.map +7 -0
  167. package/dist/{hooks → esm/hooks}/useMedia.js +21 -19
  168. package/dist/esm/hooks/useMedia.js.map +7 -0
  169. package/dist/{hooks → esm/hooks}/usePressable.js +2 -1
  170. package/dist/{hooks → esm/hooks}/usePressable.js.map +2 -2
  171. package/dist/{hooks → esm/hooks}/useTheme.js +30 -27
  172. package/dist/esm/hooks/useTheme.js.map +7 -0
  173. package/dist/{index.js → esm/index.js} +22 -5
  174. package/dist/esm/index.js.map +7 -0
  175. package/dist/{static → esm/static}/postProcessStyles.js +3 -3
  176. package/dist/esm/static/postProcessStyles.js.map +7 -0
  177. package/dist/{static.js → esm/static.js} +6 -1
  178. package/dist/esm/static.js.map +7 -0
  179. package/dist/esm/styled.js +21 -0
  180. package/dist/esm/styled.js.map +7 -0
  181. package/dist/{types.js → esm/types.js} +0 -0
  182. package/dist/{types.js.map → esm/types.js.map} +0 -0
  183. package/dist/{views → esm/views}/Animated.js +0 -0
  184. package/dist/{views → esm/views}/Animated.js.map +3 -3
  185. package/dist/{views → esm/views}/Stack.js +1 -1
  186. package/dist/esm/views/Stack.js.map +7 -0
  187. package/dist/esm/views/Text.js +60 -0
  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/{views → esm/views}/Theme.js +30 -24
  192. package/dist/esm/views/Theme.js.map +7 -0
  193. package/dist/{views → esm/views}/ThemeContext.js +0 -0
  194. package/dist/{views → esm/views}/ThemeContext.js.map +1 -1
  195. package/dist/{views → esm/views}/ThemeInverse.js +0 -1
  196. package/dist/{views → esm/views}/ThemeInverse.js.map +3 -3
  197. package/dist/{views → esm/views}/ThemeManagerContext.js +15 -8
  198. package/dist/esm/views/ThemeManagerContext.js.map +7 -0
  199. package/dist/{views → esm/views}/ThemeProvider.js +13 -13
  200. package/dist/esm/views/ThemeProvider.js.map +7 -0
  201. package/dist/jsx/conf.js +28 -0
  202. package/dist/jsx/constants/constants.js +17 -0
  203. package/dist/jsx/constants/platform.js +19 -0
  204. package/dist/jsx/constants/pseudos.js +17 -0
  205. package/dist/jsx/constants/rnw.js +21 -0
  206. package/dist/jsx/createComponent.js +463 -0
  207. package/dist/jsx/createFont.js +27 -0
  208. package/dist/jsx/createShorthands.js +9 -0
  209. package/dist/jsx/createTamagui.js +165 -0
  210. package/dist/jsx/createTheme.js +6 -0
  211. package/dist/jsx/createTokens.js +32 -0
  212. package/dist/jsx/createVariable.js +24 -0
  213. package/dist/jsx/getThemeParentClassName.js +10 -0
  214. package/dist/jsx/helpers/addStylesUsingClassname.js +56 -0
  215. package/dist/jsx/helpers/createMediaStyle.js +33 -0
  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/jsx/helpers/fixNativeShadow.js +7 -0
  220. package/dist/jsx/helpers/fixNativeShadow.native.js +33 -0
  221. package/dist/jsx/helpers/getSplitStyles.js +149 -0
  222. package/dist/jsx/helpers/getStylesAtomic.js +83 -0
  223. package/dist/jsx/helpers/getStylesAtomic.native.js +9 -0
  224. package/dist/jsx/helpers/getThemeParentClassName.js +10 -0
  225. package/dist/jsx/helpers/insertStyleRule.js +23 -0
  226. package/dist/jsx/helpers/isObj.js +6 -0
  227. package/dist/jsx/helpers/isTamaguiElement.js +10 -0
  228. package/dist/jsx/helpers/matchMedia.js +17 -0
  229. package/dist/jsx/helpers/matchMedia.native.js +8 -0
  230. package/dist/jsx/helpers/themeable.js +23 -0
  231. package/dist/jsx/helpers/validate.js +59 -0
  232. package/dist/jsx/hooks/useConstant.js +14 -0
  233. package/dist/jsx/hooks/useFeatures.js +57 -0
  234. package/dist/jsx/hooks/useMedia.js +174 -0
  235. package/dist/jsx/hooks/usePressable.js +13 -0
  236. package/dist/jsx/hooks/useTheme.js +96 -0
  237. package/dist/jsx/index.js +46 -0
  238. package/dist/jsx/static/postProcessStyles.js +17 -0
  239. package/dist/jsx/static.js +14 -0
  240. package/dist/jsx/styled.js +20 -0
  241. package/dist/jsx/types.js +0 -0
  242. package/dist/jsx/views/Animated.js +74 -0
  243. package/dist/jsx/views/Stack.js +11 -0
  244. package/dist/jsx/views/Text.js +59 -0
  245. package/dist/jsx/views/TextAncestorContext.js +15 -0
  246. package/dist/jsx/views/Theme.js +63 -0
  247. package/dist/jsx/views/ThemeContext.js +5 -0
  248. package/dist/jsx/views/ThemeInverse.js +22 -0
  249. package/dist/jsx/views/ThemeManagerContext.js +61 -0
  250. package/dist/jsx/views/ThemeProvider.js +39 -0
  251. package/package.json +6 -6
  252. package/types/conf.d.ts +45 -0
  253. package/types/conf.d.ts.map +1 -0
  254. package/types/constants/constants.d.ts +2 -0
  255. package/types/constants/constants.d.ts.map +1 -0
  256. package/types/constants/platform.d.ts.map +1 -0
  257. package/types/constants/pseudos.d.ts.map +1 -0
  258. package/types/constants/rnw.d.ts.map +1 -0
  259. package/types/createComponent.d.ts.map +1 -0
  260. package/types/createFont.d.ts.map +1 -0
  261. package/types/createShorthands.d.ts.map +1 -0
  262. package/types/createTamagui.d.ts +2 -43
  263. package/types/createTamagui.d.ts.map +1 -0
  264. package/types/createTheme.d.ts.map +1 -0
  265. package/types/createTokens.d.ts.map +1 -0
  266. package/types/createVariable.d.ts.map +1 -0
  267. package/types/helpers/addStylesUsingClassname.d.ts.map +1 -0
  268. package/types/helpers/createMediaStyle.d.ts.map +1 -0
  269. package/types/helpers/createPropMapper.d.ts.map +1 -0
  270. package/types/helpers/createTamaguiProvider.d.ts.map +1 -0
  271. package/types/helpers/extendStaticConfig.d.ts.map +1 -0
  272. package/types/helpers/fixNativeShadow.d.ts.map +1 -0
  273. package/types/helpers/fixNativeShadow.native.d.ts.map +1 -0
  274. package/types/helpers/getSplitStyles.d.ts.map +1 -0
  275. package/types/helpers/getStylesAtomic.d.ts.map +1 -0
  276. package/types/helpers/getStylesAtomic.native.d.ts.map +1 -0
  277. package/types/helpers/getThemeParentClassName.d.ts +2 -0
  278. package/types/helpers/getThemeParentClassName.d.ts.map +1 -0
  279. package/types/helpers/insertStyleRule.d.ts.map +1 -0
  280. package/types/helpers/isObj.d.ts.map +1 -0
  281. package/types/helpers/isTamaguiElement.d.ts.map +1 -0
  282. package/types/helpers/matchMedia.d.ts.map +1 -0
  283. package/types/helpers/matchMedia.native.d.ts.map +1 -0
  284. package/types/helpers/themeable.d.ts.map +1 -0
  285. package/types/helpers/validate.d.ts.map +1 -0
  286. package/types/hooks/useConstant.d.ts.map +1 -0
  287. package/types/hooks/useFeatures.d.ts.map +1 -0
  288. package/types/hooks/useMedia.d.ts.map +1 -0
  289. package/types/hooks/usePressable.d.ts.map +1 -0
  290. package/types/hooks/useTheme.d.ts.map +1 -0
  291. package/types/index.d.ts +2 -0
  292. package/types/index.d.ts.map +1 -0
  293. package/types/static/postProcessStyles.d.ts.map +1 -0
  294. package/types/static.d.ts.map +1 -0
  295. package/types/styled.d.ts +1 -1
  296. package/types/styled.d.ts.map +1 -0
  297. package/types/types.d.ts +2 -2
  298. package/types/types.d.ts.map +1 -0
  299. package/types/views/Animated.d.ts.map +1 -0
  300. package/types/views/Stack.d.ts.map +1 -0
  301. package/types/views/Text.d.ts.map +1 -0
  302. package/types/views/TextAncestorContext.d.ts.map +1 -0
  303. package/types/views/Theme.d.ts.map +1 -0
  304. package/types/views/ThemeContext.d.ts.map +1 -0
  305. package/types/views/ThemeInverse.d.ts.map +1 -0
  306. package/types/views/ThemeManagerContext.d.ts.map +1 -0
  307. package/types/views/ThemeProvider.d.ts +0 -1
  308. package/types/views/ThemeProvider.d.ts.map +1 -0
  309. package/dist/constants/constants.js +0 -32
  310. package/dist/constants/constants.js.map +0 -7
  311. package/dist/constants/platform.js.map +0 -7
  312. package/dist/constants/rnw.js +0 -10
  313. package/dist/constants/rnw.js.map +0 -7
  314. package/dist/constants/styleConstants.js +0 -59
  315. package/dist/constants/styleConstants.js.map +0 -7
  316. package/dist/createComponent.js +0 -395
  317. package/dist/createComponent.js.map +0 -7
  318. package/dist/createShorthands.js.map +0 -7
  319. package/dist/createTamagui.js +0 -107
  320. package/dist/createTamagui.js.map +0 -7
  321. package/dist/createTokens.js.map +0 -7
  322. package/dist/createVariable.js.map +0 -7
  323. package/dist/helpers/addStylesUsingClassname.js +0 -28
  324. package/dist/helpers/addStylesUsingClassname.js.map +0 -7
  325. package/dist/helpers/createTamaguiProvider.js.map +0 -7
  326. package/dist/helpers/extendStaticConfig.js +0 -158
  327. package/dist/helpers/extendStaticConfig.js.map +0 -7
  328. package/dist/helpers/fixNativeShadow.js +0 -38
  329. package/dist/helpers/fixNativeShadow.js.map +0 -7
  330. package/dist/helpers/getSplitStyles.js.map +0 -7
  331. package/dist/helpers/insertStyleRule.js.map +0 -7
  332. package/dist/helpers/matchMedia.js.map +0 -7
  333. package/dist/helpers/setIfChanged.js +0 -17
  334. package/dist/helpers/setIfChanged.js.map +0 -7
  335. package/dist/hooks/useFeatures.js.map +0 -7
  336. package/dist/hooks/useForceUpdate.js +0 -28
  337. package/dist/hooks/useForceUpdate.js.map +0 -7
  338. package/dist/hooks/useMedia.js.map +0 -7
  339. package/dist/hooks/useTheme.js.map +0 -7
  340. package/dist/index.cjs +0 -1837
  341. package/dist/index.cjs.map +0 -7
  342. package/dist/index.js.map +0 -7
  343. package/dist/static/postProcessStyles.js.map +0 -7
  344. package/dist/static.js.map +0 -7
  345. package/dist/styled.js +0 -28
  346. package/dist/styled.js.map +0 -7
  347. package/dist/testtypes.js +0 -1
  348. package/dist/testtypes.js.map +0 -7
  349. package/dist/views/Stack.js.map +0 -7
  350. package/dist/views/Text.js +0 -36
  351. package/dist/views/Text.js.map +0 -7
  352. package/dist/views/TextAncestorContext.js +0 -18
  353. package/dist/views/TextAncestorContext.js.map +0 -7
  354. package/dist/views/Theme.js.map +0 -7
  355. package/dist/views/ThemeManagerContext.js.map +0 -7
  356. package/dist/views/ThemeProvider.js.map +0 -7
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/hooks/useMedia.tsx"],
4
- "sourcesContent": ["import { 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'\nimport { useForceUpdate } from './useForceUpdate'\n\n// For now disabled customization of media queries, but a lot of the initial steps are in place\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 hasConfigured = false\nlet mediaQueryConfigObject: MediaQueries | null = null\n\nexport const mediaQueryConfig = new Proxy<MediaQueries>({} as any, {\n get(target, key) {\n if (!mediaQueryConfigObject) {\n throw new Error(`Be sure to run configureMedia before accessing mediaQueryConfig`)\n }\n return Reflect.get(mediaQueryConfigObject, key)\n },\n ownKeys() {\n if (!mediaQueryConfigObject) {\n throw new Error(`Be sure to run configureMedia before accessing mediaQueryConfig`)\n }\n return Object.keys(mediaQueryConfigObject)\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n }\n },\n})\n\nexport const getMedia = () => {\n if (!hasConfigured) {\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 (hasConfigured) {\n console.warn(\n `Already configured mediaQueries once (you may have called getMedia() before configureMedia())`\n )\n return\n }\n hasConfigured = true\n if (queries) mediaQueryConfigObject = queries\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": "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",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/hooks/useTheme.tsx"],
4
- "sourcesContent": ["import { isEqual } from '@dish/fast-compare'\nimport React, { useContext, useEffect, useMemo, useRef, useState } from 'react'\n\nimport { useIsomorphicLayoutEffect } from '../constants/platform'\nimport { ThemeName } from '../types'\nimport { ThemeContext } from '../views/ThemeContext'\nimport { ThemeManagerContext } from '../views/ThemeManagerContext'\nimport { GET_DEFAULT_THEME } from '../views/ThemeProvider'\nimport { useForceUpdate } from './useForceUpdate'\n\ntype UseThemeState = {\n uuid: Object\n keys: Set<string>\n isRendering: boolean\n}\n\nexport const useThemeName = () => {\n const parent = useContext(ThemeManagerContext)\n const [name, setName] = useState(parent.name)\n useEffect(() => {\n return parent.onChangeTheme((next) => {\n setName((prev) => {\n if (prev === next) return prev\n return next\n })\n })\n }, [parent])\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 = () => {\n const forceUpdate = useForceUpdate()\n const manager = useContext(ThemeManagerContext)\n const themes = useContext(ThemeContext)\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 if (!isEqual(st.keys, manager.keys.get(st.uuid))) {\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 console.error('No theme by name', name, 'only:', themes, 'keeping current theme')\n activeTheme = theme\n }\n const val = activeTheme[key]\n if (process.env.NODE_ENV === 'development') {\n if (typeof val === 'undefined') {\n if (typeof key === 'string') {\n try {\n if (!activeTheme) {\n throw new Error(`No theme! ${name} in ${Object.keys(themes)}`)\n }\n if (!val) {\n throw new Error(\n `No theme value \"${String(key)}\" in: ${Object.keys(activeTheme)}`\n )\n }\n } catch (err: any) {\n // no need to destroy rendering ever\n console.error(err.message, err.stack)\n }\n }\n }\n return Reflect.get(_, key)\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;AAEA;AACA;AACA;AACA;AAQO,MAAM,eAAe,6BAAM;AAChC,QAAM,SAAS,WAAW;AAC1B,QAAM,CAAC,MAAM,WAAW,SAAS,OAAO;AACxC,YAAU,MAAM;AACd,WAAO,OAAO,cAAc,CAAC,SAAS;AACpC,cAAQ,CAAC,SAAS;AAChB,YAAI,SAAS;AAAM,iBAAO;AAC1B,eAAO;AAAA;AAAA;AAAA,KAGV,CAAC;AACJ,SAAO,QAAQ;AAAA,GAXW;AAcrB,MAAM,sBAAsB,6BAAM;AACvC,SAAO,WAAW,cAAc;AAAA,GADC;AAI5B,MAAM,WAAW,6BAAM;AAC5B,QAAM,cAAc;AACpB,QAAM,UAAU,WAAW;AAC3B,QAAM,SAAS,WAAW;AAC1B,QAAM,QAAQ;AACd,MAAI,CAAC,MAAM,SAAS;AAClB,UAAM,UAAU;AAAA,MACd,MAAM;AAAA,MACN,MAAM,IAAI;AAAA,MACV,aAAa;AAAA;AAAA;AAGjB,QAAM,QAAQ,cAAc;AAG5B,4BAA0B,MAAM;AAC9B,UAAM,KAAK,MAAM;AACjB,OAAG,cAAc;AACjB,QAAI,CAAC,QAAQ,GAAG,MAAM,QAAQ,KAAK,IAAI,GAAG,QAAQ;AAChD,cAAQ,MAAM,GAAG,MAAM,GAAG;AAAA;AAAA;AAI9B,YAAU,MAAM;AACd,WAAO,QAAQ,SAAS,MAAM,QAAQ,MAAM;AAAA,KAC3C;AAEH,QAAM,QAAS,SAAQ,OAAO,OAAO,QAAQ,QAAQ,OAAO,UAAU,OAAO;AAE7E,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,kBAAQ,MAAM,oBAAoB,MAAM,SAAS,QAAQ;AACzD,wBAAc;AAAA;AAEhB,cAAM,MAAM,YAAY;AACxB,YAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,cAAI,OAAO,QAAQ,aAAa;AAC9B,gBAAI,OAAO,QAAQ,UAAU;AAC3B,kBAAI;AACF,oBAAI,CAAC,aAAa;AAChB,wBAAM,IAAI,MAAM,aAAa,WAAW,OAAO,KAAK;AAAA;AAEtD,oBAAI,CAAC,KAAK;AACR,wBAAM,IAAI,MACR,mBAAmB,OAAO,aAAa,OAAO,KAAK;AAAA;AAAA,uBAGhD,KAAP;AAEA,wBAAQ,MAAM,IAAI,SAAS,IAAI;AAAA;AAAA;AAAA;AAIrC,iBAAO,QAAQ,IAAI,GAAG;AAAA;AAExB,YAAI,MAAM,QAAQ,aAAa;AAC7B,gBAAM,QAAQ,KAAK,IAAI;AAAA;AAEzB,eAAO;AAAA;AAAA;AAAA,KAIb;AAAA,GAtEoB;",
6
- "names": []
7
- }