@yahoo/uds 3.114.0-beta.3 → 3.114.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 (249) hide show
  1. package/dist/automated-config/dist/generated/autoVariants.cjs +3 -0
  2. package/dist/automated-config/dist/generated/autoVariants.d.cts +3 -0
  3. package/dist/automated-config/dist/generated/autoVariants.d.ts +3 -0
  4. package/dist/automated-config/dist/generated/autoVariants.js +3 -0
  5. package/dist/automated-config/dist/generated/generatedConfigs.cjs +1883 -0
  6. package/dist/automated-config/dist/generated/generatedConfigs.d.cts +175 -1
  7. package/dist/automated-config/dist/generated/generatedConfigs.d.ts +175 -1
  8. package/dist/automated-config/dist/generated/generatedConfigs.js +1882 -1
  9. package/dist/automated-config/dist/generated/universalTokensConfigAuto.cjs +84 -0
  10. package/dist/automated-config/dist/generated/universalTokensConfigAuto.d.cts +3 -1
  11. package/dist/automated-config/dist/generated/universalTokensConfigAuto.d.ts +3 -1
  12. package/dist/automated-config/dist/generated/universalTokensConfigAuto.js +84 -0
  13. package/dist/automated-config/dist/mapTextVariantFixtureToValue.cjs +1 -12
  14. package/dist/automated-config/dist/mapTextVariantFixtureToValue.js +1 -12
  15. package/dist/automated-config/dist/properties.cjs +58 -12
  16. package/dist/automated-config/dist/properties.d.cts +8 -0
  17. package/dist/automated-config/dist/properties.d.ts +8 -0
  18. package/dist/automated-config/dist/properties.js +58 -12
  19. package/dist/automated-config/dist/utils/getConfigVariantProperties.d.cts +2 -2
  20. package/dist/automated-config/dist/utils/getConfigVariantProperties.d.ts +2 -2
  21. package/dist/cli/commands/sync.cjs +7 -1
  22. package/dist/cli/commands/sync.d.cts +1 -1
  23. package/dist/cli/commands/sync.d.ts +1 -1
  24. package/dist/cli/commands/sync.js +7 -1
  25. package/dist/cli/commands/version.cjs +2 -0
  26. package/dist/cli/commands/version.d.cts +1 -1
  27. package/dist/cli/commands/version.d.ts +1 -1
  28. package/dist/cli/commands/version.js +2 -0
  29. package/dist/cli/dist/cli.cjs +1 -1
  30. package/dist/cli/dist/cli.js +1 -1
  31. package/dist/cli/dist/commands/editor-rules.cjs +2 -2
  32. package/dist/cli/dist/commands/editor-rules.js +2 -2
  33. package/dist/cli/dist/utils/rules/config.cjs +1 -1
  34. package/dist/cli/dist/utils/rules/config.js +1 -1
  35. package/dist/cli/runner.cjs +2 -11
  36. package/dist/cli/runner.js +2 -11
  37. package/dist/components/Scrim.cjs +28 -0
  38. package/dist/components/Scrim.d.cts +14 -0
  39. package/dist/components/Scrim.d.ts +14 -0
  40. package/dist/components/Scrim.js +26 -0
  41. package/dist/components/client/BottomSheet/BottomSheet.cjs +209 -0
  42. package/dist/components/client/BottomSheet/BottomSheet.d.cts +77 -0
  43. package/dist/components/client/BottomSheet/BottomSheet.d.ts +77 -0
  44. package/dist/components/client/BottomSheet/BottomSheet.js +207 -0
  45. package/dist/components/client/BottomSheet/BottomSheetContent.cjs +26 -0
  46. package/dist/components/client/BottomSheet/BottomSheetContent.d.cts +15 -0
  47. package/dist/components/client/BottomSheet/BottomSheetContent.d.ts +15 -0
  48. package/dist/components/client/BottomSheet/BottomSheetContent.js +24 -0
  49. package/dist/components/client/BottomSheet/BottomSheetDismiss.cjs +15 -0
  50. package/dist/components/client/BottomSheet/BottomSheetDismiss.d.cts +12 -0
  51. package/dist/components/client/BottomSheet/BottomSheetDismiss.d.ts +12 -0
  52. package/dist/components/client/BottomSheet/BottomSheetDismiss.js +13 -0
  53. package/dist/components/client/BottomSheet/BottomSheetHandle.cjs +30 -0
  54. package/dist/components/client/BottomSheet/BottomSheetHandle.d.cts +19 -0
  55. package/dist/components/client/BottomSheet/BottomSheetHandle.d.ts +19 -0
  56. package/dist/components/client/BottomSheet/BottomSheetHandle.js +28 -0
  57. package/dist/components/client/BottomSheet/BottomSheetHeader.cjs +42 -0
  58. package/dist/components/client/BottomSheet/BottomSheetHeader.d.cts +18 -0
  59. package/dist/components/client/BottomSheet/BottomSheetHeader.d.ts +18 -0
  60. package/dist/components/client/BottomSheet/BottomSheetHeader.js +40 -0
  61. package/dist/components/client/BottomSheet/BottomSheetProvider.cjs +21 -0
  62. package/dist/components/client/BottomSheet/BottomSheetProvider.d.cts +19 -0
  63. package/dist/components/client/BottomSheet/BottomSheetProvider.d.ts +19 -0
  64. package/dist/components/client/BottomSheet/BottomSheetProvider.js +19 -0
  65. package/dist/components/client/BottomSheet/BottomSheetTrigger.cjs +15 -0
  66. package/dist/components/client/BottomSheet/BottomSheetTrigger.d.cts +12 -0
  67. package/dist/components/client/BottomSheet/BottomSheetTrigger.d.ts +12 -0
  68. package/dist/components/client/BottomSheet/BottomSheetTrigger.js +13 -0
  69. package/dist/components/client/BottomSheet/UDSBottomSheetConfigProvider.cjs +32 -0
  70. package/dist/components/client/BottomSheet/UDSBottomSheetConfigProvider.d.cts +22 -0
  71. package/dist/components/client/BottomSheet/UDSBottomSheetConfigProvider.d.ts +22 -0
  72. package/dist/components/client/BottomSheet/UDSBottomSheetConfigProvider.js +29 -0
  73. package/dist/components/client/BottomSheet/index.cjs +22 -0
  74. package/dist/components/client/BottomSheet/index.d.cts +10 -0
  75. package/dist/components/client/BottomSheet/index.d.ts +10 -0
  76. package/dist/components/client/BottomSheet/index.js +12 -0
  77. package/dist/components/client/BottomSheet/useBottomSheetDrag.cjs +188 -0
  78. package/dist/components/client/BottomSheet/useBottomSheetDrag.d.cts +44 -0
  79. package/dist/components/client/BottomSheet/useBottomSheetDrag.d.ts +44 -0
  80. package/dist/components/client/BottomSheet/useBottomSheetDrag.js +185 -0
  81. package/dist/components/client/BottomSheet/useBottomSheetSnapModel.cjs +138 -0
  82. package/dist/components/client/BottomSheet/useBottomSheetSnapModel.d.cts +46 -0
  83. package/dist/components/client/BottomSheet/useBottomSheetSnapModel.d.ts +46 -0
  84. package/dist/components/client/BottomSheet/useBottomSheetSnapModel.js +135 -0
  85. package/dist/components/client/BottomSheet/useBottomSheetStore.cjs +34 -0
  86. package/dist/components/client/BottomSheet/useBottomSheetStore.d.cts +38 -0
  87. package/dist/components/client/BottomSheet/useBottomSheetStore.d.ts +38 -0
  88. package/dist/components/client/BottomSheet/useBottomSheetStore.js +31 -0
  89. package/dist/components/client/BottomSheet/useBottomSheetStoreInternal.cjs +17 -0
  90. package/dist/components/client/BottomSheet/useBottomSheetStoreInternal.d.cts +13 -0
  91. package/dist/components/client/BottomSheet/useBottomSheetStoreInternal.d.ts +13 -0
  92. package/dist/components/client/BottomSheet/useBottomSheetStoreInternal.js +15 -0
  93. package/dist/components/client/BottomSheet/useExpansionMargins.cjs +89 -0
  94. package/dist/components/client/BottomSheet/useExpansionMargins.d.cts +34 -0
  95. package/dist/components/client/BottomSheet/useExpansionMargins.d.ts +34 -0
  96. package/dist/components/client/BottomSheet/useExpansionMargins.js +87 -0
  97. package/dist/components/client/BottomSheet/useViewportHeight.cjs +32 -0
  98. package/dist/components/client/BottomSheet/useViewportHeight.d.cts +9 -0
  99. package/dist/components/client/BottomSheet/useViewportHeight.d.ts +9 -0
  100. package/dist/components/client/BottomSheet/useViewportHeight.js +30 -0
  101. package/dist/components/client/BottomSheet/useVirtualKeyboard.cjs +48 -0
  102. package/dist/components/client/BottomSheet/useVirtualKeyboard.d.cts +10 -0
  103. package/dist/components/client/BottomSheet/useVirtualKeyboard.d.ts +10 -0
  104. package/dist/components/client/BottomSheet/useVirtualKeyboard.js +46 -0
  105. package/dist/components/client/BottomSheet/utils.cjs +128 -0
  106. package/dist/components/client/BottomSheet/utils.d.cts +61 -0
  107. package/dist/components/client/BottomSheet/utils.d.ts +61 -0
  108. package/dist/components/client/BottomSheet/utils.js +118 -0
  109. package/dist/components/client/Menu/Menu.Content.cjs +1 -1
  110. package/dist/components/client/Menu/Menu.Content.js +1 -1
  111. package/dist/components/client/Menu/Menu.index.d.cts +1 -1
  112. package/dist/components/client/index.cjs +16 -0
  113. package/dist/components/client/index.d.cts +10 -1
  114. package/dist/components/client/index.d.ts +10 -1
  115. package/dist/components/client/index.js +9 -1
  116. package/dist/components/client/providers/UDSConfigProvider.cjs +10 -6
  117. package/dist/components/client/providers/UDSConfigProvider.d.cts +1 -0
  118. package/dist/components/client/providers/UDSConfigProvider.d.ts +1 -0
  119. package/dist/components/client/providers/UDSConfigProvider.js +10 -6
  120. package/dist/components/index.cjs +24 -0
  121. package/dist/components/index.d.cts +9 -1
  122. package/dist/components/index.d.ts +9 -1
  123. package/dist/components/index.js +17 -1
  124. package/dist/config/dist/index.cjs +110 -2
  125. package/dist/config/dist/index.js +110 -2
  126. package/dist/fixtures/dist/index.cjs +103 -0
  127. package/dist/fixtures/dist/index.d.cts +3 -2
  128. package/dist/fixtures/dist/index.d.ts +3 -2
  129. package/dist/fixtures/dist/index.js +103 -1
  130. package/dist/fixtures/index.cjs +1 -0
  131. package/dist/fixtures/index.d.cts +2 -2
  132. package/dist/fixtures/index.d.ts +2 -2
  133. package/dist/fixtures/index.js +2 -2
  134. package/dist/index.cjs +20 -2
  135. package/dist/index.d.cts +12 -5
  136. package/dist/index.d.ts +12 -5
  137. package/dist/index.js +11 -3
  138. package/dist/runtime/bottomSheetConfig.cjs +11 -0
  139. package/dist/runtime/bottomSheetConfig.d.cts +15 -0
  140. package/dist/runtime/bottomSheetConfig.d.ts +15 -0
  141. package/dist/runtime/bottomSheetConfig.js +9 -0
  142. package/dist/runtime/index.cjs +2 -0
  143. package/dist/runtime/index.d.cts +2 -1
  144. package/dist/runtime/index.d.ts +2 -1
  145. package/dist/runtime/index.js +2 -1
  146. package/dist/runtime/udsConfig.cjs +2 -0
  147. package/dist/runtime/udsConfig.d.cts +2 -0
  148. package/dist/runtime/udsConfig.d.ts +2 -0
  149. package/dist/runtime/udsConfig.js +2 -0
  150. package/dist/styles/styler.d.cts +20 -17
  151. package/dist/styles/styler.d.ts +24 -21
  152. package/dist/styles/variants.cjs +278 -278
  153. package/dist/styles/variants.d.cts +9 -0
  154. package/dist/styles/variants.d.ts +9 -0
  155. package/dist/styles/variants.js +278 -278
  156. package/dist/tailwind/dist/commands/generateComponentData.cjs +31 -33
  157. package/dist/tailwind/dist/commands/generateComponentData.d.ts +1 -1
  158. package/dist/tailwind/dist/commands/generateComponentData.js +31 -33
  159. package/dist/tailwind/dist/commands/generatePurgeCSSData.d.ts +1 -1
  160. package/dist/tailwind/dist/commands/purge.cjs +4 -3
  161. package/dist/tailwind/dist/commands/purge.d.ts +1 -1
  162. package/dist/tailwind/dist/commands/purge.js +4 -3
  163. package/dist/tailwind/dist/index.d.cts +0 -1
  164. package/dist/tailwind/dist/index.d.ts +3 -5
  165. package/dist/tailwind/dist/purger/legacy/purgeCSS.cjs +3 -4
  166. package/dist/tailwind/dist/purger/legacy/purgeCSS.js +3 -4
  167. package/dist/tailwind/dist/purger/optimized/ast/expressions.cjs +125 -122
  168. package/dist/tailwind/dist/purger/optimized/ast/expressions.js +125 -122
  169. package/dist/tailwind/dist/purger/optimized/ast/jsx.cjs +8 -1
  170. package/dist/tailwind/dist/purger/optimized/ast/jsx.js +8 -1
  171. package/dist/tailwind/dist/purger/optimized/purge.cjs +10 -11
  172. package/dist/tailwind/dist/purger/optimized/purge.js +9 -10
  173. package/dist/tailwind/dist/purger/optimized/purgeFromCode.cjs +127 -238
  174. package/dist/tailwind/dist/purger/optimized/purgeFromCode.js +127 -238
  175. package/dist/tailwind/dist/purger/optimized/utils/componentAnalyzer.cjs +261 -353
  176. package/dist/tailwind/dist/purger/optimized/utils/componentAnalyzer.js +261 -352
  177. package/dist/tailwind/dist/purger/optimized/utils/files.cjs +3 -4
  178. package/dist/tailwind/dist/purger/optimized/utils/files.js +3 -4
  179. package/dist/tailwind/dist/purger/optimized/utils/safelist.cjs +21 -13
  180. package/dist/tailwind/dist/purger/optimized/utils/safelist.js +21 -13
  181. package/dist/tailwind/dist/tailwind/plugins/components.cjs +2 -0
  182. package/dist/tailwind/dist/tailwind/plugins/components.js +3 -1
  183. package/dist/tailwind/dist/tailwind/plugins/typography.cjs +13 -41
  184. package/dist/tailwind/dist/tailwind/plugins/typography.js +13 -41
  185. package/dist/tailwind/dist/tailwind/utils/composeTailwindPlugins.cjs +2 -4
  186. package/dist/tailwind/dist/tailwind/utils/composeTailwindPlugins.d.cts +1 -10
  187. package/dist/tailwind/dist/tailwind/utils/composeTailwindPlugins.d.ts +1 -10
  188. package/dist/tailwind/dist/tailwind/utils/composeTailwindPlugins.js +2 -4
  189. package/dist/tailwind/dist/tailwind/utils/getFontStyles.d.cts +1 -1
  190. package/dist/tailwind/dist/tailwind/utils/getFontStyles.d.ts +1 -1
  191. package/dist/tailwind/dist/tailwind/utils/getShadowStyles.d.cts +4 -4
  192. package/dist/tailwind/dist/tailwind/utils/getShadowStyles.d.ts +4 -4
  193. package/dist/tailwind/dist/utils/tsMorph.cjs +1 -1
  194. package/dist/tokens/automation/configs/index.cjs +2 -0
  195. package/dist/tokens/automation/configs/index.d.cts +2 -2
  196. package/dist/tokens/automation/configs/index.d.ts +2 -2
  197. package/dist/tokens/automation/configs/index.js +2 -2
  198. package/dist/tokens/automation/index.cjs +2 -0
  199. package/dist/tokens/automation/index.d.cts +2 -2
  200. package/dist/tokens/automation/index.d.ts +2 -2
  201. package/dist/tokens/automation/index.js +2 -2
  202. package/dist/tokens/index.cjs +2 -0
  203. package/dist/tokens/index.d.cts +3 -3
  204. package/dist/tokens/index.d.ts +3 -3
  205. package/dist/tokens/index.js +2 -2
  206. package/dist/tokens/types.d.cts +2 -2
  207. package/dist/tokens/types.d.ts +2 -2
  208. package/dist/types/dist/index.d.cts +76 -1
  209. package/dist/types/dist/index.d.ts +76 -1
  210. package/dist/uds/generated/componentData.cjs +1195 -990
  211. package/dist/uds/generated/componentData.js +1130 -979
  212. package/dist/uds/generated/tailwindPurge.cjs +57 -29
  213. package/dist/uds/generated/tailwindPurge.js +57 -29
  214. package/dist/uds/package.cjs +4 -10
  215. package/dist/uds/package.js +4 -10
  216. package/package.json +4 -7
  217. package/dist/cli/dist/lib/logger.cjs +0 -66
  218. package/dist/cli/dist/lib/logger.js +0 -66
  219. package/dist/tailwind/dist/commands/css.cjs +0 -79
  220. package/dist/tailwind/dist/commands/css.d.ts +0 -3
  221. package/dist/tailwind/dist/commands/css.helpers.cjs +0 -32
  222. package/dist/tailwind/dist/commands/css.helpers.js +0 -28
  223. package/dist/tailwind/dist/commands/css.js +0 -79
  224. package/dist/tailwind/dist/css/generate.cjs +0 -120
  225. package/dist/tailwind/dist/css/generate.d.cts +0 -30
  226. package/dist/tailwind/dist/css/generate.d.ts +0 -31
  227. package/dist/tailwind/dist/css/generate.helpers.cjs +0 -112
  228. package/dist/tailwind/dist/css/generate.helpers.js +0 -100
  229. package/dist/tailwind/dist/css/generate.js +0 -115
  230. package/dist/tailwind/dist/css/postcss.cjs +0 -35
  231. package/dist/tailwind/dist/css/postcss.helpers.cjs +0 -27
  232. package/dist/tailwind/dist/css/postcss.helpers.js +0 -26
  233. package/dist/tailwind/dist/css/postcss.js +0 -35
  234. package/dist/tailwind/dist/css/runner.cjs +0 -278
  235. package/dist/tailwind/dist/css/runner.helpers.cjs +0 -26
  236. package/dist/tailwind/dist/css/runner.helpers.js +0 -23
  237. package/dist/tailwind/dist/css/runner.js +0 -275
  238. package/dist/tailwind/dist/css/theme.cjs +0 -12
  239. package/dist/tailwind/dist/css/theme.d.cts +0 -66
  240. package/dist/tailwind/dist/css/theme.d.ts +0 -66
  241. package/dist/tailwind/dist/css/theme.js +0 -11
  242. package/dist/tailwind/dist/css/utils.cjs +0 -234
  243. package/dist/tailwind/dist/css/utils.js +0 -223
  244. package/dist/tailwind/dist/utils/optimizeCSS.cjs +0 -405
  245. package/dist/tailwind/dist/utils/optimizeCSS.js +0 -403
  246. package/dist/tailwind/dist/utils/postcssPreserveVars.cjs +0 -67
  247. package/dist/tailwind/dist/utils/postcssPreserveVars.js +0 -65
  248. package/generated/componentData.json +0 -2417
  249. package/generated/tailwindPurge.ts +0 -4560
@@ -19,171 +19,174 @@ import { Node, SyntaxKind } from "ts-morph";
19
19
  * @param visited Set of visited nodes to prevent infinite recursion
20
20
  * @returns Array of extracted string literal values
21
21
  */
22
- const extractStringLiterals = (node, visited = /* @__PURE__ */ new Set()) => {
22
+ function extractStringLiterals(node, visited = /* @__PURE__ */ new Set()) {
23
23
  if (visited.has(node)) return [];
24
24
  visited.add(node);
25
- const directValues = extractDirectLiteralValues(node);
26
- if (directValues) return directValues;
27
- const templateValues = extractTemplateExpressionValues(node, visited);
28
- if (templateValues) return templateValues;
29
- if (Node.isConditionalExpression(node)) return [...extractStringLiterals(node.getWhenTrue(), visited), ...extractStringLiterals(node.getWhenFalse(), visited)];
30
- const binaryValues = extractBinaryExpressionValues(node, visited);
31
- if (binaryValues) return binaryValues;
32
- const wrappedExpressionValues = extractWrappedExpressionValues(node, visited);
33
- if (wrappedExpressionValues) return wrappedExpressionValues;
34
- const propertyAccessValues = extractPropertyAccessValues(node, visited);
35
- if (propertyAccessValues) return propertyAccessValues;
36
- const elementAccessValues = extractElementAccessValues(node);
37
- if (elementAccessValues) return elementAccessValues;
38
- const callExpressionValues = extractCallExpressionValues(node, visited);
39
- if (callExpressionValues) return callExpressionValues;
40
- const identifierValues = extractIdentifierValues(node, visited);
41
- if (identifierValues) return identifierValues;
42
- return [];
43
- };
44
- const extractDirectLiteralValues = (node) => {
45
- if (Node.isStringLiteral(node) || Node.isNoSubstitutionTemplateLiteral(node)) return [node.getLiteralValue()];
46
- return null;
47
- };
48
- const extractTemplateExpressionValues = (node, visited) => {
49
- if (!Node.isTemplateExpression(node)) return null;
50
- const parts = [[node.getHead().getLiteralText()]];
51
- node.getTemplateSpans().forEach((span) => {
52
- const exprValues = extractStringLiterals(span.getExpression(), visited);
53
- const literalText = span.getLiteral().getLiteralText();
54
- parts.push(exprValues.length > 0 ? exprValues.map((value) => `${value}${literalText}`) : ["", literalText]);
55
- });
56
- return parts.reduce((acc, segment) => acc.flatMap((base) => segment.map((frag) => `${base}${frag}`)), [""]).filter((value) => value.length > 0);
57
- };
58
- const extractBinaryExpressionValues = (node, visited) => {
59
- if (!Node.isBinaryExpression(node)) return null;
60
- const operator = node.getOperatorToken().getText();
61
- if (operator === "+") {
62
- const left = extractStringLiterals(node.getLeft(), visited);
63
- const right = extractStringLiterals(node.getRight(), visited);
64
- const combined = left.flatMap((l) => right.map((r) => `${l}${r}`));
65
- return combined.length > 0 ? combined : [];
25
+ const values = [];
26
+ if (Node.isStringLiteral(node)) {
27
+ values.push(node.getLiteralValue());
28
+ return values;
66
29
  }
67
- if (operator === "||" || operator === "??") return [...extractStringLiterals(node.getLeft(), visited), ...extractStringLiterals(node.getRight(), visited)];
68
- return [];
69
- };
70
- const extractWrappedExpressionValues = (node, visited) => {
71
- if (Node.isParenthesizedExpression(node) || Node.isAsExpression(node)) return extractStringLiterals(node.getExpression(), visited);
72
- return null;
73
- };
74
- const extractPropertyAccessValues = (node, visited) => {
75
- if (!Node.isPropertyAccessExpression(node)) return null;
76
- const typeValues = extractLiteralValuesFromType(node);
77
- if (typeValues.length > 0) return typeValues;
78
- const propertyName = node.getName();
79
- return extractObjectValues(node.getExpression(), visited).filter((value) => typeof value === "object" && value !== null && propertyName in value).map((value) => value[propertyName]).filter((value) => typeof value === "string");
80
- };
81
- const extractElementAccessValues = (node) => {
82
- if (!Node.isElementAccessExpression(node)) return null;
83
- return extractLiteralValuesFromType(node);
84
- };
85
- const extractCallExpressionValues = (node, visited) => {
86
- if (!Node.isCallExpression(node)) return null;
87
- const expression = node.getExpression();
88
- const fromDefinitions = Node.isIdentifier(expression) ? expression.getDefinitionNodes().flatMap((definition) => {
89
- if (Node.isFunctionDeclaration(definition)) return definition.getDescendantsOfKind(SyntaxKind.ReturnStatement).flatMap((returnStmt) => {
90
- const expression = returnStmt.getExpression();
91
- return expression ? extractStringLiterals(expression, visited) : [];
92
- });
93
- if (Node.isVariableDeclaration(definition)) {
94
- const initializer = definition.getInitializer();
95
- return initializer ? extractFromFunctionLike(initializer, visited) : [];
30
+ if (Node.isNoSubstitutionTemplateLiteral(node)) {
31
+ values.push(node.getLiteralValue());
32
+ return values;
33
+ }
34
+ if (Node.isConditionalExpression(node)) {
35
+ values.push(...extractStringLiterals(node.getWhenTrue(), visited));
36
+ values.push(...extractStringLiterals(node.getWhenFalse(), visited));
37
+ return values;
38
+ }
39
+ if (Node.isBinaryExpression(node)) {
40
+ const op = node.getOperatorToken().getText();
41
+ if (op === "||" || op === "??") {
42
+ values.push(...extractStringLiterals(node.getLeft(), visited));
43
+ values.push(...extractStringLiterals(node.getRight(), visited));
44
+ return values;
96
45
  }
97
- return [];
98
- }) : [];
99
- const fromArguments = node.getArguments().flatMap((arg) => extractStringLiterals(arg, visited));
100
- return [...fromDefinitions, ...fromArguments];
101
- };
102
- const extractIdentifierValues = (node, visited) => {
103
- if (!Node.isIdentifier(node)) return null;
104
- const values = node.getDefinitionNodes().flatMap((definition) => {
105
- if (Node.isVariableDeclaration(definition) || Node.isParameterDeclaration(definition) || Node.isBindingElement(definition)) {
106
- const initializer = definition.getInitializer();
107
- return initializer ? extractStringLiterals(initializer, visited) : [];
46
+ }
47
+ if (Node.isParenthesizedExpression(node)) {
48
+ values.push(...extractStringLiterals(node.getExpression(), visited));
49
+ return values;
50
+ }
51
+ if (Node.isAsExpression(node)) {
52
+ values.push(...extractStringLiterals(node.getExpression(), visited));
53
+ return values;
54
+ }
55
+ if (Node.isPropertyAccessExpression(node)) {
56
+ const typeValues = extractLiteralValuesFromType(node);
57
+ if (typeValues.length > 0) {
58
+ values.push(...typeValues);
59
+ return values;
108
60
  }
109
- return [];
110
- });
111
- return values.length > 0 ? values : extractLiteralValuesFromType(node);
112
- };
61
+ const expression = node.getExpression();
62
+ const propertyName = node.getName();
63
+ const baseValues = extractObjectValues(expression, visited);
64
+ for (const objValue of baseValues) if (typeof objValue === "object" && objValue !== null && propertyName in objValue) {
65
+ const propValue = objValue[propertyName];
66
+ if (typeof propValue === "string") values.push(propValue);
67
+ }
68
+ return values;
69
+ }
70
+ if (Node.isElementAccessExpression(node)) {
71
+ const typeValues = extractLiteralValuesFromType(node);
72
+ if (typeValues.length > 0) {
73
+ values.push(...typeValues);
74
+ return values;
75
+ }
76
+ return values;
77
+ }
78
+ if (Node.isCallExpression(node)) {
79
+ const expression = node.getExpression();
80
+ if (Node.isIdentifier(expression)) for (const definition of expression.getDefinitionNodes()) {
81
+ if (Node.isFunctionDeclaration(definition)) for (const returnStmt of definition.getDescendantsOfKind(SyntaxKind.ReturnStatement)) {
82
+ const returnExpr = returnStmt.getExpression();
83
+ if (returnExpr) values.push(...extractStringLiterals(returnExpr, visited));
84
+ }
85
+ if (Node.isVariableDeclaration(definition)) {
86
+ const initializer = definition.getInitializer();
87
+ if (initializer) values.push(...extractFromFunctionLike(initializer, visited));
88
+ }
89
+ }
90
+ return values;
91
+ }
92
+ if (Node.isIdentifier(node)) {
93
+ let foundInitializer = false;
94
+ for (const definition of node.getDefinitionNodes()) {
95
+ if (Node.isVariableDeclaration(definition)) {
96
+ const initializer = definition.getInitializer();
97
+ if (initializer) {
98
+ foundInitializer = true;
99
+ values.push(...extractStringLiterals(initializer, visited));
100
+ }
101
+ }
102
+ if (Node.isParameterDeclaration(definition)) {
103
+ const initializer = definition.getInitializer();
104
+ if (initializer) {
105
+ foundInitializer = true;
106
+ values.push(...extractStringLiterals(initializer, visited));
107
+ }
108
+ }
109
+ if (Node.isBindingElement(definition)) {
110
+ const initializer = definition.getInitializer();
111
+ if (initializer) {
112
+ foundInitializer = true;
113
+ values.push(...extractStringLiterals(initializer, visited));
114
+ }
115
+ }
116
+ }
117
+ if (!foundInitializer && values.length === 0) values.push(...extractLiteralValuesFromType(node));
118
+ return values;
119
+ }
120
+ return values;
121
+ }
113
122
  /**
114
123
  * Extract string literals from arrow functions or function expressions
115
124
  */
116
- const extractFromFunctionLike = (node, visited) => {
125
+ function extractFromFunctionLike(node, visited) {
117
126
  const values = [];
118
127
  if (Node.isArrowFunction(node)) {
119
128
  const body = node.getBody();
120
- if (Node.isBlock(body)) body.getDescendantsOfKind(SyntaxKind.ReturnStatement).forEach((returnStmt) => {
129
+ if (Node.isBlock(body)) for (const returnStmt of body.getDescendantsOfKind(SyntaxKind.ReturnStatement)) {
121
130
  const returnExpr = returnStmt.getExpression();
122
131
  if (returnExpr) values.push(...extractStringLiterals(returnExpr, visited));
123
- });
132
+ }
124
133
  else values.push(...extractStringLiterals(body, visited));
125
- } else if (Node.isFunctionExpression(node)) node.getDescendantsOfKind(SyntaxKind.ReturnStatement).forEach((returnStmt) => {
134
+ } else if (Node.isFunctionExpression(node)) for (const returnStmt of node.getDescendantsOfKind(SyntaxKind.ReturnStatement)) {
126
135
  const returnExpr = returnStmt.getExpression();
127
136
  if (returnExpr) values.push(...extractStringLiterals(returnExpr, visited));
128
- });
137
+ }
129
138
  return values;
130
- };
139
+ }
131
140
  /**
132
141
  * Extract object literal values from an expression.
133
142
  * Returns an array of all possible object values (for union types or indexed access).
134
143
  */
135
- const extractObjectValues = (node, visited) => {
144
+ function extractObjectValues(node, visited) {
136
145
  if (visited.has(node)) return [];
137
146
  visited.add(node);
138
147
  const values = [];
139
148
  if (Node.isObjectLiteralExpression(node)) {
140
149
  const obj = {};
141
- node.getProperties().forEach((prop) => {
142
- if (Node.isPropertyAssignment(prop)) {
143
- const name = prop.getName();
144
- const init = prop.getInitializer();
145
- if (init && Node.isStringLiteral(init)) obj[name] = init.getLiteralValue();
146
- else if (init && Node.isObjectLiteralExpression(init)) {
147
- const nestedValues = extractObjectValues(init, visited);
148
- if (nestedValues.length > 0) obj[name] = nestedValues[0];
149
- }
150
+ for (const prop of node.getProperties()) if (Node.isPropertyAssignment(prop)) {
151
+ const name = prop.getName();
152
+ const init = prop.getInitializer();
153
+ if (init && Node.isStringLiteral(init)) obj[name] = init.getLiteralValue();
154
+ else if (init && Node.isObjectLiteralExpression(init)) {
155
+ const nestedValues = extractObjectValues(init, visited);
156
+ if (nestedValues.length > 0) obj[name] = nestedValues[0];
150
157
  }
151
- });
158
+ }
152
159
  values.push(obj);
153
160
  return values;
154
161
  }
155
162
  if (Node.isIdentifier(node)) {
156
- node.getDefinitionNodes().forEach((definition) => {
157
- if (Node.isVariableDeclaration(definition)) {
158
- const initializer = definition.getInitializer();
159
- if (initializer) if (Node.isAsExpression(initializer)) {
160
- const inner = initializer.getExpression();
161
- values.push(...extractObjectValues(inner, visited));
162
- } else values.push(...extractObjectValues(initializer, visited));
163
- }
164
- });
163
+ for (const definition of node.getDefinitionNodes()) if (Node.isVariableDeclaration(definition)) {
164
+ const initializer = definition.getInitializer();
165
+ if (initializer) if (Node.isAsExpression(initializer)) {
166
+ const inner = initializer.getExpression();
167
+ values.push(...extractObjectValues(inner, visited));
168
+ } else values.push(...extractObjectValues(initializer, visited));
169
+ }
165
170
  return values;
166
171
  }
167
172
  if (Node.isElementAccessExpression(node)) {
168
- extractObjectValues(node.getExpression(), visited).forEach((obj) => {
169
- if (typeof obj === "object" && obj !== null) Object.values(obj).forEach((value) => values.push(value));
170
- });
173
+ const baseObjects = extractObjectValues(node.getExpression(), visited);
174
+ for (const obj of baseObjects) if (typeof obj === "object" && obj !== null) for (const value of Object.values(obj)) values.push(value);
171
175
  return values;
172
176
  }
173
177
  return values;
174
- };
178
+ }
175
179
  /**
176
180
  * Extract literal values from a TypeScript type (for union types like 'brand' | 'secondary')
177
181
  */
178
- const extractLiteralValuesFromType = (node) => {
182
+ function extractLiteralValuesFromType(node) {
179
183
  const values = [];
180
184
  const nodeType = node.getType();
181
- if (nodeType.isUnion()) nodeType.getUnionTypes().forEach((unionMember) => {
182
- if (unionMember.isStringLiteral()) values.push(unionMember.getLiteralValue());
183
- });
184
- else if (nodeType.isStringLiteral()) values.push(nodeType.getLiteralValue());
185
+ if (nodeType.isUnion()) {
186
+ for (const unionMember of nodeType.getUnionTypes()) if (unionMember.isStringLiteral()) values.push(unionMember.getLiteralValue());
187
+ } else if (nodeType.isStringLiteral()) values.push(nodeType.getLiteralValue());
185
188
  return values;
186
- };
189
+ }
187
190
 
188
191
  //#endregion
189
192
  export { extractStringLiterals };
@@ -7,7 +7,14 @@ let ts_morph = require("ts-morph");
7
7
  /**
8
8
  * Find all JSX usages of a component from its identifier
9
9
  */
10
- const findJsxReferences = (identifier) => identifier.findReferencesAsNodes().map((reference) => reference.getFirstAncestor((n) => ts_morph.Node.isJsxOpeningElement(n) || ts_morph.Node.isJsxSelfClosingElement(n))).filter((node) => Boolean(node) && (ts_morph.Node.isJsxOpeningElement(node) || ts_morph.Node.isJsxSelfClosingElement(node)));
10
+ function findJsxReferences(identifier) {
11
+ const elements = [];
12
+ for (const reference of identifier.findReferencesAsNodes()) {
13
+ const node = reference.getFirstAncestor((n) => ts_morph.Node.isJsxOpeningElement(n) || ts_morph.Node.isJsxSelfClosingElement(n));
14
+ if (node && (ts_morph.Node.isJsxOpeningElement(node) || ts_morph.Node.isJsxSelfClosingElement(node))) elements.push(node);
15
+ }
16
+ return elements;
17
+ }
11
18
 
12
19
  //#endregion
13
20
  exports.findJsxReferences = findJsxReferences;
@@ -6,7 +6,14 @@ import { Node, SyntaxKind } from "ts-morph";
6
6
  /**
7
7
  * Find all JSX usages of a component from its identifier
8
8
  */
9
- const findJsxReferences = (identifier) => identifier.findReferencesAsNodes().map((reference) => reference.getFirstAncestor((n) => Node.isJsxOpeningElement(n) || Node.isJsxSelfClosingElement(n))).filter((node) => Boolean(node) && (Node.isJsxOpeningElement(node) || Node.isJsxSelfClosingElement(node)));
9
+ function findJsxReferences(identifier) {
10
+ const elements = [];
11
+ for (const reference of identifier.findReferencesAsNodes()) {
12
+ const node = reference.getFirstAncestor((n) => Node.isJsxOpeningElement(n) || Node.isJsxSelfClosingElement(n));
13
+ if (node && (Node.isJsxOpeningElement(node) || Node.isJsxSelfClosingElement(node))) elements.push(node);
14
+ }
15
+ return elements;
16
+ }
10
17
 
11
18
  //#endregion
12
19
  export { findJsxReferences };
@@ -1,12 +1,12 @@
1
1
  /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
2
  const require_runtime = require('../../../../_virtual/_rolldown/runtime.cjs');
3
3
  const require_purgeFromCode = require('./purgeFromCode.cjs');
4
- const require_safelist = require('./utils/safelist.cjs');
5
4
  const require_files = require('./utils/files.cjs');
6
- let node_fs = require("node:fs");
7
- node_fs = require_runtime.__toESM(node_fs);
5
+ const require_safelist = require('./utils/safelist.cjs');
8
6
  let node_path = require("node:path");
9
7
  node_path = require_runtime.__toESM(node_path);
8
+ let node_fs = require("node:fs");
9
+ node_fs = require_runtime.__toESM(node_fs);
10
10
 
11
11
  //#region ../tailwind/dist/purger/optimized/purge.js
12
12
  /*! © 2026 Yahoo, Inc. UDS Tailwind and Purger v0.0.0-development */
@@ -14,16 +14,16 @@ const warnedLocations = /* @__PURE__ */ new Set();
14
14
  /**
15
15
  * Clear warned locations (call at start of new purge run)
16
16
  */
17
- const clearWarnings = () => {
17
+ function clearWarnings() {
18
18
  warnedLocations.clear();
19
- };
19
+ }
20
20
  /**
21
21
  * Main purge function - optimized version
22
22
  *
23
23
  * Uses purgeFromCodeOptimized internally to ensure consistent behavior
24
24
  * between CLI and playground.
25
25
  */
26
- const purgeOptimized = async (options) => {
26
+ async function purgeOptimized(options) {
27
27
  const { entry = "/src/", output = "dist/safelist.ts", colorModes = ["dark"], variants, autoVariants, componentData } = options;
28
28
  const startTime = performance.now();
29
29
  clearWarnings();
@@ -39,20 +39,19 @@ const purgeOptimized = async (options) => {
39
39
  spreadsTraced: 0,
40
40
  expressionsResolved: 0
41
41
  };
42
- (await Promise.all(files.map(async (filePath) => {
43
- return require_purgeFromCode.purgeFromCodeOptimized(node_fs.default.readFileSync(filePath, "utf-8"), {
42
+ for (const filePath of files) {
43
+ const result = await require_purgeFromCode.purgeFromCodeOptimized(node_fs.default.readFileSync(filePath, "utf-8"), {
44
44
  colorModes,
45
45
  variants,
46
46
  autoVariants,
47
47
  componentData
48
48
  });
49
- }))).forEach((result) => {
50
49
  allClasses.push(...result.safelist);
51
50
  result.imports.forEach((imp) => allImports.add(imp));
52
51
  result.components.forEach((comp) => allComponents.add(comp));
53
52
  stats.spreadsTraced += result.stats.spreadsTraced;
54
53
  stats.expressionsResolved += result.stats.expressionsResolved;
55
- });
54
+ }
56
55
  allClasses.push(...require_safelist.getThemeAndScaleClasses(colorModes));
57
56
  const finalSafelist = require_safelist.deduplicateSafelist(allClasses).sort();
58
57
  await require_safelist.saveSafelistToFile(finalSafelist, node_path.default.join(workspaceDir, output));
@@ -64,7 +63,7 @@ const purgeOptimized = async (options) => {
64
63
  components: [...allComponents],
65
64
  stats
66
65
  };
67
- };
66
+ }
68
67
 
69
68
  //#endregion
70
69
  exports.purgeOptimized = purgeOptimized;
@@ -1,9 +1,9 @@
1
1
  /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
2
  import { purgeFromCodeOptimized } from "./purgeFromCode.js";
3
- import { deduplicateSafelist, getThemeAndScaleClasses, saveSafelistToFile } from "./utils/safelist.js";
4
3
  import { scanForFiles } from "./utils/files.js";
5
- import fs from "node:fs";
4
+ import { deduplicateSafelist, getThemeAndScaleClasses, saveSafelistToFile } from "./utils/safelist.js";
6
5
  import path from "node:path";
6
+ import fs from "node:fs";
7
7
 
8
8
  //#region ../tailwind/dist/purger/optimized/purge.js
9
9
  /*! © 2026 Yahoo, Inc. UDS Tailwind and Purger v0.0.0-development */
@@ -11,16 +11,16 @@ const warnedLocations = /* @__PURE__ */ new Set();
11
11
  /**
12
12
  * Clear warned locations (call at start of new purge run)
13
13
  */
14
- const clearWarnings = () => {
14
+ function clearWarnings() {
15
15
  warnedLocations.clear();
16
- };
16
+ }
17
17
  /**
18
18
  * Main purge function - optimized version
19
19
  *
20
20
  * Uses purgeFromCodeOptimized internally to ensure consistent behavior
21
21
  * between CLI and playground.
22
22
  */
23
- const purgeOptimized = async (options) => {
23
+ async function purgeOptimized(options) {
24
24
  const { entry = "/src/", output = "dist/safelist.ts", colorModes = ["dark"], variants, autoVariants, componentData } = options;
25
25
  const startTime = performance.now();
26
26
  clearWarnings();
@@ -36,20 +36,19 @@ const purgeOptimized = async (options) => {
36
36
  spreadsTraced: 0,
37
37
  expressionsResolved: 0
38
38
  };
39
- (await Promise.all(files.map(async (filePath) => {
40
- return purgeFromCodeOptimized(fs.readFileSync(filePath, "utf-8"), {
39
+ for (const filePath of files) {
40
+ const result = await purgeFromCodeOptimized(fs.readFileSync(filePath, "utf-8"), {
41
41
  colorModes,
42
42
  variants,
43
43
  autoVariants,
44
44
  componentData
45
45
  });
46
- }))).forEach((result) => {
47
46
  allClasses.push(...result.safelist);
48
47
  result.imports.forEach((imp) => allImports.add(imp));
49
48
  result.components.forEach((comp) => allComponents.add(comp));
50
49
  stats.spreadsTraced += result.stats.spreadsTraced;
51
50
  stats.expressionsResolved += result.stats.expressionsResolved;
52
- });
51
+ }
53
52
  allClasses.push(...getThemeAndScaleClasses(colorModes));
54
53
  const finalSafelist = deduplicateSafelist(allClasses).sort();
55
54
  await saveSafelistToFile(finalSafelist, path.join(workspaceDir, output));
@@ -61,7 +60,7 @@ const purgeOptimized = async (options) => {
61
60
  components: [...allComponents],
62
61
  stats
63
62
  };
64
- };
63
+ }
65
64
 
66
65
  //#endregion
67
66
  export { purgeOptimized };