@yahoo/uds 3.117.0 → 3.117.2

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 (377) hide show
  1. package/dist/automated-config/dist/utils/getConfigVariantComponentStatesMatrix.cjs +2 -3
  2. package/dist/automated-config/dist/utils/getConfigVariantProperties.cjs +2 -3
  3. package/dist/automated-config/dist/utils/getConfigVariants.cjs +2 -3
  4. package/dist/automated-config/dist/utils/index.cjs +3 -6
  5. package/dist/components/client/Menu/Menu.ItemCheckbox.d.cts +1 -1
  6. package/dist/components/client/Menu/Menu.ItemCheckbox.d.ts +1 -1
  7. package/dist/styles/styler.d.cts +53 -53
  8. package/dist/styles/styler.d.ts +53 -53
  9. package/dist/tailwind/dist/_virtual/_rolldown/runtime.cjs +27 -8
  10. package/dist/tailwind/dist/_virtual/_rolldown/runtime.js +3 -6
  11. package/dist/tailwind/dist/cli.cjs +11 -0
  12. package/dist/tailwind/dist/cli.d.cts +6 -0
  13. package/dist/tailwind/dist/cli.d.ts +6 -0
  14. package/dist/tailwind/dist/cli.js +7 -0
  15. package/dist/tailwind/dist/commands/css.cjs +36 -37
  16. package/dist/tailwind/dist/commands/css.d.cts +14 -0
  17. package/dist/tailwind/dist/commands/css.d.cts.map +1 -0
  18. package/dist/tailwind/dist/commands/css.d.ts +14 -0
  19. package/dist/tailwind/dist/commands/css.d.ts.map +1 -0
  20. package/dist/tailwind/dist/commands/css.helpers.cjs +2 -3
  21. package/dist/tailwind/dist/commands/css.helpers.js +3 -3
  22. package/dist/tailwind/dist/commands/css.helpers.js.map +1 -0
  23. package/dist/tailwind/dist/commands/css.js +5 -6
  24. package/dist/tailwind/dist/commands/css.js.map +1 -0
  25. package/dist/tailwind/dist/commands/generateComponentData.cjs +13 -14
  26. package/dist/tailwind/dist/commands/generateComponentData.d.cts +24 -0
  27. package/dist/tailwind/dist/commands/generateComponentData.d.cts.map +1 -0
  28. package/dist/tailwind/dist/commands/generateComponentData.d.ts +22 -1
  29. package/dist/tailwind/dist/commands/generateComponentData.d.ts.map +1 -0
  30. package/dist/tailwind/dist/commands/generateComponentData.js +6 -6
  31. package/dist/tailwind/dist/commands/generateComponentData.js.map +1 -0
  32. package/dist/tailwind/dist/commands/generatePurgeCSSData.cjs +5 -7
  33. package/dist/tailwind/dist/commands/generatePurgeCSSData.d.cts +15 -0
  34. package/dist/tailwind/dist/commands/generatePurgeCSSData.d.cts.map +1 -0
  35. package/dist/tailwind/dist/commands/generatePurgeCSSData.d.ts +15 -0
  36. package/dist/tailwind/dist/commands/generatePurgeCSSData.d.ts.map +1 -0
  37. package/dist/tailwind/dist/commands/generatePurgeCSSData.js +5 -6
  38. package/dist/tailwind/dist/commands/generatePurgeCSSData.js.map +1 -0
  39. package/dist/tailwind/dist/commands/purge.cjs +15 -16
  40. package/dist/tailwind/dist/commands/purge.d.cts +17 -0
  41. package/dist/tailwind/dist/commands/purge.d.cts.map +1 -0
  42. package/dist/tailwind/dist/commands/purge.d.ts +17 -0
  43. package/dist/tailwind/dist/commands/purge.d.ts.map +1 -0
  44. package/dist/tailwind/dist/commands/purge.js +5 -6
  45. package/dist/tailwind/dist/commands/purge.js.map +1 -0
  46. package/dist/tailwind/dist/css/generate.cjs +13 -16
  47. package/dist/tailwind/dist/css/generate.d.cts +3 -4
  48. package/dist/tailwind/dist/css/generate.d.cts.map +1 -0
  49. package/dist/tailwind/dist/css/generate.d.ts +3 -4
  50. package/dist/tailwind/dist/css/generate.d.ts.map +1 -0
  51. package/dist/tailwind/dist/css/generate.helpers.cjs +6 -6
  52. package/dist/tailwind/dist/css/generate.helpers.js +7 -6
  53. package/dist/tailwind/dist/css/generate.helpers.js.map +1 -0
  54. package/dist/tailwind/dist/css/generate.js +7 -9
  55. package/dist/tailwind/dist/css/generate.js.map +1 -0
  56. package/dist/tailwind/dist/css/nodeUtils.cjs +14 -16
  57. package/dist/tailwind/dist/css/nodeUtils.js +6 -7
  58. package/dist/tailwind/dist/css/nodeUtils.js.map +1 -0
  59. package/dist/tailwind/dist/css/postcss.cjs +2 -3
  60. package/dist/tailwind/dist/css/postcss.helpers.cjs +2 -3
  61. package/dist/tailwind/dist/css/postcss.helpers.js +3 -3
  62. package/dist/tailwind/dist/css/postcss.helpers.js.map +1 -0
  63. package/dist/tailwind/dist/css/postcss.js +4 -4
  64. package/dist/tailwind/dist/css/postcss.js.map +1 -0
  65. package/dist/tailwind/dist/css/runner.cjs +40 -35
  66. package/dist/tailwind/dist/css/runner.helpers.cjs +3 -4
  67. package/dist/tailwind/dist/css/runner.helpers.js +4 -4
  68. package/dist/tailwind/dist/css/runner.helpers.js.map +1 -0
  69. package/dist/tailwind/dist/css/runner.js +17 -11
  70. package/dist/tailwind/dist/css/runner.js.map +1 -0
  71. package/dist/tailwind/dist/css/theme.cjs +2 -3
  72. package/dist/tailwind/dist/css/theme.d.cts +13 -5
  73. package/dist/tailwind/dist/css/theme.d.cts.map +1 -0
  74. package/dist/tailwind/dist/css/theme.d.ts +13 -5
  75. package/dist/tailwind/dist/css/theme.d.ts.map +1 -0
  76. package/dist/tailwind/dist/css/theme.js +3 -3
  77. package/dist/tailwind/dist/css/theme.js.map +1 -0
  78. package/dist/tailwind/dist/css/utils.cjs +5 -5
  79. package/dist/tailwind/dist/css/utils.js +5 -5
  80. package/dist/tailwind/dist/css/utils.js.map +1 -0
  81. package/dist/tailwind/dist/index.cjs +9 -0
  82. package/dist/tailwind/dist/index.d.cts +3 -2
  83. package/dist/tailwind/dist/index.d.ts +3 -2
  84. package/dist/tailwind/dist/index.js +6 -0
  85. package/dist/tailwind/dist/plugin.cjs +7 -6
  86. package/dist/tailwind/dist/plugin.d.cts +3 -3
  87. package/dist/tailwind/dist/plugin.d.cts.map +1 -0
  88. package/dist/tailwind/dist/plugin.d.ts +3 -3
  89. package/dist/tailwind/dist/plugin.d.ts.map +1 -0
  90. package/dist/tailwind/dist/plugin.js +4 -4
  91. package/dist/tailwind/dist/plugin.js.map +1 -0
  92. package/dist/tailwind/dist/purger/legacy/index.d.ts +2 -0
  93. package/dist/tailwind/dist/purger/legacy/purgeCSS.cjs +25 -24
  94. package/dist/tailwind/dist/purger/legacy/purgeCSS.d.cts +24 -0
  95. package/dist/tailwind/dist/purger/legacy/purgeCSS.d.cts.map +1 -0
  96. package/dist/tailwind/dist/purger/legacy/purgeCSS.d.ts +24 -0
  97. package/dist/tailwind/dist/purger/legacy/purgeCSS.d.ts.map +1 -0
  98. package/dist/tailwind/dist/purger/legacy/purgeCSS.js +8 -9
  99. package/dist/tailwind/dist/purger/legacy/purgeCSS.js.map +1 -0
  100. package/dist/tailwind/dist/purger/legacy/purgeFromCode.cjs +59 -0
  101. package/dist/tailwind/dist/purger/legacy/purgeFromCode.d.cts +28 -0
  102. package/dist/tailwind/dist/purger/legacy/purgeFromCode.d.cts.map +1 -0
  103. package/dist/tailwind/dist/purger/legacy/purgeFromCode.d.ts +28 -0
  104. package/dist/tailwind/dist/purger/legacy/purgeFromCode.d.ts.map +1 -0
  105. package/dist/tailwind/dist/purger/legacy/purgeFromCode.js +59 -0
  106. package/dist/tailwind/dist/purger/legacy/purgeFromCode.js.map +1 -0
  107. package/dist/tailwind/dist/purger/optimized/ast/expressions.cjs +5 -6
  108. package/dist/tailwind/dist/purger/optimized/ast/expressions.d.ts +2 -0
  109. package/dist/tailwind/dist/purger/optimized/ast/expressions.js +5 -5
  110. package/dist/tailwind/dist/purger/optimized/ast/expressions.js.map +1 -0
  111. package/dist/tailwind/dist/purger/optimized/ast/index.d.ts +5 -0
  112. package/dist/tailwind/dist/purger/optimized/ast/jsx.cjs +3 -4
  113. package/dist/tailwind/dist/purger/optimized/ast/jsx.d.ts +3 -0
  114. package/dist/tailwind/dist/purger/optimized/ast/jsx.js +4 -4
  115. package/dist/tailwind/dist/purger/optimized/ast/jsx.js.map +1 -0
  116. package/dist/tailwind/dist/purger/optimized/ast/props.d.ts +2 -0
  117. package/dist/tailwind/dist/purger/optimized/ast/spread.d.ts +3 -0
  118. package/dist/tailwind/dist/purger/optimized/index.d.ts +6 -0
  119. package/dist/tailwind/dist/purger/optimized/purge.cjs +5 -6
  120. package/dist/tailwind/dist/purger/optimized/purge.d.ts +2 -0
  121. package/dist/tailwind/dist/purger/optimized/purge.js +5 -5
  122. package/dist/tailwind/dist/purger/optimized/purge.js.map +1 -0
  123. package/dist/tailwind/dist/purger/optimized/purgeFromCode.cjs +3 -4
  124. package/dist/tailwind/dist/purger/optimized/purgeFromCode.d.cts +58 -0
  125. package/dist/tailwind/dist/purger/optimized/purgeFromCode.d.cts.map +1 -0
  126. package/dist/tailwind/dist/purger/optimized/purgeFromCode.d.ts +58 -0
  127. package/dist/tailwind/dist/purger/optimized/purgeFromCode.d.ts.map +1 -0
  128. package/dist/tailwind/dist/purger/optimized/purgeFromCode.js +4 -4
  129. package/dist/tailwind/dist/purger/optimized/purgeFromCode.js.map +1 -0
  130. package/dist/tailwind/dist/purger/optimized/types.d.cts +22 -0
  131. package/dist/tailwind/dist/purger/optimized/types.d.cts.map +1 -0
  132. package/dist/tailwind/dist/purger/optimized/types.d.ts +23 -0
  133. package/dist/tailwind/dist/purger/optimized/types.d.ts.map +1 -0
  134. package/dist/tailwind/dist/purger/optimized/utils/componentAnalyzer.cjs +8 -9
  135. package/dist/tailwind/dist/purger/optimized/utils/componentAnalyzer.js +7 -7
  136. package/dist/tailwind/dist/purger/optimized/utils/componentAnalyzer.js.map +1 -0
  137. package/dist/tailwind/dist/purger/optimized/utils/files.cjs +3 -4
  138. package/dist/tailwind/dist/purger/optimized/utils/files.d.ts +2 -0
  139. package/dist/tailwind/dist/purger/optimized/utils/files.js +4 -4
  140. package/dist/tailwind/dist/purger/optimized/utils/files.js.map +1 -0
  141. package/dist/tailwind/dist/purger/optimized/utils/safelist.cjs +7 -8
  142. package/dist/tailwind/dist/purger/optimized/utils/safelist.js +6 -6
  143. package/dist/tailwind/dist/purger/optimized/utils/safelist.js.map +1 -0
  144. package/dist/tailwind/dist/purger.cjs +7 -0
  145. package/dist/tailwind/dist/purger.d.cts +4 -0
  146. package/dist/tailwind/dist/purger.d.ts +6 -0
  147. package/dist/tailwind/dist/purger.js +5 -0
  148. package/dist/tailwind/dist/tailwind/base/addColorModeVars.cjs +10 -10
  149. package/dist/tailwind/dist/tailwind/base/addColorModeVars.js +6 -6
  150. package/dist/tailwind/dist/tailwind/base/addColorModeVars.js.map +1 -0
  151. package/dist/tailwind/dist/tailwind/base/addColorModeVarsV2.cjs +14 -14
  152. package/dist/tailwind/dist/tailwind/base/addColorModeVarsV2.js +6 -6
  153. package/dist/tailwind/dist/tailwind/base/addColorModeVarsV2.js.map +1 -0
  154. package/dist/tailwind/dist/tailwind/base/addFontFaceDeclarations.cjs +2 -3
  155. package/dist/tailwind/dist/tailwind/base/addFontFaceDeclarations.js +4 -4
  156. package/dist/tailwind/dist/tailwind/base/addFontFaceDeclarations.js.map +1 -0
  157. package/dist/tailwind/dist/tailwind/base/addFontVars.cjs +2 -3
  158. package/dist/tailwind/dist/tailwind/base/addFontVars.js +4 -4
  159. package/dist/tailwind/dist/tailwind/base/addFontVars.js.map +1 -0
  160. package/dist/tailwind/dist/tailwind/base/addMotionVars.cjs +2 -3
  161. package/dist/tailwind/dist/tailwind/base/addMotionVars.js +4 -4
  162. package/dist/tailwind/dist/tailwind/base/addMotionVars.js.map +1 -0
  163. package/dist/tailwind/dist/tailwind/base/addScaleModeVars.cjs +13 -13
  164. package/dist/tailwind/dist/tailwind/base/addScaleModeVars.js +6 -6
  165. package/dist/tailwind/dist/tailwind/base/addScaleModeVars.js.map +1 -0
  166. package/dist/tailwind/dist/tailwind/components/getFocusRingStyles.cjs +6 -6
  167. package/dist/tailwind/dist/tailwind/components/getFocusRingStyles.js +5 -5
  168. package/dist/tailwind/dist/tailwind/components/getFocusRingStyles.js.map +1 -0
  169. package/dist/tailwind/dist/tailwind/components/getGroupedTextStyles.cjs +12 -12
  170. package/dist/tailwind/dist/tailwind/components/getGroupedTextStyles.js +6 -6
  171. package/dist/tailwind/dist/tailwind/components/getGroupedTextStyles.js.map +1 -0
  172. package/dist/tailwind/dist/tailwind/components/getHitTargetStyles.cjs +2 -3
  173. package/dist/tailwind/dist/tailwind/components/getHitTargetStyles.js +3 -3
  174. package/dist/tailwind/dist/tailwind/components/getHitTargetStyles.js.map +1 -0
  175. package/dist/tailwind/dist/tailwind/components/getIconStyles.cjs +2 -3
  176. package/dist/tailwind/dist/tailwind/components/getIconStyles.js +3 -3
  177. package/dist/tailwind/dist/tailwind/components/getIconStyles.js.map +1 -0
  178. package/dist/tailwind/dist/tailwind/components/getInputStyles.cjs +2 -3
  179. package/dist/tailwind/dist/tailwind/components/getInputStyles.d.cts +3 -3
  180. package/dist/tailwind/dist/tailwind/components/getInputStyles.d.cts.map +1 -0
  181. package/dist/tailwind/dist/tailwind/components/getInputStyles.d.ts +3 -3
  182. package/dist/tailwind/dist/tailwind/components/getInputStyles.d.ts.map +1 -0
  183. package/dist/tailwind/dist/tailwind/components/getInputStyles.js +3 -3
  184. package/dist/tailwind/dist/tailwind/components/getInputStyles.js.map +1 -0
  185. package/dist/tailwind/dist/tailwind/components/getResponsiveTextStyles.cjs +29 -29
  186. package/dist/tailwind/dist/tailwind/components/getResponsiveTextStyles.d.cts +6 -4
  187. package/dist/tailwind/dist/tailwind/components/getResponsiveTextStyles.d.cts.map +1 -0
  188. package/dist/tailwind/dist/tailwind/components/getResponsiveTextStyles.d.ts +6 -4
  189. package/dist/tailwind/dist/tailwind/components/getResponsiveTextStyles.d.ts.map +1 -0
  190. package/dist/tailwind/dist/tailwind/components/getResponsiveTextStyles.js +8 -8
  191. package/dist/tailwind/dist/tailwind/components/getResponsiveTextStyles.js.map +1 -0
  192. package/dist/tailwind/dist/tailwind/components/types.d.cts +3 -3
  193. package/dist/tailwind/dist/tailwind/components/types.d.cts.map +1 -0
  194. package/dist/tailwind/dist/tailwind/components/types.d.ts +3 -3
  195. package/dist/tailwind/dist/tailwind/components/types.d.ts.map +1 -0
  196. package/dist/tailwind/dist/tailwind/defaultTailwindThemeAsUdsConfig.cjs +2 -3
  197. package/dist/tailwind/dist/tailwind/defaultTailwindThemeAsUdsConfig.d.cts +6 -6
  198. package/dist/tailwind/dist/tailwind/defaultTailwindThemeAsUdsConfig.d.cts.map +1 -0
  199. package/dist/tailwind/dist/tailwind/defaultTailwindThemeAsUdsConfig.d.ts +6 -6
  200. package/dist/tailwind/dist/tailwind/defaultTailwindThemeAsUdsConfig.d.ts.map +1 -0
  201. package/dist/tailwind/dist/tailwind/defaultTailwindThemeAsUdsConfig.js +3 -3
  202. package/dist/tailwind/dist/tailwind/defaultTailwindThemeAsUdsConfig.js.map +1 -0
  203. package/dist/tailwind/dist/tailwind/plugins/a11y.cjs +3 -4
  204. package/dist/tailwind/dist/tailwind/plugins/a11y.js +4 -4
  205. package/dist/tailwind/dist/tailwind/plugins/a11y.js.map +1 -0
  206. package/dist/tailwind/dist/tailwind/plugins/blurBgFallback.cjs +7 -8
  207. package/dist/tailwind/dist/tailwind/plugins/blurBgFallback.js +5 -5
  208. package/dist/tailwind/dist/tailwind/plugins/blurBgFallback.js.map +1 -0
  209. package/dist/tailwind/dist/tailwind/plugins/borderRadius.cjs +8 -9
  210. package/dist/tailwind/dist/tailwind/plugins/borderRadius.js +7 -7
  211. package/dist/tailwind/dist/tailwind/plugins/borderRadius.js.map +1 -0
  212. package/dist/tailwind/dist/tailwind/plugins/borderWidth.cjs +8 -9
  213. package/dist/tailwind/dist/tailwind/plugins/borderWidth.js +7 -7
  214. package/dist/tailwind/dist/tailwind/plugins/borderWidth.js.map +1 -0
  215. package/dist/tailwind/dist/tailwind/plugins/breakpoints.cjs +3 -4
  216. package/dist/tailwind/dist/tailwind/plugins/breakpoints.js +4 -4
  217. package/dist/tailwind/dist/tailwind/plugins/breakpoints.js.map +1 -0
  218. package/dist/tailwind/dist/tailwind/plugins/colors.cjs +17 -17
  219. package/dist/tailwind/dist/tailwind/plugins/colors.js +9 -9
  220. package/dist/tailwind/dist/tailwind/plugins/colors.js.map +1 -0
  221. package/dist/tailwind/dist/tailwind/plugins/components.cjs +25 -26
  222. package/dist/tailwind/dist/tailwind/plugins/components.js +7 -7
  223. package/dist/tailwind/dist/tailwind/plugins/components.js.map +1 -0
  224. package/dist/tailwind/dist/tailwind/plugins/elevation.cjs +7 -8
  225. package/dist/tailwind/dist/tailwind/plugins/elevation.js +6 -6
  226. package/dist/tailwind/dist/tailwind/plugins/elevation.js.map +1 -0
  227. package/dist/tailwind/dist/tailwind/plugins/getTailwindAsUdsColors.cjs +5 -5
  228. package/dist/tailwind/dist/tailwind/plugins/getTailwindAsUdsColors.js +5 -5
  229. package/dist/tailwind/dist/tailwind/plugins/getTailwindAsUdsColors.js.map +1 -0
  230. package/dist/tailwind/dist/tailwind/plugins/icons.cjs +3 -4
  231. package/dist/tailwind/dist/tailwind/plugins/icons.js +4 -4
  232. package/dist/tailwind/dist/tailwind/plugins/icons.js.map +1 -0
  233. package/dist/tailwind/dist/tailwind/plugins/input.cjs +3 -4
  234. package/dist/tailwind/dist/tailwind/plugins/input.js +4 -4
  235. package/dist/tailwind/dist/tailwind/plugins/input.js.map +1 -0
  236. package/dist/tailwind/dist/tailwind/plugins/motion.cjs +3 -4
  237. package/dist/tailwind/dist/tailwind/plugins/motion.js +4 -4
  238. package/dist/tailwind/dist/tailwind/plugins/motion.js.map +1 -0
  239. package/dist/tailwind/dist/tailwind/plugins/nestedBorderRadius.cjs +3 -4
  240. package/dist/tailwind/dist/tailwind/plugins/nestedBorderRadius.js +4 -4
  241. package/dist/tailwind/dist/tailwind/plugins/nestedBorderRadius.js.map +1 -0
  242. package/dist/tailwind/dist/tailwind/plugins/scaleMode.cjs +3 -4
  243. package/dist/tailwind/dist/tailwind/plugins/scaleMode.js +4 -4
  244. package/dist/tailwind/dist/tailwind/plugins/scaleMode.js.map +1 -0
  245. package/dist/tailwind/dist/tailwind/plugins/shadows.cjs +8 -9
  246. package/dist/tailwind/dist/tailwind/plugins/shadows.js +5 -5
  247. package/dist/tailwind/dist/tailwind/plugins/shadows.js.map +1 -0
  248. package/dist/tailwind/dist/tailwind/plugins/sizing.cjs +5 -6
  249. package/dist/tailwind/dist/tailwind/plugins/sizing.js +5 -5
  250. package/dist/tailwind/dist/tailwind/plugins/sizing.js.map +1 -0
  251. package/dist/tailwind/dist/tailwind/plugins/spacing.cjs +3 -4
  252. package/dist/tailwind/dist/tailwind/plugins/spacing.js +4 -4
  253. package/dist/tailwind/dist/tailwind/plugins/spacing.js.map +1 -0
  254. package/dist/tailwind/dist/tailwind/plugins/typography.cjs +10 -11
  255. package/dist/tailwind/dist/tailwind/plugins/typography.js +7 -7
  256. package/dist/tailwind/dist/tailwind/plugins/typography.js.map +1 -0
  257. package/dist/tailwind/dist/tailwind/theme/getFontFamilyTheme.cjs +9 -9
  258. package/dist/tailwind/dist/tailwind/theme/getFontFamilyTheme.js +6 -6
  259. package/dist/tailwind/dist/tailwind/theme/getFontFamilyTheme.js.map +1 -0
  260. package/dist/tailwind/dist/tailwind/utils/addFontsPlugin.cjs +3 -4
  261. package/dist/tailwind/dist/tailwind/utils/addFontsPlugin.d.cts +4 -4
  262. package/dist/tailwind/dist/tailwind/utils/addFontsPlugin.d.cts.map +1 -0
  263. package/dist/tailwind/dist/tailwind/utils/addFontsPlugin.d.ts +4 -4
  264. package/dist/tailwind/dist/tailwind/utils/addFontsPlugin.d.ts.map +1 -0
  265. package/dist/tailwind/dist/tailwind/utils/addFontsPlugin.js +4 -4
  266. package/dist/tailwind/dist/tailwind/utils/addFontsPlugin.js.map +1 -0
  267. package/dist/tailwind/dist/tailwind/utils/composeTailwindPlugins.cjs +15 -9
  268. package/dist/tailwind/dist/tailwind/utils/composeTailwindPlugins.d.cts +4 -4
  269. package/dist/tailwind/dist/tailwind/utils/composeTailwindPlugins.d.cts.map +1 -0
  270. package/dist/tailwind/dist/tailwind/utils/composeTailwindPlugins.d.ts +5 -5
  271. package/dist/tailwind/dist/tailwind/utils/composeTailwindPlugins.d.ts.map +1 -0
  272. package/dist/tailwind/dist/tailwind/utils/composeTailwindPlugins.js +7 -7
  273. package/dist/tailwind/dist/tailwind/utils/composeTailwindPlugins.js.map +1 -0
  274. package/dist/tailwind/dist/tailwind/utils/getColorModeStyles.cjs +2 -3
  275. package/dist/tailwind/dist/tailwind/utils/getColorModeStyles.d.cts +3 -3
  276. package/dist/tailwind/dist/tailwind/utils/getColorModeStyles.d.cts.map +1 -0
  277. package/dist/tailwind/dist/tailwind/utils/getColorModeStyles.d.ts +3 -3
  278. package/dist/tailwind/dist/tailwind/utils/getColorModeStyles.d.ts.map +1 -0
  279. package/dist/tailwind/dist/tailwind/utils/getColorModeStyles.js +3 -3
  280. package/dist/tailwind/dist/tailwind/utils/getColorModeStyles.js.map +1 -0
  281. package/dist/tailwind/dist/tailwind/utils/getElevationStyles.cjs +9 -9
  282. package/dist/tailwind/dist/tailwind/utils/getElevationStyles.d.cts +4 -4
  283. package/dist/tailwind/dist/tailwind/utils/getElevationStyles.d.cts.map +1 -0
  284. package/dist/tailwind/dist/tailwind/utils/getElevationStyles.d.ts +4 -4
  285. package/dist/tailwind/dist/tailwind/utils/getElevationStyles.d.ts.map +1 -0
  286. package/dist/tailwind/dist/tailwind/utils/getElevationStyles.js +5 -5
  287. package/dist/tailwind/dist/tailwind/utils/getElevationStyles.js.map +1 -0
  288. package/dist/tailwind/dist/tailwind/utils/getFontFaceDeclarations.cjs +5 -5
  289. package/dist/tailwind/dist/tailwind/utils/getFontFaceDeclarations.d.cts +4 -4
  290. package/dist/tailwind/dist/tailwind/utils/getFontFaceDeclarations.d.cts.map +1 -0
  291. package/dist/tailwind/dist/tailwind/utils/getFontFaceDeclarations.d.ts +4 -4
  292. package/dist/tailwind/dist/tailwind/utils/getFontFaceDeclarations.d.ts.map +1 -0
  293. package/dist/tailwind/dist/tailwind/utils/getFontFaceDeclarations.js +5 -5
  294. package/dist/tailwind/dist/tailwind/utils/getFontFaceDeclarations.js.map +1 -0
  295. package/dist/tailwind/dist/tailwind/utils/getFontStyles.cjs +7 -7
  296. package/dist/tailwind/dist/tailwind/utils/getFontStyles.d.cts +4 -4
  297. package/dist/tailwind/dist/tailwind/utils/getFontStyles.d.cts.map +1 -0
  298. package/dist/tailwind/dist/tailwind/utils/getFontStyles.d.ts +4 -4
  299. package/dist/tailwind/dist/tailwind/utils/getFontStyles.d.ts.map +1 -0
  300. package/dist/tailwind/dist/tailwind/utils/getFontStyles.js +6 -6
  301. package/dist/tailwind/dist/tailwind/utils/getFontStyles.js.map +1 -0
  302. package/dist/tailwind/dist/tailwind/utils/getMotionStyles.cjs +7 -7
  303. package/dist/tailwind/dist/tailwind/utils/getMotionStyles.d.cts +4 -4
  304. package/dist/tailwind/dist/tailwind/utils/getMotionStyles.d.cts.map +1 -0
  305. package/dist/tailwind/dist/tailwind/utils/getMotionStyles.d.ts +4 -4
  306. package/dist/tailwind/dist/tailwind/utils/getMotionStyles.d.ts.map +1 -0
  307. package/dist/tailwind/dist/tailwind/utils/getMotionStyles.js +6 -6
  308. package/dist/tailwind/dist/tailwind/utils/getMotionStyles.js.map +1 -0
  309. package/dist/tailwind/dist/tailwind/utils/getNestedBorderRadiusUtilities.cjs +2 -3
  310. package/dist/tailwind/dist/tailwind/utils/getNestedBorderRadiusUtilities.js +3 -3
  311. package/dist/tailwind/dist/tailwind/utils/getNestedBorderRadiusUtilities.js.map +1 -0
  312. package/dist/tailwind/dist/tailwind/utils/getScaleModeStyles.cjs +2 -3
  313. package/dist/tailwind/dist/tailwind/utils/getScaleModeStyles.d.cts +3 -3
  314. package/dist/tailwind/dist/tailwind/utils/getScaleModeStyles.d.cts.map +1 -0
  315. package/dist/tailwind/dist/tailwind/utils/getScaleModeStyles.d.ts +3 -3
  316. package/dist/tailwind/dist/tailwind/utils/getScaleModeStyles.d.ts.map +1 -0
  317. package/dist/tailwind/dist/tailwind/utils/getScaleModeStyles.js +3 -3
  318. package/dist/tailwind/dist/tailwind/utils/getScaleModeStyles.js.map +1 -0
  319. package/dist/tailwind/dist/tailwind/utils/getShadowPresetValues.cjs +5 -5
  320. package/dist/tailwind/dist/tailwind/utils/getShadowPresetValues.d.cts +5 -5
  321. package/dist/tailwind/dist/tailwind/utils/getShadowPresetValues.d.cts.map +1 -0
  322. package/dist/tailwind/dist/tailwind/utils/getShadowPresetValues.d.ts +5 -5
  323. package/dist/tailwind/dist/tailwind/utils/getShadowPresetValues.d.ts.map +1 -0
  324. package/dist/tailwind/dist/tailwind/utils/getShadowPresetValues.js +5 -5
  325. package/dist/tailwind/dist/tailwind/utils/getShadowPresetValues.js.map +1 -0
  326. package/dist/tailwind/dist/tailwind/utils/getShadowStyles.cjs +6 -6
  327. package/dist/tailwind/dist/tailwind/utils/getShadowStyles.d.cts +5 -5
  328. package/dist/tailwind/dist/tailwind/utils/getShadowStyles.d.cts.map +1 -0
  329. package/dist/tailwind/dist/tailwind/utils/getShadowStyles.d.ts +5 -5
  330. package/dist/tailwind/dist/tailwind/utils/getShadowStyles.d.ts.map +1 -0
  331. package/dist/tailwind/dist/tailwind/utils/getShadowStyles.js +5 -5
  332. package/dist/tailwind/dist/tailwind/utils/getShadowStyles.js.map +1 -0
  333. package/dist/tailwind/dist/utils/assertUnreachable.cjs +2 -3
  334. package/dist/tailwind/dist/utils/assertUnreachable.js +3 -3
  335. package/dist/tailwind/dist/utils/assertUnreachable.js.map +1 -0
  336. package/dist/tailwind/dist/utils/entries.cjs +2 -3
  337. package/dist/tailwind/dist/utils/entries.js +3 -3
  338. package/dist/tailwind/dist/utils/entries.js.map +1 -0
  339. package/dist/tailwind/dist/utils/entryPoints.cjs +5 -6
  340. package/dist/tailwind/dist/utils/entryPoints.js +5 -5
  341. package/dist/tailwind/dist/utils/entryPoints.js.map +1 -0
  342. package/dist/tailwind/dist/utils/fromEntries.cjs +2 -3
  343. package/dist/tailwind/dist/utils/fromEntries.js +3 -3
  344. package/dist/tailwind/dist/utils/fromEntries.js.map +1 -0
  345. package/dist/tailwind/dist/utils/generatePurgeCSSData.cjs +11 -13
  346. package/dist/tailwind/dist/utils/generatePurgeCSSData.js +7 -8
  347. package/dist/tailwind/dist/utils/generatePurgeCSSData.js.map +1 -0
  348. package/dist/tailwind/dist/utils/mapValues.cjs +2 -3
  349. package/dist/tailwind/dist/utils/mapValues.js +3 -3
  350. package/dist/tailwind/dist/utils/mapValues.js.map +1 -0
  351. package/dist/tailwind/dist/utils/opacity.cjs +6 -6
  352. package/dist/tailwind/dist/utils/opacity.js +4 -4
  353. package/dist/tailwind/dist/utils/opacity.js.map +1 -0
  354. package/dist/tailwind/dist/utils/optimizeCSS.cjs +3 -4
  355. package/dist/tailwind/dist/utils/optimizeCSS.js +4 -4
  356. package/dist/tailwind/dist/utils/optimizeCSS.js.map +1 -0
  357. package/dist/tailwind/dist/utils/parseTokens.cjs +32 -32
  358. package/dist/tailwind/dist/utils/parseTokens.d.cts +5 -5
  359. package/dist/tailwind/dist/utils/parseTokens.d.cts.map +1 -0
  360. package/dist/tailwind/dist/utils/parseTokens.d.ts +5 -5
  361. package/dist/tailwind/dist/utils/parseTokens.d.ts.map +1 -0
  362. package/dist/tailwind/dist/utils/parseTokens.js +6 -6
  363. package/dist/tailwind/dist/utils/parseTokens.js.map +1 -0
  364. package/dist/tailwind/dist/utils/postcssPreserveVars.cjs +2 -3
  365. package/dist/tailwind/dist/utils/postcssPreserveVars.js +3 -3
  366. package/dist/tailwind/dist/utils/postcssPreserveVars.js.map +1 -0
  367. package/dist/tailwind/dist/utils/tsMorph.cjs +13 -11
  368. package/dist/tailwind/dist/utils/tsMorph.js +4 -4
  369. package/dist/tailwind/dist/utils/tsMorph.js.map +1 -0
  370. package/dist/tailwind/dist/utils.cjs +25 -0
  371. package/dist/tailwind/dist/utils.d.cts +2 -1
  372. package/dist/tailwind/dist/utils.d.ts +2 -1
  373. package/dist/tailwind/dist/utils.js +13 -0
  374. package/dist/uds/generated/componentData.cjs +145 -145
  375. package/dist/uds/generated/componentData.js +145 -145
  376. package/generated/componentData.json +209 -209
  377. package/package.json +1 -1
@@ -1,7 +1,6 @@
1
- /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
-
3
- //#region ../tailwind/dist/css/theme.js
4
1
  /*! © 2026 Yahoo, Inc. UDS Tailwind and Purger v0.0.0-development */
2
+
3
+ //#region src/css/theme.ts
5
4
  /**
6
5
  * Helper function to define theme configuration with full type support.
7
6
  * Supports both static config objects and dynamic functions.
@@ -1,8 +1,12 @@
1
1
 
2
2
  import { UDSCSSOptions } from "./generate.cjs";
3
3
 
4
- //#region ../tailwind/dist/css/theme.d.ts
5
4
  //#region src/css/theme.d.ts
5
+ type UDSCSSVarSafelistPattern = string | RegExp;
6
+ interface UDSCSSPruneVarsOptions {
7
+ /** CSS variable prefixes or patterns to preserve when pruning is enabled */
8
+ safelist?: UDSCSSVarSafelistPattern[];
9
+ }
6
10
  /**
7
11
  * Context passed to theme config function
8
12
  */
@@ -30,8 +34,11 @@ interface UDSCSSOptimizationOptions {
30
34
  * share fonts with the main app.
31
35
  */
32
36
  deduplicateScopedCss?: boolean;
33
- /** Prune unused CSS variables (default: true) */
34
- pruneVars?: boolean;
37
+ /**
38
+ * Prune unused CSS variables (default: true).
39
+ * Provide an object to keep pruning enabled while safelisting variable prefixes or patterns.
40
+ */
41
+ pruneVars?: boolean | UDSCSSPruneVarsOptions;
35
42
  }
36
43
  /**
37
44
  * Theme configuration structure for uds.theme.ts
@@ -61,6 +68,7 @@ type UDSThemeConfigInput = UDSThemeConfig | ((ctx: UDSThemeContext) => UDSThemeC
61
68
  * Helper function to define theme configuration with full type support.
62
69
  * Supports both static config objects and dynamic functions.
63
70
  */
64
- declare const defineTheme: (config: UDSThemeConfigInput) => UDSThemeConfigInput; //#endregion
71
+ declare const defineTheme: (config: UDSThemeConfigInput) => UDSThemeConfigInput;
65
72
  //#endregion
66
- export { type UDSCSSOptimizationOptions, defineTheme };
73
+ export { type UDSCSSOptimizationOptions, defineTheme };
74
+ //# sourceMappingURL=theme.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.cts","names":[],"sources":["../../src/css/theme.ts"],"mappings":";;;;KAEK,wBAAA,YAAoC,MAAA;AAAA,UAE/B,sBAAA;EAFL;EAIH,QAAA,GAAW,wBAAA;AAAA;;;AAJkC;UAUrC,eAAA;;EAER,GAAA;EARmC;EAUnC,KAAA;AAAA;;;;UAMQ,yBAAA;EAAyB;EAEjC,OAAA;EAiB4C;EAf5C,iBAAA;EAAA;EAEA,gBAAA;EAEA;EAAA,2BAAA;EAWA;;;;AAA4C;EAL5C,oBAAA;;;;;EAKA,SAAA,aAAsB,sBAAA;AAAA;;;;UAMd,cAAA;EAeW;EAbnB,MAAA;EAmBsB;EAjBtB,KAAA;EAkBE;EAhBF,MAAA;EAiB6B;;;;EAZ7B,OAAA;EAWE;EATF,UAAA;EAUI;EARJ,GAAA,GAAM,aAAA;AAAA;;;;KAMH,mBAAA,GACD,cAAA,KACE,GAAA,EAAK,eAAA,KAAoB,cAAA,GAAiB,OAAA,CAAQ,cAAA;;;;;cAMlD,WAAA,GAAe,MAAA,EAAQ,mBAAA,KAAsB,mBAAA"}
@@ -1,8 +1,12 @@
1
1
 
2
2
  import { UDSCSSOptions } from "./generate.js";
3
3
 
4
- //#region ../tailwind/dist/css/theme.d.ts
5
4
  //#region src/css/theme.d.ts
5
+ type UDSCSSVarSafelistPattern = string | RegExp;
6
+ interface UDSCSSPruneVarsOptions {
7
+ /** CSS variable prefixes or patterns to preserve when pruning is enabled */
8
+ safelist?: UDSCSSVarSafelistPattern[];
9
+ }
6
10
  /**
7
11
  * Context passed to theme config function
8
12
  */
@@ -30,8 +34,11 @@ interface UDSCSSOptimizationOptions {
30
34
  * share fonts with the main app.
31
35
  */
32
36
  deduplicateScopedCss?: boolean;
33
- /** Prune unused CSS variables (default: true) */
34
- pruneVars?: boolean;
37
+ /**
38
+ * Prune unused CSS variables (default: true).
39
+ * Provide an object to keep pruning enabled while safelisting variable prefixes or patterns.
40
+ */
41
+ pruneVars?: boolean | UDSCSSPruneVarsOptions;
35
42
  }
36
43
  /**
37
44
  * Theme configuration structure for uds.theme.ts
@@ -61,6 +68,7 @@ type UDSThemeConfigInput = UDSThemeConfig | ((ctx: UDSThemeContext) => UDSThemeC
61
68
  * Helper function to define theme configuration with full type support.
62
69
  * Supports both static config objects and dynamic functions.
63
70
  */
64
- declare const defineTheme: (config: UDSThemeConfigInput) => UDSThemeConfigInput; //#endregion
71
+ declare const defineTheme: (config: UDSThemeConfigInput) => UDSThemeConfigInput;
65
72
  //#endregion
66
- export { type UDSCSSOptimizationOptions, defineTheme };
73
+ export { type UDSCSSOptimizationOptions, defineTheme };
74
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","names":[],"sources":["../../src/css/theme.ts"],"mappings":";;;;KAEK,wBAAA,YAAoC,MAAA;AAAA,UAE/B,sBAAA;EAFL;EAIH,QAAA,GAAW,wBAAA;AAAA;;;AAJkC;UAUrC,eAAA;;EAER,GAAA;EARmC;EAUnC,KAAA;AAAA;;;;UAMQ,yBAAA;EAAyB;EAEjC,OAAA;EAiB4C;EAf5C,iBAAA;EAAA;EAEA,gBAAA;EAEA;EAAA,2BAAA;EAWA;;;;AAA4C;EAL5C,oBAAA;;;;;EAKA,SAAA,aAAsB,sBAAA;AAAA;;;;UAMd,cAAA;EAeW;EAbnB,MAAA;EAmBsB;EAjBtB,KAAA;EAkBE;EAhBF,MAAA;EAiB6B;;;;EAZ7B,OAAA;EAWE;EATF,UAAA;EAUI;EARJ,GAAA,GAAM,aAAA;AAAA;;;;KAMH,mBAAA,GACD,cAAA,KACE,GAAA,EAAK,eAAA,KAAoB,cAAA,GAAiB,OAAA,CAAQ,cAAA;;;;;cAMlD,WAAA,GAAe,MAAA,EAAQ,mBAAA,KAAsB,mBAAA"}
@@ -1,6 +1,5 @@
1
- /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
- //#region ../tailwind/dist/css/theme.js
3
1
  /*! © 2026 Yahoo, Inc. UDS Tailwind and Purger v0.0.0-development */
2
+ //#region src/css/theme.ts
4
3
  /**
5
4
  * Helper function to define theme configuration with full type support.
6
5
  * Supports both static config objects and dynamic functions.
@@ -8,4 +7,5 @@
8
7
  const defineTheme = (config) => config;
9
8
 
10
9
  //#endregion
11
- export { defineTheme };
10
+ export { defineTheme };
11
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","names":[],"sources":["../../src/css/theme.ts"],"sourcesContent":["import type { UDSCSSOptions } from './generate';\n\ntype UDSCSSVarSafelistPattern = string | RegExp;\n\ninterface UDSCSSPruneVarsOptions {\n /** CSS variable prefixes or patterns to preserve when pruning is enabled */\n safelist?: UDSCSSVarSafelistPattern[];\n}\n\n/**\n * Context passed to theme config function\n */\ninterface UDSThemeContext {\n /** Current working directory */\n cwd: string;\n /** Whether the CLI is running in watch mode */\n watch?: boolean;\n}\n\n/**\n * CSS optimization options for uds.theme.ts\n */\ninterface UDSCSSOptimizationOptions {\n /** Enable all CSS optimizations (default: true) */\n enabled?: boolean;\n /** Remove @font-face declarations for fonts not used in the CSS (default: false) */\n removeUnusedFonts?: boolean;\n /** Remove empty CSS rules (default: true) */\n removeEmptyRules?: boolean;\n /** Aggregate duplicate selectors (default: true) */\n aggregateDuplicateSelectors?: boolean;\n /**\n * Remove duplicate content from scoped CSS that already exists in main CSS (default: true)\n * Currently deduplicates @font-face declarations. Reduces bundle size when scoped packages\n * share fonts with the main app.\n */\n deduplicateScopedCss?: boolean;\n /**\n * Prune unused CSS variables (default: true).\n * Provide an object to keep pruning enabled while safelisting variable prefixes or patterns.\n */\n pruneVars?: boolean | UDSCSSPruneVarsOptions;\n}\n\n/**\n * Theme configuration structure for uds.theme.ts\n */\ninterface UDSThemeConfig {\n /** Path to app's uds.config (relative to project root) */\n config?: string;\n /** Entry directory path or .tsx file path, or a list of those paths (default: './src') */\n entry?: string | string[];\n /** Suppress log output during generation (default: false) */\n silent?: boolean;\n /**\n * Packages that inherit the app's theme configuration.\n * These packages' styles are merged into the main uds.css file.\n */\n inherit?: string[];\n /** Color modes to include (default: ['dark']) - light mode is always in :root */\n colorModes?: ('dark' | 'light')[];\n /** CSS generation options */\n css?: UDSCSSOptions;\n}\n\n/**\n * Theme config can be an object or a function that receives context\n */\ntype UDSThemeConfigInput =\n | UDSThemeConfig\n | ((ctx: UDSThemeContext) => UDSThemeConfig | Promise<UDSThemeConfig>);\n\n/**\n * Helper function to define theme configuration with full type support.\n * Supports both static config objects and dynamic functions.\n */\nconst defineTheme = (config: UDSThemeConfigInput): UDSThemeConfigInput => config;\n\nexport { defineTheme };\nexport type {\n UDSCSSOptimizationOptions,\n UDSCSSPruneVarsOptions,\n UDSCSSVarSafelistPattern,\n UDSThemeConfig,\n UDSThemeConfigInput,\n UDSThemeContext,\n};\n"],"mappings":";;;;;;AA4EA,MAAM,eAAe,WAAqD"}
@@ -1,8 +1,8 @@
1
- /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
- const require_properties = require('../../../automated-config/dist/properties.cjs');
3
-
4
- //#region ../tailwind/dist/css/utils.js
5
1
  /*! © 2026 Yahoo, Inc. UDS Tailwind and Purger v0.0.0-development */
2
+ const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
3
+ let _yahoo_uds_automated_config_properties = require("@yahoo/uds-automated-config/properties");
4
+
5
+ //#region src/css/utils.ts
6
6
  /**
7
7
  * Extract variant defaults from a UniversalTokensConfig.
8
8
  * Converts from config structure to a simpler lookup format.
@@ -57,7 +57,7 @@ const getMotionVarPrefixes = (componentData, components) => {
57
57
  */
58
58
  const getConfigurableCssVariables = () => {
59
59
  const udsVarPrefix = "--uds";
60
- const cssVars = Object.values(require_properties.configurableProperties).flatMap(({ cssProperties }) => {
60
+ const cssVars = Object.values(_yahoo_uds_automated_config_properties.configurableProperties).flatMap(({ cssProperties }) => {
61
61
  if (typeof cssProperties === "string") return cssProperties.startsWith(udsVarPrefix) ? [cssProperties] : [];
62
62
  if (Array.isArray(cssProperties)) return cssProperties.filter((cssProperty) => typeof cssProperty === "string" && cssProperty.startsWith(udsVarPrefix));
63
63
  return [];
@@ -1,8 +1,7 @@
1
- /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
- import { configurableProperties } from "../../../automated-config/dist/properties.js";
3
-
4
- //#region ../tailwind/dist/css/utils.js
5
1
  /*! © 2026 Yahoo, Inc. UDS Tailwind and Purger v0.0.0-development */
2
+ import { configurableProperties } from "@yahoo/uds-automated-config/properties";
3
+
4
+ //#region src/css/utils.ts
6
5
  /**
7
6
  * Extract variant defaults from a UniversalTokensConfig.
8
7
  * Converts from config structure to a simpler lookup format.
@@ -66,4 +65,5 @@ const getConfigurableCssVariables = () => {
66
65
  };
67
66
 
68
67
  //#endregion
69
- export { extractVariantDefaults, formatBytes, getConfigurableCssVariables, getMotionVarPrefixes };
68
+ export { extractVariantDefaults, formatBytes, getConfigurableCssVariables, getMotionVarPrefixes };
69
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":[],"sources":["../../src/css/utils.ts"],"sourcesContent":["import { configurableProperties } from '@yahoo/uds-automated-config/properties';\nimport type { UniversalTokensConfig } from '@yahoo/uds-config';\n\nimport type { SerializedComponentInfo } from '../commands/generateComponentData';\nimport type { VariantDefaults } from '../purger/optimized/purgeFromCode';\n\n/**\n * Extract variant defaults from a UniversalTokensConfig.\n * Converts from config structure to a simpler lookup format.\n * e.g., { button: { defaults: { size: 'md' } } } -> { Button: { size: 'md' } }\n */\nconst extractVariantDefaults = (config: UniversalTokensConfig): VariantDefaults => {\n // Component names in config are lowercase, but we need PascalCase for matching\n const componentNameMap: Record<string, string> = {\n avatar: 'Avatar',\n badge: 'Badge',\n button: 'Button',\n checkbox: 'Checkbox',\n chip: 'Chip',\n divider: 'Divider',\n iconButton: 'IconButton',\n input: 'Input',\n link: 'Link',\n menu: 'Menu',\n radio: 'Radio',\n switch: 'Switch',\n };\n\n // Extract defaults from each component in the config\n return Object.entries(config).reduce<VariantDefaults>((acc, [configKey, componentConfig]) => {\n const pascalName = componentNameMap[configKey];\n if (!pascalName || !componentConfig || typeof componentConfig !== 'object') {\n return acc;\n }\n\n const configWithDefaults = componentConfig as { defaults?: Record<string, string> };\n return configWithDefaults.defaults\n ? { ...acc, [pascalName]: configWithDefaults.defaults }\n : acc;\n }, {});\n};\n\n/**\n * Format bytes to human readable string\n */\nconst formatBytes = (bytes: number): string => {\n if (bytes < 1024) {\n return `${bytes} B`;\n }\n const kb = bytes / 1024;\n if (kb < 1024) {\n return `${kb.toFixed(1)} KB`;\n }\n const mb = kb / 1024;\n return `${mb.toFixed(2)} MB`;\n};\n\n/**\n * Get motion CSS variable prefixes needed by a set of components.\n * Looks up motionVarPrefixes from componentData.json for each component.\n */\nconst getMotionVarPrefixes = (\n componentData: Record<string, SerializedComponentInfo>,\n components: string[],\n): string[] => {\n const prefixes = components.flatMap((componentName) => {\n const info = (componentData as Record<string, { motionVarPrefixes?: string[] }>)[componentName];\n return info?.motionVarPrefixes ?? [];\n });\n\n return [...new Set(prefixes)];\n};\n\n/**\n * Collect css variable names exposed by configurable properties.\n */\nconst getConfigurableCssVariables = (): string[] => {\n const udsVarPrefix = '--uds';\n const cssVars = Object.values(configurableProperties).flatMap(({ cssProperties }) => {\n if (typeof cssProperties === 'string') {\n return cssProperties.startsWith(udsVarPrefix) ? [cssProperties] : [];\n }\n\n if (Array.isArray(cssProperties)) {\n return cssProperties.filter(\n (cssProperty): cssProperty is string =>\n typeof cssProperty === 'string' && cssProperty.startsWith(udsVarPrefix),\n );\n }\n\n return [];\n });\n\n return [...new Set(['--uds-button-gap', ...cssVars])];\n};\n\nexport { extractVariantDefaults, formatBytes, getConfigurableCssVariables, getMotionVarPrefixes };\n"],"mappings":";;;;;;;;;AAWA,MAAM,0BAA0B,WAAmD;CAEjF,MAAM,mBAA2C;EAC/C,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,UAAU;EACV,MAAM;EACN,SAAS;EACT,YAAY;EACZ,OAAO;EACP,MAAM;EACN,MAAM;EACN,OAAO;EACP,QAAQ;EACT;AAGD,QAAO,OAAO,QAAQ,OAAO,CAAC,QAAyB,KAAK,CAAC,WAAW,qBAAqB;EAC3F,MAAM,aAAa,iBAAiB;AACpC,MAAI,CAAC,cAAc,CAAC,mBAAmB,OAAO,oBAAoB,SAChE,QAAO;EAGT,MAAM,qBAAqB;AAC3B,SAAO,mBAAmB,WACtB;GAAE,GAAG;IAAM,aAAa,mBAAmB;GAAU,GACrD;IACH,EAAE,CAAC;;;;;AAMR,MAAM,eAAe,UAA0B;AAC7C,KAAI,QAAQ,KACV,QAAO,GAAG,MAAM;CAElB,MAAM,KAAK,QAAQ;AACnB,KAAI,KAAK,KACP,QAAO,GAAG,GAAG,QAAQ,EAAE,CAAC;AAG1B,QAAO,IADI,KAAK,MACH,QAAQ,EAAE,CAAC;;;;;;AAO1B,MAAM,wBACJ,eACA,eACa;CACb,MAAM,WAAW,WAAW,SAAS,kBAAkB;AAErD,SADc,cAAmE,gBACpE,qBAAqB,EAAE;GACpC;AAEF,QAAO,CAAC,GAAG,IAAI,IAAI,SAAS,CAAC;;;;;AAM/B,MAAM,oCAA8C;CAClD,MAAM,eAAe;CACrB,MAAM,UAAU,OAAO,OAAO,uBAAuB,CAAC,SAAS,EAAE,oBAAoB;AACnF,MAAI,OAAO,kBAAkB,SAC3B,QAAO,cAAc,WAAW,aAAa,GAAG,CAAC,cAAc,GAAG,EAAE;AAGtE,MAAI,MAAM,QAAQ,cAAc,CAC9B,QAAO,cAAc,QAClB,gBACC,OAAO,gBAAgB,YAAY,YAAY,WAAW,aAAa,CAC1E;AAGH,SAAO,EAAE;GACT;AAEF,QAAO,CAAC,GAAG,IAAI,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Tailwind and Purger v0.0.0-development */
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3
+ const require_theme = require('./css/theme.cjs');
4
+ const require_getResponsiveTextStyles = require('./tailwind/components/getResponsiveTextStyles.cjs');
5
+ const require_parseTokens = require('./utils/parseTokens.cjs');
6
+
7
+ exports.defineTheme = require_theme.defineTheme;
8
+ exports.parseTokens = require_parseTokens.parseTokens;
9
+ exports.textVariantsSafe = require_getResponsiveTextStyles.textVariantsSafe;
@@ -1,4 +1,5 @@
1
1
 
2
2
  import { defineTheme } from "./css/theme.cjs";
3
- import "./tailwind/components/getResponsiveTextStyles.cjs";
4
- import { WebTokens, parseTokens } from "./utils/parseTokens.cjs";
3
+ import { textVariantsSafe } from "./tailwind/components/getResponsiveTextStyles.cjs";
4
+ import { WebTokens, parseTokens } from "./utils/parseTokens.cjs";
5
+ export { type WebTokens, defineTheme, parseTokens, textVariantsSafe };
@@ -1,4 +1,5 @@
1
1
 
2
2
  import { defineTheme } from "./css/theme.js";
3
- import "./tailwind/components/getResponsiveTextStyles.js";
4
- import { WebTokens, parseTokens } from "./utils/parseTokens.js";
3
+ import { textVariantsSafe } from "./tailwind/components/getResponsiveTextStyles.js";
4
+ import { WebTokens, parseTokens } from "./utils/parseTokens.js";
5
+ export { type WebTokens, defineTheme, parseTokens, textVariantsSafe };
@@ -0,0 +1,6 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Tailwind and Purger v0.0.0-development */
2
+ import { defineTheme } from "./css/theme.js";
3
+ import { textVariantsSafe } from "./tailwind/components/getResponsiveTextStyles.js";
4
+ import { parseTokens } from "./utils/parseTokens.js";
5
+
6
+ export { defineTheme, parseTokens, textVariantsSafe };
@@ -1,5 +1,5 @@
1
- /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
- const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
1
+ /*! © 2026 Yahoo, Inc. UDS Tailwind and Purger v0.0.0-development */
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3
3
  const require_getInputStyles = require('./tailwind/components/getInputStyles.cjs');
4
4
  const require_defaultTailwindThemeAsUdsConfig = require('./tailwind/defaultTailwindThemeAsUdsConfig.cjs');
5
5
  const require_a11y = require('./tailwind/plugins/a11y.cjs');
@@ -21,8 +21,7 @@ const require_sizing = require('./tailwind/plugins/sizing.cjs');
21
21
  const require_spacing = require('./tailwind/plugins/spacing.cjs');
22
22
  const require_typography = require('./tailwind/plugins/typography.cjs');
23
23
 
24
- //#region ../tailwind/dist/plugin.js
25
- /*! © 2026 Yahoo, Inc. UDS Tailwind and Purger v0.0.0-development */
24
+ //#region src/tailwind/tailwindPlugin.ts
26
25
  const tailwindPlugin = require_composeTailwindPlugins.composeTailwindPlugins(require_colors.colorsPlugin, require_icons.iconsPlugin, require_a11y.a11yPlugin, require_breakpoints.breakpointsPlugin, require_typography.typographyPlugin, require_components.componentsPlugin, require_shadows.shadowsPlugin, require_elevation.elevationPlugin, require_motion.motionPlugin, require_spacing.spacingPlugin, require_borderWidth.borderWidthPlugin, require_borderRadius.borderRadiusPlugin, require_nestedBorderRadius.nestedBorderRadiusPlugin, require_blurBgFallback.blurBgFallbackPlugin, require_sizing.sizingPlugin, require_input.inputPlugin, require_scaleMode.scaleModePlugin);
27
26
  /**
28
27
  * Use in `tailwindConfig.content` to ensure UDS package(s) styles are
@@ -31,9 +30,11 @@ const tailwindPlugin = require_composeTailwindPlugins.composeTailwindPlugins(req
31
30
  * (e.g. configurator) doesn't error out on require() being undefined.
32
31
  * */
33
32
  const getUDSContent = () => {
34
- return [require_runtime.__require.resolve("@yahoo/uds").replace("/dist/index.cjs", "/dist/**/*.{js,cjs}")];
33
+ return [require.resolve("@yahoo/uds").replace("/dist/index.cjs", "/dist/**/*.{js,cjs}")];
35
34
  };
36
35
 
37
36
  //#endregion
37
+ exports.getInputStyles = require_getInputStyles.getInputStyles;
38
38
  exports.getUDSContent = getUDSContent;
39
- exports.tailwindPlugin = tailwindPlugin;
39
+ exports.tailwindPlugin = tailwindPlugin;
40
+ exports.udsToTailwindMap = require_defaultTailwindThemeAsUdsConfig.udsToTailwindMap;
@@ -4,7 +4,6 @@ import { getInputStyles } from "./tailwind/components/getInputStyles.cjs";
4
4
  import { udsToTailwindMap } from "./tailwind/defaultTailwindThemeAsUdsConfig.cjs";
5
5
  import * as tailwindcss_types_config0 from "tailwindcss/types/config";
6
6
 
7
- //#region ../tailwind/dist/plugin.d.ts
8
7
  //#region src/tailwind/tailwindPlugin.d.ts
9
8
  declare const tailwindPlugin: {
10
9
  (options: TailwindPluginOptions): {
@@ -19,6 +18,7 @@ declare const tailwindPlugin: {
19
18
  * Note: wrapped in a function so client side usage of the tailwind plugin package
20
19
  * (e.g. configurator) doesn't error out on require() being undefined.
21
20
  * */
22
- declare const getUDSContent: () => string[]; //#endregion
21
+ declare const getUDSContent: () => string[];
23
22
  //#endregion
24
- export { getUDSContent, tailwindPlugin };
23
+ export { getInputStyles, getUDSContent, tailwindPlugin, udsToTailwindMap };
24
+ //# sourceMappingURL=plugin.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.cts","names":[],"sources":["../src/tailwind/tailwindPlugin.ts"],"mappings":";;;;;;;cAqBM,cAAA;EAAA,UAkBL,qBAAA;;aApC0D,OAAA,2BAAA,MAAA;EAAA;;;;;;;;;cA4CrD,aAAA"}
@@ -4,7 +4,6 @@ import { getInputStyles } from "./tailwind/components/getInputStyles.js";
4
4
  import { udsToTailwindMap } from "./tailwind/defaultTailwindThemeAsUdsConfig.js";
5
5
  import * as tailwindcss_types_config0 from "tailwindcss/types/config";
6
6
 
7
- //#region ../tailwind/dist/plugin.d.ts
8
7
  //#region src/tailwind/tailwindPlugin.d.ts
9
8
  declare const tailwindPlugin: {
10
9
  (options: TailwindPluginOptions): {
@@ -19,6 +18,7 @@ declare const tailwindPlugin: {
19
18
  * Note: wrapped in a function so client side usage of the tailwind plugin package
20
19
  * (e.g. configurator) doesn't error out on require() being undefined.
21
20
  * */
22
- declare const getUDSContent: () => string[]; //#endregion
21
+ declare const getUDSContent: () => string[];
23
22
  //#endregion
24
- export { getUDSContent, tailwindPlugin };
23
+ export { getInputStyles, getUDSContent, tailwindPlugin, udsToTailwindMap };
24
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","names":[],"sources":["../src/tailwind/tailwindPlugin.ts"],"mappings":";;;;;;;cAqBM,cAAA;EAAA,UAkBL,qBAAA;;aApC0D,OAAA,2BAAA,MAAA;EAAA;;;;;;;;;cA4CrD,aAAA"}
@@ -1,4 +1,4 @@
1
- /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
1
+ /*! © 2026 Yahoo, Inc. UDS Tailwind and Purger v0.0.0-development */
2
2
  import { __require } from "./_virtual/_rolldown/runtime.js";
3
3
  import { getInputStyles } from "./tailwind/components/getInputStyles.js";
4
4
  import { udsToTailwindMap } from "./tailwind/defaultTailwindThemeAsUdsConfig.js";
@@ -21,8 +21,7 @@ import { sizingPlugin } from "./tailwind/plugins/sizing.js";
21
21
  import { spacingPlugin } from "./tailwind/plugins/spacing.js";
22
22
  import { typographyPlugin } from "./tailwind/plugins/typography.js";
23
23
 
24
- //#region ../tailwind/dist/plugin.js
25
- /*! © 2026 Yahoo, Inc. UDS Tailwind and Purger v0.0.0-development */
24
+ //#region src/tailwind/tailwindPlugin.ts
26
25
  const tailwindPlugin = composeTailwindPlugins(colorsPlugin, iconsPlugin, a11yPlugin, breakpointsPlugin, typographyPlugin, componentsPlugin, shadowsPlugin, elevationPlugin, motionPlugin, spacingPlugin, borderWidthPlugin, borderRadiusPlugin, nestedBorderRadiusPlugin, blurBgFallbackPlugin, sizingPlugin, inputPlugin, scaleModePlugin);
27
26
  /**
28
27
  * Use in `tailwindConfig.content` to ensure UDS package(s) styles are
@@ -35,4 +34,5 @@ const getUDSContent = () => {
35
34
  };
36
35
 
37
36
  //#endregion
38
- export { getUDSContent, tailwindPlugin };
37
+ export { getInputStyles, getUDSContent, tailwindPlugin, udsToTailwindMap };
38
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","names":[],"sources":["../src/tailwind/tailwindPlugin.ts"],"sourcesContent":["import { getInputStyles } from './components/getInputStyles';\nimport { udsToTailwindMap } from './defaultTailwindThemeAsUdsConfig';\nimport { a11yPlugin } from './plugins/a11y';\nimport { blurBgFallbackPlugin } from './plugins/blurBgFallback';\nimport { borderRadiusPlugin } from './plugins/borderRadius';\nimport { borderWidthPlugin } from './plugins/borderWidth';\nimport { breakpointsPlugin } from './plugins/breakpoints';\nimport { colorsPlugin } from './plugins/colors';\nimport { componentsPlugin } from './plugins/components';\nimport { elevationPlugin } from './plugins/elevation';\nimport { iconsPlugin } from './plugins/icons';\nimport { inputPlugin } from './plugins/input';\nimport { motionPlugin } from './plugins/motion';\nimport { nestedBorderRadiusPlugin } from './plugins/nestedBorderRadius';\nimport { scaleModePlugin } from './plugins/scaleMode';\nimport { shadowsPlugin } from './plugins/shadows';\nimport { sizingPlugin } from './plugins/sizing';\nimport { spacingPlugin } from './plugins/spacing';\nimport { typographyPlugin } from './plugins/typography';\nimport { composeTailwindPlugins } from './utils/composeTailwindPlugins';\n\nconst tailwindPlugin = composeTailwindPlugins(\n colorsPlugin,\n iconsPlugin,\n a11yPlugin,\n breakpointsPlugin,\n typographyPlugin,\n componentsPlugin,\n shadowsPlugin,\n elevationPlugin,\n motionPlugin,\n spacingPlugin,\n borderWidthPlugin,\n borderRadiusPlugin,\n nestedBorderRadiusPlugin,\n blurBgFallbackPlugin,\n sizingPlugin,\n inputPlugin,\n scaleModePlugin,\n);\n\n/**\n * Use in `tailwindConfig.content` to ensure UDS package(s) styles are\n * included in the app.\n * Note: wrapped in a function so client side usage of the tailwind plugin package\n * (e.g. configurator) doesn't error out on require() being undefined.\n * */\nconst getUDSContent = () => {\n return [require.resolve('@yahoo/uds').replace('/dist/index.cjs', '/dist/**/*.{js,cjs}')];\n};\n\nexport { getInputStyles, getUDSContent, tailwindPlugin, udsToTailwindMap };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAM,iBAAiB,uBACrB,cACA,aACA,YACA,mBACA,kBACA,kBACA,eACA,iBACA,cACA,eACA,mBACA,oBACA,0BACA,sBACA,cACA,aACA,gBACD;;;;;;;AAQD,MAAM,sBAAsB;AAC1B,QAAO,WAAS,QAAQ,aAAa,CAAC,QAAQ,mBAAmB,sBAAsB,CAAC"}
@@ -0,0 +1,2 @@
1
+
2
+ import { PurgeFromCodeOptions, PurgeFromCodeResult, purgeFromCode } from "./purgeFromCode.js";
@@ -1,31 +1,29 @@
1
- /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
- const require_runtime = require('../../../../_virtual/_rolldown/runtime.cjs');
3
- const require_index = require('../../../../css-tokens/dist/index.cjs');
4
- const require_print = require('../../../../cli/dist/lib/print.cjs');
1
+ /*! © 2026 Yahoo, Inc. UDS Tailwind and Purger v0.0.0-development */
2
+ const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
5
3
  const require_entryPoints = require('../../utils/entryPoints.cjs');
6
- const require_spinner = require('../../../../cli/dist/lib/spinner.cjs');
7
4
  const require_tsMorph = require('../../utils/tsMorph.cjs');
5
+ let _yahoo_uds_css_tokens = require("@yahoo/uds-css-tokens");
6
+ let _yahoo_uds_cli_lib = require("@yahoo/uds-cli/lib");
7
+ let node_fs = require("node:fs");
8
8
  let node_path = require("node:path");
9
9
  node_path = require_runtime.__toESM(node_path);
10
- let node_fs = require("node:fs");
11
- let ts_morph = require("ts-morph");
12
10
  let fast_glob = require("fast-glob");
13
11
  fast_glob = require_runtime.__toESM(fast_glob);
12
+ let ts_morph = require("ts-morph");
14
13
 
15
- //#region ../tailwind/dist/purger/legacy/purgeCSS.js
16
- /*! © 2026 Yahoo, Inc. UDS Tailwind and Purger v0.0.0-development */
14
+ //#region src/purger/legacy/purgeCSS.ts
17
15
  const scaleModeToClass = {
18
- large: require_index.LARGE_SCALE_MODE_CLASSNAME,
19
- medium: require_index.MEDIUM_SCALE_MODE_CLASSNAME,
20
- small: require_index.SMALL_SCALE_MODE_CLASSNAME,
21
- xLarge: require_index.XLARGE_SCALE_MODE_CLASSNAME,
22
- xSmall: require_index.XSMALL_SCALE_MODE_CLASSNAME,
23
- xxLarge: require_index.XXLARGE_SCALE_MODE_CLASSNAME,
24
- xxxLarge: require_index.XXXLARGE_SCALE_MODE_CLASSNAME
16
+ large: _yahoo_uds_css_tokens.LARGE_SCALE_MODE_CLASSNAME,
17
+ medium: _yahoo_uds_css_tokens.MEDIUM_SCALE_MODE_CLASSNAME,
18
+ small: _yahoo_uds_css_tokens.SMALL_SCALE_MODE_CLASSNAME,
19
+ xLarge: _yahoo_uds_css_tokens.XLARGE_SCALE_MODE_CLASSNAME,
20
+ xSmall: _yahoo_uds_css_tokens.XSMALL_SCALE_MODE_CLASSNAME,
21
+ xxLarge: _yahoo_uds_css_tokens.XXLARGE_SCALE_MODE_CLASSNAME,
22
+ xxxLarge: _yahoo_uds_css_tokens.XXXLARGE_SCALE_MODE_CLASSNAME
25
23
  };
26
24
  const colorModeToClass = {
27
- dark: require_index.DARK_COLOR_MODE_CLASSNAME,
28
- light: require_index.LIGHT_COLOR_MODE_CLASSNAME
25
+ dark: _yahoo_uds_css_tokens.DARK_COLOR_MODE_CLASSNAME,
26
+ light: _yahoo_uds_css_tokens.LIGHT_COLOR_MODE_CLASSNAME
29
27
  };
30
28
  const getFiles = async (entry) => {
31
29
  try {
@@ -241,19 +239,22 @@ async function purge(variants, packageJson, generatedPurgeCssData, options = {})
241
239
  } catch {
242
240
  throw new Error("Couldn't load the UDS config. Make sure you have uds.config.ts in the root of your project.");
243
241
  }
244
- require_spinner.spinStart("Getting used UDS components...");
245
- require_print.print("Loading the project...");
242
+ (0, _yahoo_uds_cli_lib.spinStart)("Getting used UDS components...");
243
+ (0, _yahoo_uds_cli_lib.print)("Loading the project...");
246
244
  const files = await getFiles(entry);
247
- require_print.print("Going through the imports...");
245
+ (0, _yahoo_uds_cli_lib.print)("Going through the imports...");
248
246
  const udsImports = parseFiles(project, files);
249
- require_print.print("Finding all the components imported from UDS...");
247
+ (0, _yahoo_uds_cli_lib.print)("Finding all the components imported from UDS...");
250
248
  const udsComponents = getComponentsToConvertToTW(udsImports, generatedPurgeCssData);
251
- require_print.print("🧑‍🍳 Cooking...");
249
+ (0, _yahoo_uds_cli_lib.print)("🧑‍🍳 Cooking...");
252
250
  const safeList = getTailwindSafelist(project, udsComponents, variants, generatedPurgeCssData, packageJson);
253
251
  const themesAndScalesClasses = getClassesForEnabledThemesAndScales();
254
252
  saveToFile(safeList.concat(themesAndScalesClasses), outputFilePath);
255
- require_spinner.spinStop("Generated your safelist!");
253
+ (0, _yahoo_uds_cli_lib.spinStop)("Generated your safelist!");
256
254
  }
257
255
 
258
256
  //#endregion
257
+ exports.getComponentsToConvertToTW = getComponentsToConvertToTW;
258
+ exports.getTailwindSafelist = getTailwindSafelist;
259
+ exports.parseFiles = parseFiles;
259
260
  exports.purge = purge;
@@ -0,0 +1,24 @@
1
+
2
+ import { Project } from "ts-morph";
3
+
4
+ //#region src/purger/legacy/purgeCSS.d.ts
5
+ type PropToUsedOptions = [string, string[]];
6
+ type ComponentToVariants = {
7
+ [key: string]: PropToUsedOptions[];
8
+ };
9
+ type VariantsList = string[];
10
+ type ComponentDependencies = {
11
+ [key: string]: string[];
12
+ };
13
+ type ComponentToTwClasses = {
14
+ [key: string]: string;
15
+ };
16
+ interface GeneratedPurgeCSSData {
17
+ variantsList: VariantsList;
18
+ componentToVariants: ComponentToVariants;
19
+ componentToTwClasses: ComponentToTwClasses;
20
+ componentsDependencies: ComponentDependencies;
21
+ }
22
+ //#endregion
23
+ export { type GeneratedPurgeCSSData };
24
+ //# sourceMappingURL=purgeCSS.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"purgeCSS.d.cts","names":[],"sources":["../../../src/purger/legacy/purgeCSS.ts"],"mappings":";;;;KAwBK,iBAAA;AAAA,KACA,mBAAA;EAAA,CAAyB,GAAA,WAAc,iBAAA;AAAA;AAAA,KACvC,YAAA;AAAA,KACA,qBAAA;EAAA,CAA2B,GAAA;AAAA;AAAA,KAC3B,oBAAA;EAAA,CAA0B,GAAA;AAAA;AAAA,UAErB,qBAAA;EACR,YAAA,EAAc,YAAA;EACd,mBAAA,EAAqB,mBAAA;EACrB,oBAAA,EAAsB,oBAAA;EACtB,sBAAA,EAAwB,qBAAA;AAAA"}
@@ -0,0 +1,24 @@
1
+
2
+ import { Project } from "ts-morph";
3
+
4
+ //#region src/purger/legacy/purgeCSS.d.ts
5
+ type PropToUsedOptions = [string, string[]];
6
+ type ComponentToVariants = {
7
+ [key: string]: PropToUsedOptions[];
8
+ };
9
+ type VariantsList = string[];
10
+ type ComponentDependencies = {
11
+ [key: string]: string[];
12
+ };
13
+ type ComponentToTwClasses = {
14
+ [key: string]: string;
15
+ };
16
+ interface GeneratedPurgeCSSData {
17
+ variantsList: VariantsList;
18
+ componentToVariants: ComponentToVariants;
19
+ componentToTwClasses: ComponentToTwClasses;
20
+ componentsDependencies: ComponentDependencies;
21
+ }
22
+ //#endregion
23
+ export { type GeneratedPurgeCSSData };
24
+ //# sourceMappingURL=purgeCSS.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"purgeCSS.d.ts","names":[],"sources":["../../../src/purger/legacy/purgeCSS.ts"],"mappings":";;;;KAwBK,iBAAA;AAAA,KACA,mBAAA;EAAA,CAAyB,GAAA,WAAc,iBAAA;AAAA;AAAA,KACvC,YAAA;AAAA,KACA,qBAAA;EAAA,CAA2B,GAAA;AAAA;AAAA,KAC3B,oBAAA;EAAA,CAA0B,GAAA;AAAA;AAAA,UAErB,qBAAA;EACR,YAAA,EAAc,YAAA;EACd,mBAAA,EAAqB,mBAAA;EACrB,oBAAA,EAAsB,oBAAA;EACtB,sBAAA,EAAwB,qBAAA;AAAA"}
@@ -1,16 +1,14 @@
1
- /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
- import { DARK_COLOR_MODE_CLASSNAME, LARGE_SCALE_MODE_CLASSNAME, LIGHT_COLOR_MODE_CLASSNAME, MEDIUM_SCALE_MODE_CLASSNAME, SMALL_SCALE_MODE_CLASSNAME, XLARGE_SCALE_MODE_CLASSNAME, XSMALL_SCALE_MODE_CLASSNAME, XXLARGE_SCALE_MODE_CLASSNAME, XXXLARGE_SCALE_MODE_CLASSNAME } from "../../../../css-tokens/dist/index.js";
3
- import { print } from "../../../../cli/dist/lib/print.js";
1
+ /*! © 2026 Yahoo, Inc. UDS Tailwind and Purger v0.0.0-development */
4
2
  import { DEFAULT_ENTRY, resolveEntryPaths } from "../../utils/entryPoints.js";
5
- import { spinStart, spinStop } from "../../../../cli/dist/lib/spinner.js";
6
3
  import { findReferencesAsJsxElements, getUsedPropsInReference } from "../../utils/tsMorph.js";
7
- import path from "node:path";
4
+ import { DARK_COLOR_MODE_CLASSNAME, LARGE_SCALE_MODE_CLASSNAME, LIGHT_COLOR_MODE_CLASSNAME, MEDIUM_SCALE_MODE_CLASSNAME, SMALL_SCALE_MODE_CLASSNAME, XLARGE_SCALE_MODE_CLASSNAME, XSMALL_SCALE_MODE_CLASSNAME, XXLARGE_SCALE_MODE_CLASSNAME, XXXLARGE_SCALE_MODE_CLASSNAME } from "@yahoo/uds-css-tokens";
5
+ import { print, spinStart, spinStop } from "@yahoo/uds-cli/lib";
8
6
  import { mkdirSync, writeFileSync } from "node:fs";
9
- import { Node, Project, SyntaxKind, ts } from "ts-morph";
7
+ import path from "node:path";
10
8
  import fg from "fast-glob";
9
+ import { Node, Project, SyntaxKind, ts } from "ts-morph";
11
10
 
12
- //#region ../tailwind/dist/purger/legacy/purgeCSS.js
13
- /*! © 2026 Yahoo, Inc. UDS Tailwind and Purger v0.0.0-development */
11
+ //#region src/purger/legacy/purgeCSS.ts
14
12
  const scaleModeToClass = {
15
13
  large: LARGE_SCALE_MODE_CLASSNAME,
16
14
  medium: MEDIUM_SCALE_MODE_CLASSNAME,
@@ -253,4 +251,5 @@ async function purge(variants, packageJson, generatedPurgeCssData, options = {})
253
251
  }
254
252
 
255
253
  //#endregion
256
- export { purge };
254
+ export { getComponentsToConvertToTW, getTailwindSafelist, parseFiles, purge };
255
+ //# sourceMappingURL=purgeCSS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"purgeCSS.js","names":[],"sources":["../../../src/purger/legacy/purgeCSS.ts"],"sourcesContent":["import { mkdirSync, writeFileSync } from 'node:fs';\nimport path from 'node:path';\n\nimport { print, spinStart, spinStop } from '@yahoo/uds-cli/lib';\nimport type { UniversalTokensConfig } from '@yahoo/uds-config';\nimport {\n DARK_COLOR_MODE_CLASSNAME,\n LARGE_SCALE_MODE_CLASSNAME,\n LIGHT_COLOR_MODE_CLASSNAME,\n MEDIUM_SCALE_MODE_CLASSNAME,\n SMALL_SCALE_MODE_CLASSNAME,\n XLARGE_SCALE_MODE_CLASSNAME,\n XSMALL_SCALE_MODE_CLASSNAME,\n XXLARGE_SCALE_MODE_CLASSNAME,\n XXXLARGE_SCALE_MODE_CLASSNAME,\n} from '@yahoo/uds-css-tokens';\nimport type { ColorModeConfig, ScaleModeConfig } from '@yahoo/uds-types';\nimport fg from 'fast-glob';\nimport type { CallExpression, JsxOpeningElement, JsxSelfClosingElement } from 'ts-morph';\nimport { Node, Project, SyntaxKind, ts } from 'ts-morph';\n\nimport { DEFAULT_ENTRY, resolveEntryPaths } from '../../utils/entryPoints';\nimport { findReferencesAsJsxElements, getUsedPropsInReference } from '../../utils/tsMorph';\n\ntype PropToUsedOptions = [string, string[]];\ntype ComponentToVariants = { [key: string]: PropToUsedOptions[] };\ntype VariantsList = string[];\ntype ComponentDependencies = { [key: string]: string[] };\ntype ComponentToTwClasses = { [key: string]: string };\n\ninterface GeneratedPurgeCSSData {\n variantsList: VariantsList;\n componentToVariants: ComponentToVariants;\n componentToTwClasses: ComponentToTwClasses;\n componentsDependencies: ComponentDependencies;\n}\n\nconst scaleModeToClass: { [key in keyof ScaleModeConfig]: string } = {\n large: LARGE_SCALE_MODE_CLASSNAME,\n medium: MEDIUM_SCALE_MODE_CLASSNAME,\n small: SMALL_SCALE_MODE_CLASSNAME,\n xLarge: XLARGE_SCALE_MODE_CLASSNAME,\n xSmall: XSMALL_SCALE_MODE_CLASSNAME,\n xxLarge: XXLARGE_SCALE_MODE_CLASSNAME,\n xxxLarge: XXXLARGE_SCALE_MODE_CLASSNAME,\n};\n\nconst colorModeToClass: { [key in keyof ColorModeConfig]: string } = {\n dark: DARK_COLOR_MODE_CLASSNAME,\n light: LIGHT_COLOR_MODE_CLASSNAME,\n};\n\ntype SafeList = string[];\ntype ImportsList = string[];\ntype Files = string[];\n\nconst getFiles = async (entry: string | string[]): Promise<Files> => {\n try {\n const workspaceDir = process.env.PWD || process.cwd();\n\n if (!workspaceDir) {\n throw new Error('Workspace directory not found.');\n }\n\n const files = await Promise.all(\n resolveEntryPaths(entry, workspaceDir, DEFAULT_ENTRY).map((entryPath) => {\n if (entryPath.kind === 'file') {\n return [entryPath.absolutePath];\n }\n\n return fg(['**/*.jsx', '**/*.tsx'], {\n cwd: entryPath.absolutePath,\n absolute: true,\n ignore: ['**/node_modules/**'],\n });\n }),\n );\n return [...new Set(files.flat())];\n } catch (error) {\n throw error instanceof Error\n ? error\n : new Error(`Couldn't find the entry directory: ${entry}. Please make sure it exists.`);\n }\n};\n\n/**\n * Find all JSX references for a named import.\n *\n * @example\n * const references = findNamedImportReferences(project, '@yahoo/uds', 'HStack')\n */\nfunction findNamedImportReferences(\n project: Project,\n moduleSpecifierValue: string,\n namedImportName: string,\n) {\n const references: (JsxOpeningElement | JsxSelfClosingElement)[] = [];\n for (const sourceFile of project.getSourceFiles()) {\n for (const importDeclaration of sourceFile.getImportDeclarations()) {\n if (importDeclaration.getModuleSpecifierValue() === moduleSpecifierValue) {\n for (const namedImport of importDeclaration.getNamedImports()) {\n if (namedImport.getName() === namedImportName) {\n const identifier = namedImport.getFirstDescendantByKindOrThrow(\n ts.SyntaxKind.Identifier,\n );\n\n references.push(...findReferencesAsJsxElements(identifier));\n }\n }\n }\n }\n }\n\n return references;\n}\n\n/**\n * Given a file it returns the list of imports from @yahoo/uds\n */\nconst parseFiles = (project: Project, files: Files): ImportsList => {\n const importsSet = new Set();\n\n const importsPerFile: string[] = files\n .map((file: string) => {\n const sourceFile = project.getSourceFile(file);\n\n const udsImports =\n sourceFile\n ?.getImportDeclarations()\n .filter((declaration) => {\n return (\n declaration.getModuleSpecifier().getText().includes('@yahoo/uds') ||\n declaration.getModuleSpecifier().getText().includes('@yahoo/uds/experimental')\n );\n })\n .map((declaration) => {\n return declaration.getNamedImports().map((namedImport) => namedImport.getName());\n })\n .flat() ?? [];\n\n return udsImports;\n })\n .flat();\n\n importsPerFile.forEach((item: string) => {\n if (!importsSet.has(item)) {\n importsSet.add(item);\n }\n });\n\n return Array.from(importsSet) as string[];\n};\n\nconst getTailwindSafelist = (\n project: Project,\n componentList: string[],\n variants: Record<string, Record<string, string>>,\n generatedPurgeCssData: GeneratedPurgeCSSData,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n packageJson: Record<string, any>,\n): SafeList => {\n const { variantsList, componentToVariants, componentToTwClasses } = generatedPurgeCssData;\n const safeList: SafeList = [];\n const validVariants = new Set<string>(variantsList);\n // we track the prop name and which values have been used\n const usedProps = new Map<string, Set<string>>();\n componentList.forEach((component: string) => {\n if (isUDSComponent(component, generatedPurgeCssData)) {\n // get the TW classes relevant for each prop\n // these classes are used internally in UDS,\n // they either have been initialized or used by other UDS components\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n componentToVariants[component].forEach(([propName, usedValues]: [string, any]) => {\n if (validVariants.has(propName)) {\n const options: Set<string> = usedProps.get(propName) ?? new Set();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n usedValues.forEach((val: any) => options.add(val));\n usedProps.set(propName, options);\n }\n });\n\n // scan the project for used props and\n // get the corresponding css for those used props\n getUsedProps(project, component, variants, packageJson).forEach(([propName, usedValues]) => {\n if (validVariants.has(propName)) {\n // This means that an expression has been used (Ex: `<Button size={getSize()} />`)\n // so we need to add all possible options for that prop\n if (usedValues.length === 0) {\n usedValues = Object.keys(variants[propName as keyof typeof variants] ?? {});\n }\n\n const options: Set<string> = usedProps.get(propName) ?? new Set();\n usedValues.forEach((val) => options.add(val));\n usedProps.set(propName, options);\n }\n });\n\n // get the inline TW classes used in each component\n safeList.push(...componentToTwClasses[component].replaceAll('\\\\', '').split(' '));\n }\n });\n\n for (const [propName, usedValues] of usedProps) {\n const variantGroup = variants[propName as keyof typeof variants];\n if (variantGroup) {\n usedValues.forEach((option) => {\n const variantClass = (variantGroup as Record<string, string>)[option];\n if (variantClass) {\n safeList.push(variantClass.replaceAll('\\\\', ''));\n }\n });\n }\n }\n\n for (const [variant, variantOptions] of scanGetStylesReferences(project, variants, packageJson)) {\n const variantGroup = variants[variant as keyof typeof variants];\n if (variantGroup) {\n variantOptions.forEach((option) => {\n const variantClass = (variantGroup as Record<string, string>)[option];\n if (variantClass) {\n safeList.push(variantClass.replaceAll('\\\\', ''));\n }\n });\n }\n }\n\n // Return a deduped list and strip out any empty strings\n return Array.from(new Set(safeList)).filter(Boolean);\n};\n\n/**\n * Get the used props for a given component.\n *\n * @example\n * const usedProps = getUsedProps(project, 'HStack');\n */\nconst getUsedProps = (\n project: Project,\n component: string,\n variants: Record<string, Record<string, string>>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n packageJson: Record<string, any>,\n): Array<[string, string[]]> => {\n const references: (JsxOpeningElement | JsxSelfClosingElement)[] = [];\n references.push(...findNamedImportReferences(project, packageJson.name, component));\n references.push(\n ...findNamedImportReferences(project, `${packageJson.name}/experimental`, component),\n );\n\n const usedProps = references\n .map((reference) => getUsedPropsInReference(reference, variants))\n .flat();\n\n return usedProps;\n};\n\nconst isUDSComponent = (\n component: string,\n { componentToVariants }: GeneratedPurgeCSSData,\n): boolean => {\n return !!componentToVariants[component];\n};\n\nconst saveToFile = (safeList: SafeList, outputPath: string) => {\n const fileContent = `\n //! This file is generated by \\`uds purge\\` from @yahoo/uds\n //! Do not edit directly\n //! If there is issue with this file please report to #ask-uds\n export const safelist = ${JSON.stringify(safeList)};\n `;\n\n // Ensure the output directory exists\n mkdirSync(path.dirname(outputPath), { recursive: true });\n writeFileSync(outputPath, fileContent);\n};\n\nconst getComponentsToConvertToTW = (\n udsImport: ImportsList,\n generatedPurgeCssData: GeneratedPurgeCSSData,\n): string[] => {\n const { componentToVariants, componentsDependencies } = generatedPurgeCssData;\n // filter out just the components\n const components = udsImport.filter((importedItem) => !!componentToVariants[importedItem]);\n const set = new Set();\n components.forEach((component) => {\n if (!set.has(component)) {\n set.add(component);\n }\n if (componentsDependencies[component]) {\n componentsDependencies[component].forEach((dependent: string) => {\n if (!set.has(dependent)) {\n set.add(dependent);\n }\n });\n }\n });\n return Array.from(set) as string[];\n};\n\n/**\n * Get the classes that corresponds to the used modes\n */\nconst getClassesForEnabledThemesAndScales = (): string[] => {\n const classes: string[] = [];\n\n // TODO: Remove this once the config supports toggling colorModes and scaleModes\n if (process.env.ENABLED_SCALE_AND_COLOR_MODES) {\n process.env.ENABLED_SCALE_AND_COLOR_MODES.split(',').map((mode) => {\n mode = mode.trim();\n if (colorModeToClass[mode as keyof ColorModeConfig]) {\n classes.push(colorModeToClass[mode as keyof ColorModeConfig]);\n } else if (scaleModeToClass[mode as keyof ScaleModeConfig]) {\n classes.push(scaleModeToClass[mode as keyof ScaleModeConfig]);\n }\n });\n } else {\n // Default: Light, Dark and Large\n classes.push(colorModeToClass.dark);\n classes.push(colorModeToClass.light);\n classes.push(scaleModeToClass.large);\n }\n\n return classes;\n};\n\n/**\n * Scan the source code for all `getStyles` references\n *\n * Note: This currently only works if we are passing a literal object to getStyles.\n *\n * Explanation: They we are able to enfer what css to include is by looking at the properties of the object passed.\n * If something other than an object is passed, we can fallback on the Type, but that would require handling\n * a lot of edge cases (function return type, spread operator, ternary, ...) and each one of these cases will\n * most likely have a sub case. Falling back to the Type will complicate the code a lot is error prone as there\n * is only so much info we can get out of the types as the Users are free to use `any` on their project which will\n * provide no value for us. Hence why having a literal object passed is the best and probably the only sane way\n * to go about this.\n */\nconst scanGetStylesReferences = (\n project: Project,\n variants: Record<string, Record<string, string>>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n packageJson: Record<string, any>,\n): Map<string, Set<string>> => {\n // Find all the references for `getStyles`\n const references: CallExpression[] = [];\n for (const sourceFile of project.getSourceFiles()) {\n for (const importDeclaration of sourceFile.getImportDeclarations()) {\n if (importDeclaration.getModuleSpecifierValue() === packageJson.name) {\n for (const namedImport of importDeclaration.getNamedImports()) {\n if (namedImport.getName() === 'getStyles') {\n const identifier = namedImport.getFirstDescendantByKindOrThrow(\n ts.SyntaxKind.Identifier,\n );\n\n for (const reference of identifier.findReferencesAsNodes()) {\n const node = reference.getFirstAncestor((node) => {\n return Node.isCallExpression(node);\n });\n\n if (node) {\n references.push(node as CallExpression);\n }\n }\n }\n }\n }\n }\n }\n\n const usedProps = new Map<string, Set<string>>();\n for (const reference of references) {\n // TODO: handle the throw, tell users to not use something other than an object when calling `getStyles`\n const objectLiteralExpression = reference.getFirstChildByKindOrThrow(\n SyntaxKind.ObjectLiteralExpression,\n );\n const propertyAssignments = objectLiteralExpression.getDescendantsOfKind(\n SyntaxKind.PropertyAssignment,\n ); // PropertyAssignment is { property: 'test' }\n const shorthandPropertyAssignments = objectLiteralExpression.getDescendantsOfKind(\n SyntaxKind.ShorthandPropertyAssignment,\n ); // ShorthandPropertyAssignment is { property }\n // TODO: handle spread assignment\n propertyAssignments.forEach((propertyAssigment) => {\n const identifier = propertyAssigment.getFirstChildByKind(SyntaxKind.Identifier)?.getText();\n // check if we are assigning a string\n const stringLiteral = propertyAssigment\n .getFirstChildByKind(SyntaxKind.StringLiteral)\n ?.getLiteralText();\n if (identifier && !stringLiteral) {\n // this means an expression has been used\n // so we add all the possibilites\n const isvalidVariant = !!variants[identifier as keyof typeof variants];\n const fallback = isvalidVariant\n ? Object.keys(variants[identifier as keyof typeof variants])\n : [];\n usedProps.set(identifier, new Set(fallback));\n }\n if (identifier && stringLiteral) {\n let options: Set<string>;\n if (usedProps.has(identifier)) {\n options = usedProps.get(identifier)!;\n } else {\n options = new Set();\n }\n options.add(stringLiteral);\n usedProps.set(identifier, options);\n }\n });\n shorthandPropertyAssignments.forEach((propertyAssigment) => {\n const identifier = propertyAssigment.getFirstChildByKind(SyntaxKind.Identifier)?.getText();\n if (identifier) {\n usedProps.set(identifier, new Set());\n }\n });\n }\n\n return usedProps;\n};\n\ntype PurgeOptions = {\n config?: string;\n output?: string;\n entry?: string | string[];\n optimized?: string | boolean;\n};\n\nconst applyPurgeDefaults = (\n options: PurgeOptions = {},\n): Required<Pick<PurgeOptions, 'config' | 'output' | 'entry'>> => ({\n config: options.config ?? process.env.UDS_OUT_FILE ?? './uds.config.ts',\n output: options.output ?? 'dist/safelist.ts',\n entry: options.entry ?? DEFAULT_ENTRY,\n});\n\nasync function purge(\n variants: Record<string, Record<string, string>>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n packageJson: Record<string, any>,\n generatedPurgeCssData: GeneratedPurgeCSSData,\n options: PurgeOptions = {},\n) {\n const { config: configPath, output, entry } = applyPurgeDefaults(options);\n const workspaceDir = process.env.PWD || process.cwd();\n if (!workspaceDir) {\n throw new Error('Workspace directory not found.');\n }\n const srcDir = path.join(workspaceDir, '/tsconfig.json');\n const project = new Project({\n tsConfigFilePath: srcDir,\n });\n const outputFilePath = path.join(workspaceDir, output);\n\n // // we need to load the UDS config\n const configAbsolutePath = path.join(workspaceDir, configPath);\n // The config is currently unused because we haven't implemented the feature to toggle the color and scale modes\n // in the configurator. This is a placeholder for when we do, so we can purge the unused classes.\n let config: { config: UniversalTokensConfig } | undefined;\n try {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n config = await import(configAbsolutePath);\n } catch {\n throw new Error(\n \"Couldn't load the UDS config. Make sure you have uds.config.ts in the root of your project.\",\n );\n }\n spinStart('Getting used UDS components...');\n // 1. Get all files from the current dir\n print('Loading the project...');\n const files = await getFiles(entry);\n // 2. For each file get the imports;\n print('Going through the imports...');\n const udsImports = parseFiles(project, files);\n // 3. Now that we have the imported components\n print('Finding all the components imported from UDS...');\n const udsComponents = getComponentsToConvertToTW(udsImports, generatedPurgeCssData);\n // 4. Generate the CSS we need\n print('🧑‍🍳 Cooking...');\n const safeList = getTailwindSafelist(\n project,\n udsComponents,\n variants,\n generatedPurgeCssData,\n packageJson,\n );\n const themesAndScalesClasses = getClassesForEnabledThemesAndScales();\n // 5. Write the allowlist to a file\n saveToFile(safeList.concat(themesAndScalesClasses), outputFilePath);\n spinStop('Generated your safelist!');\n}\n\nexport {\n applyPurgeDefaults,\n findNamedImportReferences,\n type GeneratedPurgeCSSData,\n getClassesForEnabledThemesAndScales,\n getComponentsToConvertToTW,\n getTailwindSafelist,\n getUsedProps,\n isUDSComponent,\n parseFiles,\n purge,\n type PurgeOptions,\n scanGetStylesReferences,\n};\n"],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Tailwind and Purger v0.0.0-development */
2
+ const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
3
+ const require_purgeCSS = require('./purgeCSS.cjs');
4
+ let _yahoo_uds_css_tokens = require("@yahoo/uds-css-tokens");
5
+ let ts_morph = require("ts-morph");
6
+
7
+ //#region src/purger/legacy/purgeFromCode.ts
8
+ const COLOR_MODE_CLASSES = {
9
+ dark: _yahoo_uds_css_tokens.DARK_COLOR_MODE_CLASSNAME,
10
+ light: _yahoo_uds_css_tokens.LIGHT_COLOR_MODE_CLASSNAME
11
+ };
12
+ /**
13
+ * Run the legacy purger on a code string and return the safelist.
14
+ * This uses the same logic as the CLI `uds purge` command but with in-memory files.
15
+ *
16
+ * @param code - The TypeScript/TSX code to analyze
17
+ * @param options - Configuration options for color modes
18
+ * @returns The purge result containing safelist, imports, and components
19
+ */
20
+ function purgeFromCode(code, options) {
21
+ const { colorModes = ["dark", "light"] } = options;
22
+ try {
23
+ const project = new ts_morph.Project({
24
+ useInMemoryFileSystem: true,
25
+ compilerOptions: {
26
+ jsx: ts_morph.ts.JsxEmit.ReactJSX,
27
+ jsxImportSource: "react",
28
+ target: ts_morph.ts.ScriptTarget.ESNext,
29
+ module: ts_morph.ts.ModuleKind.ESNext,
30
+ moduleResolution: ts_morph.ts.ModuleResolutionKind.NodeJs,
31
+ esModuleInterop: true,
32
+ strict: true
33
+ }
34
+ });
35
+ const imports = require_purgeCSS.parseFiles(project, [project.createSourceFile("user-code.tsx", code).getFilePath()]);
36
+ const components = require_purgeCSS.getComponentsToConvertToTW(imports, options.generatedPurgeCssData);
37
+ const safelist = require_purgeCSS.getTailwindSafelist(project, components, options.variants, options.generatedPurgeCssData, options.packageJson);
38
+ for (const mode of colorModes) {
39
+ const cls = COLOR_MODE_CLASSES[mode];
40
+ if (cls) safelist.push(cls);
41
+ }
42
+ safelist.push(_yahoo_uds_css_tokens.LARGE_SCALE_MODE_CLASSNAME);
43
+ return {
44
+ safelist: Array.from(new Set(safelist)),
45
+ imports,
46
+ components
47
+ };
48
+ } catch (error) {
49
+ return {
50
+ safelist: [],
51
+ imports: [],
52
+ components: [],
53
+ error: error instanceof Error ? error.message : "Unknown error"
54
+ };
55
+ }
56
+ }
57
+
58
+ //#endregion
59
+ exports.purgeFromCode = purgeFromCode;