@tamagui/core 1.0.1-beta.94 → 1.0.1-beta.95

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 (423) hide show
  1. package/dist/cjs/Pressability.js +0 -0
  2. package/dist/cjs/Pressability.js.map +0 -0
  3. package/dist/cjs/Pressability.native.js +0 -0
  4. package/dist/cjs/Pressability.native.js.map +0 -0
  5. package/dist/cjs/Tamagui.js +0 -0
  6. package/dist/cjs/Tamagui.js.map +0 -0
  7. package/dist/cjs/ThemeContext.js +0 -0
  8. package/dist/cjs/ThemeContext.js.map +0 -0
  9. package/dist/cjs/ThemeManager.js +0 -0
  10. package/dist/cjs/ThemeManager.js.map +0 -0
  11. package/dist/cjs/conf.js +0 -0
  12. package/dist/cjs/conf.js.map +0 -0
  13. package/dist/cjs/constants/constants.js +0 -0
  14. package/dist/cjs/constants/constants.js.map +0 -0
  15. package/dist/cjs/constants/platform.js +0 -0
  16. package/dist/cjs/constants/platform.js.map +0 -0
  17. package/dist/cjs/constants/rnw.js +0 -0
  18. package/dist/cjs/constants/rnw.js.map +0 -0
  19. package/dist/cjs/constants/rnw.native.js +0 -0
  20. package/dist/cjs/constants/rnw.native.js.map +0 -0
  21. package/dist/cjs/contexts/ButtonInsideButtonContext.js +0 -0
  22. package/dist/cjs/contexts/ButtonInsideButtonContext.js.map +0 -0
  23. package/dist/cjs/createComponent.js +0 -0
  24. package/dist/cjs/createComponent.js.map +0 -0
  25. package/dist/cjs/createFont.js +0 -0
  26. package/dist/cjs/createFont.js.map +0 -0
  27. package/dist/cjs/createShorthands.js +0 -0
  28. package/dist/cjs/createShorthands.js.map +0 -0
  29. package/dist/cjs/createTamagui.js +15 -10
  30. package/dist/cjs/createTamagui.js.map +2 -2
  31. package/dist/cjs/createTheme.js +0 -0
  32. package/dist/cjs/createTheme.js.map +0 -0
  33. package/dist/cjs/createTokens.js +0 -0
  34. package/dist/cjs/createTokens.js.map +0 -0
  35. package/dist/cjs/createVariable.js +0 -0
  36. package/dist/cjs/createVariable.js.map +0 -0
  37. package/dist/cjs/createVariables.js +0 -0
  38. package/dist/cjs/createVariables.js.map +0 -0
  39. package/dist/cjs/defaultComponentState.js +0 -0
  40. package/dist/cjs/defaultComponentState.js.map +0 -0
  41. package/dist/cjs/helpers/RNComponents.js +0 -0
  42. package/dist/cjs/helpers/RNComponents.js.map +0 -0
  43. package/dist/cjs/helpers/areEqualSets.js +0 -0
  44. package/dist/cjs/helpers/areEqualSets.js.map +0 -0
  45. package/dist/cjs/helpers/assignNativePropsToWeb.js +0 -0
  46. package/dist/cjs/helpers/assignNativePropsToWeb.js.map +0 -0
  47. package/dist/cjs/helpers/assignNativePropsToWeb.native.js +0 -0
  48. package/dist/cjs/helpers/assignNativePropsToWeb.native.js.map +0 -0
  49. package/dist/cjs/helpers/calc.js +0 -0
  50. package/dist/cjs/helpers/calc.js.map +0 -0
  51. package/dist/cjs/helpers/createMediaStyle.js +0 -0
  52. package/dist/cjs/helpers/createMediaStyle.js.map +0 -0
  53. package/dist/cjs/helpers/createPropMapper.js +0 -0
  54. package/dist/cjs/helpers/createPropMapper.js.map +0 -0
  55. package/dist/cjs/helpers/createShallowUpdate.js +0 -0
  56. package/dist/cjs/helpers/createShallowUpdate.js.map +0 -0
  57. package/dist/cjs/helpers/createTamaguiProvider.js +0 -0
  58. package/dist/cjs/helpers/createTamaguiProvider.js.map +0 -0
  59. package/dist/cjs/helpers/expandStyle.js +0 -0
  60. package/dist/cjs/helpers/expandStyle.js.map +0 -0
  61. package/dist/cjs/helpers/expandStyles.js +0 -0
  62. package/dist/cjs/helpers/expandStyles.js.map +0 -0
  63. package/dist/cjs/helpers/extendStaticConfig.js +0 -0
  64. package/dist/cjs/helpers/extendStaticConfig.js.map +0 -0
  65. package/dist/cjs/helpers/fixNativeShadow.js +0 -0
  66. package/dist/cjs/helpers/fixNativeShadow.js.map +0 -0
  67. package/dist/cjs/helpers/getExpandedShorthands.js +0 -0
  68. package/dist/cjs/helpers/getExpandedShorthands.js.map +0 -0
  69. package/dist/cjs/helpers/getFont.js +0 -0
  70. package/dist/cjs/helpers/getFont.js.map +0 -0
  71. package/dist/cjs/helpers/getSize.js +0 -0
  72. package/dist/cjs/helpers/getSize.js.map +0 -0
  73. package/dist/cjs/helpers/getSplitStyles.js +0 -0
  74. package/dist/cjs/helpers/getSplitStyles.js.map +0 -0
  75. package/dist/cjs/helpers/getStackSize.js +7 -0
  76. package/dist/cjs/helpers/getStackSize.js.map +2 -2
  77. package/dist/cjs/helpers/getStylesAtomic.js +0 -0
  78. package/dist/cjs/helpers/getStylesAtomic.js.map +0 -0
  79. package/dist/cjs/helpers/getStylesAtomic.native.js +0 -0
  80. package/dist/cjs/helpers/getStylesAtomic.native.js.map +0 -0
  81. package/dist/cjs/helpers/getTextSize.js +55 -0
  82. package/dist/cjs/helpers/getTextSize.js.map +7 -0
  83. package/dist/cjs/helpers/getVariantExtras.js +0 -0
  84. package/dist/cjs/helpers/getVariantExtras.js.map +0 -0
  85. package/dist/cjs/helpers/insertStyleRule.js +0 -0
  86. package/dist/cjs/helpers/insertStyleRule.js.map +0 -0
  87. package/dist/cjs/helpers/isObj.js +0 -0
  88. package/dist/cjs/helpers/isObj.js.map +0 -0
  89. package/dist/cjs/helpers/isTamaguiComponent.js +0 -0
  90. package/dist/cjs/helpers/isTamaguiComponent.js.map +0 -0
  91. package/dist/cjs/helpers/isTamaguiElement.js +0 -0
  92. package/dist/cjs/helpers/isTamaguiElement.js.map +0 -0
  93. package/dist/cjs/helpers/matchMedia.js +0 -0
  94. package/dist/cjs/helpers/matchMedia.js.map +0 -0
  95. package/dist/cjs/helpers/matchMedia.native.js +0 -0
  96. package/dist/cjs/helpers/matchMedia.native.js.map +0 -0
  97. package/dist/cjs/helpers/mergeProps.js +0 -0
  98. package/dist/cjs/helpers/mergeProps.js.map +0 -0
  99. package/dist/cjs/helpers/mergeTransform.js +0 -0
  100. package/dist/cjs/helpers/mergeTransform.js.map +0 -0
  101. package/dist/cjs/helpers/nativeGestureHandler.native.js +0 -0
  102. package/dist/cjs/helpers/nativeGestureHandler.native.js.map +0 -0
  103. package/dist/cjs/helpers/normalizeColor.js +0 -0
  104. package/dist/cjs/helpers/normalizeColor.js.map +0 -0
  105. package/dist/cjs/helpers/normalizeValueWithProperty.js +0 -0
  106. package/dist/cjs/helpers/normalizeValueWithProperty.js.map +0 -0
  107. package/dist/cjs/helpers/proxyThemeVariables.js +0 -0
  108. package/dist/cjs/helpers/proxyThemeVariables.js.map +0 -0
  109. package/dist/cjs/helpers/pseudoDescriptors.js +0 -0
  110. package/dist/cjs/helpers/pseudoDescriptors.js.map +0 -0
  111. package/dist/cjs/helpers/registerCSSVariable.js +0 -0
  112. package/dist/cjs/helpers/registerCSSVariable.js.map +0 -0
  113. package/dist/cjs/helpers/themeable.js +0 -0
  114. package/dist/cjs/helpers/themeable.js.map +0 -0
  115. package/dist/cjs/helpers/validate.js +0 -0
  116. package/dist/cjs/helpers/validate.js.map +0 -0
  117. package/dist/cjs/helpers/withStaticProperties.js +0 -0
  118. package/dist/cjs/helpers/withStaticProperties.js.map +0 -0
  119. package/dist/cjs/helpers/wrapThemeManagerContext.js +0 -0
  120. package/dist/cjs/helpers/wrapThemeManagerContext.js.map +0 -0
  121. package/dist/cjs/hooks/useConstant.js +0 -0
  122. package/dist/cjs/hooks/useConstant.js.map +0 -0
  123. package/dist/cjs/hooks/useFeatures.js +0 -0
  124. package/dist/cjs/hooks/useFeatures.js.map +0 -0
  125. package/dist/cjs/hooks/useId.js +0 -0
  126. package/dist/cjs/hooks/useId.js.map +0 -0
  127. package/dist/cjs/hooks/useIsMounted.js +0 -0
  128. package/dist/cjs/hooks/useIsMounted.js.map +0 -0
  129. package/dist/cjs/hooks/useIsTouchDevice.js +0 -0
  130. package/dist/cjs/hooks/useIsTouchDevice.js.map +0 -0
  131. package/dist/cjs/hooks/useMedia.js +0 -0
  132. package/dist/cjs/hooks/useMedia.js.map +0 -0
  133. package/dist/cjs/hooks/usePressable.js +0 -0
  134. package/dist/cjs/hooks/usePressable.js.map +0 -0
  135. package/dist/cjs/hooks/usePrevious.js +0 -0
  136. package/dist/cjs/hooks/usePrevious.js.map +0 -0
  137. package/dist/cjs/hooks/useTheme.js +0 -0
  138. package/dist/cjs/hooks/useTheme.js.map +0 -0
  139. package/dist/cjs/hooks/useUnmountEffect.js +0 -0
  140. package/dist/cjs/hooks/useUnmountEffect.js.map +0 -0
  141. package/dist/cjs/index.js +0 -0
  142. package/dist/cjs/index.js.map +0 -0
  143. package/dist/cjs/insertFont.js +0 -0
  144. package/dist/cjs/insertFont.js.map +0 -0
  145. package/dist/cjs/static.js +0 -0
  146. package/dist/cjs/static.js.map +0 -0
  147. package/dist/cjs/styled.js +0 -0
  148. package/dist/cjs/styled.js.map +2 -2
  149. package/dist/cjs/types-rnw.js +0 -0
  150. package/dist/cjs/types-rnw.js.map +0 -0
  151. package/dist/cjs/types.js +0 -0
  152. package/dist/cjs/types.js.map +1 -1
  153. package/dist/cjs/views/Slot.js +0 -0
  154. package/dist/cjs/views/Slot.js.map +0 -0
  155. package/dist/cjs/views/Stack.js +0 -0
  156. package/dist/cjs/views/Stack.js.map +0 -0
  157. package/dist/cjs/views/Text.js +0 -0
  158. package/dist/cjs/views/Text.js.map +0 -0
  159. package/dist/cjs/views/TextAncestorContext.js +0 -0
  160. package/dist/cjs/views/TextAncestorContext.js.map +0 -0
  161. package/dist/cjs/views/Theme.js +0 -0
  162. package/dist/cjs/views/Theme.js.map +0 -0
  163. package/dist/cjs/views/ThemeInverse.js +0 -0
  164. package/dist/cjs/views/ThemeInverse.js.map +0 -0
  165. package/dist/cjs/views/ThemeProvider.js +0 -0
  166. package/dist/cjs/views/ThemeProvider.js.map +0 -0
  167. package/dist/cjs/views/ThemeReset.js +0 -0
  168. package/dist/cjs/views/ThemeReset.js.map +0 -0
  169. package/dist/esm/Pressability.js +0 -0
  170. package/dist/esm/Pressability.js.map +0 -0
  171. package/dist/esm/Pressability.native.js +0 -0
  172. package/dist/esm/Pressability.native.js.map +0 -0
  173. package/dist/esm/Tamagui.js +0 -0
  174. package/dist/esm/Tamagui.js.map +0 -0
  175. package/dist/esm/ThemeContext.js +0 -0
  176. package/dist/esm/ThemeContext.js.map +0 -0
  177. package/dist/esm/ThemeManager.js +0 -0
  178. package/dist/esm/ThemeManager.js.map +0 -0
  179. package/dist/esm/conf.js +0 -0
  180. package/dist/esm/conf.js.map +0 -0
  181. package/dist/esm/constants/constants.js +0 -0
  182. package/dist/esm/constants/constants.js.map +0 -0
  183. package/dist/esm/constants/platform.js +0 -0
  184. package/dist/esm/constants/platform.js.map +0 -0
  185. package/dist/esm/constants/rnw.js +0 -0
  186. package/dist/esm/constants/rnw.js.map +0 -0
  187. package/dist/esm/constants/rnw.native.js +0 -0
  188. package/dist/esm/constants/rnw.native.js.map +0 -0
  189. package/dist/esm/contexts/ButtonInsideButtonContext.js +0 -0
  190. package/dist/esm/contexts/ButtonInsideButtonContext.js.map +0 -0
  191. package/dist/esm/createComponent.js +0 -0
  192. package/dist/esm/createComponent.js.map +0 -0
  193. package/dist/esm/createFont.js +0 -0
  194. package/dist/esm/createFont.js.map +0 -0
  195. package/dist/esm/createShorthands.js +0 -0
  196. package/dist/esm/createShorthands.js.map +0 -0
  197. package/dist/esm/createTamagui.js +15 -10
  198. package/dist/esm/createTamagui.js.map +2 -2
  199. package/dist/esm/createTheme.js +0 -0
  200. package/dist/esm/createTheme.js.map +0 -0
  201. package/dist/esm/createTokens.js +0 -0
  202. package/dist/esm/createTokens.js.map +0 -0
  203. package/dist/esm/createVariable.js +0 -0
  204. package/dist/esm/createVariable.js.map +0 -0
  205. package/dist/esm/createVariables.js +0 -0
  206. package/dist/esm/createVariables.js.map +0 -0
  207. package/dist/esm/defaultComponentState.js +0 -0
  208. package/dist/esm/defaultComponentState.js.map +0 -0
  209. package/dist/esm/helpers/RNComponents.js +0 -0
  210. package/dist/esm/helpers/RNComponents.js.map +0 -0
  211. package/dist/esm/helpers/areEqualSets.js +0 -0
  212. package/dist/esm/helpers/areEqualSets.js.map +0 -0
  213. package/dist/esm/helpers/assignNativePropsToWeb.js +0 -0
  214. package/dist/esm/helpers/assignNativePropsToWeb.js.map +0 -0
  215. package/dist/esm/helpers/assignNativePropsToWeb.native.js +0 -0
  216. package/dist/esm/helpers/assignNativePropsToWeb.native.js.map +0 -0
  217. package/dist/esm/helpers/calc.js +0 -0
  218. package/dist/esm/helpers/calc.js.map +0 -0
  219. package/dist/esm/helpers/createMediaStyle.js +0 -0
  220. package/dist/esm/helpers/createMediaStyle.js.map +0 -0
  221. package/dist/esm/helpers/createPropMapper.js +0 -0
  222. package/dist/esm/helpers/createPropMapper.js.map +0 -0
  223. package/dist/esm/helpers/createShallowUpdate.js +0 -0
  224. package/dist/esm/helpers/createShallowUpdate.js.map +0 -0
  225. package/dist/esm/helpers/createTamaguiProvider.js +0 -0
  226. package/dist/esm/helpers/createTamaguiProvider.js.map +0 -0
  227. package/dist/esm/helpers/expandStyle.js +0 -0
  228. package/dist/esm/helpers/expandStyle.js.map +0 -0
  229. package/dist/esm/helpers/expandStyles.js +0 -0
  230. package/dist/esm/helpers/expandStyles.js.map +0 -0
  231. package/dist/esm/helpers/extendStaticConfig.js +0 -0
  232. package/dist/esm/helpers/extendStaticConfig.js.map +0 -0
  233. package/dist/esm/helpers/fixNativeShadow.js +0 -0
  234. package/dist/esm/helpers/fixNativeShadow.js.map +0 -0
  235. package/dist/esm/helpers/getExpandedShorthands.js +0 -0
  236. package/dist/esm/helpers/getExpandedShorthands.js.map +0 -0
  237. package/dist/esm/helpers/getFont.js +0 -0
  238. package/dist/esm/helpers/getFont.js.map +0 -0
  239. package/dist/esm/helpers/getSize.js +0 -0
  240. package/dist/esm/helpers/getSize.js.map +0 -0
  241. package/dist/esm/helpers/getSplitStyles.js +0 -0
  242. package/dist/esm/helpers/getSplitStyles.js.map +0 -0
  243. package/dist/esm/helpers/getStackSize.js +7 -0
  244. package/dist/esm/helpers/getStackSize.js.map +2 -2
  245. package/dist/esm/helpers/getStylesAtomic.js +0 -0
  246. package/dist/esm/helpers/getStylesAtomic.js.map +0 -0
  247. package/dist/esm/helpers/getStylesAtomic.native.js +0 -0
  248. package/dist/esm/helpers/getStylesAtomic.native.js.map +0 -0
  249. package/dist/esm/helpers/getTextSize.js +32 -0
  250. package/dist/esm/helpers/getTextSize.js.map +7 -0
  251. package/dist/esm/helpers/getVariantExtras.js +0 -0
  252. package/dist/esm/helpers/getVariantExtras.js.map +0 -0
  253. package/dist/esm/helpers/insertStyleRule.js +0 -0
  254. package/dist/esm/helpers/insertStyleRule.js.map +0 -0
  255. package/dist/esm/helpers/isObj.js +0 -0
  256. package/dist/esm/helpers/isObj.js.map +0 -0
  257. package/dist/esm/helpers/isTamaguiComponent.js +0 -0
  258. package/dist/esm/helpers/isTamaguiComponent.js.map +0 -0
  259. package/dist/esm/helpers/isTamaguiElement.js +0 -0
  260. package/dist/esm/helpers/isTamaguiElement.js.map +0 -0
  261. package/dist/esm/helpers/matchMedia.js +0 -0
  262. package/dist/esm/helpers/matchMedia.js.map +0 -0
  263. package/dist/esm/helpers/matchMedia.native.js +0 -0
  264. package/dist/esm/helpers/matchMedia.native.js.map +0 -0
  265. package/dist/esm/helpers/mergeProps.js +0 -0
  266. package/dist/esm/helpers/mergeProps.js.map +0 -0
  267. package/dist/esm/helpers/mergeTransform.js +0 -0
  268. package/dist/esm/helpers/mergeTransform.js.map +0 -0
  269. package/dist/esm/helpers/nativeGestureHandler.native.js +0 -0
  270. package/dist/esm/helpers/nativeGestureHandler.native.js.map +0 -0
  271. package/dist/esm/helpers/normalizeColor.js +0 -0
  272. package/dist/esm/helpers/normalizeColor.js.map +0 -0
  273. package/dist/esm/helpers/normalizeValueWithProperty.js +0 -0
  274. package/dist/esm/helpers/normalizeValueWithProperty.js.map +0 -0
  275. package/dist/esm/helpers/proxyThemeVariables.js +0 -0
  276. package/dist/esm/helpers/proxyThemeVariables.js.map +0 -0
  277. package/dist/esm/helpers/pseudoDescriptors.js +0 -0
  278. package/dist/esm/helpers/pseudoDescriptors.js.map +0 -0
  279. package/dist/esm/helpers/registerCSSVariable.js +0 -0
  280. package/dist/esm/helpers/registerCSSVariable.js.map +0 -0
  281. package/dist/esm/helpers/themeable.js +0 -0
  282. package/dist/esm/helpers/themeable.js.map +0 -0
  283. package/dist/esm/helpers/validate.js +0 -0
  284. package/dist/esm/helpers/validate.js.map +0 -0
  285. package/dist/esm/helpers/withStaticProperties.js +0 -0
  286. package/dist/esm/helpers/withStaticProperties.js.map +0 -0
  287. package/dist/esm/helpers/wrapThemeManagerContext.js +0 -0
  288. package/dist/esm/helpers/wrapThemeManagerContext.js.map +0 -0
  289. package/dist/esm/hooks/useConstant.js +0 -0
  290. package/dist/esm/hooks/useConstant.js.map +0 -0
  291. package/dist/esm/hooks/useFeatures.js +0 -0
  292. package/dist/esm/hooks/useFeatures.js.map +0 -0
  293. package/dist/esm/hooks/useId.js +0 -0
  294. package/dist/esm/hooks/useId.js.map +0 -0
  295. package/dist/esm/hooks/useIsMounted.js +0 -0
  296. package/dist/esm/hooks/useIsMounted.js.map +0 -0
  297. package/dist/esm/hooks/useIsTouchDevice.js +0 -0
  298. package/dist/esm/hooks/useIsTouchDevice.js.map +0 -0
  299. package/dist/esm/hooks/useMedia.js +0 -0
  300. package/dist/esm/hooks/useMedia.js.map +0 -0
  301. package/dist/esm/hooks/usePressable.js +0 -0
  302. package/dist/esm/hooks/usePressable.js.map +0 -0
  303. package/dist/esm/hooks/usePrevious.js +0 -0
  304. package/dist/esm/hooks/usePrevious.js.map +0 -0
  305. package/dist/esm/hooks/useTheme.js +0 -0
  306. package/dist/esm/hooks/useTheme.js.map +0 -0
  307. package/dist/esm/hooks/useUnmountEffect.js +0 -0
  308. package/dist/esm/hooks/useUnmountEffect.js.map +0 -0
  309. package/dist/esm/index.js +0 -0
  310. package/dist/esm/index.js.map +0 -0
  311. package/dist/esm/insertFont.js +0 -0
  312. package/dist/esm/insertFont.js.map +0 -0
  313. package/dist/esm/static.js +0 -0
  314. package/dist/esm/static.js.map +0 -0
  315. package/dist/esm/styled.js +0 -0
  316. package/dist/esm/styled.js.map +2 -2
  317. package/dist/esm/types-rnw.js +0 -0
  318. package/dist/esm/types-rnw.js.map +0 -0
  319. package/dist/esm/types.js +0 -0
  320. package/dist/esm/types.js.map +0 -0
  321. package/dist/esm/views/Slot.js +0 -0
  322. package/dist/esm/views/Slot.js.map +0 -0
  323. package/dist/esm/views/Stack.js +0 -0
  324. package/dist/esm/views/Stack.js.map +0 -0
  325. package/dist/esm/views/Text.js +0 -0
  326. package/dist/esm/views/Text.js.map +0 -0
  327. package/dist/esm/views/TextAncestorContext.js +0 -0
  328. package/dist/esm/views/TextAncestorContext.js.map +0 -0
  329. package/dist/esm/views/Theme.js +0 -0
  330. package/dist/esm/views/Theme.js.map +0 -0
  331. package/dist/esm/views/ThemeInverse.js +0 -0
  332. package/dist/esm/views/ThemeInverse.js.map +0 -0
  333. package/dist/esm/views/ThemeProvider.js +0 -0
  334. package/dist/esm/views/ThemeProvider.js.map +0 -0
  335. package/dist/esm/views/ThemeReset.js +0 -0
  336. package/dist/esm/views/ThemeReset.js.map +0 -0
  337. package/package.json +6 -6
  338. package/types/Tamagui.d.ts.map +0 -0
  339. package/types/ThemeContext.d.ts.map +0 -0
  340. package/types/ThemeManager.d.ts.map +0 -0
  341. package/types/conf.d.ts.map +0 -0
  342. package/types/createComponent.d.ts.map +0 -0
  343. package/types/createFont.d.ts.map +0 -0
  344. package/types/createTamagui.d.ts.map +1 -1
  345. package/types/createTokens.d.ts.map +0 -0
  346. package/types/helpers/assignNativePropsToWeb.d.ts.map +0 -0
  347. package/types/helpers/calc.d.ts.map +0 -0
  348. package/types/helpers/createMediaStyle.d.ts.map +0 -0
  349. package/types/helpers/createPropMapper.d.ts.map +0 -0
  350. package/types/helpers/createTamaguiProvider.d.ts +0 -1
  351. package/types/helpers/createTamaguiProvider.d.ts.map +1 -1
  352. package/types/helpers/expandStyles.d.ts.map +0 -0
  353. package/types/helpers/extendStaticConfig.d.ts.map +0 -0
  354. package/types/helpers/getExpandedShorthands.d.ts.map +0 -0
  355. package/types/helpers/getFont.d.ts.map +0 -0
  356. package/types/helpers/getSize.d.ts.map +0 -0
  357. package/types/helpers/getSplitStyles.d.ts.map +0 -0
  358. package/types/helpers/getStackSize.d.ts +1 -1
  359. package/types/helpers/getStackSize.d.ts.map +1 -1
  360. package/types/helpers/getStylesAtomic.d.ts.map +0 -0
  361. package/types/helpers/getVariantExtras.d.ts.map +0 -0
  362. package/types/helpers/isTamaguiComponent.d.ts.map +0 -0
  363. package/types/helpers/isTamaguiElement.d.ts.map +0 -0
  364. package/types/helpers/themeable.d.ts.map +0 -0
  365. package/types/helpers/wrapThemeManagerContext.d.ts.map +0 -0
  366. package/types/hooks/useFeatures.d.ts.map +0 -0
  367. package/types/hooks/useMedia.d.ts.map +0 -0
  368. package/types/hooks/useTheme.d.ts.map +0 -0
  369. package/types/index.d.ts.map +0 -0
  370. package/types/insertFont.d.ts.map +0 -0
  371. package/types/static.d.ts.map +0 -0
  372. package/types/styled.d.ts.map +1 -1
  373. package/types/types.d.ts +5 -3
  374. package/types/types.d.ts.map +1 -1
  375. package/types/views/Stack.d.ts.map +0 -0
  376. package/types/views/Text.d.ts.map +0 -0
  377. package/types/views/Theme.d.ts.map +0 -0
  378. package/types/views/ThemeInverse.d.ts.map +0 -0
  379. package/types/views/ThemeProvider.d.ts.map +0 -0
  380. package/types/views/ThemeReset.d.ts.map +0 -0
  381. package/types/Pressability.d.ts.map +0 -1
  382. package/types/Pressability.native.d.ts.map +0 -1
  383. package/types/constants/constants.d.ts.map +0 -1
  384. package/types/constants/platform.d.ts.map +0 -1
  385. package/types/constants/rnw.d.ts.map +0 -1
  386. package/types/constants/rnw.native.d.ts.map +0 -1
  387. package/types/contexts/ButtonInsideButtonContext.d.ts.map +0 -1
  388. package/types/createShorthands.d.ts.map +0 -1
  389. package/types/createTheme.d.ts.map +0 -1
  390. package/types/createVariable.d.ts.map +0 -1
  391. package/types/createVariables.d.ts.map +0 -1
  392. package/types/defaultComponentState.d.ts.map +0 -1
  393. package/types/helpers/RNComponents.d.ts.map +0 -1
  394. package/types/helpers/areEqualSets.d.ts.map +0 -1
  395. package/types/helpers/assignNativePropsToWeb.native.d.ts.map +0 -1
  396. package/types/helpers/createShallowUpdate.d.ts.map +0 -1
  397. package/types/helpers/expandStyle.d.ts.map +0 -1
  398. package/types/helpers/fixNativeShadow.d.ts.map +0 -1
  399. package/types/helpers/getStylesAtomic.native.d.ts.map +0 -1
  400. package/types/helpers/insertStyleRule.d.ts.map +0 -1
  401. package/types/helpers/isObj.d.ts.map +0 -1
  402. package/types/helpers/matchMedia.d.ts.map +0 -1
  403. package/types/helpers/matchMedia.native.d.ts.map +0 -1
  404. package/types/helpers/mergeProps.d.ts.map +0 -1
  405. package/types/helpers/mergeTransform.d.ts.map +0 -1
  406. package/types/helpers/nativeGestureHandler.native.d.ts.map +0 -1
  407. package/types/helpers/normalizeColor.d.ts.map +0 -1
  408. package/types/helpers/normalizeValueWithProperty.d.ts.map +0 -1
  409. package/types/helpers/proxyThemeVariables.d.ts.map +0 -1
  410. package/types/helpers/pseudoDescriptors.d.ts.map +0 -1
  411. package/types/helpers/registerCSSVariable.d.ts.map +0 -1
  412. package/types/helpers/validate.d.ts.map +0 -1
  413. package/types/helpers/withStaticProperties.d.ts.map +0 -1
  414. package/types/hooks/useConstant.d.ts.map +0 -1
  415. package/types/hooks/useId.d.ts.map +0 -1
  416. package/types/hooks/useIsMounted.d.ts.map +0 -1
  417. package/types/hooks/useIsTouchDevice.d.ts.map +0 -1
  418. package/types/hooks/usePressable.d.ts.map +0 -1
  419. package/types/hooks/usePrevious.d.ts.map +0 -1
  420. package/types/hooks/useUnmountEffect.d.ts.map +0 -1
  421. package/types/types-rnw.d.ts.map +0 -1
  422. package/types/views/Slot.d.ts.map +0 -1
  423. package/types/views/TextAncestorContext.d.ts.map +0 -1
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/dist/cjs/conf.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -140,34 +140,39 @@ function createTamagui(config) {
140
140
  });
141
141
  if (hasDarkLight) {
142
142
  for (const subName of names) {
143
- const isDark = subName.startsWith("dark");
144
- const childSelector = `${CNP}${subName.replace("dark_", "").replace("light_", "")}`;
143
+ const isDark = isDarkOrLightBase || subName.startsWith("dark_");
144
+ const childSelector = `${CNP}${subName.replace(isDark ? "dark_" : "light_", "")}`;
145
145
  const order = isDark ? ["dark", "light"] : ["light", "dark"];
146
146
  if (isDarkOrLightBase) {
147
147
  order.reverse();
148
148
  }
149
149
  const [stronger, weaker] = order;
150
150
  const max = config.maxDarkLightNesting ?? 3;
151
- new Array(max * 2).fill(void 0).forEach((_, pi) => {
152
- if (pi % 2 === 1)
151
+ new Array(Math.round(max * 1.5)).fill(void 0).forEach((_, pi) => {
152
+ const isOdd = pi % 2 === 1;
153
+ if (isOdd && pi < 3)
153
154
  return;
154
155
  const parents = new Array(pi + 1).fill(void 0).map((_2, psi) => {
155
156
  return `${CNP}${psi % 2 === 0 ? stronger : weaker}`;
156
157
  });
157
- selectors.push(`${(parents.length > 1 ? parents.slice(1) : parents).join(" ")} ${childSelector}`);
158
+ let parentSelectors = parents.length > 1 ? parents.slice(1) : parents;
159
+ if (isOdd) {
160
+ const [_first, second, ...rest] = parentSelectors;
161
+ parentSelectors = [second, ...rest, second];
162
+ }
163
+ selectors.push(`${parentSelectors.join(" ")} ${childSelector}`);
158
164
  });
159
165
  }
160
166
  }
161
167
  const rootSep = config.themeClassNameOnRoot ? "" : " ";
162
- cssRules.push(`${selectors.map((x) => `:root${rootSep}${x}`).join(", ")} {${vars}}`);
163
- if (config.shouldAddPrefersColorThemes) {
168
+ const css2 = `${selectors.map((x) => `:root${rootSep}${x}`).join(", ")} {${vars}}`;
169
+ cssRules.push(css2);
170
+ if (config.shouldAddPrefersColorThemes && isDarkOrLightBase) {
164
171
  const isDark = themeName.startsWith("dark");
165
- if (isDarkOrLightBase) {
166
- cssRules.push(`@media(prefers-color-scheme: ${isDark ? "dark" : "light"}) {
172
+ cssRules.push(`@media(prefers-color-scheme: ${isDark ? "dark" : "light"}) {
167
173
  body { background:${theme.background}; color: ${theme.color} }
168
174
  :root {${vars} }
169
175
  }`);
170
- }
171
176
  }
172
177
  }
173
178
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createTamagui.ts"],
4
- "sourcesContent": ["import { configListeners, getHasConfigured, setConfig } from './conf'\nimport { THEME_CLASSNAME_PREFIX } from './constants/constants'\nimport { isWeb } from './constants/platform'\nimport { SpacerProps } from './createComponent'\nimport { Variable, createVariable, isVariable } from './createVariable'\nimport { createVariables } from './createVariables'\nimport { createTamaguiProvider } from './helpers/createTamaguiProvider'\nimport { getInsertedRules } from './helpers/insertStyleRule'\nimport {\n registerCSSVariable,\n tokenRules,\n tokensValueToVariable,\n} from './helpers/registerCSSVariable'\nimport { configureMedia } from './hooks/useMedia'\nimport { parseFont, registerFontVariables } from './insertFont'\nimport { Tamagui } from './Tamagui'\nimport {\n AnimationDriver,\n CreateTamaguiConfig,\n GenericTamaguiConfig,\n MediaQueryKey,\n StackProps,\n TamaguiInternalConfig,\n TextProps,\n ThemeObject,\n} from './types'\n\nexport type CreateTamaguiProps =\n // user then re-defines the types after createTamagui returns the typed object they want\n Partial<Omit<GenericTamaguiConfig, 'themes' | 'tokens' | 'animations'>> & {\n animations?: AnimationDriver<any>\n tokens: GenericTamaguiConfig['tokens']\n themes: {\n [key: string]: {\n [key: string]: string | number | Variable\n }\n }\n\n defaultProps?: Record<string, any> & {\n Stack?: StackProps\n Text?: TextProps\n Spacer?: SpacerProps\n }\n\n // for the first render, determines which media queries are true\n // useful for SSR\n mediaQueryDefaultActive?: MediaQueryKey[]\n\n // what's between each CSS style rule, set to \"\\n\" to be easier to read\n // defaults: \"\\n\" when NODE_ENV=development, \"\" otherwise\n cssStyleSeparator?: string\n\n // (Advanced)\n // on the web, tamagui treats `dark` and `light` themes as special and\n // generates extra CSS to avoid having to re-render the entire page.\n // this CSS relies on specificity hacks that multiply by your sub-themes.\n // this sets the maxiumum number of nested dark/light themes you can do\n // defaults to 3 for a balance, but can be higher if you nest them deeply.\n maxDarkLightNesting?: number\n\n // adds @media(prefers-color-scheme) media queries for dark/light\n shouldAddPrefersColorThemes?: boolean\n\n // only if you put the theme classname on the html element we have to generate diff\n themeClassNameOnRoot?: boolean\n }\n\n// config is re-run by the @tamagui/static, dont double validate\nconst createdConfigs = new WeakMap<any, boolean>()\n\nexport type InferTamaguiConfig<Conf extends CreateTamaguiProps> = Conf extends Partial<\n CreateTamaguiConfig<infer A, infer B, infer C, infer D, infer E, infer F>\n>\n ? TamaguiInternalConfig<A, B, C, D, E, F>\n : unknown\n\nexport function createTamagui<Conf extends CreateTamaguiProps>(\n config: Conf\n): InferTamaguiConfig<Conf> {\n if (createdConfigs.has(config)) {\n return config as any\n }\n\n if (process.env.NODE_ENV === 'development') {\n if (!config.tokens) {\n throw new Error(`No tokens provided to Tamagui config`)\n }\n if (!config.themes) {\n throw new Error(`No themes provided to Tamagui config`)\n }\n if (!config.fonts) {\n throw new Error(`No fonts provided to Tamagui config`)\n }\n }\n\n // test env loads a few times as it runs diff tests\n if (getHasConfigured()) {\n console.warn(`Warning: createTamagui called twice (maybe HMR)`)\n }\n\n configureMedia({\n queries: config.media as any,\n defaultActive: config.mediaQueryDefaultActive,\n })\n\n const fontTokens = createVariables(config.fonts!)\n const fontsParsed = (() => {\n const res = {} as typeof fontTokens\n for (const familyName in fontTokens) {\n res[`$${familyName}`] = parseFont(fontTokens[familyName])\n }\n return res!\n })()\n\n const themeConfig = (() => {\n const themes = { ...config.themes }\n let cssRules: string[] = []\n\n if (isWeb) {\n for (const key in config.tokens) {\n for (const skey in config.tokens[key]) {\n const val = config.tokens[key][skey]\n registerCSSVariable(val)\n }\n }\n\n for (const key in fontsParsed) {\n const fontParsed = fontsParsed[key]\n registerFontVariables(fontParsed)\n }\n\n const sep = process.env.NODE_ENV === 'development' ? config.cssStyleSeparator || ' ' : ''\n cssRules.push(`:root {${sep}${[...tokenRules].join(`;${sep}`)}${sep}}`)\n }\n\n // special case for SSR\n const hasDarkLight = 'light' in config.themes && 'dark' in config.themes\n const CNP = `.${THEME_CLASSNAME_PREFIX}`\n\n // dedupe themes to avoid duplicate CSS generation\n type DedupedTheme = {\n names: string[]\n theme: ThemeObject\n }\n const dedupedThemes: {\n [key: string]: DedupedTheme\n } = {}\n const existing = new WeakMap<ThemeObject, DedupedTheme>()\n\n // first, de-dupe and parse them\n for (const themeName in themes) {\n const rawTheme = themes[themeName]\n\n // if existing, avoid\n if (existing.has(rawTheme)) {\n const e = existing.get(rawTheme)!\n themes[themeName] = e.theme\n e.names.push(themeName)\n continue\n }\n\n // parse into variables\n const theme = { ...config.themes[themeName] }\n for (const key in theme) {\n // make sure properly names theme variables\n ensureThemeVariable(theme, key)\n }\n themes[themeName] = theme\n\n // set deduped\n dedupedThemes[themeName] = {\n names: [themeName],\n theme,\n }\n existing.set(config.themes[themeName], dedupedThemes[themeName])\n }\n\n // then, generate from de-duped\n if (isWeb) {\n for (const themeName in dedupedThemes) {\n const { theme, names } = dedupedThemes[themeName]\n let vars = ''\n\n for (const themeKey in theme) {\n const variable = theme[themeKey] as Variable\n let value: any = null\n if (variable.isFloating || !tokensValueToVariable.has(variable.val)) {\n value = variable.val\n } else {\n value = tokensValueToVariable.get(variable.val)!.variable\n }\n vars += `--${themeKey}:${value};`\n }\n\n const isDarkOrLightBase = themeName === 'dark' || themeName === 'light'\n const selectors = names.map((name) => {\n return `${CNP}${name}`\n })\n\n // since we dont specify dark/light in classnames we have to do an awkward specificity war\n // use config.maxDarkLightNesting to determine how deep you can nest until it breaks\n if (hasDarkLight) {\n for (const subName of names) {\n const isDark = subName.startsWith('dark')\n const childSelector = `${CNP}${subName.replace('dark_', '').replace('light_', '')}`\n const order = isDark ? ['dark', 'light'] : ['light', 'dark']\n if (isDarkOrLightBase) {\n order.reverse()\n }\n const [stronger, weaker] = order\n const max = config.maxDarkLightNesting ?? 3\n new Array(max * 2).fill(undefined).forEach((_, pi) => {\n if (pi % 2 === 1) return\n const parents = new Array(pi + 1).fill(undefined).map((_, psi) => {\n return `${CNP}${psi % 2 === 0 ? stronger : weaker}`\n })\n selectors.push(\n `${(parents.length > 1 ? parents.slice(1) : parents).join(' ')} ${childSelector}`\n )\n })\n }\n }\n\n const rootSep = config.themeClassNameOnRoot ? '' : ' '\n cssRules.push(`${selectors.map((x) => `:root${rootSep}${x}`).join(', ')} {${vars}}`)\n\n if (config.shouldAddPrefersColorThemes) {\n const isDark = themeName.startsWith('dark')\n // add media prefers for dark/light base\n if (isDarkOrLightBase) {\n cssRules.push(\n `@media(prefers-color-scheme: ${isDark ? 'dark' : 'light'}) {\n body { background:${theme.background}; color: ${theme.color} }\n :root {${vars} } \n }`\n )\n }\n }\n }\n }\n\n // proxy upwards to get parent variables (themes are subset going down)\n for (const themeName in themes) {\n // we could test if this is better as just a straight object spread or fancier proxy\n const cur: string[] = []\n // if theme is dark_blue_alt1_Button\n // this will be the parent names in order: ['dark', 'dark_blue', 'dark_blue_alt1\"]\n const parents = themeName\n .split('_')\n .slice(0, -1)\n .map((part) => {\n cur.push(part)\n return cur.join('_')\n })\n\n if (!parents.length) continue\n\n themes[themeName] = new Proxy(themes[themeName], {\n get(target, key) {\n if (Reflect.has(target, key)) {\n return Reflect.get(target, key)\n }\n // check parents\n for (let i = parents.length - 1; i >= 0; i--) {\n const parent = themes[parents[i]]\n if (!parent) {\n continue\n }\n if (Reflect.has(parent, key)) {\n return Reflect.get(parent, key)\n }\n }\n },\n })\n }\n\n tokensValueToVariable.clear()\n Object.freeze(cssRules)\n const css = cssRules.join('\\n')\n\n return {\n themes,\n cssRules,\n css,\n }\n })()\n\n // faster lookups token keys become $keys to match input\n const tokensParsed: any = parseTokens(config.tokens)\n\n const getCSS = () => {\n return `${themeConfig.css}\\n${getInsertedRules().join('\\n')}`\n }\n\n if (config.shorthands) {\n for (const key in config.shorthands) {\n reversedShorthands[config.shorthands[key]] = key\n }\n }\n\n const next: TamaguiInternalConfig = {\n defaultTheme: 'light',\n fonts: {},\n animations: {} as any,\n shorthands: {},\n media: {},\n ...config,\n themes: themeConfig.themes,\n fontsParsed,\n themeConfig,\n tokensParsed,\n parsed: true,\n getCSS,\n Provider: null as any,\n }\n\n next.Provider = createTamaguiProvider(next)\n\n setConfig(next)\n\n if (configListeners.size) {\n configListeners.forEach((cb) => cb(next))\n configListeners.clear()\n }\n\n createdConfigs.set(next, true)\n\n if (process.env.NODE_ENV === 'development') {\n if (!globalThis['Tamagui']) {\n globalThis['Tamagui'] = Tamagui\n }\n }\n\n // @ts-expect-error\n return next\n}\n\nexport const reversedShorthands: Record<string, string> = {}\n\nconst parseTokens = (tokens: any) => {\n const res: any = {}\n for (const key in tokens) {\n res[key] = {}\n for (const skey in tokens[key]) {\n res[key][`$${skey}`] = tokens[key][skey]\n }\n }\n return res\n}\n\n// mutates, freeze after\n// shared by createTamagui so extracted here\nfunction ensureThemeVariable(theme: any, key: string) {\n const val = theme[key]\n const themeKey = key\n if (!isVariable(val)) {\n theme[key] = createVariable({\n key: themeKey,\n name: themeKey,\n val,\n })\n } else {\n if (val.name !== themeKey) {\n // rename to theme name\n theme[key] = createVariable({\n key: val.name,\n name: themeKey,\n val: val.val,\n })\n }\n }\n}\n\n// for quick testing types:\n// const x = createTamagui({\n// shorthands: {},\n// media: {},\n// themes: {},\n// tokens: {\n// font: {},\n// color: {},\n// radius: {},\n// size: {},\n// space: {},\n// zIndex: {},\n// },\n// })\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { configListeners, getHasConfigured, setConfig } from './conf'\nimport { THEME_CLASSNAME_PREFIX } from './constants/constants'\nimport { isWeb } from './constants/platform'\nimport { SpacerProps } from './createComponent'\nimport { Variable, createVariable, isVariable } from './createVariable'\nimport { createVariables } from './createVariables'\nimport { createTamaguiProvider } from './helpers/createTamaguiProvider'\nimport { getInsertedRules } from './helpers/insertStyleRule'\nimport {\n registerCSSVariable,\n tokenRules,\n tokensValueToVariable,\n} from './helpers/registerCSSVariable'\nimport { configureMedia } from './hooks/useMedia'\nimport { parseFont, registerFontVariables } from './insertFont'\nimport { Tamagui } from './Tamagui'\nimport {\n AnimationDriver,\n CreateTamaguiConfig,\n GenericTamaguiConfig,\n MediaQueryKey,\n StackProps,\n TamaguiInternalConfig,\n TextProps,\n ThemeObject,\n} from './types'\n\nexport type CreateTamaguiProps =\n // user then re-defines the types after createTamagui returns the typed object they want\n Partial<Omit<GenericTamaguiConfig, 'themes' | 'tokens' | 'animations'>> & {\n animations?: AnimationDriver<any>\n tokens: GenericTamaguiConfig['tokens']\n themes: {\n [key: string]: {\n [key: string]: string | number | Variable\n }\n }\n\n defaultProps?: Record<string, any> & {\n Stack?: StackProps\n Text?: TextProps\n Spacer?: SpacerProps\n }\n\n // for the first render, determines which media queries are true\n // useful for SSR\n mediaQueryDefaultActive?: MediaQueryKey[]\n\n // what's between each CSS style rule, set to \"\\n\" to be easier to read\n // defaults: \"\\n\" when NODE_ENV=development, \"\" otherwise\n cssStyleSeparator?: string\n\n // (Advanced)\n // on the web, tamagui treats `dark` and `light` themes as special and\n // generates extra CSS to avoid having to re-render the entire page.\n // this CSS relies on specificity hacks that multiply by your sub-themes.\n // this sets the maxiumum number of nested dark/light themes you can do\n // defaults to 3 for a balance, but can be higher if you nest them deeply.\n maxDarkLightNesting?: number\n\n // adds @media(prefers-color-scheme) media queries for dark/light\n shouldAddPrefersColorThemes?: boolean\n\n // only if you put the theme classname on the html element we have to generate diff\n themeClassNameOnRoot?: boolean\n }\n\n// config is re-run by the @tamagui/static, dont double validate\nconst createdConfigs = new WeakMap<any, boolean>()\n\nexport type InferTamaguiConfig<Conf extends CreateTamaguiProps> = Conf extends Partial<\n CreateTamaguiConfig<infer A, infer B, infer C, infer D, infer E, infer F>\n>\n ? TamaguiInternalConfig<A, B, C, D, E, F>\n : unknown\n\nexport function createTamagui<Conf extends CreateTamaguiProps>(\n config: Conf\n): InferTamaguiConfig<Conf> {\n if (createdConfigs.has(config)) {\n return config as any\n }\n\n if (process.env.NODE_ENV === 'development') {\n if (!config.tokens) {\n throw new Error(`No tokens provided to Tamagui config`)\n }\n if (!config.themes) {\n throw new Error(`No themes provided to Tamagui config`)\n }\n if (!config.fonts) {\n throw new Error(`No fonts provided to Tamagui config`)\n }\n }\n\n // test env loads a few times as it runs diff tests\n if (getHasConfigured()) {\n console.warn(`Warning: createTamagui called twice (maybe HMR)`)\n }\n\n configureMedia({\n queries: config.media as any,\n defaultActive: config.mediaQueryDefaultActive,\n })\n\n const fontTokens = createVariables(config.fonts!)\n const fontsParsed = (() => {\n const res = {} as typeof fontTokens\n for (const familyName in fontTokens) {\n res[`$${familyName}`] = parseFont(fontTokens[familyName])\n }\n return res!\n })()\n\n const themeConfig = (() => {\n const themes = { ...config.themes }\n let cssRules: string[] = []\n\n if (isWeb) {\n for (const key in config.tokens) {\n for (const skey in config.tokens[key]) {\n const val = config.tokens[key][skey]\n registerCSSVariable(val)\n }\n }\n\n for (const key in fontsParsed) {\n const fontParsed = fontsParsed[key]\n registerFontVariables(fontParsed)\n }\n\n const sep = process.env.NODE_ENV === 'development' ? config.cssStyleSeparator || ' ' : ''\n cssRules.push(`:root {${sep}${[...tokenRules].join(`;${sep}`)}${sep}}`)\n }\n\n // special case for SSR\n const hasDarkLight = 'light' in config.themes && 'dark' in config.themes\n const CNP = `.${THEME_CLASSNAME_PREFIX}`\n\n // dedupe themes to avoid duplicate CSS generation\n type DedupedTheme = {\n names: string[]\n theme: ThemeObject\n }\n const dedupedThemes: {\n [key: string]: DedupedTheme\n } = {}\n const existing = new WeakMap<ThemeObject, DedupedTheme>()\n\n // first, de-dupe and parse them\n for (const themeName in themes) {\n const rawTheme = themes[themeName]\n\n // if existing, avoid\n if (existing.has(rawTheme)) {\n const e = existing.get(rawTheme)!\n themes[themeName] = e.theme\n e.names.push(themeName)\n continue\n }\n\n // parse into variables\n const theme = { ...config.themes[themeName] }\n for (const key in theme) {\n // make sure properly names theme variables\n ensureThemeVariable(theme, key)\n }\n themes[themeName] = theme\n\n // set deduped\n dedupedThemes[themeName] = {\n names: [themeName],\n theme,\n }\n existing.set(config.themes[themeName], dedupedThemes[themeName])\n }\n\n // then, generate from de-duped\n if (isWeb) {\n for (const themeName in dedupedThemes) {\n const { theme, names } = dedupedThemes[themeName]\n let vars = ''\n\n for (const themeKey in theme) {\n const variable = theme[themeKey] as Variable\n let value: any = null\n if (variable.isFloating || !tokensValueToVariable.has(variable.val)) {\n value = variable.val\n } else {\n value = tokensValueToVariable.get(variable.val)!.variable\n }\n vars += `--${themeKey}:${value};`\n }\n\n const isDarkOrLightBase = themeName === 'dark' || themeName === 'light'\n const selectors = names.map((name) => {\n return `${CNP}${name}`\n })\n\n // since we dont specify dark/light in classnames we have to do an awkward specificity war\n // use config.maxDarkLightNesting to determine how deep you can nest until it breaks\n if (hasDarkLight) {\n for (const subName of names) {\n const isDark = isDarkOrLightBase || subName.startsWith('dark_')\n const childSelector = `${CNP}${subName.replace(isDark ? 'dark_' : 'light_', '')}`\n const order = isDark ? ['dark', 'light'] : ['light', 'dark']\n if (isDarkOrLightBase) {\n order.reverse()\n }\n const [stronger, weaker] = order\n const max = config.maxDarkLightNesting ?? 3\n\n new Array(Math.round(max * 1.5)).fill(undefined).forEach((_, pi) => {\n const isOdd = pi % 2 === 1\n if (isOdd && pi < 3) return\n const parents = new Array(pi + 1).fill(undefined).map((_, psi) => {\n return `${CNP}${psi % 2 === 0 ? stronger : weaker}`\n })\n let parentSelectors = parents.length > 1 ? parents.slice(1) : parents\n if (isOdd) {\n const [_first, second, ...rest] = parentSelectors\n parentSelectors = [second, ...rest, second]\n }\n selectors.push(`${parentSelectors.join(' ')} ${childSelector}`)\n })\n }\n }\n\n const rootSep = config.themeClassNameOnRoot ? '' : ' '\n const css = `${selectors.map((x) => `:root${rootSep}${x}`).join(', ')} {${vars}}`\n cssRules.push(css)\n\n if (config.shouldAddPrefersColorThemes && isDarkOrLightBase) {\n // add media prefers for dark/light base\n const isDark = themeName.startsWith('dark')\n cssRules.push(\n `@media(prefers-color-scheme: ${isDark ? 'dark' : 'light'}) {\n body { background:${theme.background}; color: ${theme.color} }\n :root {${vars} } \n }`\n )\n }\n }\n }\n\n // proxy upwards to get parent variables (themes are subset going down)\n for (const themeName in themes) {\n // we could test if this is better as just a straight object spread or fancier proxy\n const cur: string[] = []\n // if theme is dark_blue_alt1_Button\n // this will be the parent names in order: ['dark', 'dark_blue', 'dark_blue_alt1\"]\n const parents = themeName\n .split('_')\n .slice(0, -1)\n .map((part) => {\n cur.push(part)\n return cur.join('_')\n })\n\n if (!parents.length) continue\n\n themes[themeName] = new Proxy(themes[themeName], {\n get(target, key) {\n if (Reflect.has(target, key)) {\n return Reflect.get(target, key)\n }\n // check parents\n for (let i = parents.length - 1; i >= 0; i--) {\n const parent = themes[parents[i]]\n if (!parent) {\n continue\n }\n if (Reflect.has(parent, key)) {\n return Reflect.get(parent, key)\n }\n }\n },\n })\n }\n\n tokensValueToVariable.clear()\n Object.freeze(cssRules)\n const css = cssRules.join('\\n')\n\n return {\n themes,\n cssRules,\n css,\n }\n })()\n\n // faster lookups token keys become $keys to match input\n const tokensParsed: any = parseTokens(config.tokens)\n\n const getCSS = () => {\n return `${themeConfig.css}\\n${getInsertedRules().join('\\n')}`\n }\n\n if (config.shorthands) {\n for (const key in config.shorthands) {\n reversedShorthands[config.shorthands[key]] = key\n }\n }\n\n const next: TamaguiInternalConfig = {\n defaultTheme: 'light',\n fonts: {},\n animations: {} as any,\n shorthands: {},\n media: {},\n ...config,\n themes: themeConfig.themes,\n fontsParsed,\n themeConfig,\n tokensParsed,\n parsed: true,\n getCSS,\n Provider: null as any,\n }\n\n next.Provider = createTamaguiProvider(next)\n\n setConfig(next)\n\n if (configListeners.size) {\n configListeners.forEach((cb) => cb(next))\n configListeners.clear()\n }\n\n createdConfigs.set(next, true)\n\n if (process.env.NODE_ENV === 'development') {\n if (!globalThis['Tamagui']) {\n globalThis['Tamagui'] = Tamagui\n }\n }\n\n // @ts-expect-error\n return next\n}\n\nexport const reversedShorthands: Record<string, string> = {}\n\nconst parseTokens = (tokens: any) => {\n const res: any = {}\n for (const key in tokens) {\n res[key] = {}\n for (const skey in tokens[key]) {\n res[key][`$${skey}`] = tokens[key][skey]\n }\n }\n return res\n}\n\n// mutates, freeze after\n// shared by createTamagui so extracted here\nfunction ensureThemeVariable(theme: any, key: string) {\n const val = theme[key]\n const themeKey = key\n if (!isVariable(val)) {\n theme[key] = createVariable({\n key: themeKey,\n name: themeKey,\n val,\n })\n } else {\n if (val.name !== themeKey) {\n // rename to theme name\n theme[key] = createVariable({\n key: val.name,\n name: themeKey,\n val: val.val,\n })\n }\n }\n}\n\n// for quick testing types:\n// const x = createTamagui({\n// shorthands: {},\n// media: {},\n// themes: {},\n// tokens: {\n// font: {},\n// color: {},\n// radius: {},\n// size: {},\n// space: {},\n// zIndex: {},\n// },\n// })\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -22,6 +22,13 @@ __export(getStackSize_exports, {
22
22
  module.exports = __toCommonJS(getStackSize_exports);
23
23
  var import_getSize = require("./getSize");
24
24
  const getButtonSize = (val, { tokens }) => {
25
+ if (typeof val === "number") {
26
+ return {
27
+ paddingHorizontal: val * 0.25,
28
+ height: val,
29
+ borderRadius: val * 0.2
30
+ };
31
+ }
25
32
  const ySize = (0, import_getSize.getSize)(val, 0);
26
33
  const xSize = (0, import_getSize.stepTokenUpOrDown)(tokens.space, val);
27
34
  const radiusToken = tokens.radius[val] ?? tokens.radius["$4"];
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/getStackSize.ts"],
4
- "sourcesContent": ["import { SizeTokens, VariantSpreadExtras } from '../types'\nimport { getSize, stepTokenUpOrDown } from './getSize'\n\nexport type ScaleVariantExtras = Pick<VariantSpreadExtras<any>, 'tokens' | 'props' | 'fonts'>\n\nexport const getButtonSize = (val: SizeTokens, { tokens }: VariantSpreadExtras<any>) => {\n const ySize = getSize(val, 0)\n const xSize = stepTokenUpOrDown(tokens.space, val)\n const radiusToken = tokens.radius[val] ?? tokens.radius['$4']\n return {\n paddingHorizontal: xSize,\n height: ySize,\n borderRadius: radiusToken,\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,qBAA2C;AAIpC,MAAM,gBAAgB,CAAC,KAAiB,EAAE,aAAuC;AACtF,QAAM,QAAQ,4BAAQ,KAAK,CAAC;AAC5B,QAAM,QAAQ,sCAAkB,OAAO,OAAO,GAAG;AACjD,QAAM,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO;AACxD,SAAO;AAAA,IACL,mBAAmB;AAAA,IACnB,QAAQ;AAAA,IACR,cAAc;AAAA,EAChB;AACF;",
4
+ "sourcesContent": ["import { SizeTokens, VariantSpreadExtras } from '../types'\nimport { getSize, stepTokenUpOrDown } from './getSize'\n\nexport type ScaleVariantExtras = Pick<VariantSpreadExtras<any>, 'tokens' | 'props' | 'fonts'>\n\nexport const getButtonSize = (val: SizeTokens | number, { tokens }: VariantSpreadExtras<any>) => {\n if (typeof val === 'number') {\n return {\n paddingHorizontal: val * 0.25,\n height: val,\n borderRadius: val * 0.2,\n }\n }\n const ySize = getSize(val, 0)\n const xSize = stepTokenUpOrDown(tokens.space, val)\n const radiusToken = tokens.radius[val] ?? tokens.radius['$4']\n return {\n paddingHorizontal: xSize,\n height: ySize,\n borderRadius: radiusToken,\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,qBAA2C;AAIpC,MAAM,gBAAgB,CAAC,KAA0B,EAAE,aAAuC;AAC/F,MAAI,OAAO,QAAQ,UAAU;AAC3B,WAAO;AAAA,MACL,mBAAmB,MAAM;AAAA,MACzB,QAAQ;AAAA,MACR,cAAc,MAAM;AAAA,IACtB;AAAA,EACF;AACA,QAAM,QAAQ,4BAAQ,KAAK,CAAC;AAC5B,QAAM,QAAQ,sCAAkB,OAAO,OAAO,GAAG;AACjD,QAAM,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO;AACxD,SAAO;AAAA,IACL,mBAAmB;AAAA,IACnB,QAAQ;AAAA,IACR,cAAc;AAAA,EAChB;AACF;",
6
6
  "names": []
7
7
  }
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,55 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var getTextSize_exports = {};
19
+ __export(getTextSize_exports, {
20
+ getTextSize: () => getTextSize
21
+ });
22
+ module.exports = __toCommonJS(getTextSize_exports);
23
+ var import_createVariable = require("../createVariable");
24
+ const getTextSize = (val = "$4", { fonts, theme, props }) => {
25
+ var _a, _b, _c;
26
+ const family = (0, import_createVariable.getVariableValue)(props.fontFamily) || "$body";
27
+ const font = fonts[family] || fonts["$body"];
28
+ if (!font) {
29
+ console.warn("\u26A0\uFE0F no font found", { family, fontTokens: Object.keys(fonts), val });
30
+ return {};
31
+ }
32
+ const fontFamily = font.family;
33
+ const fontSize = props.fontSize || font.size[val];
34
+ const lineHeight = props.lineHeight || font.lineHeight[val];
35
+ const fontWeight = props.fontWeight || font.weight[val];
36
+ const letterSpacing = props.letterSpacing || font.letterSpacing[val];
37
+ const fontStyle = props.fontStyle || ((_a = font.style) == null ? void 0 : _a[val]);
38
+ const textTransform = props.textTransform || ((_b = font.transform) == null ? void 0 : _b[val]);
39
+ const color = props.color || ((_c = font.color) == null ? void 0 : _c[val]) || theme.color;
40
+ return {
41
+ color,
42
+ fontStyle,
43
+ textTransform,
44
+ fontFamily,
45
+ fontWeight,
46
+ letterSpacing,
47
+ fontSize,
48
+ lineHeight
49
+ };
50
+ };
51
+ // Annotate the CommonJS export names for ESM import in node:
52
+ 0 && (module.exports = {
53
+ getTextSize
54
+ });
55
+ //# sourceMappingURL=getTextSize.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/getTextSize.tsx"],
4
+ "sourcesContent": ["import { getVariableValue } from '../createVariable'\nimport { FontSizeTokens, TextProps, VariantSpreadFunction } from '../types'\n\nexport const getTextSize: VariantSpreadFunction<TextProps, FontSizeTokens> = (\n val = '$4',\n { fonts, theme, props }\n) => {\n const family = getVariableValue(props.fontFamily) || '$body'\n const font = fonts[family] || fonts['$body']\n if (!font) {\n console.warn('\u26A0\uFE0F no font found', { family, fontTokens: Object.keys(fonts), val })\n return {} as any\n }\n const fontFamily = font.family\n const fontSize = props.fontSize || font.size[val]\n const lineHeight = props.lineHeight || font.lineHeight[val]\n const fontWeight = props.fontWeight || font.weight[val]\n const letterSpacing = props.letterSpacing || font.letterSpacing[val]\n const fontStyle = props.fontStyle || font.style?.[val]\n const textTransform = props.textTransform || font.transform?.[val]\n const color = props.color || font.color?.[val] || theme.color\n return {\n color,\n fontStyle,\n textTransform,\n fontFamily,\n fontWeight,\n letterSpacing,\n fontSize,\n lineHeight,\n } as any\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAiC;AAG1B,MAAM,cAAgE,CAC3E,MAAM,MACN,EAAE,OAAO,OAAO,YACb;AANL;AAOE,QAAM,SAAS,4CAAiB,MAAM,UAAU,KAAK;AACrD,QAAM,OAAO,MAAM,WAAW,MAAM;AACpC,MAAI,CAAC,MAAM;AACT,YAAQ,KAAK,8BAAoB,EAAE,QAAQ,YAAY,OAAO,KAAK,KAAK,GAAG,IAAI,CAAC;AAChF,WAAO,CAAC;AAAA,EACV;AACA,QAAM,aAAa,KAAK;AACxB,QAAM,WAAW,MAAM,YAAY,KAAK,KAAK;AAC7C,QAAM,aAAa,MAAM,cAAc,KAAK,WAAW;AACvD,QAAM,aAAa,MAAM,cAAc,KAAK,OAAO;AACnD,QAAM,gBAAgB,MAAM,iBAAiB,KAAK,cAAc;AAChE,QAAM,YAAY,MAAM,aAAa,YAAK,UAAL,mBAAa;AAClD,QAAM,gBAAgB,MAAM,iBAAiB,YAAK,cAAL,mBAAiB;AAC9D,QAAM,QAAQ,MAAM,SAAS,YAAK,UAAL,mBAAa,SAAQ,MAAM;AACxD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/dist/cjs/index.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes