tailwind-typescript-plugin 1.4.0-beta.1 → 1.4.0-beta.10

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 (69) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/README.md +372 -33
  3. package/lib/core/interfaces.d.ts +2 -2
  4. package/lib/core/interfaces.d.ts.map +1 -1
  5. package/lib/core/types.d.ts +27 -1
  6. package/lib/core/types.d.ts.map +1 -1
  7. package/lib/extractors/BaseExtractor.d.ts +49 -2
  8. package/lib/extractors/BaseExtractor.d.ts.map +1 -1
  9. package/lib/extractors/BaseExtractor.js +184 -5
  10. package/lib/extractors/BaseExtractor.js.map +1 -1
  11. package/lib/extractors/CvaExtractor.d.ts.map +1 -1
  12. package/lib/extractors/CvaExtractor.js +7 -3
  13. package/lib/extractors/CvaExtractor.js.map +1 -1
  14. package/lib/extractors/ExpressionExtractor.d.ts.map +1 -1
  15. package/lib/extractors/ExpressionExtractor.js +35 -5
  16. package/lib/extractors/ExpressionExtractor.js.map +1 -1
  17. package/lib/extractors/JsxAttributeExtractor.js +1 -1
  18. package/lib/extractors/JsxAttributeExtractor.js.map +1 -1
  19. package/lib/extractors/TailwindVariantsExtractor.d.ts +2 -0
  20. package/lib/extractors/TailwindVariantsExtractor.d.ts.map +1 -1
  21. package/lib/extractors/TailwindVariantsExtractor.js +12 -8
  22. package/lib/extractors/TailwindVariantsExtractor.js.map +1 -1
  23. package/lib/extractors/VariableReferenceExtractor.d.ts.map +1 -1
  24. package/lib/extractors/VariableReferenceExtractor.js +21 -0
  25. package/lib/extractors/VariableReferenceExtractor.js.map +1 -1
  26. package/lib/infrastructure/TailwindConflictDetector.d.ts +83 -0
  27. package/lib/infrastructure/TailwindConflictDetector.d.ts.map +1 -0
  28. package/lib/infrastructure/TailwindConflictDetector.js +342 -0
  29. package/lib/infrastructure/TailwindConflictDetector.js.map +1 -0
  30. package/lib/infrastructure/TailwindValidator.d.ts +15 -0
  31. package/lib/infrastructure/TailwindValidator.d.ts.map +1 -1
  32. package/lib/infrastructure/TailwindValidator.js +84 -5
  33. package/lib/infrastructure/TailwindValidator.js.map +1 -1
  34. package/lib/infrastructure/TailwindValidator.spec.js +194 -0
  35. package/lib/infrastructure/TailwindValidator.spec.js.map +1 -1
  36. package/lib/plugin/TailwindTypescriptPlugin.d.ts +17 -0
  37. package/lib/plugin/TailwindTypescriptPlugin.d.ts.map +1 -1
  38. package/lib/plugin/TailwindTypescriptPlugin.js +117 -1
  39. package/lib/plugin/TailwindTypescriptPlugin.js.map +1 -1
  40. package/lib/services/ClassNameExtractionService.d.ts +2 -2
  41. package/lib/services/ClassNameExtractionService.d.ts.map +1 -1
  42. package/lib/services/ClassNameExtractionService.js.map +1 -1
  43. package/lib/services/ConflictClassDetection.spec.d.ts +2 -0
  44. package/lib/services/ConflictClassDetection.spec.d.ts.map +1 -0
  45. package/lib/services/ConflictClassDetection.spec.js +477 -0
  46. package/lib/services/ConflictClassDetection.spec.js.map +1 -0
  47. package/lib/services/DiagnosticService.d.ts +14 -0
  48. package/lib/services/DiagnosticService.d.ts.map +1 -1
  49. package/lib/services/DiagnosticService.js +32 -1
  50. package/lib/services/DiagnosticService.js.map +1 -1
  51. package/lib/services/DuplicateClassDetection.spec.js +41 -60
  52. package/lib/services/DuplicateClassDetection.spec.js.map +1 -1
  53. package/lib/services/PluginConfigService.d.ts +2 -1
  54. package/lib/services/PluginConfigService.d.ts.map +1 -1
  55. package/lib/services/PluginConfigService.js +19 -12
  56. package/lib/services/PluginConfigService.js.map +1 -1
  57. package/lib/services/ValidationService.d.ts +5 -2
  58. package/lib/services/ValidationService.d.ts.map +1 -1
  59. package/lib/services/ValidationService.js +22 -9
  60. package/lib/services/ValidationService.js.map +1 -1
  61. package/package.json +4 -2
  62. package/lib/extractors/StringLiteralExtractor.d.ts +0 -12
  63. package/lib/extractors/StringLiteralExtractor.d.ts.map +0 -1
  64. package/lib/extractors/StringLiteralExtractor.js +0 -21
  65. package/lib/extractors/StringLiteralExtractor.js.map +0 -1
  66. package/lib/services/ClassNameExtractionService.original.d.ts +0 -20
  67. package/lib/services/ClassNameExtractionService.original.d.ts.map +0 -1
  68. package/lib/services/ClassNameExtractionService.original.js +0 -48
  69. package/lib/services/ClassNameExtractionService.original.js.map +0 -1
@@ -151,14 +151,17 @@ class TailwindVariantsExtractor extends BaseExtractor_1.BaseExtractor {
151
151
  switch (propertyName) {
152
152
  case 'base':
153
153
  // base: 'flex items-center' or base: ['flex', 'items-center']
154
+ // Base classes are NOT variants (isVariant: false/undefined)
154
155
  classNames.push(...this.extractFromValue(property.initializer, context, attributeId));
155
156
  break;
156
157
  case 'variants':
157
158
  // variants: { size: { sm: 'text-sm', lg: 'text-lg' } }
159
+ // Mark all variant classes with isVariant: true
158
160
  classNames.push(...this.extractFromVariants(property.initializer, context, attributeId));
159
161
  break;
160
162
  case 'compoundVariants':
161
163
  // compoundVariants: [{ size: 'sm', color: 'primary', class: 'font-bold' }]
164
+ // Mark all compound variant classes with isVariant: true
162
165
  classNames.push(...this.extractFromCompoundVariants(property.initializer, context, attributeId));
163
166
  break;
164
167
  case 'slots':
@@ -179,6 +182,7 @@ class TailwindVariantsExtractor extends BaseExtractor_1.BaseExtractor {
179
182
  /**
180
183
  * Extract class names from the variants object
181
184
  * Structure: { variantName: { optionName: 'classes' } }
185
+ * All classes from variants are marked with isVariant: true
182
186
  */
183
187
  extractFromVariants(node, context, attributeId) {
184
188
  if (!context.typescript.isObjectLiteralExpression(node)) {
@@ -197,8 +201,9 @@ class TailwindVariantsExtractor extends BaseExtractor_1.BaseExtractor {
197
201
  if (!context.typescript.isPropertyAssignment(optionProp)) {
198
202
  continue;
199
203
  }
200
- // Extract classes from the option value
201
- classNames.push(...this.extractFromValue(optionProp.initializer, context, attributeId));
204
+ // Extract classes from the option value and mark as variant
205
+ const extracted = this.extractFromValue(optionProp.initializer, context, attributeId);
206
+ classNames.push(...extracted.map(c => ({ ...c, isVariant: true })));
202
207
  }
203
208
  }
204
209
  }
@@ -207,6 +212,7 @@ class TailwindVariantsExtractor extends BaseExtractor_1.BaseExtractor {
207
212
  /**
208
213
  * Extract class names from compoundVariants array
209
214
  * Structure: [{ condition: value, class: 'classes' or className: 'classes' }]
215
+ * All classes from compoundVariants are marked with isVariant: true
210
216
  */
211
217
  extractFromCompoundVariants(node, context, attributeId) {
212
218
  if (!context.typescript.isArrayLiteralExpression(node)) {
@@ -225,7 +231,9 @@ class TailwindVariantsExtractor extends BaseExtractor_1.BaseExtractor {
225
231
  }
226
232
  const propName = this.getPropertyName(prop, context);
227
233
  if (propName === 'class' || propName === 'className') {
228
- classNames.push(...this.extractFromValue(prop.initializer, context, attributeId));
234
+ // Extract classes and mark as variant
235
+ const extracted = this.extractFromValue(prop.initializer, context, attributeId);
236
+ classNames.push(...extracted.map(c => ({ ...c, isVariant: true })));
229
237
  }
230
238
  }
231
239
  }
@@ -416,13 +424,9 @@ class TailwindVariantsExtractor extends BaseExtractor_1.BaseExtractor {
416
424
  : context.typescript.isPropertyAccessExpression(expr)
417
425
  ? expr.name.text
418
426
  : null;
419
- if (functionName && context.utilityFunctions.includes(functionName)) {
420
- // Debug: log when skipping utility function
421
- // console.log(`[TV] Skipping utility function: ${functionName}`);
427
+ if (functionName && this.isUtilityFunctionName(functionName, context.utilityFunctions)) {
422
428
  return false;
423
429
  }
424
- // Debug: log function being checked
425
- // console.log(`[TV] Checking if ${functionName} is tv-created, utility functions:`, context.utilityFunctions);
426
430
  // Get the symbol for the called function
427
431
  const symbol = context.typeChecker.getSymbolAtLocation(expr);
428
432
  if (!symbol) {
@@ -1 +1 @@
1
- {"version":3,"file":"TailwindVariantsExtractor.js","sourceRoot":"","sources":["../../src/extractors/TailwindVariantsExtractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TailwindVariantsExtractor.js","sourceRoot":"","sources":["../../src/extractors/TailwindVariantsExtractor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VariableReferenceExtractor.d.ts","sourceRoot":"","sources":["../../src/extractors/VariableReferenceExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,qBAAa,0BAA2B,SAAQ,aAAa;IAC5D,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO;IAI7D,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;IAQnE;;OAEG;IACH,qBAAqB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;IAgD7F;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAmI9B;;;OAGG;IACH,OAAO,CAAC,iCAAiC;IAiCzC;;OAEG;IACH,OAAO,CAAC,yBAAyB;CA8BjC"}
1
+ {"version":3,"file":"VariableReferenceExtractor.d.ts","sourceRoot":"","sources":["../../src/extractors/VariableReferenceExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,qBAAa,0BAA2B,SAAQ,aAAa;IAC5D,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO;IAI7D,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;IAQnE;;OAEG;IACH,qBAAqB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE;IAgD7F;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAiK9B;;;OAGG;IACH,OAAO,CAAC,iCAAiC;IAiCzC;;OAEG;IACH,OAAO,CAAC,yBAAyB;CA8BjC"}
@@ -123,6 +123,27 @@ class VariableReferenceExtractor extends BaseExtractor_1.BaseExtractor {
123
123
  }
124
124
  }
125
125
  }
126
+ // Handle array literal expressions: const classes = ['flex', 'items-center']
127
+ else if (typescript.isArrayLiteralExpression(initializer)) {
128
+ for (const element of initializer.elements) {
129
+ // Skip empty array holes: [, , 'flex']
130
+ if (element === undefined) {
131
+ continue;
132
+ }
133
+ // Handle spread elements: [...otherClasses]
134
+ if (typescript.isSpreadElement(element)) {
135
+ classNames.push(...this.extractFromInitializer(element.expression, variableUsage, context, conditionalBranchId));
136
+ }
137
+ // Handle identifiers (variable references)
138
+ else if (typescript.isIdentifier(element)) {
139
+ classNames.push(...this.extractFromIdentifier(element, context));
140
+ }
141
+ // Handle other expressions (strings, conditionals, etc.)
142
+ else {
143
+ classNames.push(...this.extractFromInitializer(element, variableUsage, context, conditionalBranchId));
144
+ }
145
+ }
146
+ }
126
147
  return classNames;
127
148
  }
128
149
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"VariableReferenceExtractor.js","sourceRoot":"","sources":["../../src/extractors/VariableReferenceExtractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VariableReferenceExtractor.js","sourceRoot":"","sources":["../../src/extractors/VariableReferenceExtractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import { ClassNameInfo } from '../core/types';
2
+ /**
3
+ * Information about a conflicting class
4
+ */
5
+ export interface ConflictInfo {
6
+ /** The class that has a conflict */
7
+ classInfo: ClassNameInfo;
8
+ /** The class(es) it conflicts with */
9
+ conflictsWith: string[];
10
+ /** The CSS property that is being overwritten (e.g., 'text-align', 'display') */
11
+ cssProperty: string;
12
+ }
13
+ /**
14
+ * Interface for getting CSS from class names
15
+ */
16
+ export interface ICssProvider {
17
+ getCssForClasses(classNames: string[]): (string | null)[];
18
+ }
19
+ /**
20
+ * Service for detecting conflicting Tailwind CSS utility classes.
21
+ * Uses Tailwind's design system to compile classes and analyze their CSS output.
22
+ * Two classes conflict when they set the same CSS properties in the same context.
23
+ */
24
+ export declare class TailwindConflictDetector {
25
+ private cssProvider;
26
+ /**
27
+ * Set the CSS provider (TailwindValidator)
28
+ */
29
+ setCssProvider(provider: ICssProvider): void;
30
+ /**
31
+ * Parse CSS string and extract properties and context
32
+ */
33
+ private parseCss;
34
+ /**
35
+ * Extract the prefix (variants) from a class name.
36
+ * e.g., "md:hover:text-left" -> "md:hover:"
37
+ */
38
+ private extractPrefix;
39
+ /**
40
+ * Compare two ClassCssInfo arrays for equality
41
+ */
42
+ private cssInfoEquals;
43
+ /**
44
+ * Find all conflicting classes in a list of ClassNameInfo.
45
+ * Returns ConflictInfo for each class that conflicts with another.
46
+ */
47
+ findConflicts(classNames: ClassNameInfo[]): ConflictInfo[];
48
+ /**
49
+ * Find conflicts within a single attribute's classes.
50
+ * Handles conditional branches - classes in mutually exclusive branches don't conflict.
51
+ * Also handles base vs variant separation for tv()/cva() - variants are designed to override base.
52
+ */
53
+ private findConflictsInAttribute;
54
+ /**
55
+ * Find conflicts within a group of classes (either all base or all variant).
56
+ * Handles conditional branches - classes in mutually exclusive branches don't conflict.
57
+ */
58
+ private findConflictsInClassGroup;
59
+ /**
60
+ * Get the CSS property that causes a conflict between two classes, or null if no conflict.
61
+ */
62
+ private getConflictProperty;
63
+ /**
64
+ * Find conflicts in a flat list of classes (no branch handling).
65
+ */
66
+ private findConflictsInList;
67
+ /**
68
+ * Check if two class names conflict with each other.
69
+ */
70
+ doClassesConflict(className1: string, className2: string): boolean;
71
+ /**
72
+ * Get the conflict group for a class name, if any.
73
+ * Returns the CSS properties that this class affects.
74
+ */
75
+ getConflictGroup(className: string): string | null;
76
+ /**
77
+ * Get all classes that would conflict with a given class.
78
+ * Note: This is a simplified implementation that returns an empty array
79
+ * since we no longer have a static conflict group map.
80
+ */
81
+ getConflictingClasses(className: string): string[];
82
+ }
83
+ //# sourceMappingURL=TailwindConflictDetector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TailwindConflictDetector.d.ts","sourceRoot":"","sources":["../../src/infrastructure/TailwindConflictDetector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,oCAAoC;IACpC,SAAS,EAAE,aAAa,CAAC;IACzB,sCAAsC;IACtC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,iFAAiF;IACjF,WAAW,EAAE,MAAM,CAAC;CACpB;AAYD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;CAC1D;AAED;;;;GAIG;AACH,qBAAa,wBAAwB;IACpC,OAAO,CAAC,WAAW,CAA6B;IAEhD;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAI5C;;OAEG;IACH,OAAO,CAAC,QAAQ;IAsDhB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAuBrB;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE;IA2B1D;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAgBhC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IA8CjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6B3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA+F3B;;OAEG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAIlE;;;OAGG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAgBlD;;;;OAIG;IAEH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;CAKlD"}
@@ -0,0 +1,342 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TailwindConflictDetector = void 0;
7
+ const postcss_1 = __importDefault(require("postcss"));
8
+ /**
9
+ * Service for detecting conflicting Tailwind CSS utility classes.
10
+ * Uses Tailwind's design system to compile classes and analyze their CSS output.
11
+ * Two classes conflict when they set the same CSS properties in the same context.
12
+ */
13
+ class TailwindConflictDetector {
14
+ constructor() {
15
+ this.cssProvider = null;
16
+ }
17
+ /**
18
+ * Set the CSS provider (TailwindValidator)
19
+ */
20
+ setCssProvider(provider) {
21
+ this.cssProvider = provider;
22
+ }
23
+ /**
24
+ * Parse CSS string and extract properties and context
25
+ */
26
+ parseCss(css) {
27
+ const results = [];
28
+ try {
29
+ const root = postcss_1.default.parse(css);
30
+ // Walk through all rules and at-rules
31
+ const visit = (node, contextPath = []) => {
32
+ if (node.type === 'rule') {
33
+ // Extract properties from declarations
34
+ const properties = [];
35
+ node.nodes?.forEach(child => {
36
+ if (child.type === 'decl') {
37
+ properties.push(child.prop);
38
+ }
39
+ });
40
+ if (properties.length > 0) {
41
+ results.push({
42
+ properties: properties.sort(),
43
+ context: contextPath.slice(1) // Skip the class selector itself
44
+ });
45
+ }
46
+ // Recursively visit nested rules
47
+ node.nodes?.forEach(child => {
48
+ if (child.type === 'rule' || child.type === 'atrule') {
49
+ const newContext = child.type === 'rule' ? child.selector : `@${child.name} ${child.params}`.trim();
50
+ visit(child, [...contextPath, newContext]);
51
+ }
52
+ });
53
+ }
54
+ else if (node.type === 'atrule') {
55
+ const atRuleContext = `@${node.name} ${node.params}`.trim();
56
+ node.nodes?.forEach(child => {
57
+ visit(child, [...contextPath, atRuleContext]);
58
+ });
59
+ }
60
+ };
61
+ root.nodes?.forEach(node => {
62
+ if (node.type === 'rule') {
63
+ visit(node, [node.selector]);
64
+ }
65
+ else if (node.type === 'atrule') {
66
+ visit(node, []);
67
+ }
68
+ });
69
+ }
70
+ catch {
71
+ // If parsing fails, return empty results
72
+ }
73
+ return results;
74
+ }
75
+ /**
76
+ * Extract the prefix (variants) from a class name.
77
+ * e.g., "md:hover:text-left" -> "md:hover:"
78
+ */
79
+ extractPrefix(className) {
80
+ const parts = className.split(':');
81
+ if (parts.length <= 1)
82
+ return '';
83
+ return parts.slice(0, -1).join(':') + ':';
84
+ }
85
+ /**
86
+ * Compare two ClassCssInfo arrays for equality
87
+ */
88
+ cssInfoEquals(a, b) {
89
+ if (a.length !== b.length)
90
+ return false;
91
+ for (let i = 0; i < a.length; i++) {
92
+ const entryA = a[i];
93
+ const entryB = b[i];
94
+ // Compare properties
95
+ if (entryA.properties.length !== entryB.properties.length)
96
+ return false;
97
+ for (let j = 0; j < entryA.properties.length; j++) {
98
+ if (entryA.properties[j] !== entryB.properties[j])
99
+ return false;
100
+ }
101
+ // Compare context
102
+ if (entryA.context.length !== entryB.context.length)
103
+ return false;
104
+ for (let j = 0; j < entryA.context.length; j++) {
105
+ if (entryA.context[j] !== entryB.context[j])
106
+ return false;
107
+ }
108
+ }
109
+ return true;
110
+ }
111
+ /**
112
+ * Find all conflicting classes in a list of ClassNameInfo.
113
+ * Returns ConflictInfo for each class that conflicts with another.
114
+ */
115
+ findConflicts(classNames) {
116
+ if (!this.cssProvider) {
117
+ return [];
118
+ }
119
+ const conflicts = [];
120
+ // Group classes by attributeId (conflicts are only within same attribute)
121
+ const byAttribute = new Map();
122
+ for (const classInfo of classNames) {
123
+ const key = classInfo.attributeId || `${classInfo.absoluteStart}`;
124
+ if (!byAttribute.has(key)) {
125
+ byAttribute.set(key, []);
126
+ }
127
+ byAttribute.get(key).push(classInfo);
128
+ }
129
+ // For each attribute, find conflicts
130
+ for (const classes of byAttribute.values()) {
131
+ const attributeConflicts = this.findConflictsInAttribute(classes);
132
+ conflicts.push(...attributeConflicts);
133
+ }
134
+ return conflicts;
135
+ }
136
+ /**
137
+ * Find conflicts within a single attribute's classes.
138
+ * Handles conditional branches - classes in mutually exclusive branches don't conflict.
139
+ * Also handles base vs variant separation for tv()/cva() - variants are designed to override base.
140
+ */
141
+ findConflictsInAttribute(classes) {
142
+ const conflicts = [];
143
+ // First, separate base classes from variant classes (for tv()/cva())
144
+ // Variant classes are designed to override base, so they don't conflict with base
145
+ const baseClasses = classes.filter(c => !c.isVariant);
146
+ const variantClasses = classes.filter(c => c.isVariant);
147
+ // Process base classes and variant classes separately
148
+ // They can conflict within themselves, but NOT with each other
149
+ conflicts.push(...this.findConflictsInClassGroup(baseClasses));
150
+ conflicts.push(...this.findConflictsInClassGroup(variantClasses));
151
+ return conflicts;
152
+ }
153
+ /**
154
+ * Find conflicts within a group of classes (either all base or all variant).
155
+ * Handles conditional branches - classes in mutually exclusive branches don't conflict.
156
+ */
157
+ findConflictsInClassGroup(classes) {
158
+ const conflicts = [];
159
+ // Separate root classes from branch classes
160
+ const rootClasses = classes.filter(c => !c.conditionalBranchId);
161
+ const branchClasses = classes.filter(c => c.conditionalBranchId);
162
+ // 1. Find conflicts among root classes
163
+ const rootConflicts = this.findConflictsInList(rootClasses);
164
+ conflicts.push(...rootConflicts);
165
+ // 2. Find conflicts between root classes and branch classes
166
+ for (const rootClass of rootClasses) {
167
+ for (const branchClass of branchClasses) {
168
+ const conflictProperty = this.getConflictProperty(rootClass.className, branchClass.className);
169
+ if (conflictProperty) {
170
+ conflicts.push({
171
+ classInfo: branchClass,
172
+ conflictsWith: [rootClass.className],
173
+ cssProperty: conflictProperty
174
+ });
175
+ }
176
+ }
177
+ }
178
+ // 3. Find conflicts within the same branch
179
+ const byBranch = new Map();
180
+ for (const branchClass of branchClasses) {
181
+ const branchId = branchClass.conditionalBranchId;
182
+ if (!byBranch.has(branchId)) {
183
+ byBranch.set(branchId, []);
184
+ }
185
+ byBranch.get(branchId).push(branchClass);
186
+ }
187
+ for (const branchClassList of byBranch.values()) {
188
+ const branchConflicts = this.findConflictsInList(branchClassList);
189
+ conflicts.push(...branchConflicts);
190
+ }
191
+ return conflicts;
192
+ }
193
+ /**
194
+ * Get the CSS property that causes a conflict between two classes, or null if no conflict.
195
+ */
196
+ getConflictProperty(className1, className2) {
197
+ if (!this.cssProvider)
198
+ return null;
199
+ if (className1 === className2)
200
+ return null;
201
+ // Classes with different prefixes don't conflict
202
+ const prefix1 = this.extractPrefix(className1);
203
+ const prefix2 = this.extractPrefix(className2);
204
+ if (prefix1 !== prefix2)
205
+ return null;
206
+ const cssResults = this.cssProvider.getCssForClasses([className1, className2]);
207
+ const css1 = cssResults[0];
208
+ const css2 = cssResults[1];
209
+ if (!css1 || !css2)
210
+ return null;
211
+ const info1 = this.parseCss(css1);
212
+ const info2 = this.parseCss(css2);
213
+ // Check if they have the same properties in the same context
214
+ if (this.cssInfoEquals(info1, info2)) {
215
+ // Return the properties as the conflict identifier
216
+ if (info1.length > 0 && info1[0].properties.length > 0) {
217
+ return info1[0].properties.join(', ');
218
+ }
219
+ }
220
+ return null;
221
+ }
222
+ /**
223
+ * Find conflicts in a flat list of classes (no branch handling).
224
+ */
225
+ findConflictsInList(classes) {
226
+ if (!this.cssProvider || classes.length === 0)
227
+ return [];
228
+ const conflicts = [];
229
+ // Get CSS for all classes at once (batch)
230
+ const classNames = classes.map(c => c.className);
231
+ const cssResults = this.cssProvider.getCssForClasses(classNames);
232
+ // Parse CSS and build info map
233
+ const classInfoMap = new Map();
234
+ for (let i = 0; i < classes.length; i++) {
235
+ const classInfo = classes[i];
236
+ const css = cssResults[i];
237
+ if (css) {
238
+ classInfoMap.set(classInfo, {
239
+ cssInfo: this.parseCss(css),
240
+ prefix: this.extractPrefix(classInfo.className)
241
+ });
242
+ }
243
+ }
244
+ // Compare all pairs
245
+ const classesWithCss = [...classInfoMap.keys()];
246
+ const conflictMap = new Map();
247
+ for (let i = 0; i < classesWithCss.length; i++) {
248
+ for (let j = i + 1; j < classesWithCss.length; j++) {
249
+ const classA = classesWithCss[i];
250
+ const classB = classesWithCss[j];
251
+ // Skip duplicate classes (same class name) - duplicates are handled separately
252
+ if (classA.className === classB.className)
253
+ continue;
254
+ const infoA = classInfoMap.get(classA);
255
+ const infoB = classInfoMap.get(classB);
256
+ // Different prefixes don't conflict
257
+ if (infoA.prefix !== infoB.prefix)
258
+ continue;
259
+ // Check if same CSS structure (properties + context)
260
+ if (this.cssInfoEquals(infoA.cssInfo, infoB.cssInfo)) {
261
+ const cssProperty = infoA.cssInfo.length > 0 && infoA.cssInfo[0].properties.length > 0
262
+ ? infoA.cssInfo[0].properties.join(', ')
263
+ : 'unknown';
264
+ // Add to conflict map for classA
265
+ if (!conflictMap.has(classA)) {
266
+ conflictMap.set(classA, new Set());
267
+ }
268
+ conflictMap.get(classA).add(classB.className);
269
+ // Add to conflict map for classB
270
+ if (!conflictMap.has(classB)) {
271
+ conflictMap.set(classB, new Set());
272
+ }
273
+ conflictMap.get(classB).add(classA.className);
274
+ // Create conflict entries (we'll dedupe below)
275
+ const existingA = conflicts.find(c => c.classInfo === classA);
276
+ const existingB = conflicts.find(c => c.classInfo === classB);
277
+ if (existingA) {
278
+ existingA.conflictsWith.push(classB.className);
279
+ }
280
+ else {
281
+ conflicts.push({
282
+ classInfo: classA,
283
+ conflictsWith: [classB.className],
284
+ cssProperty
285
+ });
286
+ }
287
+ if (existingB) {
288
+ existingB.conflictsWith.push(classA.className);
289
+ }
290
+ else {
291
+ conflicts.push({
292
+ classInfo: classB,
293
+ conflictsWith: [classA.className],
294
+ cssProperty
295
+ });
296
+ }
297
+ }
298
+ }
299
+ }
300
+ // Dedupe conflictsWith arrays
301
+ for (const conflict of conflicts) {
302
+ conflict.conflictsWith = [...new Set(conflict.conflictsWith)];
303
+ }
304
+ return conflicts;
305
+ }
306
+ /**
307
+ * Check if two class names conflict with each other.
308
+ */
309
+ doClassesConflict(className1, className2) {
310
+ return this.getConflictProperty(className1, className2) !== null;
311
+ }
312
+ /**
313
+ * Get the conflict group for a class name, if any.
314
+ * Returns the CSS properties that this class affects.
315
+ */
316
+ getConflictGroup(className) {
317
+ if (!this.cssProvider)
318
+ return null;
319
+ const cssResults = this.cssProvider.getCssForClasses([className]);
320
+ const css = cssResults[0];
321
+ if (!css)
322
+ return null;
323
+ const info = this.parseCss(css);
324
+ if (info.length > 0 && info[0].properties.length > 0) {
325
+ return info[0].properties.join(', ');
326
+ }
327
+ return null;
328
+ }
329
+ /**
330
+ * Get all classes that would conflict with a given class.
331
+ * Note: This is a simplified implementation that returns an empty array
332
+ * since we no longer have a static conflict group map.
333
+ */
334
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
335
+ getConflictingClasses(className) {
336
+ // Without a full class list, we can't enumerate all conflicting classes
337
+ // This would require iterating over all possible Tailwind classes
338
+ return [];
339
+ }
340
+ }
341
+ exports.TailwindConflictDetector = TailwindConflictDetector;
342
+ //# sourceMappingURL=TailwindConflictDetector.js.map