@tamagui/core 1.2.18 → 1.3.1

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 (554) hide show
  1. package/dist/cjs/Tamagui.js +77 -0
  2. package/dist/cjs/Tamagui.js.map +7 -0
  3. package/dist/cjs/addTheme.js +78 -0
  4. package/dist/cjs/addTheme.js.map +7 -0
  5. package/dist/cjs/config.js +91 -0
  6. package/dist/cjs/config.js.map +7 -0
  7. package/dist/cjs/constants/constants.js +49 -0
  8. package/dist/cjs/constants/constants.js.map +7 -0
  9. package/dist/cjs/constants/isDevTools.js +37 -0
  10. package/dist/cjs/constants/isDevTools.js.map +7 -0
  11. package/dist/cjs/contexts/ButtonNestingContext.js +30 -0
  12. package/dist/cjs/contexts/ButtonNestingContext.js.map +7 -0
  13. package/dist/cjs/contexts/FontLanguageContext.js +30 -0
  14. package/dist/cjs/contexts/FontLanguageContext.js.map +7 -0
  15. package/dist/cjs/contexts/TextAncestorContext.js +30 -0
  16. package/dist/cjs/contexts/TextAncestorContext.js.map +7 -0
  17. package/dist/cjs/createComponent.js +991 -0
  18. package/dist/cjs/createComponent.js.map +7 -0
  19. package/dist/cjs/createFont.js +69 -0
  20. package/dist/cjs/createFont.js.map +7 -0
  21. package/dist/cjs/createShorthands.js +31 -0
  22. package/dist/cjs/createShorthands.js.map +7 -0
  23. package/dist/cjs/createTamagui.js +206 -0
  24. package/dist/cjs/createTamagui.js.map +7 -0
  25. package/dist/cjs/createTheme.js +31 -0
  26. package/dist/cjs/createTheme.js.map +7 -0
  27. package/dist/cjs/createTokens.js +39 -0
  28. package/dist/cjs/createTokens.js.map +7 -0
  29. package/dist/cjs/createVariable.js +111 -0
  30. package/dist/cjs/createVariable.js.map +7 -0
  31. package/dist/cjs/createVariables.js +60 -0
  32. package/dist/cjs/createVariables.js.map +7 -0
  33. package/dist/cjs/helpers/RNComponents.js +40 -0
  34. package/dist/cjs/helpers/RNComponents.js.map +7 -0
  35. package/dist/cjs/helpers/ThemeManager.js +234 -0
  36. package/dist/cjs/helpers/ThemeManager.js.map +7 -0
  37. package/dist/cjs/helpers/ThemeManagerContext.js +30 -0
  38. package/dist/cjs/helpers/ThemeManagerContext.js.map +7 -0
  39. package/dist/cjs/helpers/createMediaStyle.js +67 -0
  40. package/dist/cjs/helpers/createMediaStyle.js.map +7 -0
  41. package/dist/cjs/helpers/createPropMapper.js +411 -0
  42. package/dist/cjs/helpers/createPropMapper.js.map +7 -0
  43. package/dist/cjs/helpers/createProxy.js +43 -0
  44. package/dist/cjs/helpers/createProxy.js.map +7 -0
  45. package/dist/cjs/helpers/expandStyle.js +95 -0
  46. package/dist/cjs/helpers/expandStyle.js.map +7 -0
  47. package/dist/cjs/helpers/expandStyles.js +116 -0
  48. package/dist/cjs/helpers/expandStyles.js.map +7 -0
  49. package/dist/cjs/helpers/extendStaticConfig.js +91 -0
  50. package/dist/cjs/helpers/extendStaticConfig.js.map +7 -0
  51. package/dist/cjs/helpers/fixNativeShadow.js +30 -0
  52. package/dist/cjs/helpers/fixNativeShadow.js.map +7 -0
  53. package/dist/cjs/helpers/getAnimationDriver.js +32 -0
  54. package/dist/cjs/helpers/getAnimationDriver.js.map +7 -0
  55. package/dist/cjs/helpers/getExpandedShorthands.js +40 -0
  56. package/dist/cjs/helpers/getExpandedShorthands.js.map +7 -0
  57. package/dist/cjs/helpers/getFontLanguage.js +29 -0
  58. package/dist/cjs/helpers/getFontLanguage.js.map +7 -0
  59. package/dist/cjs/helpers/getSplitStyles.js +848 -0
  60. package/dist/cjs/helpers/getSplitStyles.js.map +7 -0
  61. package/dist/cjs/helpers/getStylesAtomic.js +226 -0
  62. package/dist/cjs/helpers/getStylesAtomic.js.map +7 -0
  63. package/dist/cjs/helpers/getStylesAtomic.native.js +38 -0
  64. package/dist/cjs/helpers/getStylesAtomic.native.js.map +7 -0
  65. package/dist/cjs/helpers/getThemeCSSRules.js +110 -0
  66. package/dist/cjs/helpers/getThemeCSSRules.js.map +7 -0
  67. package/dist/cjs/helpers/getThemeCSSRules.native.js +31 -0
  68. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +7 -0
  69. package/dist/cjs/helpers/getVariantExtras.js +92 -0
  70. package/dist/cjs/helpers/getVariantExtras.js.map +7 -0
  71. package/dist/cjs/helpers/insertStyleRule.js +218 -0
  72. package/dist/cjs/helpers/insertStyleRule.js.map +7 -0
  73. package/dist/cjs/helpers/isObj.js +29 -0
  74. package/dist/cjs/helpers/isObj.js.map +7 -0
  75. package/dist/cjs/helpers/isTamaguiComponent.js +32 -0
  76. package/dist/cjs/helpers/isTamaguiComponent.js.map +7 -0
  77. package/dist/cjs/helpers/isTamaguiElement.js +33 -0
  78. package/dist/cjs/helpers/isTamaguiElement.js.map +7 -0
  79. package/dist/cjs/helpers/matchMedia.js +42 -0
  80. package/dist/cjs/helpers/matchMedia.js.map +7 -0
  81. package/dist/cjs/helpers/matchMedia.native.js +48 -0
  82. package/dist/cjs/helpers/matchMedia.native.js.map +7 -0
  83. package/dist/cjs/helpers/mergeProps.js +54 -0
  84. package/dist/cjs/helpers/mergeProps.js.map +7 -0
  85. package/dist/cjs/helpers/mergeTransform.js +47 -0
  86. package/dist/cjs/helpers/mergeTransform.js.map +7 -0
  87. package/dist/cjs/helpers/normalizeColor.js +71 -0
  88. package/dist/cjs/helpers/normalizeColor.js.map +7 -0
  89. package/dist/cjs/helpers/normalizeValueWithProperty.js +138 -0
  90. package/dist/cjs/helpers/normalizeValueWithProperty.js.map +7 -0
  91. package/dist/cjs/helpers/proxyThemeVariables.js +40 -0
  92. package/dist/cjs/helpers/proxyThemeVariables.js.map +7 -0
  93. package/dist/cjs/helpers/pseudoDescriptors.js +53 -0
  94. package/dist/cjs/helpers/pseudoDescriptors.js.map +7 -0
  95. package/dist/cjs/helpers/registerCSSVariable.js +40 -0
  96. package/dist/cjs/helpers/registerCSSVariable.js.map +7 -0
  97. package/dist/cjs/helpers/themeable.js +62 -0
  98. package/dist/cjs/helpers/themeable.js.map +7 -0
  99. package/dist/cjs/helpers/themes.js +78 -0
  100. package/dist/cjs/helpers/themes.js.map +7 -0
  101. package/dist/cjs/helpers/timer.js +35 -0
  102. package/dist/cjs/helpers/timer.js.map +7 -0
  103. package/dist/cjs/helpers/useShallowSetState.js +59 -0
  104. package/dist/cjs/helpers/useShallowSetState.js.map +7 -0
  105. package/dist/cjs/helpers/warnOnce.js +38 -0
  106. package/dist/cjs/helpers/warnOnce.js.map +7 -0
  107. package/dist/cjs/helpers/withStaticProperties.js +32 -0
  108. package/dist/cjs/helpers/withStaticProperties.js.map +7 -0
  109. package/dist/cjs/hooks/getThemeUnwrapped.js +34 -0
  110. package/dist/cjs/hooks/getThemeUnwrapped.js.map +7 -0
  111. package/dist/cjs/hooks/useId.js +29 -0
  112. package/dist/cjs/hooks/useId.js.map +7 -0
  113. package/dist/cjs/hooks/useIsTouchDevice.js +33 -0
  114. package/dist/cjs/hooks/useIsTouchDevice.js.map +7 -0
  115. package/dist/cjs/hooks/useMedia.js +263 -0
  116. package/dist/cjs/hooks/useMedia.js.map +7 -0
  117. package/dist/cjs/hooks/useSafeRef.js +59 -0
  118. package/dist/cjs/hooks/useSafeRef.js.map +7 -0
  119. package/dist/cjs/hooks/useServerHooks.js +36 -0
  120. package/dist/cjs/hooks/useServerHooks.js.map +7 -0
  121. package/dist/cjs/hooks/useStyle.js +61 -0
  122. package/dist/cjs/hooks/useStyle.js.map +7 -0
  123. package/dist/cjs/hooks/useTheme.js +230 -0
  124. package/dist/cjs/hooks/useTheme.js.map +7 -0
  125. package/dist/cjs/hooks/useThemeName.js +52 -0
  126. package/dist/cjs/hooks/useThemeName.js.map +7 -0
  127. package/dist/cjs/insertFont.js +93 -0
  128. package/dist/cjs/insertFont.js.map +7 -0
  129. package/dist/cjs/setupReactNative.js +51 -0
  130. package/dist/cjs/setupReactNative.js.map +7 -0
  131. package/dist/cjs/static.js +20 -0
  132. package/dist/cjs/static.js.map +7 -0
  133. package/dist/cjs/styled.js +95 -0
  134. package/dist/cjs/styled.js.map +7 -0
  135. package/dist/cjs/types-rnw.js +17 -0
  136. package/dist/cjs/types-rnw.js.map +7 -0
  137. package/dist/cjs/types.js +17 -0
  138. package/dist/cjs/types.js.map +7 -0
  139. package/dist/cjs/updateTheme.js +47 -0
  140. package/dist/cjs/updateTheme.js.map +7 -0
  141. package/dist/cjs/views/FontLanguage.js +41 -0
  142. package/dist/cjs/views/FontLanguage.js.map +7 -0
  143. package/dist/cjs/views/FontLanguage.native.js +35 -0
  144. package/dist/cjs/views/FontLanguage.native.js.map +7 -0
  145. package/dist/cjs/views/FontLanguage.types.js +17 -0
  146. package/dist/cjs/views/FontLanguage.types.js.map +7 -0
  147. package/dist/cjs/views/Slot.js +92 -0
  148. package/dist/cjs/views/Slot.js.map +7 -0
  149. package/dist/cjs/views/Stack.js +38 -0
  150. package/dist/cjs/views/Stack.js.map +7 -0
  151. package/dist/cjs/views/TamaguiProvider.js +90 -0
  152. package/dist/cjs/views/TamaguiProvider.js.map +7 -0
  153. package/dist/cjs/views/Text.js +94 -0
  154. package/dist/cjs/views/Text.js.map +7 -0
  155. package/dist/cjs/views/Theme.js +88 -0
  156. package/dist/cjs/views/Theme.js.map +7 -0
  157. package/dist/cjs/views/ThemeProvider.js +70 -0
  158. package/dist/cjs/views/ThemeProvider.js.map +7 -0
  159. package/dist/esm/Tamagui.js +41 -0
  160. package/dist/esm/Tamagui.js.map +7 -0
  161. package/dist/esm/Tamagui.mjs +41 -0
  162. package/dist/esm/Tamagui.mjs.map +7 -0
  163. package/dist/esm/addTheme.js +54 -0
  164. package/dist/esm/addTheme.js.map +7 -0
  165. package/dist/esm/addTheme.mjs +54 -0
  166. package/dist/esm/addTheme.mjs.map +7 -0
  167. package/dist/esm/config.js +58 -0
  168. package/dist/esm/config.js.map +7 -0
  169. package/dist/esm/config.mjs +58 -0
  170. package/dist/esm/config.mjs.map +7 -0
  171. package/dist/esm/constants/constants.js +22 -0
  172. package/dist/esm/constants/constants.js.map +7 -0
  173. package/dist/esm/constants/constants.mjs +22 -0
  174. package/dist/esm/constants/constants.mjs.map +7 -0
  175. package/dist/esm/constants/isDevTools.js +13 -0
  176. package/dist/esm/constants/isDevTools.js.map +7 -0
  177. package/dist/esm/constants/isDevTools.mjs +13 -0
  178. package/dist/esm/constants/isDevTools.mjs.map +7 -0
  179. package/dist/esm/contexts/ButtonNestingContext.js +6 -0
  180. package/dist/esm/contexts/ButtonNestingContext.js.map +7 -0
  181. package/dist/esm/contexts/ButtonNestingContext.mjs +6 -0
  182. package/dist/esm/contexts/ButtonNestingContext.mjs.map +7 -0
  183. package/dist/esm/contexts/FontLanguageContext.js +6 -0
  184. package/dist/esm/contexts/FontLanguageContext.js.map +7 -0
  185. package/dist/esm/contexts/FontLanguageContext.mjs +6 -0
  186. package/dist/esm/contexts/FontLanguageContext.mjs.map +7 -0
  187. package/dist/esm/contexts/TextAncestorContext.js +6 -0
  188. package/dist/esm/contexts/TextAncestorContext.js.map +7 -0
  189. package/dist/esm/contexts/TextAncestorContext.mjs +6 -0
  190. package/dist/esm/contexts/TextAncestorContext.mjs.map +7 -0
  191. package/dist/esm/createComponent.js +973 -0
  192. package/dist/esm/createComponent.js.map +7 -0
  193. package/dist/esm/createComponent.mjs +973 -0
  194. package/dist/esm/createComponent.mjs.map +7 -0
  195. package/dist/esm/createFont.js +45 -0
  196. package/dist/esm/createFont.js.map +7 -0
  197. package/dist/esm/createFont.mjs +45 -0
  198. package/dist/esm/createFont.mjs.map +7 -0
  199. package/dist/esm/createShorthands.js +7 -0
  200. package/dist/esm/createShorthands.js.map +7 -0
  201. package/dist/esm/createShorthands.mjs +7 -0
  202. package/dist/esm/createShorthands.mjs.map +7 -0
  203. package/dist/esm/createTamagui.js +190 -0
  204. package/dist/esm/createTamagui.js.map +7 -0
  205. package/dist/esm/createTamagui.mjs +190 -0
  206. package/dist/esm/createTamagui.mjs.map +7 -0
  207. package/dist/esm/createTheme.js +7 -0
  208. package/dist/esm/createTheme.js.map +7 -0
  209. package/dist/esm/createTheme.mjs +7 -0
  210. package/dist/esm/createTheme.mjs.map +7 -0
  211. package/dist/esm/createTokens.js +15 -0
  212. package/dist/esm/createTokens.js.map +7 -0
  213. package/dist/esm/createTokens.mjs +15 -0
  214. package/dist/esm/createTokens.mjs.map +7 -0
  215. package/dist/esm/createVariable.js +78 -0
  216. package/dist/esm/createVariable.js.map +7 -0
  217. package/dist/esm/createVariable.mjs +78 -0
  218. package/dist/esm/createVariable.mjs.map +7 -0
  219. package/dist/esm/createVariables.js +35 -0
  220. package/dist/esm/createVariables.js.map +7 -0
  221. package/dist/esm/createVariables.mjs +35 -0
  222. package/dist/esm/createVariables.mjs.map +7 -0
  223. package/dist/esm/helpers/RNComponents.js +16 -0
  224. package/dist/esm/helpers/RNComponents.js.map +7 -0
  225. package/dist/esm/helpers/RNComponents.mjs +16 -0
  226. package/dist/esm/helpers/RNComponents.mjs.map +7 -0
  227. package/dist/esm/helpers/ThemeManager.js +209 -0
  228. package/dist/esm/helpers/ThemeManager.js.map +7 -0
  229. package/dist/esm/helpers/ThemeManager.mjs +209 -0
  230. package/dist/esm/helpers/ThemeManager.mjs.map +7 -0
  231. package/dist/esm/helpers/ThemeManagerContext.js +6 -0
  232. package/dist/esm/helpers/ThemeManagerContext.js.map +7 -0
  233. package/dist/esm/helpers/ThemeManagerContext.mjs +6 -0
  234. package/dist/esm/helpers/ThemeManagerContext.mjs.map +7 -0
  235. package/dist/esm/helpers/createMediaStyle.js +42 -0
  236. package/dist/esm/helpers/createMediaStyle.js.map +7 -0
  237. package/dist/esm/helpers/createMediaStyle.mjs +42 -0
  238. package/dist/esm/helpers/createMediaStyle.mjs.map +7 -0
  239. package/dist/esm/helpers/createPropMapper.js +384 -0
  240. package/dist/esm/helpers/createPropMapper.js.map +7 -0
  241. package/dist/esm/helpers/createPropMapper.mjs +384 -0
  242. package/dist/esm/helpers/createPropMapper.mjs.map +7 -0
  243. package/dist/esm/helpers/createProxy.js +19 -0
  244. package/dist/esm/helpers/createProxy.js.map +7 -0
  245. package/dist/esm/helpers/createProxy.mjs +19 -0
  246. package/dist/esm/helpers/createProxy.mjs.map +7 -0
  247. package/dist/esm/helpers/expandStyle.js +71 -0
  248. package/dist/esm/helpers/expandStyle.js.map +7 -0
  249. package/dist/esm/helpers/expandStyle.mjs +71 -0
  250. package/dist/esm/helpers/expandStyle.mjs.map +7 -0
  251. package/dist/esm/helpers/expandStyles.js +90 -0
  252. package/dist/esm/helpers/expandStyles.js.map +7 -0
  253. package/dist/esm/helpers/expandStyles.mjs +90 -0
  254. package/dist/esm/helpers/expandStyles.mjs.map +7 -0
  255. package/dist/esm/helpers/extendStaticConfig.js +66 -0
  256. package/dist/esm/helpers/extendStaticConfig.js.map +7 -0
  257. package/dist/esm/helpers/extendStaticConfig.mjs +66 -0
  258. package/dist/esm/helpers/extendStaticConfig.mjs.map +7 -0
  259. package/dist/esm/helpers/fixNativeShadow.js +6 -0
  260. package/dist/esm/helpers/fixNativeShadow.js.map +7 -0
  261. package/dist/esm/helpers/fixNativeShadow.mjs +6 -0
  262. package/dist/esm/helpers/fixNativeShadow.mjs.map +7 -0
  263. package/dist/esm/helpers/getAnimationDriver.js +8 -0
  264. package/dist/esm/helpers/getAnimationDriver.js.map +7 -0
  265. package/dist/esm/helpers/getAnimationDriver.mjs +8 -0
  266. package/dist/esm/helpers/getAnimationDriver.mjs.map +7 -0
  267. package/dist/esm/helpers/getExpandedShorthands.js +16 -0
  268. package/dist/esm/helpers/getExpandedShorthands.js.map +7 -0
  269. package/dist/esm/helpers/getExpandedShorthands.mjs +16 -0
  270. package/dist/esm/helpers/getExpandedShorthands.mjs.map +7 -0
  271. package/dist/esm/helpers/getFontLanguage.js +5 -0
  272. package/dist/esm/helpers/getFontLanguage.js.map +7 -0
  273. package/dist/esm/helpers/getFontLanguage.mjs +5 -0
  274. package/dist/esm/helpers/getFontLanguage.mjs.map +7 -0
  275. package/dist/esm/helpers/getSplitStyles.js +847 -0
  276. package/dist/esm/helpers/getSplitStyles.js.map +7 -0
  277. package/dist/esm/helpers/getSplitStyles.mjs +847 -0
  278. package/dist/esm/helpers/getSplitStyles.mjs.map +7 -0
  279. package/dist/esm/helpers/getStylesAtomic.js +200 -0
  280. package/dist/esm/helpers/getStylesAtomic.js.map +7 -0
  281. package/dist/esm/helpers/getStylesAtomic.mjs +200 -0
  282. package/dist/esm/helpers/getStylesAtomic.mjs.map +7 -0
  283. package/dist/esm/helpers/getStylesAtomic.native.js +12 -0
  284. package/dist/esm/helpers/getStylesAtomic.native.js.map +7 -0
  285. package/dist/esm/helpers/getStylesAtomic.native.mjs +12 -0
  286. package/dist/esm/helpers/getStylesAtomic.native.mjs.map +7 -0
  287. package/dist/esm/helpers/getThemeCSSRules.js +86 -0
  288. package/dist/esm/helpers/getThemeCSSRules.js.map +7 -0
  289. package/dist/esm/helpers/getThemeCSSRules.mjs +86 -0
  290. package/dist/esm/helpers/getThemeCSSRules.mjs.map +7 -0
  291. package/dist/esm/helpers/getThemeCSSRules.native.js +7 -0
  292. package/dist/esm/helpers/getThemeCSSRules.native.js.map +7 -0
  293. package/dist/esm/helpers/getThemeCSSRules.native.mjs +7 -0
  294. package/dist/esm/helpers/getThemeCSSRules.native.mjs.map +7 -0
  295. package/dist/esm/helpers/getVariantExtras.js +67 -0
  296. package/dist/esm/helpers/getVariantExtras.js.map +7 -0
  297. package/dist/esm/helpers/getVariantExtras.mjs +67 -0
  298. package/dist/esm/helpers/getVariantExtras.mjs.map +7 -0
  299. package/dist/esm/helpers/insertStyleRule.js +186 -0
  300. package/dist/esm/helpers/insertStyleRule.js.map +7 -0
  301. package/dist/esm/helpers/insertStyleRule.mjs +186 -0
  302. package/dist/esm/helpers/insertStyleRule.mjs.map +7 -0
  303. package/dist/esm/helpers/isObj.js +5 -0
  304. package/dist/esm/helpers/isObj.js.map +7 -0
  305. package/dist/esm/helpers/isObj.mjs +5 -0
  306. package/dist/esm/helpers/isObj.mjs.map +7 -0
  307. package/dist/esm/helpers/isTamaguiComponent.js +8 -0
  308. package/dist/esm/helpers/isTamaguiComponent.js.map +7 -0
  309. package/dist/esm/helpers/isTamaguiComponent.mjs +8 -0
  310. package/dist/esm/helpers/isTamaguiComponent.mjs.map +7 -0
  311. package/dist/esm/helpers/isTamaguiElement.js +9 -0
  312. package/dist/esm/helpers/isTamaguiElement.js.map +7 -0
  313. package/dist/esm/helpers/isTamaguiElement.mjs +9 -0
  314. package/dist/esm/helpers/isTamaguiElement.mjs.map +7 -0
  315. package/dist/esm/helpers/matchMedia.js +17 -0
  316. package/dist/esm/helpers/matchMedia.js.map +7 -0
  317. package/dist/esm/helpers/matchMedia.mjs +17 -0
  318. package/dist/esm/helpers/matchMedia.mjs.map +7 -0
  319. package/dist/esm/helpers/matchMedia.native.js +23 -0
  320. package/dist/esm/helpers/matchMedia.native.js.map +7 -0
  321. package/dist/esm/helpers/matchMedia.native.mjs +23 -0
  322. package/dist/esm/helpers/matchMedia.native.mjs.map +7 -0
  323. package/dist/esm/helpers/mergeProps.js +30 -0
  324. package/dist/esm/helpers/mergeProps.js.map +7 -0
  325. package/dist/esm/helpers/mergeProps.mjs +30 -0
  326. package/dist/esm/helpers/mergeProps.mjs.map +7 -0
  327. package/dist/esm/helpers/mergeTransform.js +21 -0
  328. package/dist/esm/helpers/mergeTransform.js.map +7 -0
  329. package/dist/esm/helpers/mergeTransform.mjs +21 -0
  330. package/dist/esm/helpers/mergeTransform.mjs.map +7 -0
  331. package/dist/esm/helpers/normalizeColor.js +36 -0
  332. package/dist/esm/helpers/normalizeColor.js.map +7 -0
  333. package/dist/esm/helpers/normalizeColor.mjs +36 -0
  334. package/dist/esm/helpers/normalizeColor.mjs.map +7 -0
  335. package/dist/esm/helpers/normalizeValueWithProperty.js +113 -0
  336. package/dist/esm/helpers/normalizeValueWithProperty.js.map +7 -0
  337. package/dist/esm/helpers/normalizeValueWithProperty.mjs +113 -0
  338. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +7 -0
  339. package/dist/esm/helpers/proxyThemeVariables.js +16 -0
  340. package/dist/esm/helpers/proxyThemeVariables.js.map +7 -0
  341. package/dist/esm/helpers/proxyThemeVariables.mjs +16 -0
  342. package/dist/esm/helpers/proxyThemeVariables.mjs.map +7 -0
  343. package/dist/esm/helpers/pseudoDescriptors.js +29 -0
  344. package/dist/esm/helpers/pseudoDescriptors.js.map +7 -0
  345. package/dist/esm/helpers/pseudoDescriptors.mjs +29 -0
  346. package/dist/esm/helpers/pseudoDescriptors.mjs.map +7 -0
  347. package/dist/esm/helpers/registerCSSVariable.js +14 -0
  348. package/dist/esm/helpers/registerCSSVariable.js.map +7 -0
  349. package/dist/esm/helpers/registerCSSVariable.mjs +14 -0
  350. package/dist/esm/helpers/registerCSSVariable.mjs.map +7 -0
  351. package/dist/esm/helpers/themeable.js +28 -0
  352. package/dist/esm/helpers/themeable.js.map +7 -0
  353. package/dist/esm/helpers/themeable.mjs +28 -0
  354. package/dist/esm/helpers/themeable.mjs.map +7 -0
  355. package/dist/esm/helpers/themes.js +53 -0
  356. package/dist/esm/helpers/themes.js.map +7 -0
  357. package/dist/esm/helpers/themes.mjs +53 -0
  358. package/dist/esm/helpers/themes.mjs.map +7 -0
  359. package/dist/esm/helpers/timer.js +11 -0
  360. package/dist/esm/helpers/timer.js.map +7 -0
  361. package/dist/esm/helpers/timer.mjs +11 -0
  362. package/dist/esm/helpers/timer.mjs.map +7 -0
  363. package/dist/esm/helpers/useShallowSetState.js +35 -0
  364. package/dist/esm/helpers/useShallowSetState.js.map +7 -0
  365. package/dist/esm/helpers/useShallowSetState.mjs +35 -0
  366. package/dist/esm/helpers/useShallowSetState.mjs.map +7 -0
  367. package/dist/esm/helpers/warnOnce.js +14 -0
  368. package/dist/esm/helpers/warnOnce.js.map +7 -0
  369. package/dist/esm/helpers/warnOnce.mjs +14 -0
  370. package/dist/esm/helpers/warnOnce.mjs.map +7 -0
  371. package/dist/esm/helpers/withStaticProperties.js +8 -0
  372. package/dist/esm/helpers/withStaticProperties.js.map +7 -0
  373. package/dist/esm/helpers/withStaticProperties.mjs +8 -0
  374. package/dist/esm/helpers/withStaticProperties.mjs.map +7 -0
  375. package/dist/esm/hooks/getThemeUnwrapped.js +9 -0
  376. package/dist/esm/hooks/getThemeUnwrapped.js.map +7 -0
  377. package/dist/esm/hooks/getThemeUnwrapped.mjs +9 -0
  378. package/dist/esm/hooks/getThemeUnwrapped.mjs.map +7 -0
  379. package/dist/esm/hooks/useId.js +5 -0
  380. package/dist/esm/hooks/useId.js.map +7 -0
  381. package/dist/esm/hooks/useId.mjs +5 -0
  382. package/dist/esm/hooks/useId.mjs.map +7 -0
  383. package/dist/esm/hooks/useIsTouchDevice.js +9 -0
  384. package/dist/esm/hooks/useIsTouchDevice.js.map +7 -0
  385. package/dist/esm/hooks/useIsTouchDevice.mjs +9 -0
  386. package/dist/esm/hooks/useIsTouchDevice.mjs.map +7 -0
  387. package/dist/esm/hooks/useMedia.js +225 -0
  388. package/dist/esm/hooks/useMedia.js.map +7 -0
  389. package/dist/esm/hooks/useMedia.mjs +225 -0
  390. package/dist/esm/hooks/useMedia.mjs.map +7 -0
  391. package/dist/esm/hooks/useSafeRef.js +35 -0
  392. package/dist/esm/hooks/useSafeRef.js.map +7 -0
  393. package/dist/esm/hooks/useSafeRef.mjs +35 -0
  394. package/dist/esm/hooks/useSafeRef.mjs.map +7 -0
  395. package/dist/esm/hooks/useServerHooks.js +11 -0
  396. package/dist/esm/hooks/useServerHooks.js.map +7 -0
  397. package/dist/esm/hooks/useServerHooks.mjs +11 -0
  398. package/dist/esm/hooks/useServerHooks.mjs.map +7 -0
  399. package/dist/esm/hooks/useStyle.js +37 -0
  400. package/dist/esm/hooks/useStyle.js.map +7 -0
  401. package/dist/esm/hooks/useStyle.mjs +37 -0
  402. package/dist/esm/hooks/useStyle.mjs.map +7 -0
  403. package/dist/esm/hooks/useTheme.js +205 -0
  404. package/dist/esm/hooks/useTheme.js.map +7 -0
  405. package/dist/esm/hooks/useTheme.mjs +205 -0
  406. package/dist/esm/hooks/useTheme.mjs.map +7 -0
  407. package/dist/esm/hooks/useThemeName.js +28 -0
  408. package/dist/esm/hooks/useThemeName.js.map +7 -0
  409. package/dist/esm/hooks/useThemeName.mjs +28 -0
  410. package/dist/esm/hooks/useThemeName.mjs.map +7 -0
  411. package/dist/esm/insertFont.js +67 -0
  412. package/dist/esm/insertFont.js.map +7 -0
  413. package/dist/esm/insertFont.mjs +67 -0
  414. package/dist/esm/insertFont.mjs.map +7 -0
  415. package/dist/esm/setupReactNative.js +25 -0
  416. package/dist/esm/setupReactNative.js.map +7 -0
  417. package/dist/esm/setupReactNative.mjs +25 -0
  418. package/dist/esm/setupReactNative.mjs.map +7 -0
  419. package/dist/esm/static.js +3 -0
  420. package/dist/esm/static.js.map +7 -0
  421. package/dist/esm/static.mjs +3 -0
  422. package/dist/esm/static.mjs.map +7 -0
  423. package/dist/esm/styled.js +71 -0
  424. package/dist/esm/styled.js.map +7 -0
  425. package/dist/esm/styled.mjs +71 -0
  426. package/dist/esm/styled.mjs.map +7 -0
  427. package/dist/esm/types-rnw.js +1 -0
  428. package/dist/esm/types-rnw.js.map +7 -0
  429. package/dist/esm/types-rnw.mjs +1 -0
  430. package/dist/esm/types-rnw.mjs.map +7 -0
  431. package/dist/esm/types.js +1 -0
  432. package/dist/esm/types.js.map +7 -0
  433. package/dist/esm/types.mjs +1 -0
  434. package/dist/esm/types.mjs.map +7 -0
  435. package/dist/esm/updateTheme.js +23 -0
  436. package/dist/esm/updateTheme.js.map +7 -0
  437. package/dist/esm/updateTheme.mjs +23 -0
  438. package/dist/esm/updateTheme.mjs.map +7 -0
  439. package/dist/esm/views/FontLanguage.js +17 -0
  440. package/dist/esm/views/FontLanguage.js.map +7 -0
  441. package/dist/esm/views/FontLanguage.mjs +17 -0
  442. package/dist/esm/views/FontLanguage.mjs.map +7 -0
  443. package/dist/esm/views/FontLanguage.native.js +11 -0
  444. package/dist/esm/views/FontLanguage.native.js.map +7 -0
  445. package/dist/esm/views/FontLanguage.native.mjs +11 -0
  446. package/dist/esm/views/FontLanguage.native.mjs.map +7 -0
  447. package/dist/esm/views/FontLanguage.types.js +1 -0
  448. package/dist/esm/views/FontLanguage.types.js.map +7 -0
  449. package/dist/esm/views/FontLanguage.types.mjs +1 -0
  450. package/dist/esm/views/FontLanguage.types.mjs.map +7 -0
  451. package/dist/esm/views/Slot.js +71 -0
  452. package/dist/esm/views/Slot.js.map +7 -0
  453. package/dist/esm/views/Slot.mjs +71 -0
  454. package/dist/esm/views/Slot.mjs.map +7 -0
  455. package/dist/esm/views/Stack.js +14 -0
  456. package/dist/esm/views/Stack.js.map +7 -0
  457. package/dist/esm/views/Stack.mjs +14 -0
  458. package/dist/esm/views/Stack.mjs.map +7 -0
  459. package/dist/esm/views/TamaguiProvider.js +56 -0
  460. package/dist/esm/views/TamaguiProvider.js.map +7 -0
  461. package/dist/esm/views/TamaguiProvider.mjs +56 -0
  462. package/dist/esm/views/TamaguiProvider.mjs.map +7 -0
  463. package/dist/esm/views/Text.js +70 -0
  464. package/dist/esm/views/Text.js.map +7 -0
  465. package/dist/esm/views/Text.mjs +70 -0
  466. package/dist/esm/views/Text.mjs.map +7 -0
  467. package/dist/esm/views/Theme.js +63 -0
  468. package/dist/esm/views/Theme.js.map +7 -0
  469. package/dist/esm/views/Theme.mjs +63 -0
  470. package/dist/esm/views/Theme.mjs.map +7 -0
  471. package/dist/esm/views/ThemeProvider.js +45 -0
  472. package/dist/esm/views/ThemeProvider.js.map +7 -0
  473. package/dist/esm/views/ThemeProvider.mjs +45 -0
  474. package/dist/esm/views/ThemeProvider.mjs.map +7 -0
  475. package/package.json +5 -5
  476. package/types/Tamagui.d.ts.map +1 -0
  477. package/types/addTheme.d.ts.map +1 -0
  478. package/types/config.d.ts.map +1 -0
  479. package/types/constants/constants.d.ts.map +1 -0
  480. package/types/constants/isDevTools.d.ts.map +1 -0
  481. package/types/contexts/ButtonNestingContext.d.ts.map +1 -0
  482. package/types/contexts/FontLanguageContext.d.ts.map +1 -0
  483. package/types/contexts/TextAncestorContext.d.ts.map +1 -0
  484. package/types/createComponent.d.ts.map +1 -0
  485. package/types/createFont.d.ts.map +1 -0
  486. package/types/createShorthands.d.ts.map +1 -0
  487. package/types/createTamagui.d.ts.map +1 -0
  488. package/types/createTheme.d.ts.map +1 -0
  489. package/types/createTokens.d.ts.map +1 -0
  490. package/types/createVariable.d.ts.map +1 -0
  491. package/types/createVariables.d.ts.map +1 -0
  492. package/types/helpers/RNComponents.d.ts.map +1 -0
  493. package/types/helpers/ThemeManager.d.ts.map +1 -0
  494. package/types/helpers/ThemeManagerContext.d.ts.map +1 -0
  495. package/types/helpers/createMediaStyle.d.ts.map +1 -0
  496. package/types/helpers/createPropMapper.d.ts.map +1 -0
  497. package/types/helpers/createProxy.d.ts.map +1 -0
  498. package/types/helpers/expandStyle.d.ts.map +1 -0
  499. package/types/helpers/expandStyles.d.ts.map +1 -0
  500. package/types/helpers/extendStaticConfig.d.ts.map +1 -0
  501. package/types/helpers/fixNativeShadow.d.ts.map +1 -0
  502. package/types/helpers/getAnimationDriver.d.ts.map +1 -0
  503. package/types/helpers/getExpandedShorthands.d.ts.map +1 -0
  504. package/types/helpers/getFontLanguage.d.ts.map +1 -0
  505. package/types/helpers/getSplitStyles.d.ts.map +1 -0
  506. package/types/helpers/getStylesAtomic.d.ts.map +1 -0
  507. package/types/helpers/getStylesAtomic.native.d.ts.map +1 -0
  508. package/types/helpers/getThemeCSSRules.d.ts.map +1 -0
  509. package/types/helpers/getThemeCSSRules.native.d.ts.map +1 -0
  510. package/types/helpers/getVariantExtras.d.ts.map +1 -0
  511. package/types/helpers/insertStyleRule.d.ts.map +1 -0
  512. package/types/helpers/isObj.d.ts.map +1 -0
  513. package/types/helpers/isTamaguiComponent.d.ts.map +1 -0
  514. package/types/helpers/isTamaguiElement.d.ts.map +1 -0
  515. package/types/helpers/matchMedia.d.ts.map +1 -0
  516. package/types/helpers/matchMedia.native.d.ts.map +1 -0
  517. package/types/helpers/mergeProps.d.ts.map +1 -0
  518. package/types/helpers/mergeTransform.d.ts.map +1 -0
  519. package/types/helpers/normalizeColor.d.ts.map +1 -0
  520. package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -0
  521. package/types/helpers/proxyThemeVariables.d.ts.map +1 -0
  522. package/types/helpers/pseudoDescriptors.d.ts.map +1 -0
  523. package/types/helpers/registerCSSVariable.d.ts.map +1 -0
  524. package/types/helpers/themeable.d.ts.map +1 -0
  525. package/types/helpers/themes.d.ts.map +1 -0
  526. package/types/helpers/timer.d.ts.map +1 -0
  527. package/types/helpers/useShallowSetState.d.ts.map +1 -0
  528. package/types/helpers/warnOnce.d.ts.map +1 -0
  529. package/types/helpers/withStaticProperties.d.ts.map +1 -0
  530. package/types/hooks/getThemeUnwrapped.d.ts.map +1 -0
  531. package/types/hooks/useId.d.ts.map +1 -0
  532. package/types/hooks/useIsTouchDevice.d.ts.map +1 -0
  533. package/types/hooks/useMedia.d.ts.map +1 -0
  534. package/types/hooks/useSafeRef.d.ts.map +1 -0
  535. package/types/hooks/useServerHooks.d.ts.map +1 -0
  536. package/types/hooks/useStyle.d.ts.map +1 -0
  537. package/types/hooks/useTheme.d.ts.map +1 -0
  538. package/types/hooks/useThemeName.d.ts.map +1 -0
  539. package/types/insertFont.d.ts.map +1 -0
  540. package/types/setupReactNative.d.ts.map +1 -0
  541. package/types/static.d.ts.map +1 -0
  542. package/types/styled.d.ts.map +1 -0
  543. package/types/types-rnw.d.ts.map +1 -0
  544. package/types/types.d.ts.map +1 -0
  545. package/types/updateTheme.d.ts.map +1 -0
  546. package/types/views/FontLanguage.d.ts.map +1 -0
  547. package/types/views/FontLanguage.native.d.ts.map +1 -0
  548. package/types/views/FontLanguage.types.d.ts.map +1 -0
  549. package/types/views/Slot.d.ts.map +1 -0
  550. package/types/views/Stack.d.ts.map +1 -0
  551. package/types/views/TamaguiProvider.d.ts.map +1 -0
  552. package/types/views/Text.d.ts.map +1 -0
  553. package/types/views/Theme.d.ts.map +1 -0
  554. package/types/views/ThemeProvider.d.ts.map +1 -0
@@ -0,0 +1,411 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var createPropMapper_exports = {};
20
+ __export(createPropMapper_exports, {
21
+ createPropMapper: () => createPropMapper,
22
+ getFontFamilyFromNameOrVariable: () => getFontFamilyFromNameOrVariable,
23
+ getPropMappedFontFamily: () => getPropMappedFontFamily,
24
+ getReturnVariablesAs: () => getReturnVariablesAs
25
+ });
26
+ module.exports = __toCommonJS(createPropMapper_exports);
27
+ var import_constants = require("@tamagui/constants");
28
+ var import_config = require("../config");
29
+ var import_isDevTools = require("../constants/isDevTools");
30
+ var import_createVariable = require("../createVariable");
31
+ var import_expandStyle = require("./expandStyle");
32
+ var import_expandStyles = require("./expandStyles");
33
+ var import_getVariantExtras = require("./getVariantExtras");
34
+ var import_isObj = require("./isObj");
35
+ var import_mergeProps = require("./mergeProps");
36
+ const getReturnVariablesAs = (props, state) => {
37
+ return !!props.animation || state.resolveVariablesAs === "value" ? import_constants.isWeb ? "non-color-value" : "value" : "auto";
38
+ };
39
+ const createPropMapper = (staticConfig) => {
40
+ const variants = staticConfig.variants || {};
41
+ const defaultProps = (0, import_mergeProps.mergeProps)(staticConfig.defaultProps || {}, {}, false)[0];
42
+ let conf;
43
+ const mapper = (key, value, theme, propsIn, state, languageContext, avoidDefaultProps = false, debug) => {
44
+ conf || (conf = (0, import_config.getConfig)());
45
+ const props = state.fallbackProps || propsIn;
46
+ const returnVariablesAs = getReturnVariablesAs(props, state);
47
+ const fontFamily = props[conf.inverseShorthands.fontFamily] || props.fontFamily || defaultProps.fontFamily || propsIn.fontFamily || "$body";
48
+ const variantValue = resolveVariants(
49
+ key,
50
+ value,
51
+ props,
52
+ defaultProps,
53
+ theme,
54
+ variants,
55
+ fontFamily,
56
+ conf,
57
+ returnVariablesAs,
58
+ staticConfig,
59
+ "",
60
+ languageContext,
61
+ avoidDefaultProps,
62
+ debug
63
+ );
64
+ if (variantValue) {
65
+ return variantValue;
66
+ }
67
+ let shouldReturn = value !== void 0 && value !== null;
68
+ if (key in conf.shorthands) {
69
+ shouldReturn = true;
70
+ key = conf.shorthands[key];
71
+ }
72
+ if (value) {
73
+ if (value[0] === "$") {
74
+ value = getToken(
75
+ key,
76
+ value,
77
+ conf,
78
+ theme,
79
+ fontFamily,
80
+ languageContext,
81
+ returnVariablesAs,
82
+ debug
83
+ );
84
+ } else if ((0, import_createVariable.isVariable)(value)) {
85
+ value = resolveVariableValue(key, value, returnVariablesAs);
86
+ }
87
+ }
88
+ if (shouldReturn) {
89
+ return (0, import_expandStyle.expandStyle)(key, value) || [[key, value]];
90
+ }
91
+ };
92
+ return mapper;
93
+ };
94
+ const resolveVariants = (key, value, props, defaultProps, theme, variants, fontFamily, conf, returnVariablesAs, staticConfig, parentVariantKey, languageContext, avoidDefaultProps = false, debug) => {
95
+ var _a;
96
+ const variant = variants == null ? void 0 : variants[key];
97
+ if (!variant || value === void 0) {
98
+ return;
99
+ }
100
+ let variantValue = getVariantDefinition(variant, key, value, conf);
101
+ if (!variantValue) {
102
+ if (process.env.NODE_ENV === "development") {
103
+ if ((_a = staticConfig.validStyles) == null ? void 0 : _a[key]) {
104
+ return null;
105
+ }
106
+ if (value === false) {
107
+ return null;
108
+ }
109
+ const name = staticConfig.componentName || "[UnnamedComponent]";
110
+ console.warn(
111
+ `No variant found: ${name} has variant "${key}", but no matching value "${value}"`
112
+ );
113
+ }
114
+ return;
115
+ }
116
+ if (typeof variantValue === "function") {
117
+ const fn = variantValue;
118
+ variantValue = fn(
119
+ value,
120
+ (0, import_getVariantExtras.getVariantExtras)(props, languageContext, theme, defaultProps, avoidDefaultProps)
121
+ );
122
+ }
123
+ let fontFamilyResult;
124
+ if ((0, import_isObj.isObj)(variantValue)) {
125
+ const fontFamilyUpdate = variantValue.fontFamily || variantValue[conf.inverseShorthands.fontFamily];
126
+ if (fontFamilyUpdate) {
127
+ fontFamilyResult = getFontFamilyFromNameOrVariable(fontFamilyUpdate, conf);
128
+ }
129
+ variantValue = resolveTokensAndVariants(
130
+ key,
131
+ variantValue,
132
+ props,
133
+ defaultProps,
134
+ theme,
135
+ variants,
136
+ fontFamilyResult || fontFamily,
137
+ conf,
138
+ returnVariablesAs,
139
+ staticConfig,
140
+ parentVariantKey,
141
+ languageContext,
142
+ avoidDefaultProps,
143
+ debug
144
+ );
145
+ }
146
+ if (variantValue) {
147
+ const next = Object.entries((0, import_expandStyles.expandStyles)(variantValue));
148
+ if (fontFamilyResult && fontFamilyResult[0] === "$") {
149
+ fontFamilyCache.set(next, (0, import_createVariable.getVariableValue)(fontFamilyResult));
150
+ }
151
+ return next;
152
+ }
153
+ };
154
+ function getFontFamilyFromNameOrVariable(input, conf) {
155
+ if ((0, import_createVariable.isVariable)(input)) {
156
+ const val = variableToFontNameCache.get(input);
157
+ if (val) {
158
+ return val;
159
+ } else {
160
+ for (const key in conf.fontsParsed) {
161
+ const familyVariable = conf.fontsParsed[key].family;
162
+ if ((0, import_createVariable.isVariable)(familyVariable)) {
163
+ variableToFontNameCache.set(familyVariable, key);
164
+ if (familyVariable === input) {
165
+ return key;
166
+ }
167
+ }
168
+ }
169
+ }
170
+ } else if (typeof input === "string") {
171
+ if ((input == null ? void 0 : input[0]) === "$") {
172
+ return input;
173
+ } else {
174
+ if (process.env.NODE_ENV === "development") {
175
+ console.log("[tamagui] should map back", input);
176
+ }
177
+ }
178
+ }
179
+ }
180
+ const variableToFontNameCache = /* @__PURE__ */ new WeakMap();
181
+ const fontFamilyCache = /* @__PURE__ */ new WeakMap();
182
+ const getPropMappedFontFamily = (expanded) => {
183
+ return expanded && fontFamilyCache.get(expanded);
184
+ };
185
+ const resolveTokensAndVariants = (key, value, props, defaultProps, theme, variants, fontFamily, conf, returnVariablesAs, staticConfig, parentVariantKey, languageContext, avoidDefaultProps, debug) => {
186
+ var _a;
187
+ const res = {};
188
+ for (const rKey in value) {
189
+ const fKey = conf.shorthands[rKey] || rKey;
190
+ const val = value[rKey];
191
+ if ((0, import_createVariable.isVariable)(val)) {
192
+ res[fKey] = !import_constants.isWeb || returnVariablesAs === "value" ? val.val : val.variable;
193
+ } else if (variants[fKey]) {
194
+ if (parentVariantKey === key) {
195
+ res[fKey] = val;
196
+ } else {
197
+ Object.assign(
198
+ res,
199
+ Object.fromEntries(
200
+ resolveVariants(
201
+ fKey,
202
+ val,
203
+ props,
204
+ defaultProps,
205
+ theme,
206
+ variants,
207
+ fontFamily,
208
+ conf,
209
+ returnVariablesAs,
210
+ staticConfig,
211
+ key,
212
+ languageContext,
213
+ avoidDefaultProps,
214
+ debug
215
+ )
216
+ )
217
+ );
218
+ }
219
+ } else if (typeof val === "string") {
220
+ const fVal = val[0] === "$" ? getToken(
221
+ fKey,
222
+ val,
223
+ conf,
224
+ theme,
225
+ fontFamily,
226
+ languageContext,
227
+ returnVariablesAs,
228
+ debug
229
+ ) : val;
230
+ res[fKey] = fVal;
231
+ } else {
232
+ if ((0, import_isObj.isObj)(val)) {
233
+ res[fKey] = resolveTokensAndVariants(
234
+ fKey,
235
+ val,
236
+ props,
237
+ defaultProps,
238
+ theme,
239
+ variants,
240
+ fontFamily,
241
+ conf,
242
+ returnVariablesAs,
243
+ staticConfig,
244
+ key,
245
+ languageContext,
246
+ avoidDefaultProps,
247
+ debug
248
+ );
249
+ } else {
250
+ res[fKey] = val;
251
+ }
252
+ }
253
+ if (process.env.NODE_ENV === "development") {
254
+ if (debug) {
255
+ if (((_a = res[fKey]) == null ? void 0 : _a[0]) === "$") {
256
+ console.warn(`\u26A0\uFE0F Missing token in theme ${theme.name}:`, fKey, res[fKey], theme);
257
+ }
258
+ }
259
+ }
260
+ }
261
+ return res;
262
+ };
263
+ const tokenCats = ["size", "color", "radius", "space", "zIndex"].map((name) => ({
264
+ name,
265
+ spreadName: `...${name}`
266
+ }));
267
+ function getVariantDefinition(variant, key, value, conf) {
268
+ if (typeof variant === "function") {
269
+ return variant;
270
+ }
271
+ if (variant[value]) {
272
+ return variant[value];
273
+ }
274
+ const { tokensParsed } = conf;
275
+ for (const { name, spreadName } of tokenCats) {
276
+ if (variant[spreadName] && value in tokensParsed[name]) {
277
+ return variant[spreadName];
278
+ }
279
+ }
280
+ let fn;
281
+ const type = typeof value;
282
+ if (type === "number") {
283
+ fn = variant[":number"];
284
+ } else if (type === "string") {
285
+ fn = variant[":string"];
286
+ } else if (value === true || value === false) {
287
+ fn = variant[":boolean"];
288
+ }
289
+ return fn || variant["..."] || variant["...size"];
290
+ }
291
+ const fontShorthand = {
292
+ fontSize: "size",
293
+ fontWeight: "weight"
294
+ };
295
+ const getToken = (key, value, conf, theme, fontFamily = "$body", languageContext, resolveAs, debug) => {
296
+ var _a, _b, _c;
297
+ const tokensParsed = conf.tokensParsed;
298
+ const fontsParsed = languageContext ? (0, import_getVariantExtras.getFontsForLanguage)(conf.fontsParsed, languageContext) : conf.fontsParsed;
299
+ let valOrVar;
300
+ let hasSet = false;
301
+ if (value in theme) {
302
+ valOrVar = theme[value];
303
+ hasSet = true;
304
+ } else {
305
+ switch (key) {
306
+ case "fontFamily":
307
+ valOrVar = ((_a = fontsParsed[value]) == null ? void 0 : _a.family) || value;
308
+ hasSet = true;
309
+ break;
310
+ case "fontSize":
311
+ case "lineHeight":
312
+ case "letterSpacing":
313
+ case "fontWeight":
314
+ valOrVar = ((_c = (_b = fontsParsed[fontFamily]) == null ? void 0 : _b[fontShorthand[key] || key]) == null ? void 0 : _c[value]) || value;
315
+ hasSet = true;
316
+ break;
317
+ }
318
+ for (const cat in tokenCategories) {
319
+ if (key in tokenCategories[cat]) {
320
+ const res = tokensParsed[cat][value];
321
+ if (res) {
322
+ valOrVar = res;
323
+ hasSet = true;
324
+ }
325
+ }
326
+ }
327
+ if (!hasSet) {
328
+ const spaceVar = tokensParsed.space[value];
329
+ if (spaceVar) {
330
+ valOrVar = spaceVar;
331
+ hasSet = true;
332
+ }
333
+ }
334
+ }
335
+ if (process.env.NODE_ENV === "development" && import_isDevTools.isDevTools && debug === "verbose") {
336
+ console.log(" \uFE52 propMapper getToken", { key, valOrVar, theme, hasSet });
337
+ }
338
+ if (hasSet) {
339
+ return resolveVariableValue(key, valOrVar, resolveAs);
340
+ }
341
+ if (process.env.NODE_ENV === "development") {
342
+ if (value && value[0] === "$") {
343
+ console.warn(
344
+ `\u26A0\uFE0F You passed the value "${value}" to the style property "${key}", but there's no theme or token with the key "${value}". Using theme "${theme.name}".
345
+
346
+ Set the debug prop to true to see more detailed debug information.`
347
+ );
348
+ if (debug) {
349
+ if (import_isDevTools.isDevTools) {
350
+ console.log("Looked in:", { theme, tokensParsed, fontsParsed });
351
+ }
352
+ }
353
+ return null;
354
+ }
355
+ }
356
+ return value;
357
+ };
358
+ function resolveVariableValue(key, valOrVar, resolveAs = "auto") {
359
+ if ((0, import_createVariable.isVariable)(valOrVar)) {
360
+ if (resolveAs === "variable") {
361
+ return valOrVar;
362
+ }
363
+ if (resolveAs === "non-color-value") {
364
+ if (import_constants.isWeb) {
365
+ if (key in tokenCategories.color) {
366
+ return valOrVar.variable;
367
+ }
368
+ }
369
+ return valOrVar.val;
370
+ }
371
+ if (!import_constants.isWeb || resolveAs === "value") {
372
+ return valOrVar.val;
373
+ }
374
+ return valOrVar.variable;
375
+ }
376
+ return valOrVar;
377
+ }
378
+ const tokenCategories = {
379
+ radius: {
380
+ borderRadius: true,
381
+ borderTopLeftRadius: true,
382
+ borderTopRightRadius: true,
383
+ borderBottomLeftRadius: true,
384
+ borderBottomRightRadius: true
385
+ },
386
+ size: {
387
+ width: true,
388
+ height: true,
389
+ minWidth: true,
390
+ minHeight: true,
391
+ maxWidth: true,
392
+ maxHeight: true
393
+ },
394
+ color: {
395
+ color: true,
396
+ backgroundColor: true,
397
+ borderColor: true,
398
+ borderBottomColor: true,
399
+ borderTopColor: true,
400
+ borderLeftColor: true,
401
+ borderRightColor: true
402
+ }
403
+ };
404
+ // Annotate the CommonJS export names for ESM import in node:
405
+ 0 && (module.exports = {
406
+ createPropMapper,
407
+ getFontFamilyFromNameOrVariable,
408
+ getPropMappedFontFamily,
409
+ getReturnVariablesAs
410
+ });
411
+ //# sourceMappingURL=createPropMapper.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/createPropMapper.ts"],
4
+ "sourcesContent": ["import { isWeb } from '@tamagui/constants'\n\nimport { getConfig } from '../config'\nimport { isDevTools } from '../constants/isDevTools'\nimport { Variable, getVariableValue, isVariable } from '../createVariable'\nimport {\n DebugProp,\n GenericVariantDefinitions,\n PropMapper,\n SplitStyleState,\n StaticConfigParsed,\n TamaguiInternalConfig,\n VariantSpreadFunction,\n} from '../types'\nimport { LanguageContextType } from '../views/FontLanguage.types'\nimport { expandStyle } from './expandStyle'\nimport { expandStyles } from './expandStyles'\nimport { getFontsForLanguage, getVariantExtras } from './getVariantExtras'\nimport { isObj } from './isObj'\nimport { mergeProps } from './mergeProps'\n\nexport type ResolveVariableTypes =\n | 'auto'\n | 'value'\n | 'variable'\n | 'both'\n | 'non-color-value'\n\nexport const getReturnVariablesAs = (props: any, state: Partial<SplitStyleState>) => {\n return !!props.animation || state.resolveVariablesAs === 'value'\n ? isWeb\n ? 'non-color-value'\n : 'value'\n : 'auto'\n}\n\nexport const createPropMapper = (staticConfig: StaticConfigParsed) => {\n const variants = staticConfig.variants || {}\n\n // temp remove classnames\n const defaultProps = mergeProps(staticConfig.defaultProps || {}, {}, false)[0]\n\n let conf: TamaguiInternalConfig\n\n const mapper: PropMapper = (\n key,\n value,\n theme,\n propsIn,\n state,\n languageContext,\n avoidDefaultProps = false,\n debug\n ) => {\n conf ||= getConfig()\n\n const props = state.fallbackProps || propsIn\n const returnVariablesAs = getReturnVariablesAs(props, state)\n\n // handled here because we need to resolve this off tokens, its the only one-off like this\n const fontFamily =\n props[conf.inverseShorthands.fontFamily] ||\n props.fontFamily ||\n defaultProps.fontFamily ||\n propsIn.fontFamily ||\n '$body'\n\n const variantValue = resolveVariants(\n key,\n value,\n props,\n defaultProps,\n theme,\n variants,\n fontFamily,\n conf,\n returnVariablesAs,\n staticConfig,\n '',\n languageContext,\n avoidDefaultProps,\n debug\n )\n\n if (variantValue) {\n return variantValue\n }\n\n let shouldReturn = value !== undefined && value !== null\n\n // handle shorthands\n if (key in conf.shorthands) {\n shouldReturn = true\n key = conf.shorthands[key]\n }\n\n if (value) {\n if (value[0] === '$') {\n value = getToken(\n key,\n value,\n conf,\n theme,\n fontFamily,\n languageContext,\n returnVariablesAs,\n debug\n )\n } else if (isVariable(value)) {\n value = resolveVariableValue(key, value, returnVariablesAs)\n }\n }\n\n if (shouldReturn) {\n return expandStyle(key, value) || [[key, value]]\n }\n }\n\n return mapper\n}\n\ntype StyleResolver = (\n key: string,\n value: any,\n props: Record<string, any>,\n defaultProps: any,\n theme: any,\n variants: GenericVariantDefinitions,\n fontFamily: string,\n conf: TamaguiInternalConfig,\n returnVariablesAs: 'auto' | 'value' | 'non-color-value',\n staticConfig: StaticConfigParsed,\n parentVariantKey: string,\n languageContext?: LanguageContextType,\n avoidDefaultProps?: boolean,\n debug?: DebugProp\n) => any\n\nconst resolveVariants: StyleResolver = (\n key,\n value,\n props,\n defaultProps,\n theme,\n variants,\n fontFamily,\n conf,\n returnVariablesAs,\n staticConfig,\n parentVariantKey,\n languageContext,\n avoidDefaultProps = false,\n debug\n) => {\n const variant = variants?.[key]\n if (!variant || value === undefined) {\n return\n }\n\n let variantValue = getVariantDefinition(variant, key, value, conf)\n\n if (!variantValue) {\n // variant at key exists, but no matching variant value, return nothing\n if (process.env.NODE_ENV === 'development') {\n if (staticConfig.validStyles?.[key]) {\n return null\n }\n if (value === false) {\n // don't warn on missing false values, common to only use true\n return null\n }\n const name = staticConfig.componentName || '[UnnamedComponent]'\n // eslint-disable-next-line no-console\n console.warn(\n `No variant found: ${name} has variant \"${key}\", but no matching value \"${value}\"`\n )\n }\n return\n }\n\n if (typeof variantValue === 'function') {\n const fn = variantValue as VariantSpreadFunction<any>\n variantValue = fn(\n value,\n getVariantExtras(props, languageContext, theme, defaultProps, avoidDefaultProps)\n )\n }\n\n let fontFamilyResult: any\n\n if (isObj(variantValue)) {\n const fontFamilyUpdate =\n variantValue.fontFamily || variantValue[conf.inverseShorthands.fontFamily]\n\n if (fontFamilyUpdate) {\n fontFamilyResult = getFontFamilyFromNameOrVariable(fontFamilyUpdate, conf)\n }\n\n variantValue = resolveTokensAndVariants(\n key,\n variantValue,\n props,\n defaultProps,\n theme,\n variants,\n fontFamilyResult || fontFamily,\n conf,\n returnVariablesAs,\n staticConfig,\n parentVariantKey,\n languageContext,\n avoidDefaultProps,\n debug\n )\n }\n\n if (variantValue) {\n const next = Object.entries(expandStyles(variantValue))\n\n // store any changed font family (only support variables for now)\n if (fontFamilyResult && fontFamilyResult[0] === '$') {\n fontFamilyCache.set(next, getVariableValue(fontFamilyResult))\n }\n\n return next\n }\n}\n\n// handles finding and resolving the fontFamily to the token name\n// this is used as `font_[name]` in className for nice css variable support\nexport function getFontFamilyFromNameOrVariable(input: any, conf: TamaguiInternalConfig) {\n if (isVariable(input)) {\n const val = variableToFontNameCache.get(input)\n if (val) {\n return val\n } else {\n for (const key in conf.fontsParsed) {\n const familyVariable = conf.fontsParsed[key].family\n if (isVariable(familyVariable)) {\n variableToFontNameCache.set(familyVariable, key)\n if (familyVariable === input) {\n return key\n }\n }\n }\n }\n } else if (typeof input === 'string') {\n if (input?.[0] === '$') {\n return input\n } else {\n // this could be mapped back to\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.log('[tamagui] should map back', input)\n }\n }\n }\n}\n\nconst variableToFontNameCache = new WeakMap<Variable, string>()\n\n// special helper for special font family\nconst fontFamilyCache = new WeakMap()\nexport const getPropMappedFontFamily = (expanded?: any) => {\n return expanded && fontFamilyCache.get(expanded)\n}\n\nconst resolveTokensAndVariants: StyleResolver = (\n key, // we dont use key assume value is object instead\n value,\n props,\n defaultProps,\n theme,\n variants,\n fontFamily,\n conf,\n returnVariablesAs,\n staticConfig,\n parentVariantKey,\n languageContext,\n avoidDefaultProps,\n debug\n) => {\n const res = {}\n for (const rKey in value) {\n const fKey = conf.shorthands[rKey] || rKey\n const val = value[rKey]\n\n if (isVariable(val)) {\n res[fKey] = !isWeb || returnVariablesAs === 'value' ? val.val : val.variable\n } else if (variants[fKey]) {\n // avoids infinite loop if variant is matching a style prop\n // eg: { variants: { flex: { true: { flex: 2 } } } }\n if (parentVariantKey === key) {\n res[fKey] = val\n } else {\n Object.assign(\n res,\n Object.fromEntries(\n resolveVariants(\n fKey,\n val,\n props,\n defaultProps,\n theme,\n variants,\n fontFamily,\n conf,\n returnVariablesAs,\n staticConfig,\n key,\n languageContext,\n avoidDefaultProps,\n debug\n )\n )\n )\n }\n } else if (typeof val === 'string') {\n const fVal =\n val[0] === '$'\n ? getToken(\n fKey,\n val,\n conf,\n theme,\n fontFamily,\n languageContext,\n returnVariablesAs,\n debug\n )\n : val\n res[fKey] = fVal\n } else {\n if (isObj(val)) {\n // sub-objects: media queries, pseudos, shadowOffset\n res[fKey] = resolveTokensAndVariants(\n fKey,\n val,\n props,\n defaultProps,\n theme,\n variants,\n fontFamily,\n conf,\n returnVariablesAs,\n staticConfig,\n key,\n languageContext,\n avoidDefaultProps,\n debug\n )\n } else {\n // nullish values cant be tokens, need no extra parsing\n res[fKey] = val\n }\n }\n if (process.env.NODE_ENV === 'development') {\n if (debug) {\n if (res[fKey]?.[0] === '$') {\n // eslint-disable-next-line no-console\n console.warn(`\u26A0\uFE0F Missing token in theme ${theme.name}:`, fKey, res[fKey], theme)\n }\n }\n }\n }\n\n return res\n}\n\nconst tokenCats = ['size', 'color', 'radius', 'space', 'zIndex'].map((name) => ({\n name,\n spreadName: `...${name}`,\n}))\n\n// goes through specificity finding best matching variant function\nfunction getVariantDefinition(\n variant: any,\n key: string,\n value: any,\n conf: TamaguiInternalConfig\n) {\n if (typeof variant === 'function') {\n return variant\n }\n if (variant[value]) {\n return variant[value]\n }\n const { tokensParsed } = conf\n for (const { name, spreadName } of tokenCats) {\n if (variant[spreadName] && value in tokensParsed[name]) {\n return variant[spreadName]\n }\n }\n let fn: any\n const type = typeof value\n if (type === 'number') {\n fn = variant[':number']\n } else if (type === 'string') {\n fn = variant[':string']\n } else if (value === true || value === false) {\n fn = variant[':boolean']\n }\n // fallback to catch all or size\n return fn || variant['...'] || variant['...size']\n}\n\nconst fontShorthand = {\n fontSize: 'size',\n fontWeight: 'weight',\n}\n\nconst getToken = (\n key: string,\n value: string,\n conf: TamaguiInternalConfig,\n theme: any,\n fontFamily: string | undefined = '$body',\n languageContext?: LanguageContextType,\n resolveAs?: ResolveVariableTypes,\n debug?: DebugProp\n) => {\n const tokensParsed = conf.tokensParsed\n const fontsParsed = languageContext\n ? getFontsForLanguage(conf.fontsParsed, languageContext)\n : conf.fontsParsed\n let valOrVar: any\n let hasSet = false\n if (value in theme) {\n valOrVar = theme[value]\n hasSet = true\n } else {\n switch (key) {\n case 'fontFamily':\n valOrVar = fontsParsed[value]?.family || value\n hasSet = true\n break\n case 'fontSize':\n case 'lineHeight':\n case 'letterSpacing':\n case 'fontWeight':\n valOrVar = fontsParsed[fontFamily]?.[fontShorthand[key] || key]?.[value] || value\n hasSet = true\n break\n }\n for (const cat in tokenCategories) {\n if (key in tokenCategories[cat]) {\n const res = tokensParsed[cat][value]\n if (res) {\n valOrVar = res\n hasSet = true\n }\n }\n }\n if (!hasSet) {\n const spaceVar = tokensParsed.space[value]\n if (spaceVar) {\n valOrVar = spaceVar\n hasSet = true\n }\n }\n }\n\n if (process.env.NODE_ENV === 'development' && isDevTools && debug === 'verbose') {\n // eslint-disable-next-line no-console\n console.log(' \uFE52 propMapper getToken', { key, valOrVar, theme, hasSet })\n }\n\n if (hasSet) {\n return resolveVariableValue(key, valOrVar, resolveAs)\n }\n\n if (process.env.NODE_ENV === 'development') {\n if (value && value[0] === '$') {\n // eslint-disable-next-line no-console\n console.warn(\n `\u26A0\uFE0F You passed the value \"${value}\" to the style property \"${key}\", but there's no theme or token with the key \"${value}\". Using theme \"${theme.name}\".\n\nSet the debug prop to true to see more detailed debug information.`\n )\n if (debug) {\n if (isDevTools) {\n // eslint-disable-next-line no-console\n console.log('Looked in:', { theme, tokensParsed, fontsParsed })\n }\n }\n return null\n }\n }\n return value\n}\n\nfunction resolveVariableValue(\n key: string,\n valOrVar: Variable | any,\n resolveAs: ResolveVariableTypes = 'auto'\n) {\n if (isVariable(valOrVar)) {\n if (resolveAs === 'variable') {\n return valOrVar\n }\n if (resolveAs === 'non-color-value') {\n if (isWeb) {\n if (key in tokenCategories.color) {\n return valOrVar.variable\n }\n }\n return valOrVar.val\n }\n if (!isWeb || resolveAs === 'value') {\n return valOrVar.val\n }\n return valOrVar.variable\n }\n return valOrVar\n}\n\n// just specificy the least costly, all else go to `space` (most keys - we can exclude)\nconst tokenCategories = {\n radius: {\n borderRadius: true,\n borderTopLeftRadius: true,\n borderTopRightRadius: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n },\n size: {\n width: true,\n height: true,\n minWidth: true,\n minHeight: true,\n maxWidth: true,\n maxHeight: 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"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var createProxy_exports = {};
20
+ __export(createProxy_exports, {
21
+ createProxy: () => createProxy
22
+ });
23
+ module.exports = __toCommonJS(createProxy_exports);
24
+ function createProxy(target, handler) {
25
+ if (process.env.NODE_ENV === "development") {
26
+ if (typeof target !== "object" || !target) {
27
+ console.warn(
28
+ "Invalid object given for proxy:",
29
+ target,
30
+ `
31
+
32
+ This can be due to a missing theme or configuration given to Tamagui.`,
33
+ new Error().stack
34
+ );
35
+ }
36
+ }
37
+ return new Proxy(target || {}, handler);
38
+ }
39
+ // Annotate the CommonJS export names for ESM import in node:
40
+ 0 && (module.exports = {
41
+ createProxy
42
+ });
43
+ //# sourceMappingURL=createProxy.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/createProxy.ts"],
4
+ "sourcesContent": ["export function createProxy<A extends object>(target: A, handler: ProxyHandler<A>) {\n if (process.env.NODE_ENV === 'development') {\n if (typeof target !== 'object' || !target) {\n // eslint-disable-next-line no-console\n console.warn(\n 'Invalid object given for proxy:',\n target,\n `\n \n This can be due to a missing theme or configuration given to Tamagui.`,\n new Error().stack\n )\n }\n }\n return new Proxy(target || {}, handler)\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAAS,YAA8B,QAAW,SAA0B;AACjF,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,OAAO,WAAW,YAAY,CAAC,QAAQ;AAEzC,cAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA;AAAA;AAAA,QAGA,IAAI,MAAM,EAAE;AAAA,MACd;AAAA,IACF;AAAA,EACF;AACA,SAAO,IAAI,MAAM,UAAU,CAAC,GAAG,OAAO;AACxC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all2) => {
7
+ for (var name in all2)
8
+ __defProp(target, name, { get: all2[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var expandStyle_exports = {};
20
+ __export(expandStyle_exports, {
21
+ expandStyle: () => expandStyle
22
+ });
23
+ module.exports = __toCommonJS(expandStyle_exports);
24
+ var import_constants = require("@tamagui/constants");
25
+ var _a;
26
+ function expandStyle(key, value) {
27
+ if (process.env.TAMAGUI_TARGET === "web") {
28
+ if (key === "flex") {
29
+ if (value <= -1) {
30
+ return [
31
+ ["flexGrow", 0],
32
+ ["flexShrink", 1],
33
+ ["flexBasis", "auto"]
34
+ ];
35
+ }
36
+ if (value >= 0) {
37
+ return [
38
+ ["flexGrow", value],
39
+ ["flexShrink", 1]
40
+ ];
41
+ }
42
+ return;
43
+ }
44
+ switch (key) {
45
+ case "textAlignVertical": {
46
+ return [["verticalAlign", value === "center" ? "middle" : value]];
47
+ }
48
+ case "writingDirection": {
49
+ return [["direction", value]];
50
+ }
51
+ }
52
+ }
53
+ const longKey = EXPANSIONS[key];
54
+ if (longKey) {
55
+ return longKey.map((key2) => {
56
+ return [key2, value];
57
+ });
58
+ }
59
+ }
60
+ const all = ["Top", "Right", "Bottom", "Left"];
61
+ const horiz = ["Right", "Left"];
62
+ const vert = ["Top", "Bottom"];
63
+ const xy = ["X", "Y"];
64
+ const EXPANSIONS = {
65
+ borderColor: ["TopColor", "RightColor", "BottomColor", "LeftColor"],
66
+ borderRadius: [
67
+ "TopLeftRadius",
68
+ "TopRightRadius",
69
+ "BottomRightRadius",
70
+ "BottomLeftRadius"
71
+ ],
72
+ borderWidth: ["TopWidth", "RightWidth", "BottomWidth", "LeftWidth"],
73
+ margin: all,
74
+ marginHorizontal: horiz,
75
+ marginVertical: vert,
76
+ overscrollBehavior: xy,
77
+ padding: all,
78
+ paddingHorizontal: horiz,
79
+ paddingVertical: vert,
80
+ ...import_constants.isWeb && {
81
+ // react-native only supports borderStyle
82
+ borderStyle: ["TopStyle", "RightStyle", "BottomStyle", "LeftStyle"],
83
+ // react-native doesn't support X / Y
84
+ overflow: xy
85
+ }
86
+ };
87
+ for (const parent in EXPANSIONS) {
88
+ const prefix = parent.slice(0, ((_a = /[A-Z]/.exec(parent)) == null ? void 0 : _a.index) ?? parent.length);
89
+ EXPANSIONS[parent] = EXPANSIONS[parent].map((k) => `${prefix}${k}`);
90
+ }
91
+ // Annotate the CommonJS export names for ESM import in node:
92
+ 0 && (module.exports = {
93
+ expandStyle
94
+ });
95
+ //# sourceMappingURL=expandStyle.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/expandStyle.ts"],
4
+ "sourcesContent": ["/**\n * Some parts adapted from react-native-web\n * Copyright (c) Nicolas Gallagher licensed under the MIT license.\n */\n\nimport { isWeb } from '@tamagui/constants'\n\nexport function expandStyle(key: string, value: any) {\n if (process.env.TAMAGUI_TARGET === 'web') {\n if (key === 'flex') {\n // The 'flex' property value in React Native must be a positive integer,\n // 0, or -1.\n if (value <= -1) {\n return [\n ['flexGrow', 0],\n ['flexShrink', 1],\n ['flexBasis', 'auto'],\n ]\n }\n // normalizing to better align with native\n // see spec for flex shorthand https://developer.mozilla.org/en-US/docs/Web/CSS/flex\n if (value >= 0) {\n return [\n ['flexGrow', value],\n ['flexShrink', 1],\n ]\n }\n return\n }\n\n // web only\n switch (key) {\n case 'textAlignVertical': {\n return [['verticalAlign', value === 'center' ? 'middle' : value]]\n }\n case 'writingDirection': {\n return [['direction', value]]\n }\n }\n }\n\n const longKey = EXPANSIONS[key]\n if (longKey) {\n return longKey.map((key) => {\n return [key, value]\n })\n }\n}\n\nconst all = ['Top', 'Right', 'Bottom', 'Left']\nconst horiz = ['Right', 'Left']\nconst vert = ['Top', 'Bottom']\nconst xy = ['X', 'Y']\n\nconst EXPANSIONS: Record<string, string[]> = {\n borderColor: ['TopColor', 'RightColor', 'BottomColor', 'LeftColor'],\n borderRadius: [\n 'TopLeftRadius',\n 'TopRightRadius',\n 'BottomRightRadius',\n 'BottomLeftRadius',\n ],\n borderWidth: ['TopWidth', 'RightWidth', 'BottomWidth', 'LeftWidth'],\n margin: all,\n marginHorizontal: horiz,\n marginVertical: vert,\n overscrollBehavior: xy,\n padding: all,\n paddingHorizontal: horiz,\n paddingVertical: vert,\n ...(isWeb && {\n // react-native only supports borderStyle\n borderStyle: ['TopStyle', 'RightStyle', 'BottomStyle', 'LeftStyle'],\n // react-native doesn't support X / Y\n overflow: xy,\n }),\n}\n\nfor (const parent in EXPANSIONS) {\n const prefix = parent.slice(0, /[A-Z]/.exec(parent)?.index ?? parent.length)\n EXPANSIONS[parent] = EXPANSIONS[parent].map((k) => `${prefix}${k}`)\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,uBAAsB;AALtB;AAOO,SAAS,YAAY,KAAa,OAAY;AACnD,MAAI,QAAQ,IAAI,mBAAmB,OAAO;AACxC,QAAI,QAAQ,QAAQ;AAGlB,UAAI,SAAS,IAAI;AACf,eAAO;AAAA,UACL,CAAC,YAAY,CAAC;AAAA,UACd,CAAC,cAAc,CAAC;AAAA,UAChB,CAAC,aAAa,MAAM;AAAA,QACtB;AAAA,MACF;AAGA,UAAI,SAAS,GAAG;AACd,eAAO;AAAA,UACL,CAAC,YAAY,KAAK;AAAA,UAClB,CAAC,cAAc,CAAC;AAAA,QAClB;AAAA,MACF;AACA;AAAA,IACF;AAGA,YAAQ,KAAK;AAAA,MACX,KAAK,qBAAqB;AACxB,eAAO,CAAC,CAAC,iBAAiB,UAAU,WAAW,WAAW,KAAK,CAAC;AAAA,MAClE;AAAA,MACA,KAAK,oBAAoB;AACvB,eAAO,CAAC,CAAC,aAAa,KAAK,CAAC;AAAA,MAC9B;AAAA,IACF;AAAA,EACF;AAEA,QAAM,UAAU,WAAW,GAAG;AAC9B,MAAI,SAAS;AACX,WAAO,QAAQ,IAAI,CAACA,SAAQ;AAC1B,aAAO,CAACA,MAAK,KAAK;AAAA,IACpB,CAAC;AAAA,EACH;AACF;AAEA,MAAM,MAAM,CAAC,OAAO,SAAS,UAAU,MAAM;AAC7C,MAAM,QAAQ,CAAC,SAAS,MAAM;AAC9B,MAAM,OAAO,CAAC,OAAO,QAAQ;AAC7B,MAAM,KAAK,CAAC,KAAK,GAAG;AAEpB,MAAM,aAAuC;AAAA,EAC3C,aAAa,CAAC,YAAY,cAAc,eAAe,WAAW;AAAA,EAClE,cAAc;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,aAAa,CAAC,YAAY,cAAc,eAAe,WAAW;AAAA,EAClE,QAAQ;AAAA,EACR,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,SAAS;AAAA,EACT,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,GAAI,0BAAS;AAAA;AAAA,IAEX,aAAa,CAAC,YAAY,cAAc,eAAe,WAAW;AAAA;AAAA,IAElE,UAAU;AAAA,EACZ;AACF;AAEA,WAAW,UAAU,YAAY;AAC/B,QAAM,SAAS,OAAO,MAAM,KAAG,aAAQ,KAAK,MAAM,MAAnB,mBAAsB,UAAS,OAAO,MAAM;AAC3E,aAAW,MAAM,IAAI,WAAW,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,SAAS,GAAG;AACpE;",
6
+ "names": ["key"]
7
+ }