@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
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/addStylesUsingClassname.tsx"],
4
- "sourcesContent": ["import { getStylesAtomic } from './getStylesAtomic'\nimport { insertStyleRule } from './insertStyleRule'\n\nlet added = {}\n\n// TODO use upcoming react method for inserting\n\nexport function addStylesUsingClassname(styles: any[]) {\n let className = ''\n for (const style of styles) {\n if (!style) continue\n if (Array.isArray(style)) {\n className += ' ' + addStylesUsingClassname(style)\n continue\n }\n for (const { identifier, rules } of getStylesAtomic(style)) {\n className += ` ${identifier}`\n if (added[identifier]) {\n continue\n }\n added[identifier] = true\n for (const rule of rules) {\n insertStyleRule(rule)\n }\n }\n }\n return className\n}\n"],
5
- "mappings": ";;AAAA;AACA;AAEA,IAAI,QAAQ;AAIL,iCAAiC,QAAe;AACrD,MAAI,YAAY;AAChB,aAAW,SAAS,QAAQ;AAC1B,QAAI,CAAC;AAAO;AACZ,QAAI,MAAM,QAAQ,QAAQ;AACxB,mBAAa,MAAM,wBAAwB;AAC3C;AAAA;AAEF,eAAW,EAAE,YAAY,WAAW,gBAAgB,QAAQ;AAC1D,mBAAa,IAAI;AACjB,UAAI,MAAM,aAAa;AACrB;AAAA;AAEF,YAAM,cAAc;AACpB,iBAAW,QAAQ,OAAO;AACxB,wBAAgB;AAAA;AAAA;AAAA;AAItB,SAAO;AAAA;AAnBO;",
6
- "names": []
7
- }
@@ -1,42 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import * as React from "react";
4
- import { Platform } from "react-native";
5
- import {
6
- SafeAreaProvider,
7
- initialWindowMetrics as defaultInitialWindowMetrics
8
- } from "react-native-safe-area-context";
9
- import { TextAncestorProvider } from "../views/TextAncestorContext";
10
- import { ThemeProvider } from "../views/ThemeProvider";
11
- function createTamaguiProvider(themeProps) {
12
- let defaultMetrics = null;
13
- return /* @__PURE__ */ __name(function TamaguiProvider({
14
- initialWindowMetrics,
15
- fallback,
16
- children,
17
- ...themePropsProvider
18
- }) {
19
- if (!initialWindowMetrics && !defaultMetrics) {
20
- defaultMetrics = Platform.select({
21
- web: {
22
- frame: { x: 0, y: 0, width: 0, height: 0 },
23
- insets: { top: 0, left: 0, right: 0, bottom: 0 }
24
- },
25
- default: defaultInitialWindowMetrics
26
- });
27
- }
28
- return /* @__PURE__ */ React.createElement(TextAncestorProvider, null, /* @__PURE__ */ React.createElement(SafeAreaProvider, {
29
- initialMetrics: initialWindowMetrics != null ? initialWindowMetrics : defaultMetrics
30
- }, /* @__PURE__ */ React.createElement(ThemeProvider, {
31
- ...themeProps,
32
- ...themePropsProvider
33
- }, /* @__PURE__ */ React.createElement(React.Suspense, {
34
- fallback: fallback || null
35
- }, children))));
36
- }, "TamaguiProvider");
37
- }
38
- __name(createTamaguiProvider, "createTamaguiProvider");
39
- export {
40
- createTamaguiProvider
41
- };
42
- //# sourceMappingURL=createTamaguiProvider.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/createTamaguiProvider.tsx"],
4
- "sourcesContent": ["import * as React from 'react'\nimport { Platform } from 'react-native'\nimport {\n Metrics,\n SafeAreaProvider,\n initialWindowMetrics as defaultInitialWindowMetrics,\n} from 'react-native-safe-area-context'\n\nimport { TamaguiProviderProps } from '../types'\nimport { TextAncestorProvider } from '../views/TextAncestorContext'\nimport { ThemeProvider, ThemeProviderProps } from '../views/ThemeProvider'\n\nexport function createTamaguiProvider(themeProps: ThemeProviderProps) {\n let defaultMetrics: Metrics | null = null\n return function TamaguiProvider({\n initialWindowMetrics,\n fallback,\n children,\n ...themePropsProvider\n }: TamaguiProviderProps) {\n if (!initialWindowMetrics && !defaultMetrics) {\n defaultMetrics = Platform.select({\n web: {\n frame: { x: 0, y: 0, width: 0, height: 0 },\n insets: { top: 0, left: 0, right: 0, bottom: 0 },\n },\n default: defaultInitialWindowMetrics,\n })\n }\n return (\n <TextAncestorProvider>\n <SafeAreaProvider initialMetrics={initialWindowMetrics ?? defaultMetrics}>\n <ThemeProvider {...themeProps} {...themePropsProvider}>\n <React.Suspense fallback={fallback || null}>{children}</React.Suspense>\n </ThemeProvider>\n </SafeAreaProvider>\n </TextAncestorProvider>\n )\n }\n}\n"],
5
- "mappings": ";;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAOA;AACA;AAEO,+BAA+B,YAAgC;AACpE,MAAI,iBAAiC;AACrC,SAAO,gDAAyB;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,OACG;AAAA,KACoB;AACvB,QAAI,CAAC,wBAAwB,CAAC,gBAAgB;AAC5C,uBAAiB,SAAS,OAAO;AAAA,QAC/B,KAAK;AAAA,UACH,OAAO,EAAE,GAAG,GAAG,GAAG,GAAG,OAAO,GAAG,QAAQ;AAAA,UACvC,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ;AAAA;AAAA,QAE/C,SAAS;AAAA;AAAA;AAGb,WACE,oCAAC,sBAAD,MACE,oCAAC,kBAAD;AAAA,MAAkB,gBAAgB,sDAAwB;AAAA,OACxD,oCAAC,eAAD;AAAA,SAAmB;AAAA,SAAgB;AAAA,OACjC,oCAAC,MAAM,UAAP;AAAA,MAAgB,UAAU,YAAY;AAAA,OAAO;AAAA,KAnBhD;AAAA;AAFO;",
6
- "names": []
7
- }
@@ -1,176 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import { getTamaguiConfig } from "../createTamagui";
4
- import { Variable } from "../createVariable";
5
- function extendStaticConfig(Component, config = {}) {
6
- var _a, _b;
7
- const a = Component || {};
8
- if (!a.staticConfig) {
9
- a.staticConfig = {
10
- Component
11
- };
12
- }
13
- return parseStaticConfig({
14
- ...a.staticConfig,
15
- variants: {
16
- ...a.staticConfig.variants,
17
- ...config.variants
18
- },
19
- isText: config.isText || a.staticConfig.isText || false,
20
- neverFlatten: (_a = config.neverFlatten) != null ? _a : a.staticConfig.neverFlatten,
21
- ensureOverriddenProp: (_b = config.ensureOverriddenProp) != null ? _b : a.staticConfig.ensureOverriddenProp,
22
- validStyles: config.validStyles ? {
23
- ...a.staticConfig.validStyles,
24
- ...config.validStyles
25
- } : a.staticConfig.validStyles,
26
- validPropsExtra: {
27
- ...a.staticConfig.validPropsExtra,
28
- ...config.validPropsExtra
29
- },
30
- defaultProps: {
31
- ...a.staticConfig.defaultProps,
32
- ...config.defaultProps
33
- }
34
- });
35
- }
36
- __name(extendStaticConfig, "extendStaticConfig");
37
- function parseStaticConfig(c) {
38
- const variants = c.variants;
39
- let variantsParsed;
40
- return {
41
- ...c,
42
- parsed: true,
43
- propMapper(key, value, theme) {
44
- var _a;
45
- const conf = getTamaguiConfig();
46
- if (!conf) {
47
- console.trace("err");
48
- return;
49
- }
50
- if (variants && !variantsParsed) {
51
- variantsParsed = parseVariants(variants, conf);
52
- }
53
- const variant = variantsParsed == null ? void 0 : variantsParsed[key];
54
- if (variant) {
55
- const tokenKey = typeof value === "string" && value[0] === "$" ? value.slice(1) : value;
56
- const val = tokenKey === true ? variant["true"] : (_a = variant[tokenKey]) != null ? _a : value;
57
- let res;
58
- if (typeof val === "function") {
59
- res = val(tokenKey, { tokens: conf.tokens, theme });
60
- } else {
61
- res = val;
62
- }
63
- if (res) {
64
- for (const rKey in res) {
65
- const fKey = conf.shorthands[rKey] || rKey;
66
- if (rKey !== fKey) {
67
- delete res[rKey];
68
- }
69
- const val2 = res[rKey];
70
- if (val2 instanceof Variable) {
71
- res[fKey] = val2.variable;
72
- } else if (val2) {
73
- const fVal = val2[0] === "$" ? getToken(fKey, val2, conf) : val2;
74
- res[fKey] = fVal;
75
- } else {
76
- }
77
- }
78
- }
79
- return res;
80
- }
81
- let shouldReturn = false;
82
- if (conf.shorthands[key]) {
83
- shouldReturn = true;
84
- key = conf.shorthands[key];
85
- }
86
- if (value && value[0] === "$") {
87
- shouldReturn = true;
88
- value = getToken(key, value, conf);
89
- }
90
- if (value instanceof Variable) {
91
- shouldReturn = true;
92
- value = value.variable;
93
- }
94
- if (shouldReturn) {
95
- return {
96
- [key]: value
97
- };
98
- }
99
- }
100
- };
101
- }
102
- __name(parseStaticConfig, "parseStaticConfig");
103
- const getToken = /* @__PURE__ */ __name((key, value, { tokensParsed, themeParsed }) => {
104
- if (themeParsed[value]) {
105
- return themeParsed[value].variable;
106
- }
107
- for (const cat in tokenCategories) {
108
- if (tokenCategories[cat][key]) {
109
- const res = tokensParsed[cat][value];
110
- if (res) {
111
- return res.variable;
112
- } else {
113
- const themeVar = themeParsed[value];
114
- if (themeVar) {
115
- return themeVar.variable;
116
- }
117
- }
118
- }
119
- }
120
- const spaceVar = tokensParsed.space[value];
121
- if (spaceVar) {
122
- return spaceVar.variable;
123
- }
124
- return value;
125
- }, "getToken");
126
- const tokenCategories = {
127
- size: {
128
- width: true,
129
- height: true,
130
- minWidth: true,
131
- minHeight: true,
132
- maxWidth: true,
133
- maxHeight: true
134
- },
135
- font: {
136
- fontFamily: true
137
- },
138
- fontSize: {
139
- fontSize: true
140
- },
141
- lineHeight: {
142
- lineHeight: true
143
- },
144
- color: {
145
- color: true,
146
- backgroundColor: true,
147
- borderColor: true,
148
- borderBottomColor: true,
149
- borderTopColor: true,
150
- borderLeftColor: true,
151
- borderRightColor: true
152
- }
153
- };
154
- function parseVariants(variants, conf) {
155
- return Object.keys(variants).reduce((acc, key) => {
156
- acc[key] = Object.keys(variants[key]).reduce((vacc, vkey) => {
157
- if (vkey.startsWith("...")) {
158
- const tokenKey = vkey.slice(3);
159
- const tokens = conf.tokens[tokenKey];
160
- for (const tkey in tokens) {
161
- vacc[tkey] = variants[key][vkey];
162
- }
163
- } else {
164
- vacc[vkey] = variants[key][vkey];
165
- }
166
- return vacc;
167
- }, {});
168
- return acc;
169
- }, {});
170
- }
171
- __name(parseVariants, "parseVariants");
172
- export {
173
- extendStaticConfig,
174
- parseStaticConfig
175
- };
176
- //# sourceMappingURL=extendStaticConfig.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/extendStaticConfig.ts"],
4
- "sourcesContent": ["import React from 'react'\n\nimport { getTamaguiConfig } from '../createTamagui'\nimport { Variable } from '../createVariable'\nimport { StaticComponent, StaticConfig, StaticConfigParsed, TamaguiInternalConfig } from '../types'\n\nexport function extendStaticConfig(\n // can be undefined when loading with @tamagui/fake-react-native\n // could be fixed a bit cleaner\n Component?: StaticComponent | React.Component<any>,\n config: StaticConfig = {}\n): StaticConfigParsed | null {\n const a = (Component || {}) as any\n if (!a.staticConfig) {\n // if no static config, we are extending an external component\n a.staticConfig = {\n Component,\n }\n }\n\n return parseStaticConfig({\n ...a.staticConfig,\n variants: {\n ...a.staticConfig.variants,\n ...config.variants,\n },\n isText: config.isText || a.staticConfig.isText || false,\n neverFlatten: config.neverFlatten ?? a.staticConfig.neverFlatten,\n ensureOverriddenProp: config.ensureOverriddenProp ?? a.staticConfig.ensureOverriddenProp,\n validStyles: config.validStyles\n ? {\n ...a.staticConfig.validStyles,\n ...config.validStyles,\n }\n : a.staticConfig.validStyles,\n validPropsExtra: {\n ...a.staticConfig.validPropsExtra,\n ...config.validPropsExtra,\n },\n defaultProps: {\n ...a.staticConfig.defaultProps,\n ...config.defaultProps,\n },\n })\n}\n\nexport function parseStaticConfig(c: StaticConfig): StaticConfigParsed {\n const variants = c.variants\n let variantsParsed\n return {\n ...c,\n parsed: true,\n\n propMapper(key: string, value: any, theme: any) {\n const conf = getTamaguiConfig()\n if (!conf) {\n console.trace('err')\n return\n }\n if (variants && !variantsParsed) {\n variantsParsed = parseVariants(variants, conf)\n }\n\n // expand variants\n const variant = variantsParsed?.[key]\n if (variant) {\n const tokenKey = typeof value === 'string' && value[0] === '$' ? value.slice(1) : value\n const val = tokenKey === true ? variant['true'] : variant[tokenKey] ?? value\n\n let res: any\n if (typeof val === 'function') {\n res = val(tokenKey, { tokens: conf.tokens, theme })\n } else {\n res = val\n }\n\n if (res) {\n for (const rKey in res) {\n const fKey = conf.shorthands[rKey] || rKey\n if (rKey !== fKey) {\n delete res[rKey]\n }\n const val = res[rKey]\n if (val instanceof Variable) {\n res[fKey] = val.variable\n } else if (val) {\n const fVal = val[0] === '$' ? getToken(fKey, val, conf) : val\n res[fKey] = fVal\n } else {\n // nullish values can't be tokens\n }\n }\n }\n\n return res\n }\n\n let shouldReturn = false\n\n // handle shorthands\n if (conf.shorthands[key]) {\n shouldReturn = true\n key = conf.shorthands[key]\n }\n\n if (value && value[0] === '$') {\n shouldReturn = true\n value = getToken(key, value, conf)\n }\n\n if (value instanceof Variable) {\n shouldReturn = true\n value = value.variable\n }\n\n if (shouldReturn) {\n return {\n [key]: value,\n }\n }\n },\n }\n}\n\nconst getToken = (\n key: string,\n value: string,\n { tokensParsed, themeParsed }: TamaguiInternalConfig\n) => {\n if (themeParsed[value]) {\n return themeParsed[value].variable\n }\n for (const cat in tokenCategories) {\n if (tokenCategories[cat][key]) {\n const res = tokensParsed[cat][value]\n if (res) {\n return res.variable\n } else {\n const themeVar = themeParsed[value]\n if (themeVar) {\n return themeVar.variable\n }\n }\n }\n }\n const spaceVar = tokensParsed.space[value]\n if (spaceVar) {\n return spaceVar.variable\n }\n return value\n}\n\n// just specificy the least costly, all else go to `space` (most keys - we can exclude)\n\nconst tokenCategories = {\n size: {\n width: true,\n height: true,\n minWidth: true,\n minHeight: true,\n maxWidth: true,\n maxHeight: true,\n },\n font: {\n fontFamily: true,\n },\n fontSize: {\n fontSize: true,\n },\n lineHeight: {\n lineHeight: true,\n },\n color: {\n color: true,\n backgroundColor: true,\n borderColor: true,\n borderBottomColor: true,\n borderTopColor: true,\n borderLeftColor: true,\n borderRightColor: true,\n },\n}\n\nfunction parseVariants(variants: any, conf: TamaguiInternalConfig) {\n return Object.keys(variants).reduce((acc, key) => {\n acc[key] = Object.keys(variants[key]).reduce((vacc, vkey) => {\n if (vkey.startsWith('...')) {\n const tokenKey = vkey.slice(3)\n const tokens = conf.tokens[tokenKey]\n for (const tkey in tokens) {\n vacc[tkey] = variants[key][vkey]\n }\n // explode\n // acc[vkey] = variants[key][vkey]\n } else {\n vacc[vkey] = variants[key][vkey]\n }\n return vacc\n }, {})\n return acc\n }, {})\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/fixNativeShadow.tsx"],
4
- "sourcesContent": ["// only native of course\nexport const fixNativeShadow = (a: any) => {}\n"],
5
- "mappings": ";;AACO,MAAM,kBAAkB,wBAAC,MAAW;AAAA,GAAZ;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/getSplitStyles.tsx"],
4
- "sourcesContent": ["import {\n AllRules,\n stylePropsText,\n stylePropsTransform,\n validStyles,\n validStylesPseudo,\n} from '@tamagui/helpers'\nimport { ViewStyle } from 'react-native'\n\nimport { isWeb } from '../constants/platform'\nimport { mediaQueryConfig } from '../hooks/useMedia'\nimport { StaticConfigParsed, ThemeObject } from '../types'\nimport { createMediaStyle } from './createMediaStyle'\nimport { fixNativeShadow } from './fixNativeShadow'\nimport { getStylesAtomic } from './getStylesAtomic'\nimport { insertStyleRule } from './insertStyleRule'\n\nexport type SplitStyles = ReturnType<typeof getSplitStyles>\n\n// TODO run over this, should be able to cut it down quite a bit\n\nexport const getSplitStyles = (\n props: { [key: string]: any },\n staticConfig: StaticConfigParsed,\n theme: ThemeObject,\n isSplittingDefaultProps?: boolean\n) => {\n const validStyleProps = staticConfig.isText ? stylePropsText : validStyles\n const viewProps: Record<string, any> = {}\n const style: any[] = []\n const blacklistProps = isSplittingDefaultProps ? blacklistDefaultProps : blacklistFinalProps\n\n let pseudos: { hoverStyle?: ViewStyle; pressStyle?: ViewStyle } | null = null\n let cur: ViewStyle | null = null\n let classNames: string[] | null = null\n\n for (const keyInit in props) {\n // be sure to sync next few lines below to getSubStyle (*1)\n const valInit = props[keyInit]\n\n // media\n if (keyInit[0] === '$') {\n const mediaKey = keyInit.slice(1)\n\n if (!mediaQueryConfig[mediaKey]) {\n // this isn't a media key, pass through\n viewProps[keyInit] = valInit\n continue\n }\n\n // dont check if media is active, we just apply *all* media styles\n // we combine the media props on top regular props, could proxy this\n // TODO test proxy here instead of merge\n const mediaProps = { ...props, ...valInit }\n // TODO media + hover\n const mediaStyle = getSubStyle(valInit, staticConfig, theme)\n const mediaStyles = getStylesAtomic(mediaStyle)\n if (process.env.NODE_ENV === 'development') {\n if (props['debug']) {\n console.log('mediaStyles', keyInit, { mediaProps, mediaStyle, mediaStyles })\n }\n }\n for (const style of mediaStyles) {\n if (isWeb) {\n const out = createMediaStyle(style, mediaKey, mediaQueryConfig)\n classNames = classNames || []\n classNames.push(out.identifier)\n AllRules.add(out.styleRule)\n insertStyleRule(out.styleRule)\n if (process.env.NODE_ENV === 'development' && props['debug']) {\n console.log('mediaProp', style.identifier, out, mediaProps, mediaStyle, mediaStyles)\n }\n } else {\n console.log('TODO native media style logic')\n }\n }\n continue\n }\n\n // pseudo\n if (validStylesPseudo[keyInit]) {\n if (!valInit) continue\n pseudos = pseudos || {}\n pseudos[keyInit] = getSubStyle(valInit, staticConfig, theme)\n continue\n }\n\n const out = staticConfig.propMapper(keyInit, valInit, theme)\n const expanded = out === true || !out ? [[keyInit, valInit]] : Object.entries(out)\n for (const [key, val] of expanded) {\n // const val = valueMap(valInit) ?? valInit\n const keyFirstChar = key[0]\n if (key === 'style' || (keyFirstChar === '_' && key.startsWith('_style'))) {\n if (cur) {\n // process last\n fixNativeShadow(cur)\n style.push(cur)\n cur = null\n }\n fixNativeShadow(val)\n style.push(val)\n continue\n }\n // expand flex so it merged with flexShrink etc properly\n // TODO this shouldn't be here...\n if (key === 'flex') {\n cur = cur || {}\n // see spec for flex shorthand https://developer.mozilla.org/en-US/docs/Web/CSS/flex\n // TODO this fixed a behavior but need to find / document / test\n Object.assign(cur, {\n flexGrow: val,\n flexShrink: 1,\n })\n continue\n }\n if (!isWeb && key === 'pointerEvents') {\n viewProps[key] = val\n continue\n }\n if (validStyleProps[key]) {\n // transforms\n if (key in stylePropsTransform) {\n cur = cur || {}\n mergeTransform(cur, key, val)\n continue\n }\n cur = cur || {}\n cur[key] = val\n continue\n }\n // TODO this blacklist should be configurable + better set up\n if (!blacklistProps[key]) {\n viewProps[key] = val\n }\n }\n }\n // push last style\n if (cur) {\n fixNativeShadow(cur)\n style.push(cur)\n }\n\n if (process.env.NODE_ENV === 'development') {\n if (props['debug']) {\n console.log(' \uD83E\uDD5A splitProps:', { props, viewProps, style })\n }\n }\n\n return {\n viewProps,\n style,\n pseudos,\n classNames,\n }\n}\n\nconst getSubStyle = (\n styleIn: Object,\n staticConfig: StaticConfigParsed,\n theme: ThemeObject\n): ViewStyle => {\n const styleOut: ViewStyle = {}\n for (const key in styleIn) {\n // be sure to sync next few lines below to loop above (*1)\n const val = styleIn[key]\n const out = staticConfig.propMapper(key, val, theme)\n const expanded = out === true || !out ? [[key, val]] : Object.entries(out)\n for (const [skey, sval] of expanded) {\n // const sval = valueMap(valInit)\n if (skey in stylePropsTransform) {\n mergeTransform(styleOut, skey, sval)\n } else {\n styleOut[skey] = sval\n }\n }\n }\n fixNativeShadow(styleOut)\n return styleOut\n}\n\nconst blacklistDefaultProps = {\n ...validStyles,\n ...stylePropsText,\n}\n\nconst blacklistFinalProps = {\n ...blacklistDefaultProps,\n tag: true,\n debug: true,\n space: true,\n hitSlop: true,\n}\n\nconst mapTransformKeys = {\n x: 'translateX',\n y: 'translateY',\n}\n\nconst mergeTransform = (obj: ViewStyle, key: string, val: any) => {\n const transform: any[] = obj.transform\n ? Array.isArray(obj.transform)\n ? obj.transform\n : [obj.transform]\n : []\n transform.push({ [mapTransformKeys[key] || key]: val })\n obj.transform = transform\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/matchMedia.ts"],
4
- "sourcesContent": ["export const matchMedia =\n (typeof window !== 'undefined' && window.matchMedia) ||\n (function matchMediaFallback(query: string) {\n return {\n addListener() {},\n removeListener() {},\n matches: false,\n }\n } as any)\n"],
5
- "mappings": ";;AAAO,MAAM,aACV,OAAO,WAAW,eAAe,OAAO,cACxC,mDAA4B,OAAe;AAC1C,SAAO;AAAA,IACL,cAAc;AAAA;AAAA,IACd,iBAAiB;AAAA;AAAA,IACjB,SAAS;AAAA;AAAA,GAJZ;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
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, removeMediaQueryListener } from './useMedia'\n\n// only needed on native\n// dynamic loading of features to avoid heavy views\n\nconst createDefinition = ({ Component, propNames }: { Component; propNames: string[] }) => ({\n isEnabled: (props: any) => propNames.some((name) => !!props[name]),\n Component,\n})\n\nconst mediaQueryPropNames = [\n '$xs',\n '$sm',\n '$md',\n '$lg',\n '$xl',\n '$xxl',\n '$pointerCoarse',\n '$hoverNone',\n '$tall',\n '$short',\n '$gtSm',\n '$notXs',\n '$gtMd',\n '$gtLg',\n]\n\nconst featureDefinitions = {\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 mediaQuery: createDefinition({\n Component: (props) => {\n if (isWeb) {\n // no need for media queries are inserted and run in css\n return\n }\n\n const keys = mediaQueryPropNames.flatMap((x) => (x in props ? x.slice(1) : []))\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 return null\n },\n propNames: mediaQueryPropNames,\n }),\n}\n\nconst featureNames = Object.keys(featureDefinitions)\nconst numFeatures = featureNames.length\n\nexport const useFeatures = (props: any, utils?: { forceUpdate?: Function }) => {\n const features: JSX.Element[] = []\n for (let i = 0; i < numFeatures; i++) {\n const name = featureNames[i]\n const { isEnabled, Component } = featureDefinitions[name] as any //FeatureDefinition\n if (isEnabled(props) && Component) {\n features.push(<Component key={name} {...props} _utils={utils} />)\n }\n }\n return features\n}\n"],
5
- "mappings": ";;AAAA;AAEA;AACA;AAKA,MAAM,mBAAmB,wBAAC,EAAE,WAAW,gBAAqD;AAAA,EAC1F,WAAW,CAAC,UAAe,UAAU,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM;AAAA,EAC5D;AAAA,IAFuB;AAKzB,MAAM,sBAAsB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAGF,MAAM,qBAAqB;AAAA,EACzB,eAAe,iBAAiB;AAAA,IAC9B,WAAW,CAAC,UAAU;AACpB,cAAQ,IAAI,WAAW;AACvB,aAAO;AAAA;AAAA,IAET,WAAW,CAAC;AAAA;AAAA,EAId,YAAY,iBAAiB;AAAA,IAC3B,WAAW,CAAC,UAAU;AACpB,UAAI,OAAO;AAET;AAAA;AAGF,YAAM,OAAO,oBAAoB,QAAQ,CAAC,MAAO,KAAK,QAAQ,EAAE,MAAM,KAAK;AAC3E,gCAA0B,MAAM;AAC9B,mBAAW,OAAO,MAAM;AACtB,gCAAsB,KAAK,MAAM,OAAO;AAAA;AAE1C,eAAO,MAAM;AACX,qBAAW,OAAO,MAAM;AACtB,qCAAyB,KAAK,MAAM,OAAO;AAAA;AAAA;AAAA,SAG9C,CAAC,KAAK,KAAK;AACd,aAAO;AAAA;AAAA,IAET,WAAW;AAAA;AAAA;AAIf,MAAM,eAAe,OAAO,KAAK;AACjC,MAAM,cAAc,aAAa;AAE1B,MAAM,cAAc,wBAAC,OAAY,UAAuC;AAC7E,QAAM,WAA0B;AAChC,WAAS,IAAI,GAAG,IAAI,aAAa,KAAK;AACpC,UAAM,OAAO,aAAa;AAC1B,UAAM,EAAE,WAAW,cAAc,mBAAmB;AACpD,QAAI,UAAU,UAAU,WAAW;AACjC,eAAS,KAAK,oCAAC,WAAD;AAAA,QAAW,KAAK;AAAA,WAAU;AAAA,QAAO,QAAQ;AAAA;AAAA;AAAA;AAG3D,SAAO;AAAA,GATkB;",
6
- "names": []
7
- }
@@ -1,28 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import { useEffect, useRef, useState } from "react";
4
- function useForceUpdate() {
5
- const setState = useState(0)[1];
6
- const internal = useRef();
7
- if (!internal.current) {
8
- internal.current = {
9
- isMounted: true,
10
- update: () => {
11
- if (internal.current.isMounted) {
12
- setState(Math.random());
13
- }
14
- }
15
- };
16
- }
17
- useEffect(() => {
18
- return () => {
19
- internal.current.isMounted = false;
20
- };
21
- }, []);
22
- return internal.current.update;
23
- }
24
- __name(useForceUpdate, "useForceUpdate");
25
- export {
26
- useForceUpdate
27
- };
28
- //# sourceMappingURL=useForceUpdate.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/hooks/useForceUpdate.tsx"],
4
- "sourcesContent": ["import { useEffect, useRef, useState } from 'react'\n\n// ensures no updates after unmount\n\nexport function useForceUpdate() {\n const setState = useState(0)[1]\n const internal = useRef<{ update: Function; isMounted: boolean }>()\n if (!internal.current) {\n internal.current = {\n isMounted: true,\n update: () => {\n if (internal.current!.isMounted) {\n setState(Math.random())\n }\n },\n }\n }\n\n useEffect(() => {\n return () => {\n internal.current!.isMounted = false\n }\n }, [])\n\n return internal.current.update\n}\n"],
5
- "mappings": ";;AAAA;AAIO,0BAA0B;AAC/B,QAAM,WAAW,SAAS,GAAG;AAC7B,QAAM,WAAW;AACjB,MAAI,CAAC,SAAS,SAAS;AACrB,aAAS,UAAU;AAAA,MACjB,WAAW;AAAA,MACX,QAAQ,MAAM;AACZ,YAAI,SAAS,QAAS,WAAW;AAC/B,mBAAS,KAAK;AAAA;AAAA;AAAA;AAAA;AAMtB,YAAU,MAAM;AACd,WAAO,MAAM;AACX,eAAS,QAAS,YAAY;AAAA;AAAA,KAE/B;AAEH,SAAO,SAAS,QAAQ;AAAA;AApBV;",
6
- "names": []
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\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 throw new Error(`Be sure to run configureMedia before accessing mediaQueryConfig`)\n }\n return Reflect.get(conf, key)\n },\n ownKeys() {\n if (!conf) {\n throw new Error(`Be sure to run configureMedia before accessing mediaQueryConfig`)\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 return\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": "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",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/hooks/useTheme.tsx"],
4
- "sourcesContent": ["import 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'\nimport { useForceUpdate } from './useForceUpdate'\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 = () => {\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 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;AAEA;AACA;AAEA;AACA;AACA;AACA;AAQA,MAAM,eAAe,wBAAC,GAAgB,MAAmB;AACvD,MAAI,EAAE,SAAS,EAAE;AAAM,WAAO;AAC9B,aAAW,OAAO,GAAG;AACnB,QAAI,CAAC,EAAE,IAAI,MAAM;AACf,aAAO;AAAA;AAAA;AAGX,SAAO;AAAA,GAPY;AAUd,MAAM,eAAe,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;AA5C9B;AA6CE,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,UAAM,MAAM,QAAQ,KAAK,IAAI,GAAG;AAChC,QAAI,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,MAAM;AACvC,cAAQ,MAAM,GAAG,MAAM,GAAG;AAAA;AAAA;AAI9B,YAAU,MAAM;AACd,WAAO,QAAQ,SAAS,MAAM,QAAQ,MAAM;AAAA,KAC3C;AAEH,QAAM,QAAS,cAAQ,OAAO,OAAO,QAAQ,QAAQ,OAAO,UAA7C,YAAuD,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,kBAAM,IAAI,MAAM,mBAAmB,OAAO,aAAa,OAAO,KAAK;AAAA;AAAA;AAGvE,YAAI,MAAM,QAAQ,aAAa;AAC7B,gBAAM,QAAQ,KAAK,IAAI;AAAA;AAIzB,eAAO,IAAI,SAAS,EAAE,KAAK,IAAI,KAAK,MAAM;AAAA;AAAA;AAAA,KAIhD;AAAA,GA1DoB;",
6
- "names": []
7
- }
package/_/index.js.map DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/index.ts"],
4
- "sourcesContent": ["export * from './createComponent'\nexport * from './createShorthands'\nexport * from './createTheme'\nexport * from './createTamagui'\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/getStylesAtomic'\nexport * from './helpers/matchMedia'\nexport * from './helpers/themeable'\n\nexport * from './hooks/useConstant'\nexport * from './hooks/useForceUpdate'\nexport * from './hooks/useMedia'\nexport * from './hooks/useTheme'\n\nexport * from './views/Animated'\nexport * from './views/Stack'\nexport * from './views/Text'\nexport * from './views/Theme'\nexport * from './views/ThemeInverse'\nexport * from './views/ThemeProvider'\nexport * from './views/TextAncestorContext'\n"],
5
- "mappings": "AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;",
6
- "names": []
7
- }
package/_/static.js.map DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/static.ts"],
4
- "sourcesContent": ["// only stuff that gets extracted or needed by tamagui-static\n\nexport * from './styled'\nexport * from './createComponent'\nexport * from './createTamagui'\nexport * from './constants/constants'\n\nexport * from './hooks/useMedia'\nexport * from './hooks/useTheme'\n\nexport * from './helpers/getStylesAtomic'\nexport * from './helpers/getSplitStyles'\nexport * from '@tamagui/helpers'\n\nexport * from './constants/pseudos'\n\n// -- below exports are only bundled compile-time --\n\nexport * from './static/postProcessStyles'\n"],
5
- "mappings": "AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAEA;AAIA;",
6
- "names": []
7
- }
package/_/styled.js.map DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/styled.ts"],
4
- "sourcesContent": ["import React from 'react'\n\nimport { createComponent } from './createComponent'\nimport { extendStaticConfig } from './helpers/extendStaticConfig'\nimport { StaticComponent, TamaguiConfig, Themes, Tokens } from './types'\n\nexport type GetProps<A> = A extends StaticComponent<infer Props>\n ? Props\n : A extends React.Component<infer Props>\n ? Props\n : {}\n\nexport function styled<\n A extends StaticComponent | React.Component<any>,\n StyledVariants extends void | {\n [key: string]: {\n [key: string]:\n | Partial<GetProps<A>>\n | ((\n val: any,\n config: {\n tokens: TamaguiConfig['tokens']\n theme: Themes extends { [key: string]: infer B } ? B : unknown\n }\n ) => Partial<GetProps<A>>)\n }\n }\n>(\n Component: A,\n options?: GetProps<A> & {\n variants?: StyledVariants\n }\n) {\n const staticConfigProps = (() => {\n if (options) {\n const { variants, ...defaultProps } = options\n return { variants, defaultProps }\n }\n return {}\n })()\n const config = extendStaticConfig(Component, staticConfigProps)\n const component = createComponent(config!) // error is good here its on init\n\n // type ParentVariants = A extends StaticComponent<any, infer Variants> ? Variants : {}\n\n type VariantProps = StyledVariants extends void\n ? {}\n : {\n // ensure variants actually defined\n [Key in keyof StyledVariants]?: keyof StyledVariants[Key] extends `...${infer VariantSpread}`\n ? VariantSpread extends keyof Tokens\n ? keyof Tokens[VariantSpread] extends string | number\n ? `$${keyof Tokens[VariantSpread]}`\n : unknown\n : unknown\n : keyof StyledVariants[Key] extends 'true'\n ? boolean\n : keyof StyledVariants[Key]\n }\n\n return component as StaticComponent<\n GetProps<A> & VariantProps\n // adding this one causes infinite type recursion after a couple styled() exntesions\n // VariantProps\n // typeof config,\n // ParentVariants\n >\n}\n\n// TODO get name\n// const displayName = `styled(Component)`\n// Object.defineProperty(component, 'name', {\n// value: displayName,\n// writable: false,\n// })\n"],
5
- "mappings": ";;AAEA;AACA;AASO,gBAgBL,WACA,SAGA;AACA,QAAM,oBAAqB,OAAM;AAC/B,QAAI,SAAS;AACX,YAAM,EAAE,aAAa,iBAAiB;AACtC,aAAO,EAAE,UAAU;AAAA;AAErB,WAAO;AAAA;AAET,QAAM,SAAS,mBAAmB,WAAW;AAC7C,QAAM,YAAY,gBAAgB;AAmBlC,SAAO;AAAA;AAhDO;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/views/Text.tsx"],
4
- "sourcesContent": ["import { isWeb } from '../constants/platform'\nimport { createComponent } from '../createComponent'\nimport { stylePropsTextOnly, validStyles } from '../static'\nimport { TextProps } from '../types'\n\nconst ellipseStyle = {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n}\n\nexport const Text = createComponent<TextProps>({\n isText: true,\n defaultProps: {\n display: isWeb ? 'inline' : 'inline-flex',\n boxSizing: 'border-box',\n fontFamily: 'System',\n wordWrap: 'break-word',\n },\n variants: {\n numberOfLines: {\n 1: ellipseStyle,\n // TODO imply fn, test 1, could do types `>1` `<2`\n '[number]': (lines) => (lines > 1 ? { WebkitLineClamp: 1 } : null),\n },\n\n selectable: {\n true: {\n userSelect: 'text',\n },\n false: {\n userSelect: 'none',\n },\n },\n\n pressable: {\n true: {\n cursor: 'pointer',\n },\n },\n\n ellipse: {\n true: isWeb\n ? ellipseStyle\n : {\n numberOfLines: 1,\n lineBreakMode: 'clip',\n },\n },\n },\n // TODO document\n deoptProps: new Set(isWeb ? [] : ['ellipse']),\n validStyles: {\n ...validStyles,\n ...stylePropsTextOnly,\n ...(isWeb && {\n userSelect: true,\n textOverflow: true,\n whiteSpace: true,\n wordWrap: true,\n selectable: true,\n cursor: true,\n }),\n },\n})\n"],
5
- "mappings": "AAAA;AACA;AACA;AAGA,MAAM,eAAe;AAAA,EACnB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,cAAc;AAAA,EACd,YAAY;AAAA;AAGP,MAAM,OAAO,gBAA2B;AAAA,EAC7C,QAAQ;AAAA,EACR,cAAc;AAAA,IACZ,SAAS,QAAQ,WAAW;AAAA,IAC5B,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,UAAU;AAAA;AAAA,EAEZ,UAAU;AAAA,IACR,eAAe;AAAA,MACb,GAAG;AAAA,MAEH,YAAY,CAAC,UAAW,QAAQ,IAAI,EAAE,iBAAiB,MAAM;AAAA;AAAA,IAG/D,YAAY;AAAA,MACV,MAAM;AAAA,QACJ,YAAY;AAAA;AAAA,MAEd,OAAO;AAAA,QACL,YAAY;AAAA;AAAA;AAAA,IAIhB,WAAW;AAAA,MACT,MAAM;AAAA,QACJ,QAAQ;AAAA;AAAA;AAAA,IAIZ,SAAS;AAAA,MACP,MAAM,QACF,eACA;AAAA,QACE,eAAe;AAAA,QACf,eAAe;AAAA;AAAA;AAAA;AAAA,EAKzB,YAAY,IAAI,IAAI,QAAQ,KAAK,CAAC;AAAA,EAClC,aAAa;AAAA,OACR;AAAA,OACA;AAAA,OACC,SAAS;AAAA,MACX,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,QAAQ;AAAA;AAAA;AAAA;",
6
- "names": []
7
- }
package/_/views/Theme.js DELETED
@@ -1,57 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import React, { useContext, useState } from "react";
4
- import { isWeb, useIsomorphicLayoutEffect } from "../constants/platform";
5
- import { getThemeParentClassName } from "../createTamagui";
6
- import { useConstant } from "../hooks/useConstant";
7
- import { ThemeContext } from "./ThemeContext";
8
- import { ThemeManager, ThemeManagerContext } from "./ThemeManagerContext";
9
- const Theme = /* @__PURE__ */ __name((props) => {
10
- var _a, _b;
11
- const parent = useContext(ThemeManagerContext);
12
- const themes = useContext(ThemeContext);
13
- const [parentName, setParentName] = useState(parent.name || "light");
14
- if (!themes) {
15
- console.warn("no themes???", props);
16
- return props.children;
17
- }
18
- const name = props.name;
19
- const theme = themes[name] || themes[`${name}-${parentName}`];
20
- const themeManager = useConstant(() => {
21
- const manager = new ThemeManager();
22
- if (name) {
23
- manager.setActiveTheme(name, themes[name]);
24
- }
25
- return manager;
26
- });
27
- useIsomorphicLayoutEffect(() => {
28
- themeManager.setActiveTheme(name, theme);
29
- return parent.onChangeTheme((next) => {
30
- if (next) {
31
- themeManager.setActiveTheme(next, themes[next]);
32
- setParentName(next);
33
- }
34
- });
35
- }, [themes, name]);
36
- if (!name) {
37
- return props.children;
38
- }
39
- const contents = themeManager ? /* @__PURE__ */ React.createElement(ThemeManagerContext.Provider, {
40
- value: themeManager
41
- }, props.children) : props.children;
42
- if (isWeb) {
43
- if (props.disableThemeClass) {
44
- return contents;
45
- }
46
- const color = (_b = (_a = themes[name]) == null ? void 0 : _a["color"]) == null ? void 0 : _b["variable"];
47
- return /* @__PURE__ */ React.createElement("div", {
48
- className: getThemeParentClassName(name),
49
- style: { display: "contents", color }
50
- }, contents);
51
- }
52
- return contents;
53
- }, "Theme");
54
- export {
55
- Theme
56
- };
57
- //# sourceMappingURL=Theme.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/views/Theme.tsx"],
4
- "sourcesContent": ["import React, { useContext, useState } from 'react'\n\nimport { isWeb, useIsomorphicLayoutEffect } from '../constants/platform'\nimport { getThemeParentClassName } from '../createTamagui'\nimport { useConstant } from '../hooks/useConstant'\nimport { ThemeName, Themes } from '../types'\nimport { ThemeContext } from './ThemeContext'\nimport { ThemeManager, ThemeManagerContext } from './ThemeManagerContext'\n\nexport type ThemeProps = {\n disableThemeClass?: boolean\n name: ThemeName | null\n children?: any\n}\n\nexport const Theme = (props: ThemeProps) => {\n const parent = useContext(ThemeManagerContext)\n const themes = useContext(ThemeContext)\n const [parentName, setParentName] = useState(parent.name || 'light')\n if (!themes) {\n console.warn('no themes???', props)\n return props.children\n }\n const name = props.name as string\n const theme = themes[name] || themes[`${name}-${parentName}`]\n const themeManager = useConstant<ThemeManager>(() => {\n const manager = new ThemeManager()\n if (name) {\n manager.setActiveTheme(name, themes[name])\n }\n return manager\n })\n\n useIsomorphicLayoutEffect(() => {\n themeManager.setActiveTheme(name, theme)\n return parent.onChangeTheme((next) => {\n if (next) {\n themeManager.setActiveTheme(next, themes[next])\n setParentName(next)\n }\n })\n }, [themes, name])\n\n if (!name) {\n return props.children\n }\n\n const contents = themeManager ? (\n <ThemeManagerContext.Provider value={themeManager}>\n {props.children}\n </ThemeManagerContext.Provider>\n ) : (\n props.children\n )\n\n if (isWeb) {\n if (props.disableThemeClass) {\n return contents\n }\n const color = themes[name]?.['color']?.['variable']\n return (\n <div\n className={getThemeParentClassName(name)}\n // in order to provide currentColor, set color by default\n style={{ display: 'contents', color }}\n >\n {contents}\n </div>\n )\n }\n\n return contents\n}\n"],
5
- "mappings": ";;AAAA;AAEA;AACA;AACA;AAEA;AACA;AAQO,MAAM,QAAQ,wBAAC,UAAsB;AAf5C;AAgBE,QAAM,SAAS,WAAW;AAC1B,QAAM,SAAS,WAAW;AAC1B,QAAM,CAAC,YAAY,iBAAiB,SAAS,OAAO,QAAQ;AAC5D,MAAI,CAAC,QAAQ;AACX,YAAQ,KAAK,gBAAgB;AAC7B,WAAO,MAAM;AAAA;AAEf,QAAM,OAAO,MAAM;AACnB,QAAM,QAAQ,OAAO,SAAS,OAAO,GAAG,QAAQ;AAChD,QAAM,eAAe,YAA0B,MAAM;AACnD,UAAM,UAAU,IAAI;AACpB,QAAI,MAAM;AACR,cAAQ,eAAe,MAAM,OAAO;AAAA;AAEtC,WAAO;AAAA;AAGT,4BAA0B,MAAM;AAC9B,iBAAa,eAAe,MAAM;AAClC,WAAO,OAAO,cAAc,CAAC,SAAS;AACpC,UAAI,MAAM;AACR,qBAAa,eAAe,MAAM,OAAO;AACzC,sBAAc;AAAA;AAAA;AAAA,KAGjB,CAAC,QAAQ;AAEZ,MAAI,CAAC,MAAM;AACT,WAAO,MAAM;AAAA;AAGf,QAAM,WAAW,eACf,oCAAC,oBAAoB,UAArB;AAAA,IAA8B,OAAO;AAAA,KAClC,MAAM,YAGT,MAAM;AAGR,MAAI,OAAO;AACT,QAAI,MAAM,mBAAmB;AAC3B,aAAO;AAAA;AAET,UAAM,QAAQ,mBAAO,UAAP,mBAAe,aAAf,mBAA0B;AACxC,WACE,oCAAC,OAAD;AAAA,MACE,WAAW,wBAAwB;AAAA,MAEnC,OAAO,EAAE,SAAS,YAAY;AAAA,OAE7B;AAAA;AAKP,SAAO;AAAA,GAxDY;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/views/ThemeManagerContext.tsx"],
4
- "sourcesContent": ["import { createContext } from 'react'\n\nexport class ThemeManager {\n name: string | null = 'light'\n keys = new Map<any, Set<string>>()\n listeners = new Map<any, Function>()\n callbacks = new Set<Function>()\n theme = null\n\n setActiveTheme(name: string | null, theme?: any) {\n if (name === this.name) return\n this.name = name\n this.theme = theme\n this.update()\n }\n\n track(uuid: any, keys: Set<string>) {\n if (!this.name) return\n this.keys.set(uuid, keys)\n }\n\n update() {\n if (!this.name) {\n this.keys.clear()\n }\n for (const [uuid, keys] of this.keys.entries()) {\n if (keys.size) {\n this.listeners.get(uuid)?.()\n }\n }\n this.callbacks.forEach((cb) => cb(this.name))\n }\n\n onChangeTheme(cb: (name: string | null) => void) {\n this.callbacks.add(cb)\n return () => {\n this.callbacks.delete(cb)\n }\n }\n\n onUpdate(uuid: any, cb: Function) {\n this.listeners.set(uuid, cb)\n return () => {\n this.listeners.delete(uuid)\n this.keys.delete(uuid)\n }\n }\n}\n\nexport const ThemeManagerContext = createContext<ThemeManager>(new ThemeManager())\n"],
5
- "mappings": ";;AAAA;AAEO,mBAAmB;AAAA,EAAnB,cAFP;AAGE,gBAAsB;AACtB,gBAAO,IAAI;AACX,qBAAY,IAAI;AAChB,qBAAY,IAAI;AAChB,iBAAQ;AAAA;AAAA,EAER,eAAe,MAAqB,OAAa;AAC/C,QAAI,SAAS,KAAK;AAAM;AACxB,SAAK,OAAO;AACZ,SAAK,QAAQ;AACb,SAAK;AAAA;AAAA,EAGP,MAAM,MAAW,MAAmB;AAClC,QAAI,CAAC,KAAK;AAAM;AAChB,SAAK,KAAK,IAAI,MAAM;AAAA;AAAA,EAGtB,SAAS;AArBX;AAsBI,QAAI,CAAC,KAAK,MAAM;AACd,WAAK,KAAK;AAAA;AAEZ,eAAW,CAAC,MAAM,SAAS,KAAK,KAAK,WAAW;AAC9C,UAAI,KAAK,MAAM;AACb,mBAAK,UAAU,IAAI,UAAnB;AAAA;AAAA;AAGJ,SAAK,UAAU,QAAQ,CAAC,OAAO,GAAG,KAAK;AAAA;AAAA,EAGzC,cAAc,IAAmC;AAC/C,SAAK,UAAU,IAAI;AACnB,WAAO,MAAM;AACX,WAAK,UAAU,OAAO;AAAA;AAAA;AAAA,EAI1B,SAAS,MAAW,IAAc;AAChC,SAAK,UAAU,IAAI,MAAM;AACzB,WAAO,MAAM;AACX,WAAK,UAAU,OAAO;AACtB,WAAK,KAAK,OAAO;AAAA;AAAA;AAAA;AA1ChB;AA+CA,MAAM,sBAAsB,cAA4B,IAAI;",
6
- "names": []
7
- }
@@ -1,46 +0,0 @@
1
- import { StyleSheet } from "react-native";
2
- import { isWeb } from "./platform";
3
- import { rnw } from "./rnw";
4
- const disabledStyle = {
5
- pointerEvents: "none",
6
- userSelect: "none"
7
- };
8
- const cssTextStyles = {
9
- textHasAncestor: {
10
- color: "inherit",
11
- font: "inherit",
12
- whiteSpace: "inherit"
13
- },
14
- textMultiLine: {
15
- display: "-webkit-box",
16
- maxWidth: "100%",
17
- overflow: "hidden",
18
- textOverflow: "ellipsis",
19
- WebkitBoxOrient: "vertical"
20
- }
21
- };
22
- const cssText = isWeb ? rnw?.css.create(cssTextStyles) : {};
23
- const viewStyles = StyleSheet.create({
24
- inline: isWeb ? {
25
- display: "inline-flex"
26
- } : {}
27
- });
28
- const textStyles = isWeb ? StyleSheet.create({
29
- notSelectable: {
30
- userSelect: "none"
31
- },
32
- selectable: {
33
- userSelect: "text"
34
- },
35
- pressable: {
36
- cursor: "pointer"
37
- }
38
- }) : {};
39
- export {
40
- cssText,
41
- cssTextStyles,
42
- disabledStyle,
43
- textStyles,
44
- viewStyles
45
- };
46
- //# sourceMappingURL=styleConstants.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/constants/styleConstants.tsx"],
4
- "sourcesContent": ["import { StyleSheet } from 'react-native'\n\nimport { isWeb } from './platform'\nimport { rnw } from './rnw'\n\nexport const disabledStyle = {\n pointerEvents: 'none',\n userSelect: 'none',\n} as const\n\nexport const cssTextStyles = {\n textHasAncestor: {\n color: 'inherit',\n font: 'inherit',\n whiteSpace: 'inherit',\n },\n textMultiLine: {\n display: '-webkit-box',\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n WebkitBoxOrient: 'vertical',\n },\n}\n\nexport const cssText = isWeb ? rnw?.css.create(cssTextStyles) : {}\n\nexport const viewStyles = StyleSheet.create({\n inline: isWeb\n ? {\n display: 'inline-flex' as any,\n }\n : {},\n})\n\nexport const textStyles = isWeb\n ? StyleSheet.create({\n notSelectable: {\n // @ts-ignore\n userSelect: 'none',\n },\n selectable: {\n // @ts-ignore\n userSelect: 'text',\n },\n pressable: {\n // @ts-ignore\n cursor: 'pointer',\n },\n })\n : {}\n"],
5
- "mappings": "AAAA;AAEA;AACA;AAEO,MAAM,gBAAgB;AAAA,EAC3B,eAAe;AAAA,EACf,YAAY;AAAA;AAGP,MAAM,gBAAgB;AAAA,EAC3B,iBAAiB;AAAA,IACf,OAAO;AAAA,IACP,MAAM;AAAA,IACN,YAAY;AAAA;AAAA,EAEd,eAAe;AAAA,IACb,SAAS;AAAA,IACT,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,IACd,iBAAiB;AAAA;AAAA;AAId,MAAM,UAAU,QAAQ,KAAK,IAAI,OAAO,iBAAiB;AAEzD,MAAM,aAAa,WAAW,OAAO;AAAA,EAC1C,QAAQ,QACJ;AAAA,IACE,SAAS;AAAA,MAEX;AAAA;AAGC,MAAM,aAAa,QACtB,WAAW,OAAO;AAAA,EAChB,eAAe;AAAA,IAEb,YAAY;AAAA;AAAA,EAEd,YAAY;AAAA,IAEV,YAAY;AAAA;AAAA,EAEd,WAAW;AAAA,IAET,QAAQ;AAAA;AAAA,KAGZ;",
6
- "names": []
7
- }