@tamagui/core 1.0.0-alpha.1 → 1.0.0-alpha.13

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 (468) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/constants/constants.js +50 -0
  3. package/{_ → dist/cjs}/constants/constants.js.map +2 -2
  4. package/dist/cjs/constants/platform.js +43 -0
  5. package/dist/cjs/constants/platform.js.map +7 -0
  6. package/dist/cjs/constants/pseudos.js +25 -0
  7. package/dist/{constants → cjs/constants}/pseudos.js.map +2 -2
  8. package/dist/cjs/constants/rnw.js +28 -0
  9. package/{_ → dist/cjs}/constants/rnw.js.map +2 -2
  10. package/dist/cjs/createComponent.js +532 -0
  11. package/dist/cjs/createComponent.js.map +7 -0
  12. package/dist/cjs/createFont.js +50 -0
  13. package/dist/cjs/createFont.js.map +7 -0
  14. package/dist/cjs/createShorthands.js +16 -0
  15. package/{_ → dist/cjs}/createShorthands.js.map +2 -2
  16. package/dist/cjs/createTamagui.js +208 -0
  17. package/dist/cjs/createTamagui.js.map +7 -0
  18. package/dist/cjs/createTheme.js +42 -0
  19. package/{_ → dist/cjs}/createTheme.js.map +2 -2
  20. package/dist/cjs/createTokens.js +55 -0
  21. package/dist/cjs/createTokens.js.map +7 -0
  22. package/dist/cjs/createVariable.js +47 -0
  23. package/dist/cjs/createVariable.js.map +7 -0
  24. package/dist/cjs/helpers/addStylesUsingClassname.js +79 -0
  25. package/dist/cjs/helpers/addStylesUsingClassname.js.map +7 -0
  26. package/dist/cjs/helpers/createMediaStyle.js +56 -0
  27. package/dist/{helpers → cjs/helpers}/createMediaStyle.js.map +2 -2
  28. package/dist/cjs/helpers/createPropMapper.js +197 -0
  29. package/dist/cjs/helpers/createPropMapper.js.map +7 -0
  30. package/dist/cjs/helpers/createTamaguiProvider.js +74 -0
  31. package/dist/cjs/helpers/createTamaguiProvider.js.map +7 -0
  32. package/dist/cjs/helpers/extendStaticConfig.js +82 -0
  33. package/dist/cjs/helpers/extendStaticConfig.js.map +7 -0
  34. package/dist/cjs/helpers/fixNativeShadow.js +14 -0
  35. package/dist/cjs/helpers/fixNativeShadow.js.map +7 -0
  36. package/dist/cjs/helpers/fixNativeShadow.native.js +36 -0
  37. package/{_ → dist/cjs}/helpers/fixNativeShadow.native.js.map +2 -2
  38. package/dist/cjs/helpers/getSplitStyles.js +180 -0
  39. package/dist/cjs/helpers/getSplitStyles.js.map +7 -0
  40. package/dist/cjs/helpers/getStylesAtomic.js +117 -0
  41. package/{_ → dist/cjs}/helpers/getStylesAtomic.js.map +2 -2
  42. package/dist/cjs/helpers/getStylesAtomic.native.js +16 -0
  43. package/dist/cjs/helpers/getStylesAtomic.native.js.map +7 -0
  44. package/dist/cjs/helpers/insertStyleRule.js +46 -0
  45. package/dist/{helpers → cjs/helpers}/insertStyleRule.js.map +2 -2
  46. package/dist/cjs/helpers/isObj.js +13 -0
  47. package/dist/cjs/helpers/isObj.js.map +7 -0
  48. package/dist/cjs/helpers/isTamaguiElement.js +33 -0
  49. package/dist/cjs/helpers/isTamaguiElement.js.map +7 -0
  50. package/dist/cjs/helpers/matchMedia.js +24 -0
  51. package/dist/cjs/helpers/matchMedia.js.map +7 -0
  52. package/dist/cjs/helpers/matchMedia.native.js +31 -0
  53. package/dist/cjs/helpers/matchMedia.native.js.map +7 -0
  54. package/dist/cjs/helpers/themeable.js +78 -0
  55. package/{_ → dist/cjs}/helpers/themeable.js.map +2 -2
  56. package/dist/cjs/helpers/validate.js +82 -0
  57. package/dist/cjs/helpers/validate.js.map +7 -0
  58. package/dist/cjs/hooks/useConstant.js +37 -0
  59. package/dist/{hooks → cjs/hooks}/useConstant.js.map +2 -2
  60. package/dist/cjs/hooks/useFeatures.js +100 -0
  61. package/dist/cjs/hooks/useFeatures.js.map +7 -0
  62. package/dist/cjs/hooks/useMedia.js +206 -0
  63. package/dist/cjs/hooks/useMedia.js.map +7 -0
  64. package/dist/cjs/hooks/usePressable.js +50 -0
  65. package/{_ → dist/cjs}/hooks/usePressable.js.map +2 -2
  66. package/dist/cjs/hooks/useTheme.js +111 -0
  67. package/dist/cjs/hooks/useTheme.js.map +7 -0
  68. package/dist/cjs/index.js +55 -0
  69. package/dist/cjs/index.js.map +7 -0
  70. package/dist/cjs/static/postProcessStyles.js +40 -0
  71. package/dist/{static → cjs/static}/postProcessStyles.js.map +2 -2
  72. package/dist/cjs/static.js +34 -0
  73. package/dist/cjs/static.js.map +7 -0
  74. package/dist/cjs/styled.js +72 -0
  75. package/dist/cjs/styled.js.map +7 -0
  76. package/dist/cjs/types.js +4 -0
  77. package/dist/cjs/types.js.map +7 -0
  78. package/dist/cjs/views/Animated.js +129 -0
  79. package/dist/{views → cjs/views}/Animated.js.map +2 -2
  80. package/dist/cjs/views/Stack.js +51 -0
  81. package/dist/{views → cjs/views}/Stack.js.map +2 -2
  82. package/dist/cjs/views/Text.js +93 -0
  83. package/dist/cjs/views/Text.js.map +7 -0
  84. package/dist/cjs/views/TextAncestorContext.js +41 -0
  85. package/{_ → dist/cjs}/views/TextAncestorContext.js.map +2 -2
  86. package/dist/cjs/views/Theme.js +91 -0
  87. package/dist/cjs/views/Theme.js.map +7 -0
  88. package/dist/cjs/views/ThemeContext.js +29 -0
  89. package/dist/{views → cjs/views}/ThemeContext.js.map +2 -2
  90. package/dist/cjs/views/ThemeInverse.js +48 -0
  91. package/dist/{views → cjs/views}/ThemeInverse.js.map +3 -3
  92. package/dist/cjs/views/ThemeManagerContext.js +84 -0
  93. package/dist/cjs/views/ThemeManagerContext.js.map +7 -0
  94. package/dist/cjs/views/ThemeProvider.js +67 -0
  95. package/dist/{views → cjs/views}/ThemeProvider.js.map +2 -2
  96. package/{_ → dist/esm}/constants/constants.js +0 -0
  97. package/dist/{constants → esm/constants}/constants.js.map +1 -1
  98. package/dist/{constants → esm/constants}/platform.js +0 -0
  99. package/dist/{constants → esm/constants}/platform.js.map +1 -1
  100. package/{_ → dist/esm}/constants/pseudos.js +0 -0
  101. package/{_ → dist/esm}/constants/pseudos.js.map +1 -1
  102. package/{_ → dist/esm}/constants/rnw.js +0 -0
  103. package/dist/{constants → esm/constants}/rnw.js.map +1 -1
  104. package/dist/{createComponent.js → esm/createComponent.js} +51 -32
  105. package/dist/esm/createComponent.js.map +7 -0
  106. package/dist/{createFont.js → esm/createFont.js} +4 -0
  107. package/dist/esm/createFont.js.map +7 -0
  108. package/{_ → dist/esm}/createShorthands.js +0 -0
  109. package/dist/{createShorthands.js.map → esm/createShorthands.js.map} +1 -1
  110. package/dist/{createTamagui.js → esm/createTamagui.js} +13 -2
  111. package/dist/esm/createTamagui.js.map +7 -0
  112. package/{_ → dist/esm}/createTheme.js +0 -0
  113. package/dist/{createTheme.js.map → esm/createTheme.js.map} +1 -1
  114. package/dist/{createTokens.js → esm/createTokens.js} +4 -0
  115. package/dist/esm/createTokens.js.map +7 -0
  116. package/dist/{createVariable.js → esm/createVariable.js} +3 -0
  117. package/dist/{createVariable.js.map → esm/createVariable.js.map} +3 -3
  118. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js +0 -0
  119. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js.map +1 -1
  120. package/{_ → dist/esm}/helpers/createMediaStyle.js +0 -0
  121. package/{_ → dist/esm}/helpers/createMediaStyle.js.map +1 -1
  122. package/dist/{helpers → esm/helpers}/createPropMapper.js +16 -9
  123. package/dist/esm/helpers/createPropMapper.js.map +7 -0
  124. package/dist/{helpers → esm/helpers}/createTamaguiProvider.js +0 -0
  125. package/dist/{helpers → esm/helpers}/createTamaguiProvider.js.map +1 -1
  126. package/dist/{helpers → esm/helpers}/extendStaticConfig.js +0 -0
  127. package/dist/{helpers → esm/helpers}/extendStaticConfig.js.map +1 -1
  128. package/{_ → dist/esm}/helpers/fixNativeShadow.js +0 -0
  129. package/dist/{helpers → esm/helpers}/fixNativeShadow.js.map +1 -1
  130. package/{_ → dist/esm}/helpers/fixNativeShadow.native.js +0 -0
  131. package/dist/{helpers → esm/helpers}/fixNativeShadow.native.js.map +1 -1
  132. package/dist/{helpers → esm/helpers}/getSplitStyles.js +13 -23
  133. package/dist/esm/helpers/getSplitStyles.js.map +7 -0
  134. package/dist/{helpers → esm/helpers}/getStylesAtomic.js +0 -0
  135. package/dist/{helpers → esm/helpers}/getStylesAtomic.js.map +1 -1
  136. package/{_ → dist/esm}/helpers/getStylesAtomic.native.js +0 -0
  137. package/{_ → dist/esm}/helpers/getStylesAtomic.native.js.map +1 -1
  138. package/{_ → dist/esm}/helpers/insertStyleRule.js +0 -0
  139. package/{_ → dist/esm}/helpers/insertStyleRule.js.map +1 -1
  140. package/dist/{helpers → esm/helpers}/isObj.js +0 -0
  141. package/dist/{helpers → esm/helpers}/isObj.js.map +1 -1
  142. package/dist/esm/helpers/isTamaguiElement.js +10 -0
  143. package/dist/esm/helpers/isTamaguiElement.js.map +7 -0
  144. package/{_ → dist/esm}/helpers/matchMedia.js +3 -0
  145. package/dist/esm/helpers/matchMedia.js.map +7 -0
  146. package/dist/{helpers → esm/helpers}/matchMedia.native.js +1 -0
  147. package/{_ → dist/esm}/helpers/matchMedia.native.js.map +3 -3
  148. package/dist/{helpers → esm/helpers}/themeable.js +0 -0
  149. package/dist/{helpers → esm/helpers}/themeable.js.map +1 -1
  150. package/dist/esm/helpers/validate.js +60 -0
  151. package/dist/esm/helpers/validate.js.map +7 -0
  152. package/{_ → dist/esm}/hooks/useConstant.js +0 -0
  153. package/{_ → dist/esm}/hooks/useConstant.js.map +1 -1
  154. package/{_ → dist/esm}/hooks/useFeatures.js +39 -51
  155. package/dist/esm/hooks/useFeatures.js.map +7 -0
  156. package/dist/{hooks → esm/hooks}/useMedia.js +5 -3
  157. package/dist/esm/hooks/useMedia.js.map +7 -0
  158. package/dist/{hooks → esm/hooks}/usePressable.js +0 -0
  159. package/dist/{hooks → esm/hooks}/usePressable.js.map +1 -1
  160. package/dist/{hooks → esm/hooks}/useTheme.js +5 -9
  161. package/dist/esm/hooks/useTheme.js.map +7 -0
  162. package/dist/{index.js → esm/index.js} +1 -2
  163. package/dist/{index.js.map → esm/index.js.map} +3 -3
  164. package/{_ → dist/esm}/static/postProcessStyles.js +0 -0
  165. package/{_ → dist/esm}/static/postProcessStyles.js.map +1 -1
  166. package/dist/{static.js → esm/static.js} +0 -0
  167. package/dist/{static.js.map → esm/static.js.map} +1 -1
  168. package/dist/{styled.js → esm/styled.js} +0 -0
  169. package/dist/{styled.js.map → esm/styled.js.map} +1 -1
  170. package/{_ → dist/esm}/types.js +0 -0
  171. package/{_ → dist/esm}/types.js.map +0 -0
  172. package/{_ → dist/esm}/views/Animated.js +0 -0
  173. package/{_ → dist/esm}/views/Animated.js.map +1 -1
  174. package/{_ → dist/esm}/views/Stack.js +0 -0
  175. package/{_ → dist/esm}/views/Stack.js.map +1 -1
  176. package/dist/{views → esm/views}/Text.js +1 -1
  177. package/dist/esm/views/Text.js.map +7 -0
  178. package/dist/{views → esm/views}/TextAncestorContext.js +0 -0
  179. package/dist/{views → esm/views}/TextAncestorContext.js.map +1 -1
  180. package/dist/{views → esm/views}/Theme.js +25 -13
  181. package/dist/esm/views/Theme.js.map +7 -0
  182. package/{_ → dist/esm}/views/ThemeContext.js +0 -0
  183. package/{_ → dist/esm}/views/ThemeContext.js.map +1 -1
  184. package/{_ → dist/esm}/views/ThemeInverse.js +0 -1
  185. package/{_ → dist/esm}/views/ThemeInverse.js.map +3 -3
  186. package/dist/{views → esm/views}/ThemeManagerContext.js +11 -5
  187. package/dist/esm/views/ThemeManagerContext.js.map +7 -0
  188. package/{_ → dist/esm}/views/ThemeProvider.js +0 -0
  189. package/{_ → dist/esm}/views/ThemeProvider.js.map +1 -1
  190. package/dist/{constants → jsx/constants}/constants.js +0 -1
  191. package/{_ → dist/jsx}/constants/platform.js +1 -3
  192. package/dist/{constants → jsx/constants}/pseudos.js +0 -1
  193. package/dist/{constants → jsx/constants}/rnw.js +0 -1
  194. package/{_ → dist/jsx}/createComponent.js +114 -83
  195. package/dist/jsx/createFont.js +27 -0
  196. package/dist/{createShorthands.js → jsx/createShorthands.js} +0 -1
  197. package/{_ → dist/jsx}/createTamagui.js +63 -16
  198. package/dist/{createTheme.js → jsx/createTheme.js} +0 -1
  199. package/{_ → dist/jsx}/createTokens.js +4 -1
  200. package/{_ → dist/jsx}/createVariable.js +3 -1
  201. package/dist/jsx/helpers/addStylesUsingClassname.js +56 -0
  202. package/dist/{helpers → jsx/helpers}/createMediaStyle.js +0 -1
  203. package/dist/jsx/helpers/createPropMapper.js +159 -0
  204. package/dist/jsx/helpers/createTamaguiProvider.js +19 -0
  205. package/dist/jsx/helpers/extendStaticConfig.js +58 -0
  206. package/dist/{helpers → jsx/helpers}/fixNativeShadow.js +0 -1
  207. package/dist/{helpers → jsx/helpers}/fixNativeShadow.native.js +0 -1
  208. package/{_ → dist/jsx}/helpers/getSplitStyles.js +18 -29
  209. package/{_ → dist/jsx}/helpers/getStylesAtomic.js +1 -3
  210. package/dist/{helpers → jsx/helpers}/getStylesAtomic.native.js +0 -1
  211. package/dist/{helpers → jsx/helpers}/insertStyleRule.js +0 -1
  212. package/dist/jsx/helpers/isObj.js +6 -0
  213. package/dist/jsx/helpers/isTamaguiElement.js +9 -0
  214. package/dist/{helpers → jsx/helpers}/matchMedia.js +3 -1
  215. package/{_ → dist/jsx}/helpers/matchMedia.native.js +1 -1
  216. package/{_ → dist/jsx}/helpers/themeable.js +3 -6
  217. package/dist/jsx/helpers/validate.js +59 -0
  218. package/dist/{hooks → jsx/hooks}/useConstant.js +0 -1
  219. package/dist/jsx/hooks/useFeatures.js +57 -0
  220. package/{_ → dist/jsx}/hooks/useMedia.js +7 -8
  221. package/{_ → dist/jsx}/hooks/usePressable.js +1 -3
  222. package/{_ → dist/jsx}/hooks/useTheme.js +6 -12
  223. package/{_ → dist/jsx}/index.js +3 -2
  224. package/dist/{static → jsx/static}/postProcessStyles.js +0 -1
  225. package/{_ → dist/jsx}/static.js +3 -1
  226. package/{_ → dist/jsx}/styled.js +2 -3
  227. package/dist/jsx/types.js +0 -0
  228. package/dist/{views → jsx/views}/Animated.js +2 -7
  229. package/dist/{views → jsx/views}/Stack.js +0 -1
  230. package/{_ → dist/jsx}/views/Text.js +1 -2
  231. package/{_ → dist/jsx}/views/TextAncestorContext.js +2 -7
  232. package/dist/jsx/views/Theme.js +62 -0
  233. package/dist/{views → jsx/views}/ThemeContext.js +0 -1
  234. package/dist/{views → jsx/views}/ThemeInverse.js +1 -6
  235. package/{_ → dist/jsx}/views/ThemeManagerContext.js +12 -8
  236. package/dist/{views → jsx/views}/ThemeProvider.js +2 -8
  237. package/package.json +17 -9
  238. package/src/createComponent.tsx +59 -41
  239. package/src/createFont.ts +5 -0
  240. package/src/createTamagui.ts +12 -1
  241. package/src/createTokens.ts +6 -1
  242. package/src/createVariable.ts +4 -0
  243. package/src/helpers/createPropMapper.ts +16 -8
  244. package/src/helpers/getSplitStyles.tsx +16 -26
  245. package/src/helpers/isTamaguiElement.tsx +5 -0
  246. package/src/helpers/matchMedia.native.ts +3 -0
  247. package/src/helpers/matchMedia.ts +9 -1
  248. package/src/helpers/validate.ts +59 -0
  249. package/src/hooks/useFeatures.tsx +54 -53
  250. package/src/hooks/useMedia.tsx +5 -3
  251. package/src/hooks/useTheme.tsx +7 -8
  252. package/src/index.ts +1 -2
  253. package/src/types.tsx +9 -8
  254. package/src/views/Text.tsx +2 -1
  255. package/src/views/Theme.tsx +42 -21
  256. package/src/views/ThemeInverse.tsx +0 -1
  257. package/src/views/ThemeManagerContext.tsx +18 -6
  258. package/{dist/packages/core/src → types}/constants/constants.d.ts +0 -0
  259. package/types/constants/constants.d.ts.map +1 -0
  260. package/{dist/packages/core/src → types}/constants/platform.d.ts +0 -0
  261. package/types/constants/platform.d.ts.map +1 -0
  262. package/{dist/packages/core/src → types}/constants/pseudos.d.ts +0 -0
  263. package/types/constants/pseudos.d.ts.map +1 -0
  264. package/{dist/packages/core/src → types}/constants/rnw.d.ts +0 -0
  265. package/types/constants/rnw.d.ts.map +1 -0
  266. package/{dist/packages/core/src → types}/createComponent.d.ts +3 -2
  267. package/types/createComponent.d.ts.map +1 -0
  268. package/types/createFont.d.ts +3 -0
  269. package/types/createFont.d.ts.map +1 -0
  270. package/{dist/packages/core/src → types}/createShorthands.d.ts +0 -0
  271. package/types/createShorthands.d.ts.map +1 -0
  272. package/{dist/packages/core/src → types}/createTamagui.d.ts +18 -1
  273. package/types/createTamagui.d.ts.map +1 -0
  274. package/{dist/packages/core/src → types}/createTheme.d.ts +0 -0
  275. package/types/createTheme.d.ts.map +1 -0
  276. package/{dist/packages/core/src → types}/createTokens.d.ts +24 -14
  277. package/types/createTokens.d.ts.map +1 -0
  278. package/{dist/packages/core/src → types}/createVariable.d.ts +1 -0
  279. package/types/createVariable.d.ts.map +1 -0
  280. package/types/helpers/addStylesUsingClassname.d.ts +3 -0
  281. package/types/helpers/addStylesUsingClassname.d.ts.map +1 -0
  282. package/{dist/packages/core/src → types}/helpers/createMediaStyle.d.ts +0 -1
  283. package/types/helpers/createMediaStyle.d.ts.map +1 -0
  284. package/types/helpers/createPropMapper.d.ts +3 -0
  285. package/types/helpers/createPropMapper.d.ts.map +1 -0
  286. package/{dist/packages/core/src → types}/helpers/createTamaguiProvider.d.ts +0 -0
  287. package/types/helpers/createTamaguiProvider.d.ts.map +1 -0
  288. package/{dist/packages/core/src → types}/helpers/extendStaticConfig.d.ts +1 -1
  289. package/types/helpers/extendStaticConfig.d.ts.map +1 -0
  290. package/{dist/packages/core/src → types}/helpers/fixNativeShadow.d.ts +0 -0
  291. package/types/helpers/fixNativeShadow.d.ts.map +1 -0
  292. package/{dist/packages/core/src → types}/helpers/fixNativeShadow.native.d.ts +0 -0
  293. package/types/helpers/fixNativeShadow.native.d.ts.map +1 -0
  294. package/{dist/packages/core/src → types}/helpers/getSplitStyles.d.ts +0 -0
  295. package/types/helpers/getSplitStyles.d.ts.map +1 -0
  296. package/{dist/packages/core/src → types}/helpers/getStylesAtomic.d.ts +0 -1
  297. package/types/helpers/getStylesAtomic.d.ts.map +1 -0
  298. package/{dist/packages/core/src → types}/helpers/getStylesAtomic.native.d.ts +0 -0
  299. package/types/helpers/getStylesAtomic.native.d.ts.map +1 -0
  300. package/{dist/packages/core/src → types}/helpers/insertStyleRule.d.ts +0 -0
  301. package/types/helpers/insertStyleRule.d.ts.map +1 -0
  302. package/types/helpers/isObj.d.ts +2 -0
  303. package/types/helpers/isObj.d.ts.map +1 -0
  304. package/types/helpers/isTamaguiElement.d.ts +3 -0
  305. package/types/helpers/isTamaguiElement.d.ts.map +1 -0
  306. package/{dist/packages/core/src → types}/helpers/matchMedia.d.ts +0 -0
  307. package/types/helpers/matchMedia.d.ts.map +1 -0
  308. package/{dist/packages/core/src → types}/helpers/matchMedia.native.d.ts +0 -0
  309. package/types/helpers/matchMedia.native.d.ts.map +1 -0
  310. package/{dist/packages/core/src → types}/helpers/themeable.d.ts +0 -0
  311. package/types/helpers/themeable.d.ts.map +1 -0
  312. package/types/helpers/validate.d.ts +4 -0
  313. package/types/helpers/validate.d.ts.map +1 -0
  314. package/{dist/packages/core/src → types}/hooks/useConstant.d.ts +0 -0
  315. package/types/hooks/useConstant.d.ts.map +1 -0
  316. package/{dist/packages/core/src → types}/hooks/useFeatures.d.ts +0 -0
  317. package/types/hooks/useFeatures.d.ts.map +1 -0
  318. package/{dist/packages/core/src → types}/hooks/useMedia.d.ts +0 -0
  319. package/types/hooks/useMedia.d.ts.map +1 -0
  320. package/{dist/packages/core/src → types}/hooks/usePressable.d.ts +0 -0
  321. package/types/hooks/usePressable.d.ts.map +1 -0
  322. package/{dist/packages/core/src → types}/hooks/useTheme.d.ts +3 -1
  323. package/types/hooks/useTheme.d.ts.map +1 -0
  324. package/{dist/packages/core/src → types}/index.d.ts +3 -1
  325. package/types/index.d.ts.map +1 -0
  326. package/{dist/packages/core/src → types}/static/postProcessStyles.d.ts +0 -0
  327. package/types/static/postProcessStyles.d.ts.map +1 -0
  328. package/{dist/packages/core/src → types}/static.d.ts +3 -0
  329. package/types/static.d.ts.map +1 -0
  330. package/types/styled.d.ts +21 -0
  331. package/types/styled.d.ts.map +1 -0
  332. package/{dist/packages/core/src → types}/types.d.ts +71 -70
  333. package/types/types.d.ts.map +1 -0
  334. package/{dist/packages/core/src → types}/views/Animated.d.ts +0 -0
  335. package/types/views/Animated.d.ts.map +1 -0
  336. package/{dist/packages/core/src → types}/views/Stack.d.ts +0 -0
  337. package/types/views/Stack.d.ts.map +1 -0
  338. package/types/views/Text.d.ts +3 -0
  339. package/types/views/Text.d.ts.map +1 -0
  340. package/{dist/packages/core/src → types}/views/TextAncestorContext.d.ts +0 -0
  341. package/types/views/TextAncestorContext.d.ts.map +1 -0
  342. package/{dist/packages/core/src → types}/views/Theme.d.ts +1 -1
  343. package/types/views/Theme.d.ts.map +1 -0
  344. package/{dist/packages/core/src → types}/views/ThemeContext.d.ts +0 -0
  345. package/types/views/ThemeContext.d.ts.map +1 -0
  346. package/{dist/packages/core/src → types}/views/ThemeInverse.d.ts +0 -0
  347. package/types/views/ThemeInverse.d.ts.map +1 -0
  348. package/types/views/ThemeManagerContext.d.ts +22 -0
  349. package/types/views/ThemeManagerContext.d.ts.map +1 -0
  350. package/{dist/packages/core/src → types}/views/ThemeProvider.d.ts +0 -0
  351. package/types/views/ThemeProvider.d.ts.map +1 -0
  352. package/.ultra.cache.json +0 -1
  353. package/_/constants/platform.js.map +0 -7
  354. package/_/createComponent.js.map +0 -7
  355. package/_/createTamagui.js.map +0 -7
  356. package/_/createTokens.js.map +0 -7
  357. package/_/createVariable.js.map +0 -7
  358. package/_/helpers/addStylesUsingClassname.js +0 -32
  359. package/_/helpers/addStylesUsingClassname.js.map +0 -7
  360. package/_/helpers/createTamaguiProvider.js +0 -42
  361. package/_/helpers/createTamaguiProvider.js.map +0 -7
  362. package/_/helpers/extendStaticConfig.js +0 -176
  363. package/_/helpers/extendStaticConfig.js.map +0 -7
  364. package/_/helpers/fixNativeShadow.js.map +0 -7
  365. package/_/helpers/getSplitStyles.js.map +0 -7
  366. package/_/helpers/matchMedia.js.map +0 -7
  367. package/_/hooks/useFeatures.js.map +0 -7
  368. package/_/hooks/useForceUpdate.js +0 -28
  369. package/_/hooks/useForceUpdate.js.map +0 -7
  370. package/_/hooks/useMedia.js.map +0 -7
  371. package/_/hooks/useTheme.js.map +0 -7
  372. package/_/index.js.map +0 -7
  373. package/_/static.js.map +0 -7
  374. package/_/styled.js.map +0 -7
  375. package/_/views/Text.js.map +0 -7
  376. package/_/views/Theme.js +0 -57
  377. package/_/views/Theme.js.map +0 -7
  378. package/_/views/ThemeManagerContext.js.map +0 -7
  379. package/dist/constants/styleConstants.js +0 -46
  380. package/dist/constants/styleConstants.js.map +0 -7
  381. package/dist/createComponent.js.map +0 -7
  382. package/dist/createFont.js.map +0 -7
  383. package/dist/createTamagui.js.map +0 -7
  384. package/dist/createTokens.js.map +0 -7
  385. package/dist/helpers/createPropMapper.js.map +0 -7
  386. package/dist/helpers/getSplitStyles.js.map +0 -7
  387. package/dist/helpers/getStylesAtomic.native.js.map +0 -7
  388. package/dist/helpers/matchMedia.js.map +0 -7
  389. package/dist/helpers/matchMedia.native.js.map +0 -7
  390. package/dist/helpers/pseudos.js +0 -1
  391. package/dist/helpers/pseudos.js.map +0 -7
  392. package/dist/hooks/useFeatures.js +0 -75
  393. package/dist/hooks/useFeatures.js.map +0 -7
  394. package/dist/hooks/useForceUpdate.js +0 -28
  395. package/dist/hooks/useForceUpdate.js.map +0 -7
  396. package/dist/hooks/useMedia.js.map +0 -7
  397. package/dist/hooks/useTheme.js.map +0 -7
  398. package/dist/index.cjs +0 -2125
  399. package/dist/index.cjs.map +0 -7
  400. package/dist/packages/core/src/constants/constants.d.ts.map +0 -1
  401. package/dist/packages/core/src/constants/platform.d.ts.map +0 -1
  402. package/dist/packages/core/src/constants/pseudos.d.ts.map +0 -1
  403. package/dist/packages/core/src/constants/rnw.d.ts.map +0 -1
  404. package/dist/packages/core/src/createComponent.d.ts.map +0 -1
  405. package/dist/packages/core/src/createShorthands.d.ts.map +0 -1
  406. package/dist/packages/core/src/createTamagui.d.ts.map +0 -1
  407. package/dist/packages/core/src/createTheme.d.ts.map +0 -1
  408. package/dist/packages/core/src/createTokens.d.ts.map +0 -1
  409. package/dist/packages/core/src/createVariable.d.ts.map +0 -1
  410. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts +0 -2
  411. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts.map +0 -1
  412. package/dist/packages/core/src/helpers/createMediaStyle.d.ts.map +0 -1
  413. package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts.map +0 -1
  414. package/dist/packages/core/src/helpers/extendStaticConfig.d.ts.map +0 -1
  415. package/dist/packages/core/src/helpers/fixNativeShadow.d.ts.map +0 -1
  416. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts.map +0 -1
  417. package/dist/packages/core/src/helpers/getSplitStyles.d.ts.map +0 -1
  418. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts.map +0 -1
  419. package/dist/packages/core/src/helpers/getStylesAtomic.native.d.ts.map +0 -1
  420. package/dist/packages/core/src/helpers/insertStyleRule.d.ts.map +0 -1
  421. package/dist/packages/core/src/helpers/matchMedia.d.ts.map +0 -1
  422. package/dist/packages/core/src/helpers/matchMedia.native.d.ts.map +0 -1
  423. package/dist/packages/core/src/helpers/themeable.d.ts.map +0 -1
  424. package/dist/packages/core/src/hooks/useConstant.d.ts.map +0 -1
  425. package/dist/packages/core/src/hooks/useFeatures.d.ts.map +0 -1
  426. package/dist/packages/core/src/hooks/useForceUpdate.d.ts +0 -2
  427. package/dist/packages/core/src/hooks/useForceUpdate.d.ts.map +0 -1
  428. package/dist/packages/core/src/hooks/useMedia.d.ts.map +0 -1
  429. package/dist/packages/core/src/hooks/usePressable.d.ts.map +0 -1
  430. package/dist/packages/core/src/hooks/useTheme.d.ts.map +0 -1
  431. package/dist/packages/core/src/index.d.ts.map +0 -1
  432. package/dist/packages/core/src/static/postProcessStyles.d.ts.map +0 -1
  433. package/dist/packages/core/src/static.d.ts.map +0 -1
  434. package/dist/packages/core/src/styled.d.ts +0 -16
  435. package/dist/packages/core/src/styled.d.ts.map +0 -1
  436. package/dist/packages/core/src/types.d.ts.map +0 -1
  437. package/dist/packages/core/src/views/Animated.d.ts.map +0 -1
  438. package/dist/packages/core/src/views/Stack.d.ts.map +0 -1
  439. package/dist/packages/core/src/views/Text.d.ts +0 -3
  440. package/dist/packages/core/src/views/Text.d.ts.map +0 -1
  441. package/dist/packages/core/src/views/TextAncestorContext.d.ts.map +0 -1
  442. package/dist/packages/core/src/views/Theme.d.ts.map +0 -1
  443. package/dist/packages/core/src/views/ThemeContext.d.ts.map +0 -1
  444. package/dist/packages/core/src/views/ThemeInverse.d.ts.map +0 -1
  445. package/dist/packages/core/src/views/ThemeManagerContext.d.ts +0 -15
  446. package/dist/packages/core/src/views/ThemeManagerContext.d.ts.map +0 -1
  447. package/dist/packages/core/src/views/ThemeProvider.d.ts.map +0 -1
  448. package/dist/packages/helpers/src/AllRules.d.ts +0 -3
  449. package/dist/packages/helpers/src/AllRules.d.ts.map +0 -1
  450. package/dist/packages/helpers/src/concatClassName.d.ts +0 -2
  451. package/dist/packages/helpers/src/concatClassName.d.ts.map +0 -1
  452. package/dist/packages/helpers/src/index.d.ts +0 -5
  453. package/dist/packages/helpers/src/index.d.ts.map +0 -1
  454. package/dist/packages/helpers/src/types.d.ts +0 -8
  455. package/dist/packages/helpers/src/types.d.ts.map +0 -1
  456. package/dist/packages/helpers/src/validStyleProps.d.ts +0 -475
  457. package/dist/packages/helpers/src/validStyleProps.d.ts.map +0 -1
  458. package/dist/types.js +0 -1
  459. package/dist/types.js.map +0 -7
  460. package/dist/views/SafeAreaProvider.js +0 -30
  461. package/dist/views/SafeAreaProvider.js.map +0 -7
  462. package/dist/views/Text.js.map +0 -7
  463. package/dist/views/Theme.js.map +0 -7
  464. package/dist/views/ThemeManagerContext.js.map +0 -7
  465. package/src/hooks/useForceUpdate.tsx +0 -26
  466. package/src/views/SafeAreaProvider.tsx +0 -33
  467. package/tsconfig.json +0 -8
  468. package/types.d.ts +0 -558
@@ -0,0 +1,100 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
25
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
26
+ var __export = (target, all) => {
27
+ __markAsModule(target);
28
+ for (var name in all)
29
+ __defProp(target, name, { get: all[name], enumerable: true });
30
+ };
31
+ var __reExport = (target, module2, desc) => {
32
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
33
+ for (let key of __getOwnPropNames(module2))
34
+ if (!__hasOwnProp.call(target, key) && key !== "default")
35
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
36
+ }
37
+ return target;
38
+ };
39
+ var __toModule = (module2) => {
40
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
41
+ };
42
+ __export(exports, {
43
+ useFeatures: () => useFeatures
44
+ });
45
+ var import_react = __toModule(require("react"));
46
+ var import_platform = __toModule(require("../constants/platform"));
47
+ var import_useMedia = __toModule(require("./useMedia"));
48
+ const createDefinition = /* @__PURE__ */ __name(({
49
+ Component,
50
+ propNames
51
+ }) => ({
52
+ isEnabled: (props) => propNames.some((name) => !!props[name]),
53
+ Component
54
+ }), "createDefinition");
55
+ let featureDefinitions = null;
56
+ const useFeatures = /* @__PURE__ */ __name((props, utils) => {
57
+ if (!featureDefinitions) {
58
+ featureDefinitions = loadFeatures();
59
+ }
60
+ const features = [];
61
+ for (const name in featureDefinitions) {
62
+ const { isEnabled, Component } = featureDefinitions[name];
63
+ if (isEnabled(props) && Component) {
64
+ features.push(/* @__PURE__ */ import_react.default.createElement(Component, __spreadProps(__spreadValues({
65
+ key: name
66
+ }, props), {
67
+ _utils: utils
68
+ })));
69
+ }
70
+ }
71
+ return features;
72
+ }, "useFeatures");
73
+ function loadFeatures() {
74
+ return __spreadValues({}, !import_platform.isWeb && {
75
+ mediaQuery: loadMediaQueryFeature()
76
+ });
77
+ }
78
+ __name(loadFeatures, "loadFeatures");
79
+ function loadMediaQueryFeature() {
80
+ const mediaPropNames = Object.keys(import_useMedia.mediaState);
81
+ return createDefinition({
82
+ Component: (props) => {
83
+ const keys = mediaPropNames.flatMap((x) => x in props ? x.slice(1) : []);
84
+ (0, import_platform.useIsomorphicLayoutEffect)(() => {
85
+ for (const key of keys) {
86
+ (0, import_useMedia.addMediaQueryListener)(key, props._utils.forceUpdate);
87
+ }
88
+ return () => {
89
+ for (const key of keys) {
90
+ (0, import_useMedia.removeMediaQueryListener)(key, props._utils.forceUpdate);
91
+ }
92
+ };
93
+ }, [keys.join(",")]);
94
+ return null;
95
+ },
96
+ propNames: mediaPropNames
97
+ });
98
+ }
99
+ __name(loadMediaQueryFeature, "loadMediaQueryFeature");
100
+ //# sourceMappingURL=useFeatures.js.map
@@ -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;AAAA;AAAA;AAAA,mBAAkB;AAElB,sBAAiD;AACjD,sBAA4E;AAO5E,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,mDAAC,WAAD;AAAA,QAAW,KAAK;AAAA,SAAU,QAA1B;AAAA,QAAiC,QAAQ;AAAA;AAAA;AAAA;AAG3D,SAAO;AAAA,GAXkB;AAc3B,wBAA2D;AACzD,SAAO,mBAYD,CAAC,yBAAS;AAAA,IACZ,YAAY;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,qDAA0B,MAAM;AAC9B,mBAAW,OAAO,MAAM;AACtB,qDAAsB,KAAK,MAAM,OAAO;AAAA;AAE1C,eAAO,MAAM;AACX,qBAAW,OAAO,MAAM;AACtB,0DAAyB,KAAK,MAAM,OAAO;AAAA;AAAA;AAAA,SAG9C,CAAC,KAAK,KAAK;AAEd,aAAO;AAAA;AAAA,IAET,WAAW;AAAA;AAAA;AApBN;",
6
+ "names": []
7
+ }
@@ -0,0 +1,206 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
22
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
23
+ var __export = (target, all) => {
24
+ __markAsModule(target);
25
+ for (var name in all)
26
+ __defProp(target, name, { get: all[name], enumerable: true });
27
+ };
28
+ var __reExport = (target, module2, desc) => {
29
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
30
+ for (let key of __getOwnPropNames(module2))
31
+ if (!__hasOwnProp.call(target, key) && key !== "default")
32
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
33
+ }
34
+ return target;
35
+ };
36
+ var __toModule = (module2) => {
37
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
38
+ };
39
+ __export(exports, {
40
+ addMediaQueryListener: () => addMediaQueryListener,
41
+ configureMedia: () => configureMedia,
42
+ getMedia: () => getMedia,
43
+ mediaObjectToString: () => mediaObjectToString,
44
+ mediaQueryConfig: () => mediaQueryConfig,
45
+ mediaState: () => mediaState,
46
+ removeMediaQueryListener: () => removeMediaQueryListener,
47
+ useMedia: () => useMedia
48
+ });
49
+ var import_use_force_update = __toModule(require("@tamagui/use-force-update"));
50
+ var import_react = __toModule(require("react"));
51
+ var import_platform = __toModule(require("../constants/platform"));
52
+ var import_matchMedia = __toModule(require("../helpers/matchMedia"));
53
+ var import_useConstant = __toModule(require("./useConstant"));
54
+ const mediaState = {};
55
+ const mediaQueryListeners = {};
56
+ const addMediaQueryListener = /* @__PURE__ */ __name((key, cb) => {
57
+ mediaQueryListeners[key] = mediaQueryListeners[key] || new Set();
58
+ mediaQueryListeners[key].add(cb);
59
+ }, "addMediaQueryListener");
60
+ const removeMediaQueryListener = /* @__PURE__ */ __name((key, cb) => {
61
+ mediaQueryListeners[key].delete(cb);
62
+ }, "removeMediaQueryListener");
63
+ let conf = null;
64
+ const mediaQueryConfig = new Proxy({}, {
65
+ get(target, key) {
66
+ if (!conf) {
67
+ console.warn("Warning: accessing media query before init");
68
+ return null;
69
+ }
70
+ return Reflect.get(conf, key);
71
+ },
72
+ ownKeys() {
73
+ if (!conf) {
74
+ console.warn("Warning: accessing media query before init");
75
+ return [];
76
+ }
77
+ return Object.keys(conf);
78
+ },
79
+ getOwnPropertyDescriptor() {
80
+ return {
81
+ enumerable: true,
82
+ configurable: true
83
+ };
84
+ }
85
+ });
86
+ const getMedia = /* @__PURE__ */ __name(() => {
87
+ if (!conf) {
88
+ throw new Error(`not configured yet`);
89
+ }
90
+ return mediaState;
91
+ }, "getMedia");
92
+ const configureMedia = /* @__PURE__ */ __name(({
93
+ queries,
94
+ defaultActive = ["sm", "xs"]
95
+ } = {}) => {
96
+ if (conf) {
97
+ console.warn(`Already configured mediaQueries once (you may have called getMedia() before configureMedia())`);
98
+ }
99
+ if (queries) {
100
+ conf = queries;
101
+ }
102
+ for (const key in queries) {
103
+ const str = mediaObjectToString(queries[key]);
104
+ try {
105
+ const getMatch = /* @__PURE__ */ __name(() => (0, import_matchMedia.matchMedia)(str), "getMatch");
106
+ const match = getMatch();
107
+ if (!match || typeof match.addListener !== "function") {
108
+ throw new Error("\u26A0\uFE0F No match (seeing this in RN sometimes)");
109
+ }
110
+ mediaState[key] = !!match.matches;
111
+ match.addListener(() => {
112
+ const next = !!getMatch().matches;
113
+ if (next === mediaState[key])
114
+ return;
115
+ mediaState[key] = next;
116
+ const listeners = mediaQueryListeners[key];
117
+ if (listeners == null ? void 0 : listeners.size) {
118
+ for (const cb of [...listeners]) {
119
+ cb();
120
+ }
121
+ }
122
+ });
123
+ } catch (err) {
124
+ console.error("Error running media query", str, err.message, err.stack);
125
+ const isDefaultActive = (defaultActive == null ? void 0 : defaultActive.includes(key)) ?? true;
126
+ mediaState[key] = isDefaultActive;
127
+ }
128
+ }
129
+ }, "configureMedia");
130
+ const useMedia = /* @__PURE__ */ __name(() => {
131
+ const forceUpdate = (0, import_use_force_update.useForceUpdate)();
132
+ const state = (0, import_react.useRef)();
133
+ if (!state.current) {
134
+ state.current = {
135
+ selections: {},
136
+ nextSelections: {},
137
+ isUnmounted: false,
138
+ isRendering: true
139
+ };
140
+ }
141
+ state.current.isRendering = true;
142
+ (0, import_platform.useIsomorphicLayoutEffect)(() => {
143
+ const st = state.current;
144
+ st.isRendering = false;
145
+ for (const key in st.selections) {
146
+ if (!(key in st.nextSelections)) {
147
+ removeMediaQueryListener(key, forceUpdate);
148
+ }
149
+ }
150
+ for (const key in st.nextSelections) {
151
+ if (!(key in st.selections)) {
152
+ addMediaQueryListener(key, forceUpdate);
153
+ }
154
+ }
155
+ });
156
+ (0, import_platform.useIsomorphicLayoutEffect)(() => {
157
+ return () => {
158
+ const st = state.current;
159
+ st.isUnmounted = true;
160
+ const allKeys = __spreadValues(__spreadValues({}, st.selections), st.nextSelections);
161
+ for (const key in allKeys) {
162
+ removeMediaQueryListener(key, forceUpdate);
163
+ }
164
+ };
165
+ }, []);
166
+ return (0, import_useConstant.useConstant)(() => {
167
+ const st = state.current;
168
+ return new Proxy(mediaState, {
169
+ get(target, key) {
170
+ if (!(key in mediaState)) {
171
+ return Reflect.get(target, key);
172
+ }
173
+ if (!st.isUnmounted) {
174
+ if (st.isRendering) {
175
+ st.nextSelections[key] = true;
176
+ }
177
+ }
178
+ if (key in mediaState) {
179
+ return mediaState[key];
180
+ }
181
+ return Reflect.get(mediaState, key);
182
+ }
183
+ });
184
+ });
185
+ }, "useMedia");
186
+ function camelToHyphen(str) {
187
+ return str.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`).toLowerCase();
188
+ }
189
+ __name(camelToHyphen, "camelToHyphen");
190
+ function mediaObjectToString(query) {
191
+ if (typeof query === "string") {
192
+ return query;
193
+ }
194
+ return Object.entries(query).map(([feature, value]) => {
195
+ feature = camelToHyphen(feature);
196
+ if (typeof value === "string") {
197
+ return `(${feature}: ${value})`;
198
+ }
199
+ if (typeof value === "number" && /[height|width]$/.test(feature)) {
200
+ value = `${value}px`;
201
+ }
202
+ return `(${feature}: ${value})`;
203
+ }).join(" and ");
204
+ }
205
+ __name(mediaObjectToString, "mediaObjectToString");
206
+ //# sourceMappingURL=useMedia.js.map
@@ -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 (!conf) {\n console.warn('Warning: accessing media query before init')\n return null\n }\n return Reflect.get(conf, key)\n },\n ownKeys() {\n if (!conf) {\n console.warn('Warning: 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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAA+B;AAC/B,mBAAuB;AAEvB,sBAA0C;AAC1C,wBAA2B;AAO3B,yBAA4B;AAErB,MAAM,aAA0D;AACvE,MAAM,sBAAwD;AAEvD,MAAM,wBAAwB,wBAAC,KAAa,OAAY;AAC7D,sBAAoB,OAAO,oBAAoB,QAAQ,IAAI;AAC3D,sBAAoB,KAAK,IAAI;AAAA,GAFM;AAK9B,MAAM,2BAA2B,wBAAC,KAAa,OAAY;AAChE,sBAAoB,KAAK,OAAO;AAAA,GADM;AAIxC,IAAI,OAA4B;AAEzB,MAAM,mBAAmB,IAAI,MAAoB,IAAW;AAAA,EACjE,IAAI,QAAQ,KAAK;AACf,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;AACrC,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,kCAAW,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,gDAAe,SAAS,SAAe;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,iDAA0B,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,iDAA0B,MAAM;AAC9B,WAAO,MAAM;AACX,YAAM,KAAK,MAAM;AACjB,SAAG,cAAc;AACjB,YAAM,UAAU,kCACX,GAAG,aACH,GAAG;AAER,iBAAW,OAAO,SAAS;AACzB,iCAAyB,KAAK;AAAA;AAAA;AAAA,KAGjC;AAEH,SAAO,oCAAY,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
+ }
@@ -0,0 +1,50 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
10
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
11
+ var __objRest = (source, exclude) => {
12
+ var target = {};
13
+ for (var prop in source)
14
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
15
+ target[prop] = source[prop];
16
+ if (source != null && __getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(source)) {
18
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
19
+ target[prop] = source[prop];
20
+ }
21
+ return target;
22
+ };
23
+ var __export = (target, all) => {
24
+ __markAsModule(target);
25
+ for (var name in all)
26
+ __defProp(target, name, { get: all[name], enumerable: true });
27
+ };
28
+ var __reExport = (target, module2, desc) => {
29
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
30
+ for (let key of __getOwnPropNames(module2))
31
+ if (!__hasOwnProp.call(target, key) && key !== "default")
32
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
33
+ }
34
+ return target;
35
+ };
36
+ var __toModule = (module2) => {
37
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
38
+ };
39
+ __export(exports, {
40
+ usePressable: () => usePressable
41
+ });
42
+ var import_react_native = __toModule(require("react-native"));
43
+ var _a, _b;
44
+ const getPressable = (_b = (_a = import_react_native.Pressable) == null ? void 0 : _a["type"]) == null ? void 0 : _b["render"];
45
+ const usePressable = /* @__PURE__ */ __name((props) => {
46
+ const out = getPressable(props);
47
+ const _a2 = out.props, { children, style } = _a2, pressableProps = __objRest(_a2, ["children", "style"]);
48
+ return [pressableProps, style];
49
+ }, "usePressable");
50
+ //# sourceMappingURL=usePressable.js.map
@@ -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;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;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,0BAA0C;AAA1C;AAEA,MAAM,eAAe,iEAAY,YAAZ,mBAAsB;AAEpC,MAAM,eAAe,wBAAC,UAA0B;AACrD,QAAM,MAAM,aAAa;AACzB,QAA+C,UAAI,OAA3C,YAAU,UAA6B,KAAnB,2BAAmB,KAAnB,CAApB,YAAU;AAClB,SAAO,CAAC,gBAAgB;AAAA,GAHE;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,111 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
+ var __export = (target, all) => {
10
+ __markAsModule(target);
11
+ for (var name in all)
12
+ __defProp(target, name, { get: all[name], enumerable: true });
13
+ };
14
+ var __reExport = (target, module2, desc) => {
15
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
16
+ for (let key of __getOwnPropNames(module2))
17
+ if (!__hasOwnProp.call(target, key) && key !== "default")
18
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
19
+ }
20
+ return target;
21
+ };
22
+ var __toModule = (module2) => {
23
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
24
+ };
25
+ __export(exports, {
26
+ useDefaultThemeName: () => useDefaultThemeName,
27
+ useTheme: () => useTheme,
28
+ useThemeName: () => useThemeName
29
+ });
30
+ var import_use_force_update = __toModule(require("@tamagui/use-force-update"));
31
+ var import_react = __toModule(require("react"));
32
+ var import_platform = __toModule(require("../constants/platform"));
33
+ var import_createVariable = __toModule(require("../createVariable"));
34
+ var import_ThemeContext = __toModule(require("../views/ThemeContext"));
35
+ var import_ThemeManagerContext = __toModule(require("../views/ThemeManagerContext"));
36
+ var import_ThemeProvider = __toModule(require("../views/ThemeProvider"));
37
+ const areEqualSets = /* @__PURE__ */ __name((a, b) => {
38
+ if (a.size !== b.size)
39
+ return false;
40
+ for (const val in a) {
41
+ if (!b.has(val)) {
42
+ return false;
43
+ }
44
+ }
45
+ return true;
46
+ }, "areEqualSets");
47
+ const useThemeName = /* @__PURE__ */ __name((opts) => {
48
+ const parent = (0, import_react.useContext)(import_ThemeManagerContext.ThemeManagerContext);
49
+ const [name, setName] = (0, import_react.useState)(parent.name);
50
+ (0, import_platform.useIsomorphicLayoutEffect)(() => {
51
+ return parent.onChangeTheme((next, manager) => {
52
+ setName((opts == null ? void 0 : opts.parent) ? manager.parentName : next);
53
+ });
54
+ }, [parent]);
55
+ return name || "light";
56
+ }, "useThemeName");
57
+ const useDefaultThemeName = /* @__PURE__ */ __name(() => {
58
+ return (0, import_react.useContext)(import_ThemeContext.ThemeContext)[import_ThemeProvider.GET_DEFAULT_THEME];
59
+ }, "useDefaultThemeName");
60
+ const useTheme = /* @__PURE__ */ __name(() => {
61
+ const forceUpdate = (0, import_use_force_update.useForceUpdate)();
62
+ const manager = (0, import_react.useContext)(import_ThemeManagerContext.ThemeManagerContext);
63
+ const themes = (0, import_react.useContext)(import_ThemeContext.ThemeContext);
64
+ const state = (0, import_react.useRef)();
65
+ if (!state.current) {
66
+ state.current = {
67
+ uuid: {},
68
+ keys: new Set(),
69
+ isRendering: true
70
+ };
71
+ }
72
+ state.current.isRendering = true;
73
+ (0, import_platform.useIsomorphicLayoutEffect)(() => {
74
+ const st = state.current;
75
+ st.isRendering = false;
76
+ const cur = manager.keys.get(st.uuid);
77
+ if (!cur || !areEqualSets(st.keys, cur)) {
78
+ manager.track(st.uuid, st.keys);
79
+ }
80
+ });
81
+ (0, import_react.useEffect)(() => {
82
+ return manager.onUpdate(state.current.uuid, forceUpdate);
83
+ }, []);
84
+ const theme = (manager.name ? themes[manager.name] : themes.light) ?? themes.light;
85
+ return (0, import_react.useMemo)(() => {
86
+ return new Proxy(theme, {
87
+ get(_, key) {
88
+ const name = manager.name;
89
+ if (!name) {
90
+ return Reflect.get(_, key);
91
+ }
92
+ let activeTheme = themes[name];
93
+ if (!activeTheme) {
94
+ console.error("No theme by name", name, "only:", themes, "keeping current theme");
95
+ activeTheme = theme;
96
+ }
97
+ const val = activeTheme[key];
98
+ if (process.env.NODE_ENV === "development") {
99
+ if (typeof val === "undefined") {
100
+ throw new Error(`No theme value "${String(key)}" in: ${Object.keys(activeTheme)}`);
101
+ }
102
+ }
103
+ if (state.current.isRendering) {
104
+ state.current.keys.add(key);
105
+ }
106
+ return new import_createVariable.Variable({ val: val.val, name: key });
107
+ }
108
+ });
109
+ }, []);
110
+ }, "useTheme");
111
+ //# sourceMappingURL=useTheme.js.map
@@ -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 { useIsomorphicLayoutEffect } from '../constants/platform'\nimport { Variable } from '../createVariable'\nimport { ThemeName } from '../types'\nimport { ThemeContext } from '../views/ThemeContext'\nimport { ThemeManagerContext } from '../views/ThemeManagerContext'\nimport { GET_DEFAULT_THEME } from '../views/ThemeProvider'\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 = () => {\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 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 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 throw new Error(`No theme value \"${String(key)}\" in: ${Object.keys(activeTheme)}`)\n }\n }\n if (state.current.isRendering) {\n state.current.keys.add(key)\n }\n // TODO costly, can make faster (we need name mapping to og name, but val pointing to new val)\n // console.log('returning new variable', val, key)\n return new Variable({ val: val.val, name: key })\n },\n })\n },\n [\n /* if concurrent mode wanted put manager.name here */\n ]\n )\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAA+B;AAC/B,mBAAwE;AAExE,sBAA0C;AAC1C,4BAAyB;AAEzB,0BAA6B;AAC7B,iCAAoC;AACpC,2BAAkC;AAQlC,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,6BAAW;AAC1B,QAAM,CAAC,MAAM,WAAW,2BAAS,OAAO;AAExC,iDAA0B,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,6BAAW,kCAAc;AAAA,GADC;AAI5B,MAAM,WAAW,6BAAM;AAC5B,QAAM,cAAc;AACpB,QAAM,UAAU,6BAAW;AAC3B,QAAM,SAAS,6BAAW;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,iDAA0B,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,8BAAU,MAAM;AACd,WAAO,QAAQ,SAAS,MAAM,QAAQ,MAAM;AAAA,KAC3C;AAEH,QAAM,QAAS,SAAQ,OAAO,OAAO,QAAQ,QAAQ,OAAO,UAAU,OAAO;AAE7E,SAAO,0BACL,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,kBAAM,IAAI,MAAM,mBAAmB,OAAO,aAAa,OAAO,KAAK;AAAA;AAAA;AAGvE,YAAI,MAAM,QAAQ,aAAa;AAC7B,gBAAM,QAAQ,KAAK,IAAI;AAAA;AAIzB,eAAO,IAAI,+BAAS,EAAE,KAAK,IAAI,KAAK,MAAM;AAAA;AAAA;AAAA,KAIhD;AAAA,GA1DoB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,55 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ __markAsModule(target);
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __reExport = (target, module2, desc) => {
14
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
15
+ for (let key of __getOwnPropNames(module2))
16
+ if (!__hasOwnProp.call(target, key) && key !== "default")
17
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
18
+ }
19
+ return target;
20
+ };
21
+ var __toModule = (module2) => {
22
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
23
+ };
24
+ __export(exports, {
25
+ createTokens: () => import_createTokens.createTokens
26
+ });
27
+ __reExport(exports, __toModule(require("./createComponent")));
28
+ __reExport(exports, __toModule(require("./createShorthands")));
29
+ __reExport(exports, __toModule(require("./createTheme")));
30
+ __reExport(exports, __toModule(require("./createTamagui")));
31
+ __reExport(exports, __toModule(require("./createFont")));
32
+ var import_createTokens = __toModule(require("./createTokens"));
33
+ __reExport(exports, __toModule(require("./createVariable")));
34
+ __reExport(exports, __toModule(require("./styled")));
35
+ __reExport(exports, __toModule(require("./types")));
36
+ __reExport(exports, __toModule(require("./constants/pseudos")));
37
+ __reExport(exports, __toModule(require("./constants/constants")));
38
+ __reExport(exports, __toModule(require("./constants/platform")));
39
+ __reExport(exports, __toModule(require("./constants/rnw")));
40
+ __reExport(exports, __toModule(require("./helpers/isObj")));
41
+ __reExport(exports, __toModule(require("./helpers/getStylesAtomic")));
42
+ __reExport(exports, __toModule(require("./helpers/matchMedia")));
43
+ __reExport(exports, __toModule(require("./helpers/themeable")));
44
+ __reExport(exports, __toModule(require("./helpers/isTamaguiElement")));
45
+ __reExport(exports, __toModule(require("./hooks/useConstant")));
46
+ __reExport(exports, __toModule(require("./hooks/useMedia")));
47
+ __reExport(exports, __toModule(require("./hooks/useTheme")));
48
+ __reExport(exports, __toModule(require("./views/Animated")));
49
+ __reExport(exports, __toModule(require("./views/Stack")));
50
+ __reExport(exports, __toModule(require("./views/Text")));
51
+ __reExport(exports, __toModule(require("./views/Theme")));
52
+ __reExport(exports, __toModule(require("./views/ThemeInverse")));
53
+ __reExport(exports, __toModule(require("./views/ThemeProvider")));
54
+ __reExport(exports, __toModule(require("./views/TextAncestorContext")));
55
+ //# 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'\n\nexport * from './constants/pseudos'\nexport * from './constants/constants'\nexport * from './constants/platform'\nexport * from './constants/rnw'\n\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;AAAA;AAAA;AAAA,oBAAc;AACd,oBAAc;AACd,oBAAc;AACd,oBAAc;AACd,oBAAc;AACd,0BAA6B;AAC7B,oBAAc;AACd,oBAAc;AACd,oBAAc;AAEd,oBAAc;AACd,oBAAc;AACd,oBAAc;AACd,oBAAc;AAEd,oBAAc;AACd,oBAAc;AACd,oBAAc;AACd,oBAAc;AACd,oBAAc;AAEd,oBAAc;AACd,oBAAc;AACd,oBAAc;AAEd,oBAAc;AACd,oBAAc;AACd,oBAAc;AACd,oBAAc;AACd,oBAAc;AACd,oBAAc;AACd,oBAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,40 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
+ var __export = (target, all) => {
10
+ __markAsModule(target);
11
+ for (var name in all)
12
+ __defProp(target, name, { get: all[name], enumerable: true });
13
+ };
14
+ var __reExport = (target, module2, desc) => {
15
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
16
+ for (let key of __getOwnPropNames(module2))
17
+ if (!__hasOwnProp.call(target, key) && key !== "default")
18
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
19
+ }
20
+ return target;
21
+ };
22
+ var __toModule = (module2) => {
23
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
24
+ };
25
+ __export(exports, {
26
+ postProcessStyles: () => postProcessStyles
27
+ });
28
+ var import_getSplitStyles = __toModule(require("../helpers/getSplitStyles"));
29
+ const postProcessStyles = /* @__PURE__ */ __name((inStyles, staticConfig, theme) => {
30
+ const { style, viewProps, pseudos, classNames } = (0, import_getSplitStyles.getSplitStyles)(inStyles, staticConfig, theme);
31
+ const next = {};
32
+ for (const s of style) {
33
+ if (!s)
34
+ continue;
35
+ Object.assign(next, s);
36
+ }
37
+ Object.assign(next, pseudos);
38
+ return { style: next, viewProps, classNames };
39
+ }, "postProcessStyles");
40
+ //# sourceMappingURL=postProcessStyles.js.map
@@ -1,7 +1,7 @@
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
- "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;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,4BAA+B;AAKxB,MAAM,oBAAoB,wBAC/B,UACA,cACA,UACG;AACH,QAAM,EAAE,OAAO,WAAW,SAAS,eAAe,0CAAe,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": []
7
7
  }