@tamagui/core 1.12.1 → 1.13.0

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 (493) 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/createFont.web.test.js +125 -0
  22. package/dist/cjs/createFont.web.test.js.map +7 -0
  23. package/dist/cjs/createShorthands.js +31 -0
  24. package/dist/cjs/createShorthands.js.map +7 -0
  25. package/dist/cjs/createTamagui.js +202 -0
  26. package/dist/cjs/createTamagui.js.map +7 -0
  27. package/dist/cjs/createTheme.js +31 -0
  28. package/dist/cjs/createTheme.js.map +7 -0
  29. package/dist/cjs/createTokens.js +39 -0
  30. package/dist/cjs/createTokens.js.map +7 -0
  31. package/dist/cjs/createTokens.web.test.js +28 -0
  32. package/dist/cjs/createTokens.web.test.js.map +7 -0
  33. package/dist/cjs/createVariable.js +111 -0
  34. package/dist/cjs/createVariable.js.map +7 -0
  35. package/dist/cjs/createVariable.web.test.js +7 -0
  36. package/dist/cjs/createVariable.web.test.js.map +7 -0
  37. package/dist/cjs/createVariables.js +60 -0
  38. package/dist/cjs/createVariables.js.map +7 -0
  39. package/dist/cjs/helpers/RNComponents.js +40 -0
  40. package/dist/cjs/helpers/RNComponents.js.map +7 -0
  41. package/dist/cjs/helpers/ThemeManager.js +234 -0
  42. package/dist/cjs/helpers/ThemeManager.js.map +7 -0
  43. package/dist/cjs/helpers/ThemeManager.test.js +465 -0
  44. package/dist/cjs/helpers/ThemeManager.test.js.map +7 -0
  45. package/dist/cjs/helpers/ThemeManagerContext.js +30 -0
  46. package/dist/cjs/helpers/ThemeManagerContext.js.map +7 -0
  47. package/dist/cjs/helpers/createMediaStyle.js +67 -0
  48. package/dist/cjs/helpers/createMediaStyle.js.map +7 -0
  49. package/dist/cjs/helpers/createPropMapper.js +411 -0
  50. package/dist/cjs/helpers/createPropMapper.js.map +7 -0
  51. package/dist/cjs/helpers/createProxy.js +43 -0
  52. package/dist/cjs/helpers/createProxy.js.map +7 -0
  53. package/dist/cjs/helpers/expandStyle.js +95 -0
  54. package/dist/cjs/helpers/expandStyle.js.map +7 -0
  55. package/dist/cjs/helpers/expandStyles.js +126 -0
  56. package/dist/cjs/helpers/expandStyles.js.map +7 -0
  57. package/dist/cjs/helpers/extendStaticConfig.js +91 -0
  58. package/dist/cjs/helpers/extendStaticConfig.js.map +7 -0
  59. package/dist/cjs/helpers/fixNativeShadow.js +30 -0
  60. package/dist/cjs/helpers/fixNativeShadow.js.map +7 -0
  61. package/dist/cjs/helpers/getAnimationDriver.js +32 -0
  62. package/dist/cjs/helpers/getAnimationDriver.js.map +7 -0
  63. package/dist/cjs/helpers/getExpandedShorthands.js +40 -0
  64. package/dist/cjs/helpers/getExpandedShorthands.js.map +7 -0
  65. package/dist/cjs/helpers/getFontLanguage.js +29 -0
  66. package/dist/cjs/helpers/getFontLanguage.js.map +7 -0
  67. package/dist/cjs/helpers/getSplitStyles.js +840 -0
  68. package/dist/cjs/helpers/getSplitStyles.js.map +7 -0
  69. package/dist/cjs/helpers/getStylesAtomic.js +226 -0
  70. package/dist/cjs/helpers/getStylesAtomic.js.map +7 -0
  71. package/dist/cjs/helpers/getStylesAtomic.native.js +35 -0
  72. package/dist/cjs/helpers/getStylesAtomic.native.js.map +7 -0
  73. package/dist/cjs/helpers/getThemeCSSRules.js +110 -0
  74. package/dist/cjs/helpers/getThemeCSSRules.js.map +7 -0
  75. package/dist/cjs/helpers/getThemeCSSRules.native.js +31 -0
  76. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +7 -0
  77. package/dist/cjs/helpers/getVariantExtras.js +92 -0
  78. package/dist/cjs/helpers/getVariantExtras.js.map +7 -0
  79. package/dist/cjs/helpers/insertStyleRule.js +218 -0
  80. package/dist/cjs/helpers/insertStyleRule.js.map +7 -0
  81. package/dist/cjs/helpers/isObj.js +29 -0
  82. package/dist/cjs/helpers/isObj.js.map +7 -0
  83. package/dist/cjs/helpers/isTamaguiComponent.js +32 -0
  84. package/dist/cjs/helpers/isTamaguiComponent.js.map +7 -0
  85. package/dist/cjs/helpers/isTamaguiElement.js +33 -0
  86. package/dist/cjs/helpers/isTamaguiElement.js.map +7 -0
  87. package/dist/cjs/helpers/matchMedia.js +42 -0
  88. package/dist/cjs/helpers/matchMedia.js.map +7 -0
  89. package/dist/cjs/helpers/matchMedia.native.js +48 -0
  90. package/dist/cjs/helpers/matchMedia.native.js.map +7 -0
  91. package/dist/cjs/helpers/mergeProps.js +54 -0
  92. package/dist/cjs/helpers/mergeProps.js.map +7 -0
  93. package/dist/cjs/helpers/mergeTransform.js +47 -0
  94. package/dist/cjs/helpers/mergeTransform.js.map +7 -0
  95. package/dist/cjs/helpers/normalizeColor.js +71 -0
  96. package/dist/cjs/helpers/normalizeColor.js.map +7 -0
  97. package/dist/cjs/helpers/normalizeValueWithProperty.js +138 -0
  98. package/dist/cjs/helpers/normalizeValueWithProperty.js.map +7 -0
  99. package/dist/cjs/helpers/proxyThemeVariables.js +40 -0
  100. package/dist/cjs/helpers/proxyThemeVariables.js.map +7 -0
  101. package/dist/cjs/helpers/pseudoDescriptors.js +53 -0
  102. package/dist/cjs/helpers/pseudoDescriptors.js.map +7 -0
  103. package/dist/cjs/helpers/registerCSSVariable.js +40 -0
  104. package/dist/cjs/helpers/registerCSSVariable.js.map +7 -0
  105. package/dist/cjs/helpers/themeable.js +62 -0
  106. package/dist/cjs/helpers/themeable.js.map +7 -0
  107. package/dist/cjs/helpers/themes.js +78 -0
  108. package/dist/cjs/helpers/themes.js.map +7 -0
  109. package/dist/cjs/helpers/timer.js +35 -0
  110. package/dist/cjs/helpers/timer.js.map +7 -0
  111. package/dist/cjs/helpers/useShallowSetState.js +58 -0
  112. package/dist/cjs/helpers/useShallowSetState.js.map +7 -0
  113. package/dist/cjs/helpers/withStaticProperties.js +32 -0
  114. package/dist/cjs/helpers/withStaticProperties.js.map +7 -0
  115. package/dist/cjs/hooks/getThemeUnwrapped.js +34 -0
  116. package/dist/cjs/hooks/getThemeUnwrapped.js.map +7 -0
  117. package/dist/cjs/hooks/useId.js +29 -0
  118. package/dist/cjs/hooks/useId.js.map +7 -0
  119. package/dist/cjs/hooks/useIsTouchDevice.js +33 -0
  120. package/dist/cjs/hooks/useIsTouchDevice.js.map +7 -0
  121. package/dist/cjs/hooks/useMedia.js +262 -0
  122. package/dist/cjs/hooks/useMedia.js.map +7 -0
  123. package/dist/cjs/hooks/useSafeRef.js +59 -0
  124. package/dist/cjs/hooks/useSafeRef.js.map +7 -0
  125. package/dist/cjs/hooks/useServerHooks.js +36 -0
  126. package/dist/cjs/hooks/useServerHooks.js.map +7 -0
  127. package/dist/cjs/hooks/useTheme.js +234 -0
  128. package/dist/cjs/hooks/useTheme.js.map +7 -0
  129. package/dist/cjs/hooks/useThemeName.js +52 -0
  130. package/dist/cjs/hooks/useThemeName.js.map +7 -0
  131. package/dist/cjs/insertFont.js +93 -0
  132. package/dist/cjs/insertFont.js.map +7 -0
  133. package/dist/cjs/setupReactNative.js +50 -0
  134. package/dist/cjs/setupReactNative.js.map +7 -0
  135. package/dist/cjs/static.js +20 -0
  136. package/dist/cjs/static.js.map +7 -0
  137. package/dist/cjs/styled.js +95 -0
  138. package/dist/cjs/styled.js.map +7 -0
  139. package/dist/cjs/types-rnw.js +17 -0
  140. package/dist/cjs/types-rnw.js.map +7 -0
  141. package/dist/cjs/types.js +17 -0
  142. package/dist/cjs/types.js.map +7 -0
  143. package/dist/cjs/updateTheme.js +47 -0
  144. package/dist/cjs/updateTheme.js.map +7 -0
  145. package/dist/cjs/views/FontLanguage.js +41 -0
  146. package/dist/cjs/views/FontLanguage.js.map +7 -0
  147. package/dist/cjs/views/FontLanguage.native.js +35 -0
  148. package/dist/cjs/views/FontLanguage.native.js.map +7 -0
  149. package/dist/cjs/views/FontLanguage.types.js +17 -0
  150. package/dist/cjs/views/FontLanguage.types.js.map +7 -0
  151. package/dist/cjs/views/Slot.js +92 -0
  152. package/dist/cjs/views/Slot.js.map +7 -0
  153. package/dist/cjs/views/Stack.js +38 -0
  154. package/dist/cjs/views/Stack.js.map +7 -0
  155. package/dist/cjs/views/Stack.web.test.js +22 -0
  156. package/dist/cjs/views/Stack.web.test.js.map +7 -0
  157. package/dist/cjs/views/TamaguiProvider.js +90 -0
  158. package/dist/cjs/views/TamaguiProvider.js.map +7 -0
  159. package/dist/cjs/views/Text.js +94 -0
  160. package/dist/cjs/views/Text.js.map +7 -0
  161. package/dist/cjs/views/Theme.js +88 -0
  162. package/dist/cjs/views/Theme.js.map +7 -0
  163. package/dist/cjs/views/ThemeProvider.js +70 -0
  164. package/dist/cjs/views/ThemeProvider.js.map +7 -0
  165. package/dist/esm/Tamagui.js +41 -0
  166. package/dist/esm/Tamagui.js.map +7 -0
  167. package/dist/esm/Tamagui.mjs +41 -0
  168. package/dist/esm/Tamagui.mjs.map +7 -0
  169. package/dist/esm/addTheme.js +54 -0
  170. package/dist/esm/addTheme.js.map +7 -0
  171. package/dist/esm/addTheme.mjs +54 -0
  172. package/dist/esm/addTheme.mjs.map +7 -0
  173. package/dist/esm/config.js +58 -0
  174. package/dist/esm/config.js.map +7 -0
  175. package/dist/esm/config.mjs +58 -0
  176. package/dist/esm/config.mjs.map +7 -0
  177. package/dist/esm/constants/constants.js +22 -0
  178. package/dist/esm/constants/constants.js.map +7 -0
  179. package/dist/esm/constants/constants.mjs +22 -0
  180. package/dist/esm/constants/constants.mjs.map +7 -0
  181. package/dist/esm/constants/isDevTools.js +13 -0
  182. package/dist/esm/constants/isDevTools.js.map +7 -0
  183. package/dist/esm/constants/isDevTools.mjs +13 -0
  184. package/dist/esm/constants/isDevTools.mjs.map +7 -0
  185. package/dist/esm/contexts/ButtonNestingContext.js +6 -0
  186. package/dist/esm/contexts/ButtonNestingContext.js.map +7 -0
  187. package/dist/esm/contexts/ButtonNestingContext.mjs +6 -0
  188. package/dist/esm/contexts/ButtonNestingContext.mjs.map +7 -0
  189. package/dist/esm/contexts/FontLanguageContext.js +6 -0
  190. package/dist/esm/contexts/FontLanguageContext.js.map +7 -0
  191. package/dist/esm/contexts/FontLanguageContext.mjs +6 -0
  192. package/dist/esm/contexts/FontLanguageContext.mjs.map +7 -0
  193. package/dist/esm/contexts/TextAncestorContext.js +6 -0
  194. package/dist/esm/contexts/TextAncestorContext.js.map +7 -0
  195. package/dist/esm/contexts/TextAncestorContext.mjs +6 -0
  196. package/dist/esm/contexts/TextAncestorContext.mjs.map +7 -0
  197. package/dist/esm/createComponent.js +973 -0
  198. package/dist/esm/createComponent.js.map +7 -0
  199. package/dist/esm/createComponent.mjs +973 -0
  200. package/dist/esm/createComponent.mjs.map +7 -0
  201. package/dist/esm/createFont.js +45 -0
  202. package/dist/esm/createFont.js.map +7 -0
  203. package/dist/esm/createFont.mjs +45 -0
  204. package/dist/esm/createFont.mjs.map +7 -0
  205. package/dist/esm/createFont.web.test.js +124 -0
  206. package/dist/esm/createFont.web.test.js.map +7 -0
  207. package/dist/esm/createFont.web.test.mjs +124 -0
  208. package/dist/esm/createFont.web.test.mjs.map +7 -0
  209. package/dist/esm/createShorthands.js +7 -0
  210. package/dist/esm/createShorthands.js.map +7 -0
  211. package/dist/esm/createShorthands.mjs +7 -0
  212. package/dist/esm/createShorthands.mjs.map +7 -0
  213. package/dist/esm/createTamagui.js +186 -0
  214. package/dist/esm/createTamagui.js.map +7 -0
  215. package/dist/esm/createTamagui.mjs +186 -0
  216. package/dist/esm/createTamagui.mjs.map +7 -0
  217. package/dist/esm/createTheme.js +7 -0
  218. package/dist/esm/createTheme.js.map +7 -0
  219. package/dist/esm/createTheme.mjs +7 -0
  220. package/dist/esm/createTheme.mjs.map +7 -0
  221. package/dist/esm/createTokens.js +15 -0
  222. package/dist/esm/createTokens.js.map +7 -0
  223. package/dist/esm/createTokens.mjs +15 -0
  224. package/dist/esm/createTokens.mjs.map +7 -0
  225. package/dist/esm/createTokens.web.test.js +27 -0
  226. package/dist/esm/createTokens.web.test.js.map +7 -0
  227. package/dist/esm/createTokens.web.test.mjs +27 -0
  228. package/dist/esm/createTokens.web.test.mjs.map +7 -0
  229. package/dist/esm/createVariable.js +78 -0
  230. package/dist/esm/createVariable.js.map +7 -0
  231. package/dist/esm/createVariable.mjs +78 -0
  232. package/dist/esm/createVariable.mjs.map +7 -0
  233. package/dist/esm/createVariable.web.test.js +6 -0
  234. package/dist/esm/createVariable.web.test.js.map +7 -0
  235. package/dist/esm/createVariable.web.test.mjs +6 -0
  236. package/dist/esm/createVariable.web.test.mjs.map +7 -0
  237. package/dist/esm/createVariables.js +35 -0
  238. package/dist/esm/createVariables.js.map +7 -0
  239. package/dist/esm/createVariables.mjs +35 -0
  240. package/dist/esm/createVariables.mjs.map +7 -0
  241. package/dist/esm/helpers/RNComponents.js +16 -0
  242. package/dist/esm/helpers/RNComponents.js.map +7 -0
  243. package/dist/esm/helpers/RNComponents.mjs +16 -0
  244. package/dist/esm/helpers/RNComponents.mjs.map +7 -0
  245. package/dist/esm/helpers/ThemeManager.js +209 -0
  246. package/dist/esm/helpers/ThemeManager.js.map +7 -0
  247. package/dist/esm/helpers/ThemeManager.mjs +209 -0
  248. package/dist/esm/helpers/ThemeManager.mjs.map +7 -0
  249. package/dist/esm/helpers/ThemeManager.test.js +464 -0
  250. package/dist/esm/helpers/ThemeManager.test.js.map +7 -0
  251. package/dist/esm/helpers/ThemeManager.test.mjs +464 -0
  252. package/dist/esm/helpers/ThemeManager.test.mjs.map +7 -0
  253. package/dist/esm/helpers/ThemeManagerContext.js +6 -0
  254. package/dist/esm/helpers/ThemeManagerContext.js.map +7 -0
  255. package/dist/esm/helpers/ThemeManagerContext.mjs +6 -0
  256. package/dist/esm/helpers/ThemeManagerContext.mjs.map +7 -0
  257. package/dist/esm/helpers/createMediaStyle.js +42 -0
  258. package/dist/esm/helpers/createMediaStyle.js.map +7 -0
  259. package/dist/esm/helpers/createMediaStyle.mjs +42 -0
  260. package/dist/esm/helpers/createMediaStyle.mjs.map +7 -0
  261. package/dist/esm/helpers/createPropMapper.js +384 -0
  262. package/dist/esm/helpers/createPropMapper.js.map +7 -0
  263. package/dist/esm/helpers/createPropMapper.mjs +384 -0
  264. package/dist/esm/helpers/createPropMapper.mjs.map +7 -0
  265. package/dist/esm/helpers/createProxy.js +19 -0
  266. package/dist/esm/helpers/createProxy.js.map +7 -0
  267. package/dist/esm/helpers/createProxy.mjs +19 -0
  268. package/dist/esm/helpers/createProxy.mjs.map +7 -0
  269. package/dist/esm/helpers/expandStyle.js +71 -0
  270. package/dist/esm/helpers/expandStyle.js.map +7 -0
  271. package/dist/esm/helpers/expandStyle.mjs +71 -0
  272. package/dist/esm/helpers/expandStyle.mjs.map +7 -0
  273. package/dist/esm/helpers/expandStyles.js +90 -0
  274. package/dist/esm/helpers/expandStyles.js.map +7 -0
  275. package/dist/esm/helpers/expandStyles.mjs +90 -0
  276. package/dist/esm/helpers/expandStyles.mjs.map +7 -0
  277. package/dist/esm/helpers/extendStaticConfig.js +66 -0
  278. package/dist/esm/helpers/extendStaticConfig.js.map +7 -0
  279. package/dist/esm/helpers/extendStaticConfig.mjs +66 -0
  280. package/dist/esm/helpers/extendStaticConfig.mjs.map +7 -0
  281. package/dist/esm/helpers/fixNativeShadow.js +6 -0
  282. package/dist/esm/helpers/fixNativeShadow.js.map +7 -0
  283. package/dist/esm/helpers/fixNativeShadow.mjs +6 -0
  284. package/dist/esm/helpers/fixNativeShadow.mjs.map +7 -0
  285. package/dist/esm/helpers/getAnimationDriver.js +8 -0
  286. package/dist/esm/helpers/getAnimationDriver.js.map +7 -0
  287. package/dist/esm/helpers/getAnimationDriver.mjs +8 -0
  288. package/dist/esm/helpers/getAnimationDriver.mjs.map +7 -0
  289. package/dist/esm/helpers/getExpandedShorthands.js +16 -0
  290. package/dist/esm/helpers/getExpandedShorthands.js.map +7 -0
  291. package/dist/esm/helpers/getExpandedShorthands.mjs +16 -0
  292. package/dist/esm/helpers/getExpandedShorthands.mjs.map +7 -0
  293. package/dist/esm/helpers/getFontLanguage.js +5 -0
  294. package/dist/esm/helpers/getFontLanguage.js.map +7 -0
  295. package/dist/esm/helpers/getFontLanguage.mjs +5 -0
  296. package/dist/esm/helpers/getFontLanguage.mjs.map +7 -0
  297. package/dist/esm/helpers/getSplitStyles.js +839 -0
  298. package/dist/esm/helpers/getSplitStyles.js.map +7 -0
  299. package/dist/esm/helpers/getSplitStyles.mjs +839 -0
  300. package/dist/esm/helpers/getSplitStyles.mjs.map +7 -0
  301. package/dist/esm/helpers/getStylesAtomic.js +200 -0
  302. package/dist/esm/helpers/getStylesAtomic.js.map +7 -0
  303. package/dist/esm/helpers/getStylesAtomic.mjs +200 -0
  304. package/dist/esm/helpers/getStylesAtomic.mjs.map +7 -0
  305. package/dist/esm/helpers/getStylesAtomic.native.js +10 -0
  306. package/dist/esm/helpers/getStylesAtomic.native.js.map +7 -0
  307. package/dist/esm/helpers/getStylesAtomic.native.mjs +10 -0
  308. package/dist/esm/helpers/getStylesAtomic.native.mjs.map +7 -0
  309. package/dist/esm/helpers/getThemeCSSRules.js +86 -0
  310. package/dist/esm/helpers/getThemeCSSRules.js.map +7 -0
  311. package/dist/esm/helpers/getThemeCSSRules.mjs +86 -0
  312. package/dist/esm/helpers/getThemeCSSRules.mjs.map +7 -0
  313. package/dist/esm/helpers/getThemeCSSRules.native.js +7 -0
  314. package/dist/esm/helpers/getThemeCSSRules.native.js.map +7 -0
  315. package/dist/esm/helpers/getThemeCSSRules.native.mjs +7 -0
  316. package/dist/esm/helpers/getThemeCSSRules.native.mjs.map +7 -0
  317. package/dist/esm/helpers/getVariantExtras.js +67 -0
  318. package/dist/esm/helpers/getVariantExtras.js.map +7 -0
  319. package/dist/esm/helpers/getVariantExtras.mjs +67 -0
  320. package/dist/esm/helpers/getVariantExtras.mjs.map +7 -0
  321. package/dist/esm/helpers/insertStyleRule.js +186 -0
  322. package/dist/esm/helpers/insertStyleRule.js.map +7 -0
  323. package/dist/esm/helpers/insertStyleRule.mjs +186 -0
  324. package/dist/esm/helpers/insertStyleRule.mjs.map +7 -0
  325. package/dist/esm/helpers/isObj.js +5 -0
  326. package/dist/esm/helpers/isObj.js.map +7 -0
  327. package/dist/esm/helpers/isObj.mjs +5 -0
  328. package/dist/esm/helpers/isObj.mjs.map +7 -0
  329. package/dist/esm/helpers/isTamaguiComponent.js +8 -0
  330. package/dist/esm/helpers/isTamaguiComponent.js.map +7 -0
  331. package/dist/esm/helpers/isTamaguiComponent.mjs +8 -0
  332. package/dist/esm/helpers/isTamaguiComponent.mjs.map +7 -0
  333. package/dist/esm/helpers/isTamaguiElement.js +9 -0
  334. package/dist/esm/helpers/isTamaguiElement.js.map +7 -0
  335. package/dist/esm/helpers/isTamaguiElement.mjs +9 -0
  336. package/dist/esm/helpers/isTamaguiElement.mjs.map +7 -0
  337. package/dist/esm/helpers/matchMedia.js +17 -0
  338. package/dist/esm/helpers/matchMedia.js.map +7 -0
  339. package/dist/esm/helpers/matchMedia.mjs +17 -0
  340. package/dist/esm/helpers/matchMedia.mjs.map +7 -0
  341. package/dist/esm/helpers/matchMedia.native.js +23 -0
  342. package/dist/esm/helpers/matchMedia.native.js.map +7 -0
  343. package/dist/esm/helpers/matchMedia.native.mjs +23 -0
  344. package/dist/esm/helpers/matchMedia.native.mjs.map +7 -0
  345. package/dist/esm/helpers/mergeProps.js +30 -0
  346. package/dist/esm/helpers/mergeProps.js.map +7 -0
  347. package/dist/esm/helpers/mergeProps.mjs +30 -0
  348. package/dist/esm/helpers/mergeProps.mjs.map +7 -0
  349. package/dist/esm/helpers/mergeTransform.js +21 -0
  350. package/dist/esm/helpers/mergeTransform.js.map +7 -0
  351. package/dist/esm/helpers/mergeTransform.mjs +21 -0
  352. package/dist/esm/helpers/mergeTransform.mjs.map +7 -0
  353. package/dist/esm/helpers/normalizeColor.js +36 -0
  354. package/dist/esm/helpers/normalizeColor.js.map +7 -0
  355. package/dist/esm/helpers/normalizeColor.mjs +36 -0
  356. package/dist/esm/helpers/normalizeColor.mjs.map +7 -0
  357. package/dist/esm/helpers/normalizeValueWithProperty.js +113 -0
  358. package/dist/esm/helpers/normalizeValueWithProperty.js.map +7 -0
  359. package/dist/esm/helpers/normalizeValueWithProperty.mjs +113 -0
  360. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +7 -0
  361. package/dist/esm/helpers/proxyThemeVariables.js +16 -0
  362. package/dist/esm/helpers/proxyThemeVariables.js.map +7 -0
  363. package/dist/esm/helpers/proxyThemeVariables.mjs +16 -0
  364. package/dist/esm/helpers/proxyThemeVariables.mjs.map +7 -0
  365. package/dist/esm/helpers/pseudoDescriptors.js +29 -0
  366. package/dist/esm/helpers/pseudoDescriptors.js.map +7 -0
  367. package/dist/esm/helpers/pseudoDescriptors.mjs +29 -0
  368. package/dist/esm/helpers/pseudoDescriptors.mjs.map +7 -0
  369. package/dist/esm/helpers/registerCSSVariable.js +14 -0
  370. package/dist/esm/helpers/registerCSSVariable.js.map +7 -0
  371. package/dist/esm/helpers/registerCSSVariable.mjs +14 -0
  372. package/dist/esm/helpers/registerCSSVariable.mjs.map +7 -0
  373. package/dist/esm/helpers/themeable.js +28 -0
  374. package/dist/esm/helpers/themeable.js.map +7 -0
  375. package/dist/esm/helpers/themeable.mjs +28 -0
  376. package/dist/esm/helpers/themeable.mjs.map +7 -0
  377. package/dist/esm/helpers/themes.js +53 -0
  378. package/dist/esm/helpers/themes.js.map +7 -0
  379. package/dist/esm/helpers/themes.mjs +53 -0
  380. package/dist/esm/helpers/themes.mjs.map +7 -0
  381. package/dist/esm/helpers/timer.js +11 -0
  382. package/dist/esm/helpers/timer.js.map +7 -0
  383. package/dist/esm/helpers/timer.mjs +11 -0
  384. package/dist/esm/helpers/timer.mjs.map +7 -0
  385. package/dist/esm/helpers/useShallowSetState.js +34 -0
  386. package/dist/esm/helpers/useShallowSetState.js.map +7 -0
  387. package/dist/esm/helpers/useShallowSetState.mjs +34 -0
  388. package/dist/esm/helpers/useShallowSetState.mjs.map +7 -0
  389. package/dist/esm/helpers/withStaticProperties.js +8 -0
  390. package/dist/esm/helpers/withStaticProperties.js.map +7 -0
  391. package/dist/esm/helpers/withStaticProperties.mjs +8 -0
  392. package/dist/esm/helpers/withStaticProperties.mjs.map +7 -0
  393. package/dist/esm/hooks/getThemeUnwrapped.js +9 -0
  394. package/dist/esm/hooks/getThemeUnwrapped.js.map +7 -0
  395. package/dist/esm/hooks/getThemeUnwrapped.mjs +9 -0
  396. package/dist/esm/hooks/getThemeUnwrapped.mjs.map +7 -0
  397. package/dist/esm/hooks/useId.js +5 -0
  398. package/dist/esm/hooks/useId.js.map +7 -0
  399. package/dist/esm/hooks/useId.mjs +5 -0
  400. package/dist/esm/hooks/useId.mjs.map +7 -0
  401. package/dist/esm/hooks/useIsTouchDevice.js +9 -0
  402. package/dist/esm/hooks/useIsTouchDevice.js.map +7 -0
  403. package/dist/esm/hooks/useIsTouchDevice.mjs +9 -0
  404. package/dist/esm/hooks/useIsTouchDevice.mjs.map +7 -0
  405. package/dist/esm/hooks/useMedia.js +224 -0
  406. package/dist/esm/hooks/useMedia.js.map +7 -0
  407. package/dist/esm/hooks/useMedia.mjs +224 -0
  408. package/dist/esm/hooks/useMedia.mjs.map +7 -0
  409. package/dist/esm/hooks/useSafeRef.js +35 -0
  410. package/dist/esm/hooks/useSafeRef.js.map +7 -0
  411. package/dist/esm/hooks/useSafeRef.mjs +35 -0
  412. package/dist/esm/hooks/useSafeRef.mjs.map +7 -0
  413. package/dist/esm/hooks/useServerHooks.js +11 -0
  414. package/dist/esm/hooks/useServerHooks.js.map +7 -0
  415. package/dist/esm/hooks/useServerHooks.mjs +11 -0
  416. package/dist/esm/hooks/useServerHooks.mjs.map +7 -0
  417. package/dist/esm/hooks/useTheme.js +209 -0
  418. package/dist/esm/hooks/useTheme.js.map +7 -0
  419. package/dist/esm/hooks/useTheme.mjs +209 -0
  420. package/dist/esm/hooks/useTheme.mjs.map +7 -0
  421. package/dist/esm/hooks/useThemeName.js +28 -0
  422. package/dist/esm/hooks/useThemeName.js.map +7 -0
  423. package/dist/esm/hooks/useThemeName.mjs +28 -0
  424. package/dist/esm/hooks/useThemeName.mjs.map +7 -0
  425. package/dist/esm/insertFont.js +67 -0
  426. package/dist/esm/insertFont.js.map +7 -0
  427. package/dist/esm/insertFont.mjs +67 -0
  428. package/dist/esm/insertFont.mjs.map +7 -0
  429. package/dist/esm/setupReactNative.js +24 -0
  430. package/dist/esm/setupReactNative.js.map +7 -0
  431. package/dist/esm/setupReactNative.mjs +24 -0
  432. package/dist/esm/setupReactNative.mjs.map +7 -0
  433. package/dist/esm/static.js +3 -0
  434. package/dist/esm/static.js.map +7 -0
  435. package/dist/esm/static.mjs +3 -0
  436. package/dist/esm/static.mjs.map +7 -0
  437. package/dist/esm/styled.js +71 -0
  438. package/dist/esm/styled.js.map +7 -0
  439. package/dist/esm/styled.mjs +71 -0
  440. package/dist/esm/styled.mjs.map +7 -0
  441. package/dist/esm/types-rnw.js +1 -0
  442. package/dist/esm/types-rnw.js.map +7 -0
  443. package/dist/esm/types-rnw.mjs +1 -0
  444. package/dist/esm/types-rnw.mjs.map +7 -0
  445. package/dist/esm/types.js +1 -0
  446. package/dist/esm/types.js.map +7 -0
  447. package/dist/esm/types.mjs +1 -0
  448. package/dist/esm/types.mjs.map +7 -0
  449. package/dist/esm/updateTheme.js +23 -0
  450. package/dist/esm/updateTheme.js.map +7 -0
  451. package/dist/esm/updateTheme.mjs +23 -0
  452. package/dist/esm/updateTheme.mjs.map +7 -0
  453. package/dist/esm/views/FontLanguage.js +17 -0
  454. package/dist/esm/views/FontLanguage.js.map +7 -0
  455. package/dist/esm/views/FontLanguage.mjs +17 -0
  456. package/dist/esm/views/FontLanguage.mjs.map +7 -0
  457. package/dist/esm/views/FontLanguage.native.js +11 -0
  458. package/dist/esm/views/FontLanguage.native.js.map +7 -0
  459. package/dist/esm/views/FontLanguage.native.mjs +11 -0
  460. package/dist/esm/views/FontLanguage.native.mjs.map +7 -0
  461. package/dist/esm/views/FontLanguage.types.js +1 -0
  462. package/dist/esm/views/FontLanguage.types.js.map +7 -0
  463. package/dist/esm/views/FontLanguage.types.mjs +1 -0
  464. package/dist/esm/views/FontLanguage.types.mjs.map +7 -0
  465. package/dist/esm/views/Slot.js +71 -0
  466. package/dist/esm/views/Slot.js.map +7 -0
  467. package/dist/esm/views/Slot.mjs +71 -0
  468. package/dist/esm/views/Slot.mjs.map +7 -0
  469. package/dist/esm/views/Stack.js +14 -0
  470. package/dist/esm/views/Stack.js.map +7 -0
  471. package/dist/esm/views/Stack.mjs +14 -0
  472. package/dist/esm/views/Stack.mjs.map +7 -0
  473. package/dist/esm/views/Stack.web.test.js +21 -0
  474. package/dist/esm/views/Stack.web.test.js.map +7 -0
  475. package/dist/esm/views/Stack.web.test.mjs +21 -0
  476. package/dist/esm/views/Stack.web.test.mjs.map +7 -0
  477. package/dist/esm/views/TamaguiProvider.js +56 -0
  478. package/dist/esm/views/TamaguiProvider.js.map +7 -0
  479. package/dist/esm/views/TamaguiProvider.mjs +56 -0
  480. package/dist/esm/views/TamaguiProvider.mjs.map +7 -0
  481. package/dist/esm/views/Text.js +70 -0
  482. package/dist/esm/views/Text.js.map +7 -0
  483. package/dist/esm/views/Text.mjs +70 -0
  484. package/dist/esm/views/Text.mjs.map +7 -0
  485. package/dist/esm/views/Theme.js +63 -0
  486. package/dist/esm/views/Theme.js.map +7 -0
  487. package/dist/esm/views/Theme.mjs +63 -0
  488. package/dist/esm/views/Theme.mjs.map +7 -0
  489. package/dist/esm/views/ThemeProvider.js +45 -0
  490. package/dist/esm/views/ThemeProvider.js.map +7 -0
  491. package/dist/esm/views/ThemeProvider.mjs +45 -0
  492. package/dist/esm/views/ThemeProvider.mjs.map +7 -0
  493. package/package.json +6 -6
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/getSplitStyles.tsx"],
4
+ "sourcesContent": ["import {\n isClient,\n isRSC,\n isServer,\n isWeb,\n useIsomorphicLayoutEffect,\n} from '@tamagui/constants'\nimport {\n stylePropsText,\n stylePropsTransform,\n validPseudoKeys,\n validStyles,\n validStylesOnBaseProps,\n} from '@tamagui/helpers'\nimport { useInsertionEffect } from 'react'\nimport type { TextStyle, ViewStyle } from 'react-native'\n\nimport { getConfig, getFont } from '../config'\nimport { isDevTools } from '../constants/isDevTools'\nimport {\n getMediaImportanceIfMoreImportant,\n mediaState as globalMediaState,\n mediaKeysWithAndWithout$,\n mediaQueryConfig,\n mergeMediaByImportance,\n} from '../hooks/useMedia'\nimport type {\n DebugProp,\n MediaQueryKey,\n PseudoPropKeys,\n PseudoStyles,\n SpaceTokens,\n SplitStyleState,\n StackProps,\n StaticConfigParsed,\n TamaguiInternalConfig,\n ThemeParsed,\n} from '../types'\nimport { FontLanguageProps, LanguageContextType } from '../views/FontLanguage.types'\nimport { createMediaStyle } from './createMediaStyle'\nimport { getPropMappedFontFamily } from './createPropMapper'\nimport { fixStyles } from './expandStyles'\nimport { getAtomicStyle, getStylesAtomic, styleToCSS } from './getStylesAtomic'\nimport {\n PartialStyleObject,\n RulesToInsert,\n insertStyleRules,\n insertedTransforms,\n scanAllSheets,\n shouldInsertStyleRules,\n updateRules,\n} from './insertStyleRule'\nimport { FlatTransforms, mergeTransform, mergeTransforms } from './mergeTransform'\nimport {\n normalizeValueWithProperty,\n reverseMapClassNameToValue,\n} from './normalizeValueWithProperty.js'\nimport { pseudoDescriptors } from './pseudoDescriptors'\n\ntype GetStyleResult = {\n pseudos?: PseudoStyles\n style: ViewStyle\n classNames: ClassNamesObject\n rulesToInsert: RulesToInsert\n viewProps: StackProps & Record<string, any>\n fontFamily: string | undefined\n space?: any // SpaceTokens?\n hasMedia: boolean | 'space'\n}\n\ntype GetStyleState = {\n style: ViewStyle\n usedKeys: Record<string, number>\n classNames: ClassNamesObject\n flatTransforms: FlatTransforms\n staticConfig: StaticConfigParsed\n theme: ThemeParsed\n props: Record<string, any>\n viewProps: Record<string, any>\n state: SplitStyleState\n conf: TamaguiInternalConfig\n languageContext?: FontLanguageProps\n avoidDefaultProps?: boolean\n avoidMergeTransform?: boolean\n}\n\nexport type SplitStyles = ReturnType<typeof getSplitStyles>\nexport type ClassNamesObject = Record<string, string>\nexport type SplitStyleResult = ReturnType<typeof getSplitStyles>\n\nconst skipProps = {\n animation: true,\n space: true,\n animateOnly: true,\n debug: true,\n componentName: true,\n role: true,\n tag: true,\n}\nif (process.env.NODE_ENV === 'test') {\n skipProps['data-test-renders'] = true\n}\n\nconst IS_STATIC = process.env.IS_STATIC === 'is_static'\n\n// native only skips\nif (process.env.TAMAGUI_TARGET === 'native') {\n Object.assign(skipProps, {\n whiteSpace: true,\n wordWrap: true,\n textOverflow: true,\n textDecorationDistance: true,\n userSelect: true,\n selectable: true,\n cursor: true,\n contain: true,\n boxSizing: true,\n boxShadow: true,\n })\n}\n\n// web only maps accessibility to aria props\nconst accessibilityDirectMap: Record<string, string> = {}\nif (process.env.TAMAGUI_TARGET === 'web') {\n // bundle size shave\n const items = {\n Hidden: true,\n ActiveDescendant: true,\n Atomic: true,\n AutoComplete: true,\n Busy: true,\n Checked: true,\n ColumnCount: 'colcount',\n ColumnIndex: 'colindex',\n ColumnSpan: 'colspan',\n Current: true,\n Details: true,\n ErrorMessage: true,\n Expanded: true,\n HasPopup: true,\n Invalid: true,\n Label: true,\n Level: true,\n Modal: true,\n Multiline: true,\n MultiSelectable: true,\n Orientation: true,\n Owns: true,\n Placeholder: true,\n PosInSet: true,\n Pressed: true,\n RoleDescription: true,\n RowCount: true,\n RowIndex: true,\n RowSpan: true,\n Selected: true,\n SetSize: true,\n Sort: true,\n ValueMax: true,\n ValueMin: true,\n ValueNow: true,\n ValueText: true,\n }\n for (const key in items) {\n let val = items[key]\n if (val === true) {\n val = key.toLowerCase()\n }\n accessibilityDirectMap[`accessibility${key}`] = `aria-${val}`\n }\n}\n\ntype TransformNamespaceKey = 'transform' | PseudoPropKeys | MediaQueryKey\n\nlet conf: TamaguiInternalConfig\n\ntype StyleSplitter = (\n props: { [key: string]: any },\n staticConfig: StaticConfigParsed,\n theme: ThemeParsed,\n state: SplitStyleState,\n parentSplitStyles?: GetStyleResult | null,\n languageContext?: LanguageContextType,\n // web-only\n elementType?: string,\n debug?: DebugProp\n) => GetStyleResult\n\nexport const PROP_SPLIT = '-'\n\nconst accessibilityRoleToWebRole = {\n adjustable: 'slider',\n header: 'heading',\n image: 'img',\n link: 'link',\n none: 'presentation',\n summary: 'region',\n}\n\n// loop props backwards\n// track used keys:\n// const keys = new Set<string>()\n// keep classnames and styles separate:\n// const styles = {}\n// const classNames = {}\n\nconst isMediaKey = (key: string) =>\n Boolean(key[0] === '$' && mediaKeysWithAndWithout$.has(key))\n\nexport const getSplitStyles: StyleSplitter = (\n props,\n staticConfig,\n theme,\n state,\n parentSplitStyles,\n languageContext,\n elementType,\n debug\n) => {\n if (cache.has(props)) {\n return cache.get(props)\n }\n\n if (props.debug) {\n console.log('props', props)\n }\n\n conf = conf || getConfig()\n const { shorthands } = conf\n const {\n defaultVariants,\n variants,\n propMapper,\n isReactNative,\n deoptProps,\n inlineProps,\n inlineWhenUnflattened,\n } = staticConfig\n const validStyleProps = staticConfig.isText ? stylePropsText : validStyles\n const viewProps: GetStyleResult['viewProps'] = {}\n let pseudos: PseudoStyles | null = null\n let psuedosUsed: Record<string, number> | null = null\n const mediaState = state.mediaState || globalMediaState\n const usedKeys: Record<string, number> = {}\n const propKeys = Object.keys(props)\n let space: SpaceTokens | null = props.space\n let hasMedia: boolean | string[] = false\n\n const shouldDoClasses =\n staticConfig.acceptsClassName && (isWeb || IS_STATIC) && !state.noClassNames\n\n let style: ViewStyle | TextStyle = {}\n const flatTransforms: FlatTransforms = {}\n\n const len = propKeys.length\n const rulesToInsert: RulesToInsert = []\n const classNames: ClassNamesObject = {}\n let className = '' // existing classNames\n // we need to gather these specific to each media query / pseudo\n // value is [hash, val], so [\"-jnjad-asdnjk\", \"scaleX(1) rotate(10deg)\"]\n const transforms: Record<TransformNamespaceKey, [string, string]> = {}\n // fontFamily is our special baby, ensure we grab the latest set one always\n let fontFamily: string | undefined\n\n const styleState: GetStyleState = {\n classNames,\n conf,\n flatTransforms,\n props,\n state,\n staticConfig,\n style,\n theme,\n usedKeys,\n viewProps,\n languageContext,\n }\n\n if (process.env.NODE_ENV === 'development' && debug === 'verbose') {\n // eslint-disable-next-line no-console\n console.groupCollapsed('getSplitStyles (looping backwards)')\n // eslint-disable-next-line no-console\n console.log({ staticConfig, shouldDoClasses, state, IS_STATIC, propKeys })\n // eslint-disable-next-line no-console\n console.groupEnd()\n }\n\n if (props.className) {\n for (const cn of props.className.split(' ')) {\n if (cn[0] === '_') {\n // tamagui, merge it expanded on key, eventually this will go away with better compiler\n const [shorthand, mediaOrPseudo] = cn.slice(1).split('-')\n const isMedia = mediaOrPseudo[0] === '_'\n const isPseudo = mediaOrPseudo[0] === '0'\n const isMediaOrPseudo = isMedia || isPseudo\n let fullKey = shorthands[shorthand]\n if (isMedia) {\n // is media\n let mediaShortKey = mediaOrPseudo.slice(1)\n mediaShortKey = mediaShortKey.slice(0, mediaShortKey.indexOf('_'))\n fullKey += `${PROP_SPLIT}${mediaShortKey}`\n } else if (isPseudo) {\n // is pseudo\n const pseudoShortKey = mediaOrPseudo.slice(1)\n fullKey += `${PROP_SPLIT}${pseudoShortKey}`\n }\n usedKeys[fullKey] = 1\n mergeClassName(transforms, classNames, fullKey, cn, isMediaOrPseudo)\n } else if (cn) {\n className += ` ${cn}`\n }\n }\n }\n\n // loop backwards so we can skip already-used props\n for (let i = len - 1; i >= 0; i--) {\n let keyInit = propKeys[i]\n if (keyInit === 'className') continue // handled above\n const valInit = props[keyInit]\n\n // normalize shorthands up front\n if (keyInit in shorthands) {\n keyInit = shorthands[keyInit]\n }\n\n if (keyInit in usedKeys) continue\n if (keyInit in skipProps) continue\n if (!isWeb && keyInit.startsWith('data-')) continue\n\n if (typeof valInit === 'string' && valInit[0] === '_') {\n if (keyInit in validStyleProps || keyInit.includes('-')) {\n if (shouldDoClasses) {\n classNames[keyInit] = valInit\n } else {\n style[keyInit] = reverseMapClassNameToValue(keyInit, valInit)\n }\n usedKeys[keyInit] = 1\n continue\n }\n }\n\n if (keyInit === 'dataSet') {\n for (const key in valInit) {\n viewProps[`data-${hyphenate(key)}`] = valInit[key]\n }\n continue\n }\n\n if (keyInit === 'style' || keyInit.startsWith('_style')) {\n if (!valInit) continue\n const styles = Array.isArray(valInit) ? valInit : [valInit]\n const styleLen = styles.length\n for (let j = styleLen; j >= 0; j--) {\n const cur = styles[j]\n if (!cur) continue\n for (const key in cur) {\n if (usedKeys[key]) continue\n usedKeys[key] = 1\n style[key] = cur[key]\n }\n }\n continue\n }\n\n if (process.env.TAMAGUI_TARGET === 'web') {\n /**\n * Copying in the accessibility/prop handling from react-native-web here\n * Keeps it in a single loop, avoids dup de-structuring to avoid bundle size\n */\n if (keyInit === 'disabled' && valInit === true) {\n usedKeys[keyInit] = 1\n viewProps['aria-disabled'] = true\n // Enhance with native semantics\n if (\n elementType === 'button' ||\n elementType === 'form' ||\n elementType === 'input' ||\n elementType === 'select' ||\n elementType === 'textarea'\n ) {\n viewProps.disabled = true\n }\n if (!variants?.disabled) {\n continue\n }\n }\n\n if (keyInit === 'testID') {\n usedKeys[keyInit] = 1\n if (isReactNative) {\n viewProps.testId = valInit\n } else {\n viewProps['data-testid'] = valInit\n }\n continue\n }\n\n if (keyInit === 'id' || keyInit === 'nativeID') {\n usedKeys[keyInit] = 1\n if (isReactNative) {\n viewProps.nativeID = valInit\n } else {\n viewProps.id = valInit\n }\n continue\n }\n\n let didUseKeyInit = true\n\n if (isReactNative) {\n didUseKeyInit = false\n // pass along to react-native-web\n if (accessibilityDirectMap[keyInit] || keyInit.startsWith('accessibility')) {\n viewProps[keyInit] = valInit\n usedKeys[keyInit] = 1\n continue\n }\n } else {\n if (accessibilityDirectMap[keyInit]) {\n viewProps[accessibilityDirectMap[keyInit]] = valInit\n usedKeys[keyInit] = 1\n continue\n }\n switch (keyInit) {\n case 'accessibilityRole': {\n if (valInit === 'none') {\n viewProps.role = 'presentation'\n } else {\n viewProps.role = accessibilityRoleToWebRole[valInit] || valInit\n }\n continue\n }\n case 'accessibilityLabelledBy':\n case 'accessibilityFlowTo':\n case 'accessibilityControls':\n case 'accessibilityDescribedBy': {\n viewProps[`aria-${keyInit.replace('accessibility', '').toLowerCase()}`] =\n processIDRefList(valInit)\n continue\n }\n case 'accessibilityKeyShortcuts': {\n if (Array.isArray(valInit)) {\n viewProps['aria-keyshortcuts'] = valInit.join(' ')\n }\n continue\n }\n case 'accessibilityLiveRegion': {\n viewProps['aria-live'] = valInit === 'none' ? 'off' : valInit\n continue\n }\n case 'accessibilityReadOnly': {\n viewProps['aria-readonly'] = valInit\n // Enhance with native semantics\n if (\n elementType === 'input' ||\n elementType === 'select' ||\n elementType === 'textarea'\n ) {\n viewProps.readOnly = true\n }\n continue\n }\n case 'accessibilityRequired': {\n viewProps['aria-required'] = valInit\n // Enhance with native semantics\n if (\n elementType === 'input' ||\n elementType === 'select' ||\n elementType === 'textarea'\n ) {\n viewProps.required = valInit\n }\n continue\n }\n default: {\n didUseKeyInit = false\n }\n }\n }\n\n if (didUseKeyInit) {\n usedKeys[keyInit] = 1\n continue\n }\n\n if (valInit && valInit[0] === '_') {\n // if valid style key (or pseudo like color-hover):\n // this conditional and esp the pseudo check rarely runs so not a perf issue\n const isValidClassName = validStyles[keyInit]\n const isMediaOrPseudo =\n !isValidClassName &&\n keyInit.includes(PROP_SPLIT) &&\n validStyles[keyInit.split(PROP_SPLIT)[0]]\n\n if (isValidClassName || isMediaOrPseudo) {\n usedKeys[keyInit] = 1\n if (process.env.NODE_ENV === 'development') {\n if (debug) {\n // eslint-disable-next-line no-console\n console.log('tamagui classname props', keyInit, valInit)\n }\n }\n mergeClassName(transforms, classNames, keyInit, valInit, isMediaOrPseudo)\n continue\n }\n }\n }\n\n if (\n (defaultVariants && keyInit in defaultVariants) ||\n // may want to just: not compile styled() into classnames, always do this, and always pass in all values in extras.props\n // but we'd want to add styled({ extracted: true }) or something at compile time to save on parsing a bit...\n (state.keepVariantsAsProps && variants && keyInit in variants)\n ) {\n viewProps[keyInit] = valInit\n }\n\n /**\n * There's (some) reason to this madness: we want to allow returning media/pseudo from variants\n * Say you have a variant hoverable: { true: { hoverStyle: {} } }\n * We run propMapper first to expand variant, then we run the inner loop and look again\n * for if there's a pseudo/media returned from it.\n */\n\n let isMedia = isMediaKey(keyInit)\n let isPseudo = validPseudoKeys[keyInit]\n\n if (\n !(\n isMedia ||\n isPseudo ||\n variants?.[keyInit] ||\n validStyleProps[keyInit] ||\n shorthands[keyInit]\n )\n ) {\n // web-only, exclude all other accessibility props not handled above\n if (isWeb && keyInit.indexOf('ccessibility') > 0) {\n continue\n }\n usedKeys[keyInit] = 1\n viewProps[keyInit] = valInit\n continue\n }\n\n if (process.env.NODE_ENV === 'development' && debug === 'verbose') {\n // eslint-disable-next-line no-console\n console.groupCollapsed(' \uD83D\uDD39 styles', keyInit, valInit)\n }\n\n const expanded =\n isMedia || isPseudo\n ? [[keyInit, valInit]]\n : propMapper(\n keyInit,\n valInit,\n theme,\n props,\n state,\n languageContext,\n undefined,\n debug\n )\n\n if (!fontFamily) {\n fontFamily = getPropMappedFontFamily(expanded)\n }\n\n if (process.env.NODE_ENV === 'development' && debug === 'verbose') {\n if (!isServer && isDevTools) {\n // eslint-disable-next-line no-console\n console.log('expanded', expanded, '\\nusedKeys', usedKeys, '\\ncurrent', {\n ...style,\n })\n }\n // eslint-disable-next-line no-console\n console.groupEnd()\n }\n\n if (!expanded) continue\n\n for (const [key, val] of expanded) {\n if (val === undefined) continue\n\n isMedia = isMediaKey(key)\n isPseudo = validPseudoKeys[key]\n const isMediaOrPseudo = isMedia || isPseudo\n\n if (!isMediaOrPseudo && usedKeys[key]) {\n if (process.env.NODE_ENV === 'developmnet' && debug === 'verbose') {\n console.log(`Used media/pseudo ${key}`)\n }\n continue\n }\n\n if (inlineProps?.has(key) || inlineWhenUnflattened?.has(key)) {\n usedKeys[key] = 1\n viewProps[key] = props[key] ?? val\n }\n\n // pseudo\n if (isPseudo) {\n if (!val) continue\n\n // TODO can avoid processing this if !shouldDoClasses + state is off\n const pseudoStyleObject = getSubStyle(\n styleState,\n key,\n val,\n true,\n state.noClassNames\n )\n\n const descriptor = pseudoDescriptors[key as keyof typeof pseudoDescriptors]\n const isEnter = descriptor.name === 'enter'\n const isExit = descriptor.name === 'exit'\n\n // don't continue here on isEnter && !state.unmounted because we need to merge defaults\n if (!descriptor || (isExit && !state.isExiting)) {\n continue\n }\n\n if (!shouldDoClasses || IS_STATIC) {\n pseudos ||= {}\n pseudos[key] ||= {}\n Object.assign(pseudos[key], pseudoStyleObject)\n }\n\n if (shouldDoClasses && !isEnter && !isExit) {\n const pseudoStyles = getAtomicStyle(pseudoStyleObject, descriptor)\n for (const psuedoStyle of pseudoStyles) {\n const fullKey = `${psuedoStyle.property}${PROP_SPLIT}${descriptor.name}`\n if (!usedKeys[fullKey]) {\n usedKeys[fullKey] = 1\n addStyleToInsertRules(rulesToInsert, psuedoStyle)\n mergeClassName(\n transforms,\n classNames,\n fullKey,\n psuedoStyle.identifier,\n isMediaOrPseudo\n )\n }\n }\n } else {\n if (usedKeys[key]) {\n continue\n }\n\n let isDisabled = !state[descriptor.stateKey || descriptor.name]\n\n // we never animate in on server side just show the full thing\n // on client side we use CSS to hide the fully in SSR items, then\n // un-hide and replay with original animation.\n if (isWeb && !isClient && isEnter) {\n isDisabled = false\n }\n\n if (!isDisabled) {\n if (valInit === staticConfig.defaultProps[keyInit]) {\n // ignore:\n // if it's a default property given by styled(), we don't mark it as used, so\n // that props given inline can override:\n } else {\n usedKeys[key] ||= 1\n if (process.env.NODE_ENV === 'development' && debug === 'verbose') {\n console.log(`Setting used ${key}`)\n }\n }\n }\n\n psuedosUsed ||= {}\n\n const importance = descriptor.priority\n for (const pkey in pseudoStyleObject) {\n const val = pseudoStyleObject[pkey]\n // when disabled ensure the default value is set for future animations to align\n if (isDisabled) {\n if (!(pkey in usedKeys) && pkey in animatableDefaults) {\n const defaultVal = animatableDefaults[pkey]\n mergeStyle(styleState, pkey, defaultVal, true)\n }\n continue\n }\n const curImportance = psuedosUsed[importance] || 0\n if (process.env.NODE_ENV === 'development' && debug === 'verbose') {\n console.log('Merge pseudo?', { importance, curImportance, pkey, val })\n }\n if (importance >= curImportance) {\n psuedosUsed[pkey] = importance\n pseudos ||= {}\n pseudos[key] ||= {}\n pseudos[key][pkey] = val\n mergeStyle(styleState, pkey, val)\n }\n }\n }\n continue\n }\n\n // media\n if (isMedia) {\n if (!val) continue\n\n hasMedia ||= true\n\n // THIS USED TO PROXY BACK TO REGULAR PROPS BUT THAT IS THE WRONG BEHAVIOR\n // we avoid passing in default props for media queries because that would confuse things like SizableText.size:\n\n const mediaStyle = getSubStyle(\n styleState,\n key,\n val,\n // TODO try true like pseudo\n false\n )\n\n const mediaKeyShort = key.slice(1)\n\n if (process.env.NODE_ENV === 'development' && debug === 'verbose') {\n // prettier-ignore\n // eslint-disable-next-line no-console\n console.log(` \uD83D\uDCFA ${key}`, { key, mediaStyle, props, shouldDoClasses })\n }\n\n if ('space' in mediaStyle) {\n if (!Array.isArray(hasMedia)) {\n hasMedia = []\n }\n hasMedia.push(mediaKeyShort)\n }\n\n if (shouldDoClasses) {\n if ('space' in mediaStyle) {\n delete mediaStyle['space']\n if (mediaState[mediaKeyShort]) {\n const val = valInit.space\n const importance = getMediaImportanceIfMoreImportant(\n mediaKeyShort,\n 'space',\n usedKeys\n )\n if (importance) {\n space = val\n usedKeys['space'] = importance\n if (process.env.NODE_ENV === 'development' && debug === 'verbose') {\n console.log(\n `Found more important space for current media ${mediaKeyShort}: ${val} (importance: ${importance})`\n )\n }\n }\n }\n }\n const mediaStyles = getStylesAtomic(mediaStyle)\n for (const style of mediaStyles) {\n const out = createMediaStyle(style, mediaKeyShort, mediaQueryConfig)\n const fullKey = `${style.property}${PROP_SPLIT}${mediaKeyShort}`\n if (!usedKeys[fullKey]) {\n usedKeys[fullKey] = 1\n addStyleToInsertRules(rulesToInsert, out)\n mergeClassName(transforms, classNames, fullKey, out.identifier, true)\n }\n }\n } else if (mediaState[mediaKeyShort]) {\n for (const subKey in mediaStyle) {\n const importance = getMediaImportanceIfMoreImportant(\n mediaKeyShort,\n subKey,\n usedKeys\n )\n if (importance === null) continue\n if (subKey === 'space') {\n space = valInit.space\n continue\n }\n mergeMediaByImportance(\n style,\n mediaKeyShort,\n subKey,\n mediaStyle[subKey],\n usedKeys\n )\n if (key === 'fontFamily') {\n fontFamily = mediaStyle[key]\n }\n }\n }\n continue\n }\n\n if (!isWeb && key === 'pointerEvents') {\n usedKeys[key] = 1\n viewProps[key] = val\n continue\n }\n\n if (key === 'fontFamily' && !fontFamily && valInit && val) {\n fontFamily = valInit[0] === '$' ? valInit : val\n }\n\n if (key in validStyleProps) {\n mergeStyle(styleState, key, val)\n continue\n }\n\n // pass to view props\n if (!(variants && key in variants)) {\n if (!skipProps[key]) {\n viewProps[key] = val\n usedKeys[key] = 1\n }\n }\n }\n }\n\n fixStyles(style)\n if (isWeb) {\n styleToCSS(style)\n }\n\n // native: swap out the right family based on weight/style\n if (process.env.TAMAGUI_TARGET === 'native') {\n if ('fontFamily' in style && style.fontFamily) {\n const faceInfo = getFont(style.fontFamily)?.face\n if (faceInfo) {\n const overrideFace =\n faceInfo[style.fontWeight!]?.[style.fontStyle || 'normal']?.val\n if (overrideFace) {\n style.fontFamily = overrideFace\n fontFamily = overrideFace\n delete style.fontWeight\n delete style.fontStyle\n }\n }\n if (process.env.NODE_ENV === 'development') {\n if (debug) {\n console.log(`Found fontFamily native: ${style.fontFamily}`, faceInfo)\n }\n }\n }\n }\n\n // always do this at the very end to preserve the order strictly (animations, origin)\n // and allow proper merging of all pseudos before applying\n if (flatTransforms) {\n if (process.env.NODE_ENV === 'development' && debug) {\n // eslint-disable-next-line no-console\n console.log(\n 'Merging flat transforms, transform before',\n [...(style.transform || [])],\n flatTransforms\n )\n }\n mergeTransforms(style, flatTransforms, true)\n }\n\n // add in defaults if not set:\n if (parentSplitStyles) {\n if (process.env.TAMAGUI_TARGET === 'web') {\n if (shouldDoClasses) {\n for (const key in parentSplitStyles.classNames) {\n const val = parentSplitStyles.classNames[key]\n if (key in style || key in classNames) continue\n classNames[key] = val\n }\n }\n }\n if (!shouldDoClasses) {\n for (const key in parentSplitStyles.style) {\n if (key in classNames || key in style) continue\n style[key] = parentSplitStyles.style[key]\n }\n }\n }\n\n if (process.env.TAMAGUI_TARGET === 'web') {\n if (shouldDoClasses) {\n if (style['$$css']) {\n // avoid re-processing for rnw\n } else {\n const atomic = getStylesAtomic(style)\n for (const atomicStyle of atomic) {\n const key = atomicStyle.property\n addStyleToInsertRules(rulesToInsert, atomicStyle)\n mergeClassName(transforms, classNames, key, atomicStyle.identifier)\n }\n if (!IS_STATIC) {\n style = {}\n }\n }\n }\n\n if (transforms) {\n for (const namespace in transforms) {\n if (!transforms[namespace]) {\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn('Error no transform', transforms, namespace)\n }\n continue\n }\n const [hash, val] = transforms[namespace]\n const identifier = `_transform${hash}`\n if (isClient && !insertedTransforms[identifier]) {\n const rule = `.${identifier} { transform: ${val}; }`\n addStyleToInsertRules(rulesToInsert, {\n identifier,\n rules: [rule],\n property: namespace,\n })\n }\n classNames[namespace] = identifier\n }\n }\n }\n\n const result = {\n space,\n hasMedia,\n fontFamily,\n viewProps,\n style,\n pseudos,\n classNames,\n rulesToInsert,\n }\n\n if (className) {\n classNames.className = className\n }\n\n if (process.env.NODE_ENV === 'development' && debug === 'verbose') {\n if (isDevTools) {\n // eslint-disable-next-line no-console\n console.groupCollapsed(' \uD83D\uDD39 styles =>')\n // prettier-ignore\n const logs = { transforms, viewProps, state, rulesToInsert, parentSplitStyles, flatTransforms, result }\n for (const key in { ...result, ...logs }) {\n // eslint-disable-next-line no-console\n console.log(key, logs[key])\n }\n // eslint-disable-next-line no-console\n console.groupEnd()\n }\n }\n\n cache.set(props, result)\n\n return result\n}\n\nfunction mergeClassName(\n transforms: Record<string, any[]>,\n classNames: Record<string, string>,\n key: string,\n val: string,\n isMediaOrPseudo = false\n) {\n if (process.env.TAMAGUI_TARGET === 'web') {\n // empty classnames passed by compiler sometimes\n if (!val) return\n if (val[0] === '_' && val.startsWith('_transform-')) {\n const ns: TransformNamespaceKey = isMediaOrPseudo ? key : 'transform'\n let transform = insertedTransforms[val]\n if (isClient && !transform) {\n scanAllSheets() // HMR or loaded a new chunk\n transform = insertedTransforms[val]\n if (!transform && isWeb && val[0] !== '_') {\n transform = val // runtime insert\n }\n }\n transforms[ns] ||= ['', '']\n transforms[ns][0] += val.replace('_transform', '')\n // ssr doesn't need to do anything just make the right classname\n if (transform) {\n transforms[ns][1] += transform\n }\n } else {\n classNames[key] = val\n }\n }\n}\n\n/**\n * getSubStyle calls propMapper with props\n * those should be specific to the substyle, but fallback to the base props\n * so given props:\n *\n * { fontSize: 12, color: 'red', $sm: { color: 'blue' } }\n *\n * getSubStyle props should be a proxy that ends up like:\n *\n * { fontSize: 12, color: 'blue' }\n *\n * and to avoid re-creating it over and over, use a WeakMap\n */\nconst cache = new WeakMap()\nfunction getSubStyleProps(\n defaultProps: Object,\n baseProps: Object,\n specificProps: Object\n) {\n const key = specificProps || baseProps\n // can cache based only on specific it's always referentially consistent with base\n if (!cache.has(key)) {\n cache.set(key, {\n ...defaultProps,\n ...baseProps,\n ...specificProps,\n })\n }\n return cache.get(key)!\n}\n\nfunction mergeStyle(\n { usedKeys, classNames, flatTransforms, viewProps, style }: GetStyleState,\n key: string,\n val: any,\n dontSetUsed = false\n) {\n if (!dontSetUsed) {\n usedKeys[key] = usedKeys[key] || 1\n }\n if (val && val[0] === '_') {\n classNames[key] = val\n } else if (key in stylePropsTransform) {\n flatTransforms ||= {}\n flatTransforms[key] = val\n } else {\n const out = normalizeValueWithProperty(val, key)\n if (key in validStylesOnBaseProps) {\n viewProps[key] = out\n } else {\n style[key] = out\n }\n }\n}\n\nexport const getSubStyle = (\n styleState: GetStyleState,\n subKey: string,\n styleIn: Object,\n avoidDefaultProps?: boolean,\n avoidMergeTransform?: boolean\n): ViewStyle => {\n const { staticConfig, theme, props, state, conf, languageContext } = styleState\n const styleOut: ViewStyle = {}\n\n for (let key in styleIn) {\n const val = styleIn[key]\n key = conf.shorthands[key] || key\n const expanded = staticConfig.propMapper(\n key,\n val,\n theme,\n getSubStyleProps(staticConfig.defaultProps, props, props[subKey]),\n state,\n languageContext,\n avoidDefaultProps\n )\n if (!expanded) continue\n for (const [skey, sval] of expanded) {\n if (!avoidMergeTransform && skey in stylePropsTransform) {\n mergeTransform(styleOut, skey, sval)\n } else {\n styleOut[skey] = normalizeValueWithProperty(sval, key)\n }\n }\n }\n\n fixStyles(styleOut)\n\n return styleOut\n}\n\nexport const insertSplitStyles: StyleSplitter = (...args) => {\n const res = getSplitStyles(...args)\n insertStyleRules(res.rulesToInsert)\n return res\n}\n\n// on native no need to insert any css\nconst useInsertEffectCompat = isWeb\n ? useInsertionEffect || useIsomorphicLayoutEffect\n : () => {}\n\nexport const useSplitStyles: StyleSplitter = (...args) => {\n const res = getSplitStyles(...args)\n\n if (!isRSC) {\n useInsertEffectCompat(() => {\n insertStyleRules(res.rulesToInsert)\n }, [res.rulesToInsert])\n }\n\n return res\n}\n\nfunction addStyleToInsertRules(\n rulesToInsert: RulesToInsert,\n styleObject: PartialStyleObject\n) {\n if (process.env.TAMAGUI_TARGET === 'web') {\n if (!shouldInsertStyleRules(styleObject)) {\n return\n }\n updateRules(styleObject.identifier, styleObject.rules)\n rulesToInsert.push(styleObject)\n }\n}\n\nfunction processIDRefList(idRefList: string | Array<string>): string {\n return Array.isArray(idRefList) ? idRefList.join(' ') : idRefList\n}\n\nconst animatableDefaults = {\n opacity: 1,\n scale: 1,\n rotate: '0deg',\n rotateY: '0deg',\n rotateX: '0deg',\n}\n\nconst lowercaseHyphenate = (match: string) => `-${match.toLowerCase()}`\nconst hyphenate = (str: string) => str.replace(/[A-Z]/g, lowercaseHyphenate)\n"],
5
+ "mappings": "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",
6
+ "names": ["globalMediaState", "val", "style", "conf"]
7
+ }
@@ -0,0 +1,226 @@
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 getStylesAtomic_exports = {};
20
+ __export(getStylesAtomic_exports, {
21
+ getAtomicStyle: () => getAtomicStyle,
22
+ getStylesAtomic: () => getStylesAtomic,
23
+ styleToCSS: () => styleToCSS
24
+ });
25
+ module.exports = __toCommonJS(getStylesAtomic_exports);
26
+ var import_helpers = require("@tamagui/helpers");
27
+ var import_config = require("../config");
28
+ var import_expandStyles = require("./expandStyles");
29
+ var import_normalizeValueWithProperty = require("./normalizeValueWithProperty.js");
30
+ var import_pseudoDescriptors = require("./pseudoDescriptors");
31
+ const pseudosOrdered = [
32
+ import_pseudoDescriptors.pseudoDescriptors.hoverStyle,
33
+ import_pseudoDescriptors.pseudoDescriptors.pressStyle,
34
+ import_pseudoDescriptors.pseudoDescriptors.focusStyle
35
+ ];
36
+ function getStylesAtomic(stylesIn) {
37
+ if (!(stylesIn.hoverStyle || stylesIn.pressStyle || stylesIn.focusStyle)) {
38
+ return getAtomicStyle(stylesIn);
39
+ }
40
+ const { hoverStyle, pressStyle, focusStyle, ...base } = stylesIn;
41
+ let res = [];
42
+ for (const [index, style] of [hoverStyle, pressStyle, focusStyle, base].entries()) {
43
+ if (!style)
44
+ continue;
45
+ const pseudo = pseudosOrdered[index];
46
+ res = [...res, ...getAtomicStyle(style, pseudo)];
47
+ }
48
+ return res;
49
+ }
50
+ const cache = /* @__PURE__ */ new Map();
51
+ function getAtomicStyle(style, pseudo) {
52
+ if (!style)
53
+ return [];
54
+ const key = JSON.stringify(style) + (pseudo ? JSON.stringify(pseudo) : "");
55
+ if (cache.has(key)) {
56
+ return cache.get(key);
57
+ }
58
+ if (cache.size > 800) {
59
+ cache.clear();
60
+ }
61
+ if (process.env.NODE_ENV === "development") {
62
+ if (!style || typeof style !== "object") {
63
+ throw new Error(`Wrong style type: "${typeof style}": ${style}`);
64
+ }
65
+ }
66
+ const out = generateAtomicStyles(style, pseudo);
67
+ cache.set(key, out);
68
+ return out;
69
+ }
70
+ let conf;
71
+ const generateAtomicStyles = (styleIn, pseudo) => {
72
+ conf = conf || (0, import_config.getConfig)();
73
+ const style = styleIn;
74
+ if (style.transform && Array.isArray(style.transform)) {
75
+ style.transform = style.transform.map(
76
+ // { scale: 2 } => 'scale(2)'
77
+ // { translateX: 20 } => 'translateX(20px)'
78
+ // { matrix: [1,2,3,4,5,6] } => 'matrix(1,2,3,4,5,6)'
79
+ (transform) => {
80
+ const type = Object.keys(transform)[0];
81
+ const value = transform[type];
82
+ if (type === "matrix" || type === "matrix3d") {
83
+ return `${type}(${value.join(",")})`;
84
+ }
85
+ return `${type}(${(0, import_normalizeValueWithProperty.normalizeValueWithProperty)(value, type)})`;
86
+ }
87
+ ).join(" ");
88
+ }
89
+ styleToCSS(style);
90
+ const out = [];
91
+ for (const key in style) {
92
+ const value = style[key];
93
+ if (value == null || value == void 0)
94
+ continue;
95
+ const hash = presetHashes[value] ? value : typeof value === "string" ? (0, import_helpers.simpleHash)(value) : `${value}`.replace(".", "dot");
96
+ const pseudoPrefix = pseudo ? `0${pseudo.name}-` : "";
97
+ const shortProp = conf.inverseShorthands[key] || key;
98
+ const identifier = `_${shortProp}-${pseudoPrefix}${hash}`;
99
+ const rules = createAtomicRules(identifier, key, value, pseudo);
100
+ const styleObject = {
101
+ property: key,
102
+ pseudo: pseudo == null ? void 0 : pseudo.name,
103
+ value,
104
+ identifier,
105
+ rules
106
+ };
107
+ out.push(styleObject);
108
+ }
109
+ return out;
110
+ };
111
+ const presetHashes = {
112
+ none: true
113
+ };
114
+ const n = import_normalizeValueWithProperty.normalizeValueWithProperty;
115
+ function styleToCSS(style) {
116
+ const { shadowOffset, shadowRadius, shadowColor } = style;
117
+ if (style.shadowRadius !== void 0) {
118
+ const offset = shadowOffset || import_expandStyles.defaultOffset;
119
+ const shadow = `${n(offset.width)} ${n(offset.height)} ${n(
120
+ shadowRadius
121
+ )} ${shadowColor}`;
122
+ style.boxShadow = style.boxShadow ? `${style.boxShadow}, ${shadow}` : shadow;
123
+ style.shadowOffset = void 0;
124
+ style.shadowRadius = void 0;
125
+ style.shadowColor = void 0;
126
+ }
127
+ const { textShadowColor, textShadowOffset, textShadowRadius } = style;
128
+ if (textShadowColor || textShadowOffset || textShadowRadius) {
129
+ const { height, width } = textShadowOffset || import_expandStyles.defaultOffset;
130
+ const radius = textShadowRadius || 0;
131
+ const color = (0, import_normalizeValueWithProperty.normalizeValueWithProperty)(textShadowColor, "textShadowColor");
132
+ if (color && (height !== 0 || width !== 0 || radius !== 0)) {
133
+ const blurRadius = (0, import_normalizeValueWithProperty.normalizeValueWithProperty)(radius);
134
+ const offsetX = (0, import_normalizeValueWithProperty.normalizeValueWithProperty)(width);
135
+ const offsetY = (0, import_normalizeValueWithProperty.normalizeValueWithProperty)(height);
136
+ style.textShadow = `${offsetX} ${offsetY} ${blurRadius} ${color}`;
137
+ }
138
+ style.textShadowColor = void 0;
139
+ style.textShadowOffset = void 0;
140
+ style.textShadowRadius = void 0;
141
+ }
142
+ }
143
+ function createDeclarationBlock(style, important = false) {
144
+ let next = "";
145
+ for (const key in style) {
146
+ const prop = hyphenateStyleName(key);
147
+ const value = style[key];
148
+ next += `${prop}:${value}${important ? " !important" : ""};`;
149
+ }
150
+ return `{${next}}`;
151
+ }
152
+ const hcache = {};
153
+ const toHyphenLower = (match) => `-${match.toLowerCase()}`;
154
+ const hyphenateStyleName = (key) => {
155
+ let val = hcache[key];
156
+ if (val)
157
+ return val;
158
+ hcache[key] = val = key.replace(/[A-Z]/g, toHyphenLower);
159
+ return val;
160
+ };
161
+ const pseudoSelectorPrefixes = (() => {
162
+ const res = {};
163
+ for (const key in import_pseudoDescriptors.pseudoDescriptors) {
164
+ const pseudo = import_pseudoDescriptors.pseudoDescriptors[key];
165
+ res[pseudo.name] = `${[...Array(pseudo.priority)].map(() => ":root").join("")} `;
166
+ }
167
+ return res;
168
+ })();
169
+ function createAtomicRules(identifier, property, value, pseudo) {
170
+ const selector = pseudo ? `${pseudoSelectorPrefixes[pseudo.name]} .${identifier}:${pseudo.name}` : `.${identifier}`;
171
+ const important = !!pseudo;
172
+ let rules = [];
173
+ switch (property) {
174
+ case "placeholderTextColor": {
175
+ const block = createDeclarationBlock({ color: value, opacity: 1 }, important);
176
+ rules.push(`${selector}::placeholder${block}`);
177
+ break;
178
+ }
179
+ case "backgroundClip":
180
+ case "userSelect": {
181
+ const propertyCapitalized = `${property[0].toUpperCase()}${property.slice(1)}`;
182
+ const webkitProperty = `Webkit${propertyCapitalized}`;
183
+ const block = createDeclarationBlock(
184
+ { [property]: value, [webkitProperty]: value },
185
+ important
186
+ );
187
+ rules.push(`${selector}${block}`);
188
+ break;
189
+ }
190
+ case "pointerEvents": {
191
+ let finalValue = value;
192
+ if (value === "auto" || value === "box-only") {
193
+ finalValue = "auto";
194
+ if (value === "box-only") {
195
+ rules.push(`${selector}>*${boxOnly}`);
196
+ }
197
+ } else if (value === "none" || value === "box-none") {
198
+ finalValue = "none";
199
+ if (value === "box-none") {
200
+ rules.push(`${selector}>*${boxNone}`);
201
+ }
202
+ }
203
+ const block = createDeclarationBlock({ pointerEvents: finalValue }, true);
204
+ rules.push(`${selector}${block}`);
205
+ break;
206
+ }
207
+ default: {
208
+ const block = createDeclarationBlock({ [property]: value }, important);
209
+ rules.push(`${selector}${block}`);
210
+ break;
211
+ }
212
+ }
213
+ if (pseudo && pseudo.name === "hover") {
214
+ rules = rules.map((r) => `@media not all and (hover: none) { ${r} }`);
215
+ }
216
+ return rules;
217
+ }
218
+ const boxNone = createDeclarationBlock({ pointerEvents: "auto" }, true);
219
+ const boxOnly = createDeclarationBlock({ pointerEvents: "none" }, true);
220
+ // Annotate the CommonJS export names for ESM import in node:
221
+ 0 && (module.exports = {
222
+ getAtomicStyle,
223
+ getStylesAtomic,
224
+ styleToCSS
225
+ });
226
+ //# sourceMappingURL=getStylesAtomic.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/getStylesAtomic.ts"],
4
+ "sourcesContent": ["/**\n * Some parts adapted from react-native-web\n * Copyright (c) Nicolas Gallagher licensed under the MIT license.\n */\n\nimport { StyleObject, simpleHash } from '@tamagui/helpers'\nimport type { TextStyle, ViewStyle } from 'react-native'\n\nimport { getConfig } from '../config'\nimport { TamaguiInternalConfig } from '../types'\nimport { defaultOffset } from './expandStyles'\nimport { normalizeValueWithProperty } from './normalizeValueWithProperty.js'\nimport { PseudoDescriptor, pseudoDescriptors } from './pseudoDescriptors'\n\n// refactor this file away next...\n\ntype ViewOrTextStyle = ViewStyle | TextStyle\n\nexport type ViewStyleWithPseudos = ViewOrTextStyle & {\n hoverStyle?: ViewOrTextStyle\n pressStyle?: ViewOrTextStyle\n focusStyle?: ViewOrTextStyle\n}\n\n// matching order of the below *0\nconst pseudosOrdered = [\n pseudoDescriptors.hoverStyle,\n pseudoDescriptors.pressStyle,\n pseudoDescriptors.focusStyle,\n]\n\nexport function getStylesAtomic(stylesIn: ViewStyleWithPseudos) {\n // performance optimization\n if (!(stylesIn.hoverStyle || stylesIn.pressStyle || stylesIn.focusStyle)) {\n return getAtomicStyle(stylesIn)\n }\n\n // only for pseudos\n const { hoverStyle, pressStyle, focusStyle, ...base } = stylesIn\n let res: StyleObject[] = []\n // *1 order matched to *0\n for (const [index, style] of [hoverStyle, pressStyle, focusStyle, base].entries()) {\n if (!style) continue\n const pseudo = pseudosOrdered[index]\n res = [...res, ...getAtomicStyle(style, pseudo)]\n }\n return res\n}\n\nconst cache = new Map()\n\nexport function getAtomicStyle(\n style: ViewOrTextStyle,\n pseudo?: PseudoDescriptor\n): StyleObject[] {\n if (!style) return []\n const key = JSON.stringify(style) + (pseudo ? JSON.stringify(pseudo) : '')\n if (cache.has(key)) {\n return cache.get(key)\n }\n if (cache.size > 800) {\n cache.clear()\n }\n if (process.env.NODE_ENV === 'development') {\n if (!style || typeof style !== 'object') {\n throw new Error(`Wrong style type: \"${typeof style}\": ${style}`)\n }\n }\n const out = generateAtomicStyles(style, pseudo)\n cache.set(key, out)\n return out\n}\n\nlet conf: TamaguiInternalConfig\n\nconst generateAtomicStyles = (\n styleIn: ViewStyle & TextStyle,\n pseudo?: PseudoDescriptor\n): StyleObject[] => {\n conf = conf || getConfig()\n\n // were converting to css styles\n const style = styleIn as Record<string, string | null | undefined>\n\n // transform\n if (style.transform && Array.isArray(style.transform)) {\n style.transform = style.transform\n .map(\n // { scale: 2 } => 'scale(2)'\n // { translateX: 20 } => 'translateX(20px)'\n // { matrix: [1,2,3,4,5,6] } => 'matrix(1,2,3,4,5,6)'\n (transform) => {\n const type = Object.keys(transform)[0]\n const value = transform[type]\n if (type === 'matrix' || type === 'matrix3d') {\n return `${type}(${value.join(',')})`\n }\n return `${type}(${normalizeValueWithProperty(value, type)})`\n }\n )\n .join(' ')\n }\n\n styleToCSS(style)\n\n const out: StyleObject[] = []\n for (const key in style) {\n const value = style[key]\n if (value == null || value == undefined) continue\n const hash = presetHashes[value]\n ? value\n : typeof value === 'string'\n ? simpleHash(value)\n : `${value}`.replace('.', 'dot')\n\n const pseudoPrefix = pseudo ? `0${pseudo.name}-` : ''\n const shortProp = conf.inverseShorthands[key] || key\n const identifier = `_${shortProp}-${pseudoPrefix}${hash}`\n const rules = createAtomicRules(identifier, key, value, pseudo)\n const styleObject: StyleObject = {\n property: key,\n pseudo: pseudo?.name as any,\n value,\n identifier,\n rules,\n }\n out.push(styleObject)\n }\n\n return out\n}\n\nconst presetHashes = {\n none: true,\n}\n\nconst n = normalizeValueWithProperty\n\nexport function styleToCSS(style: Record<string, any>) {\n // box-shadow\n const { shadowOffset, shadowRadius, shadowColor } = style\n if (style.shadowRadius !== undefined) {\n const offset = shadowOffset || defaultOffset\n const shadow = `${n(offset.width)} ${n(offset.height)} ${n(\n shadowRadius\n )} ${shadowColor}`\n style.boxShadow = style.boxShadow ? `${style.boxShadow}, ${shadow}` : shadow\n style.shadowOffset = undefined\n style.shadowRadius = undefined\n style.shadowColor = undefined\n }\n\n // text-shadow\n const { textShadowColor, textShadowOffset, textShadowRadius } = style\n if (textShadowColor || textShadowOffset || textShadowRadius) {\n const { height, width } = textShadowOffset || defaultOffset\n const radius = textShadowRadius || 0\n const color = normalizeValueWithProperty(textShadowColor, 'textShadowColor')\n if (color && (height !== 0 || width !== 0 || radius !== 0)) {\n const blurRadius = normalizeValueWithProperty(radius)\n const offsetX = normalizeValueWithProperty(width)\n const offsetY = normalizeValueWithProperty(height)\n style.textShadow = `${offsetX} ${offsetY} ${blurRadius} ${color}`\n }\n style.textShadowColor = undefined\n style.textShadowOffset = undefined\n style.textShadowRadius = undefined\n }\n}\n\nfunction createDeclarationBlock(style: Record<string, any>, important = false) {\n let next = ''\n for (const key in style) {\n const prop = hyphenateStyleName(key)\n const value = style[key]\n next += `${prop}:${value}${important ? ' !important' : ''};`\n }\n return `{${next}}`\n}\n\nconst hcache = {}\nconst toHyphenLower = (match: string) => `-${match.toLowerCase()}`\nconst hyphenateStyleName = (key: string) => {\n let val = hcache[key]\n if (val) return val\n hcache[key] = val = key.replace(/[A-Z]/g, toHyphenLower)\n return val\n}\n\nconst pseudoSelectorPrefixes = (() => {\n const res: Record<string, string> = {}\n for (const key in pseudoDescriptors) {\n const pseudo = pseudoDescriptors[key]\n res[pseudo.name] = `${[...Array(pseudo.priority)].map(() => ':root').join('')} `\n }\n return res\n})()\n\nfunction createAtomicRules(\n identifier: string,\n property: string,\n value: any,\n pseudo?: PseudoDescriptor\n): string[] {\n const selector = pseudo\n ? `${pseudoSelectorPrefixes[pseudo.name]} .${identifier}:${pseudo.name}`\n : `.${identifier}`\n const important = !!pseudo\n\n let rules: string[] = []\n\n // Handle non-standard properties and object values that require multiple\n // CSS rules to be created.\n switch (property) {\n // Equivalent to using '::placeholder'\n case 'placeholderTextColor': {\n const block = createDeclarationBlock({ color: value, opacity: 1 }, important)\n rules.push(`${selector}::placeholder${block}`)\n break\n }\n\n // all webkit prefixed rules\n case 'backgroundClip':\n case 'userSelect': {\n const propertyCapitalized = `${property[0].toUpperCase()}${property.slice(1)}`\n const webkitProperty = `Webkit${propertyCapitalized}`\n const block = createDeclarationBlock(\n { [property]: value, [webkitProperty]: value },\n important\n )\n rules.push(`${selector}${block}`)\n break\n }\n\n // Polyfill for additional 'pointer-events' values\n case 'pointerEvents': {\n let finalValue = value\n if (value === 'auto' || value === 'box-only') {\n finalValue = 'auto'\n if (value === 'box-only') {\n rules.push(`${selector}>*${boxOnly}`)\n }\n } else if (value === 'none' || value === 'box-none') {\n finalValue = 'none'\n if (value === 'box-none') {\n rules.push(`${selector}>*${boxNone}`)\n }\n }\n const block = createDeclarationBlock({ pointerEvents: finalValue }, true)\n rules.push(`${selector}${block}`)\n break\n }\n\n default: {\n const block = createDeclarationBlock({ [property]: value }, important)\n rules.push(`${selector}${block}`)\n break\n }\n }\n\n // hover styles need to be conditional\n // perhaps this can be generalized but for now lets just shortcut\n // and hardcode for hover styles, if we need to later we can\n // WEIRD SYNTAX, SEE:\n // https://stackoverflow.com/questions/40532204/media-query-for-devices-supporting-hover\n if (pseudo && pseudo.name === 'hover') {\n rules = rules.map((r) => `@media not all and (hover: none) { ${r} }`)\n }\n\n return rules\n}\n\nconst boxNone = createDeclarationBlock({ pointerEvents: 'auto' }, true)\nconst boxOnly = createDeclarationBlock({ pointerEvents: 'none' }, true)\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,35 @@
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 getStylesAtomic_native_exports = {};
20
+ __export(getStylesAtomic_native_exports, {
21
+ getStylesAtomic: () => getStylesAtomic,
22
+ startClearStyleCacheInterval: () => startClearStyleCacheInterval
23
+ });
24
+ module.exports = __toCommonJS(getStylesAtomic_native_exports);
25
+ function getStylesAtomic() {
26
+ console.warn("no-op native");
27
+ }
28
+ const startClearStyleCacheInterval = () => {
29
+ };
30
+ // Annotate the CommonJS export names for ESM import in node:
31
+ 0 && (module.exports = {
32
+ getStylesAtomic,
33
+ startClearStyleCacheInterval
34
+ });
35
+ //# sourceMappingURL=getStylesAtomic.native.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/getStylesAtomic.native.ts"],
4
+ "sourcesContent": ["export function getStylesAtomic() {\n // eslint-disable-next-line no-console\n console.warn('no-op native')\n}\n\nexport const startClearStyleCacheInterval = () => {}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAAS,kBAAkB;AAEhC,UAAQ,KAAK,cAAc;AAC7B;AAEO,MAAM,+BAA+B,MAAM;AAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,110 @@
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 getThemeCSSRules_exports = {};
20
+ __export(getThemeCSSRules_exports, {
21
+ getThemeCSSRules: () => getThemeCSSRules
22
+ });
23
+ module.exports = __toCommonJS(getThemeCSSRules_exports);
24
+ var import_helpers = require("@tamagui/helpers");
25
+ var import_constants = require("../constants/constants");
26
+ var import_createVariable = require("../createVariable");
27
+ var import_registerCSSVariable = require("./registerCSSVariable");
28
+ function getThemeCSSRules({
29
+ config,
30
+ themeName,
31
+ theme,
32
+ names
33
+ }) {
34
+ const cssRuleSets = [];
35
+ const hasDarkLight = "light" in config.themes && "dark" in config.themes;
36
+ const CNP = `.${import_constants.THEME_CLASSNAME_PREFIX}`;
37
+ let vars = "";
38
+ for (const themeKey in theme) {
39
+ const variable = theme[themeKey];
40
+ let value = null;
41
+ if (!import_registerCSSVariable.tokensValueToVariable.has(variable.val)) {
42
+ value = variable.val;
43
+ } else {
44
+ value = import_registerCSSVariable.tokensValueToVariable.get(variable.val).variable;
45
+ }
46
+ vars += `--${(0, import_helpers.simpleHash)(themeKey, 40)}:${value};`;
47
+ }
48
+ const isDarkOrLightBase = themeName === "dark" || themeName === "light";
49
+ const selectors = names.map((name) => {
50
+ return `${CNP}${name}`;
51
+ });
52
+ if (hasDarkLight) {
53
+ for (const subName of names) {
54
+ const isDark = isDarkOrLightBase || subName.startsWith("dark_");
55
+ const max = config.maxDarkLightNesting ?? 3;
56
+ if (!(isDark || subName.startsWith("light_"))) {
57
+ selectors.push(`:root:root ${CNP}${subName}`);
58
+ continue;
59
+ }
60
+ const childSelector = `${CNP}${subName.replace(isDark ? "dark_" : "light_", "")}`;
61
+ const order = isDark ? ["dark", "light"] : ["light", "dark"];
62
+ if (isDarkOrLightBase) {
63
+ order.reverse();
64
+ }
65
+ const [stronger, weaker] = order;
66
+ const numSelectors = Math.round(max * 1.5);
67
+ for (let pi = 0; pi < numSelectors; pi++) {
68
+ const isOdd = pi % 2 === 1;
69
+ if (isOdd && pi < 3)
70
+ continue;
71
+ const parents = new Array(pi + 1).fill(void 0).map((_, psi) => {
72
+ return `${CNP}${psi % 2 === 0 ? stronger : weaker}`;
73
+ });
74
+ let parentSelectors = parents.length > 1 ? parents.slice(1) : parents;
75
+ if (isOdd) {
76
+ const [_first, second, ...rest] = parentSelectors;
77
+ parentSelectors = [second, ...rest, second];
78
+ }
79
+ const lastParentSelector = parentSelectors[parentSelectors.length - 1];
80
+ selectors.push(
81
+ `${parentSelectors.join(" ")} ${childSelector === lastParentSelector ? "" : childSelector}`
82
+ );
83
+ }
84
+ }
85
+ }
86
+ const selectorsString = selectors.map((x) => {
87
+ const isBaseTheme = x === ".t_dark" || x === ".t_light" || x.startsWith(".t_dark ") || x.startsWith(".t_light ");
88
+ const rootSep = isBaseTheme && config.themeClassNameOnRoot ? "" : " ";
89
+ return `:root${rootSep}${x}`;
90
+ });
91
+ const css = `${selectorsString.join(", ")} {${vars}}`;
92
+ cssRuleSets.push(css);
93
+ if (config.shouldAddPrefersColorThemes && isDarkOrLightBase) {
94
+ const isDark = themeName.startsWith("dark");
95
+ cssRuleSets.push(
96
+ `@media(prefers-color-scheme: ${isDark ? "dark" : "light"}) {
97
+ body { background:${(0, import_createVariable.variableToString)(theme.background)}; color: ${(0, import_createVariable.variableToString)(
98
+ theme.color
99
+ )} }
100
+ :root {${vars} }
101
+ }`
102
+ );
103
+ }
104
+ return cssRuleSets;
105
+ }
106
+ // Annotate the CommonJS export names for ESM import in node:
107
+ 0 && (module.exports = {
108
+ getThemeCSSRules
109
+ });
110
+ //# sourceMappingURL=getThemeCSSRules.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/getThemeCSSRules.ts"],
4
+ "sourcesContent": ["import { simpleHash } from '@tamagui/helpers'\n\nimport { THEME_CLASSNAME_PREFIX } from '../constants/constants'\nimport { Variable, variableToString } from '../createVariable'\nimport { CreateTamaguiProps, ThemeParsed } from '../types'\nimport { tokensValueToVariable } from './registerCSSVariable'\n\nexport function getThemeCSSRules({\n config,\n themeName,\n theme,\n names,\n}: {\n config: CreateTamaguiProps\n themeName: string\n theme: ThemeParsed\n names: string[]\n}) {\n const cssRuleSets: string[] = []\n\n // special case for SSR\n const hasDarkLight = 'light' in config.themes && 'dark' in config.themes\n const CNP = `.${THEME_CLASSNAME_PREFIX}`\n let vars = ''\n\n // themeToVariableToValueMap.set(theme, {})\n // const varToValMap = themeToVariableToValueMap.get(theme)\n for (const themeKey in theme) {\n const variable = theme[themeKey] as Variable\n let value: any = null\n // if (varToValMap) {\n // varToValMap[variable.variable] = variable.val\n // }\n if (!tokensValueToVariable.has(variable.val)) {\n value = variable.val\n } else {\n value = tokensValueToVariable.get(variable.val)!.variable\n }\n // Hash themeKey in case it has invalid chars too\n vars += `--${simpleHash(themeKey, 40)}:${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 max = config.maxDarkLightNesting ?? 3\n\n if (!(isDark || subName.startsWith('light_'))) {\n // neither light nor dark subtheme, just generate one selector with :root:root which\n // will override all :root light/dark selectors generated below\n selectors.push(`:root:root ${CNP}${subName}`)\n continue\n }\n\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 numSelectors = Math.round(max * 1.5)\n\n for (let pi = 0; pi < numSelectors; pi++) {\n const isOdd = pi % 2 === 1\n if (isOdd && pi < 3) continue\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 // avoid .t_light .t_light at the end (make sure child is unique from last parent)\n const lastParentSelector = parentSelectors[parentSelectors.length - 1]\n selectors.push(\n `${parentSelectors.join(' ')} ${\n childSelector === lastParentSelector ? '' : childSelector\n }`\n )\n }\n }\n }\n\n const selectorsString = selectors.map((x) => {\n // only do our :root attach if it's not light/dark - not support sub themes on root saves a lot of effort/size\n // this isBaseTheme logic could probably be done more efficiently above\n const isBaseTheme =\n x === '.t_dark' ||\n x === '.t_light' ||\n x.startsWith('.t_dark ') ||\n x.startsWith('.t_light ')\n const rootSep = isBaseTheme && config.themeClassNameOnRoot ? '' : ' '\n return `:root${rootSep}${x}`\n })\n const css = `${selectorsString.join(', ')} {${vars}}`\n cssRuleSets.push(css)\n\n if (config.shouldAddPrefersColorThemes && isDarkOrLightBase) {\n // add media prefers for dark/light base\n const isDark = themeName.startsWith('dark')\n cssRuleSets.push(\n `@media(prefers-color-scheme: ${isDark ? 'dark' : 'light'}) {\nbody { background:${variableToString(theme.background)}; color: ${variableToString(\n theme.color\n )} }\n:root {${vars} } \n}`\n )\n }\n\n return cssRuleSets\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,31 @@
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 getThemeCSSRules_native_exports = {};
20
+ __export(getThemeCSSRules_native_exports, {
21
+ getThemeCSSRules: () => getThemeCSSRules
22
+ });
23
+ module.exports = __toCommonJS(getThemeCSSRules_native_exports);
24
+ function getThemeCSSRules() {
25
+ return [];
26
+ }
27
+ // Annotate the CommonJS export names for ESM import in node:
28
+ 0 && (module.exports = {
29
+ getThemeCSSRules
30
+ });
31
+ //# sourceMappingURL=getThemeCSSRules.native.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/getThemeCSSRules.native.ts"],
4
+ "sourcesContent": ["export function getThemeCSSRules() {\n return []\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAAS,mBAAmB;AACjC,SAAO,CAAC;AACV;",
6
+ "names": []
7
+ }