logicstamp-context 0.1.1 → 0.2.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 (159) hide show
  1. package/LLM_CONTEXT.md +4 -3
  2. package/README.md +116 -19
  3. package/dist/cli/commands/compare.d.ts.map +1 -1
  4. package/dist/cli/commands/compare.js +17 -8
  5. package/dist/cli/commands/compare.js.map +1 -1
  6. package/dist/cli/commands/context/bundleFormatter.d.ts +20 -0
  7. package/dist/cli/commands/context/bundleFormatter.d.ts.map +1 -0
  8. package/dist/cli/commands/context/bundleFormatter.js +55 -0
  9. package/dist/cli/commands/context/bundleFormatter.js.map +1 -0
  10. package/dist/cli/commands/context/configManager.d.ts +23 -0
  11. package/dist/cli/commands/context/configManager.d.ts.map +1 -0
  12. package/dist/cli/commands/context/configManager.js +69 -0
  13. package/dist/cli/commands/context/configManager.js.map +1 -0
  14. package/dist/cli/commands/context/contractBuilder.d.ts +18 -0
  15. package/dist/cli/commands/context/contractBuilder.d.ts.map +1 -0
  16. package/dist/cli/commands/context/contractBuilder.js +72 -0
  17. package/dist/cli/commands/context/contractBuilder.js.map +1 -0
  18. package/dist/cli/commands/context/fileWriter.d.ts +38 -0
  19. package/dist/cli/commands/context/fileWriter.d.ts.map +1 -0
  20. package/dist/cli/commands/context/fileWriter.js +165 -0
  21. package/dist/cli/commands/context/fileWriter.js.map +1 -0
  22. package/dist/cli/commands/context/statsCalculator.d.ts +44 -0
  23. package/dist/cli/commands/context/statsCalculator.d.ts.map +1 -0
  24. package/dist/cli/commands/context/statsCalculator.js +150 -0
  25. package/dist/cli/commands/context/statsCalculator.js.map +1 -0
  26. package/dist/cli/commands/context/tokenEstimator.d.ts +76 -0
  27. package/dist/cli/commands/context/tokenEstimator.d.ts.map +1 -0
  28. package/dist/cli/commands/context/tokenEstimator.js +258 -0
  29. package/dist/cli/commands/context/tokenEstimator.js.map +1 -0
  30. package/dist/cli/commands/context.d.ts +1 -0
  31. package/dist/cli/commands/context.d.ts.map +1 -1
  32. package/dist/cli/commands/context.js +72 -399
  33. package/dist/cli/commands/context.js.map +1 -1
  34. package/dist/cli/commands/style.d.ts +11 -0
  35. package/dist/cli/commands/style.d.ts.map +1 -0
  36. package/dist/cli/commands/style.js +15 -0
  37. package/dist/cli/commands/style.js.map +1 -0
  38. package/dist/cli/handlers/cleanHandler.d.ts +5 -0
  39. package/dist/cli/handlers/cleanHandler.d.ts.map +1 -0
  40. package/dist/cli/handlers/cleanHandler.js +28 -0
  41. package/dist/cli/handlers/cleanHandler.js.map +1 -0
  42. package/dist/cli/handlers/compareHandler.d.ts +5 -0
  43. package/dist/cli/handlers/compareHandler.d.ts.map +1 -0
  44. package/dist/cli/handlers/compareHandler.js +332 -0
  45. package/dist/cli/handlers/compareHandler.js.map +1 -0
  46. package/dist/cli/handlers/contextHandler.d.ts +5 -0
  47. package/dist/cli/handlers/contextHandler.d.ts.map +1 -0
  48. package/dist/cli/handlers/contextHandler.js +24 -0
  49. package/dist/cli/handlers/contextHandler.js.map +1 -0
  50. package/dist/cli/handlers/initHandler.d.ts +6 -0
  51. package/dist/cli/handlers/initHandler.d.ts.map +1 -0
  52. package/dist/cli/handlers/initHandler.js +30 -0
  53. package/dist/cli/handlers/initHandler.js.map +1 -0
  54. package/dist/cli/handlers/styleHandler.d.ts +5 -0
  55. package/dist/cli/handlers/styleHandler.d.ts.map +1 -0
  56. package/dist/cli/handlers/styleHandler.js +30 -0
  57. package/dist/cli/handlers/styleHandler.js.map +1 -0
  58. package/dist/cli/handlers/validateHandler.d.ts +5 -0
  59. package/dist/cli/handlers/validateHandler.d.ts.map +1 -0
  60. package/dist/cli/handlers/validateHandler.js +23 -0
  61. package/dist/cli/handlers/validateHandler.js.map +1 -0
  62. package/dist/cli/parser/argumentParser.d.ts +44 -0
  63. package/dist/cli/parser/argumentParser.d.ts.map +1 -0
  64. package/dist/cli/parser/argumentParser.js +194 -0
  65. package/dist/cli/parser/argumentParser.js.map +1 -0
  66. package/dist/cli/parser/helpText.d.ts +11 -0
  67. package/dist/cli/parser/helpText.d.ts.map +1 -0
  68. package/dist/cli/parser/helpText.js +373 -0
  69. package/dist/cli/parser/helpText.js.map +1 -0
  70. package/dist/cli/stamp.js +14 -821
  71. package/dist/cli/stamp.js.map +1 -1
  72. package/dist/core/astParser/detectors.d.ts +24 -0
  73. package/dist/core/astParser/detectors.d.ts.map +1 -0
  74. package/dist/core/astParser/detectors.js +102 -0
  75. package/dist/core/astParser/detectors.js.map +1 -0
  76. package/dist/core/astParser/extractors/componentExtractor.d.ts +13 -0
  77. package/dist/core/astParser/extractors/componentExtractor.d.ts.map +1 -0
  78. package/dist/core/astParser/extractors/componentExtractor.js +41 -0
  79. package/dist/core/astParser/extractors/componentExtractor.js.map +1 -0
  80. package/dist/core/astParser/extractors/eventExtractor.d.ts +14 -0
  81. package/dist/core/astParser/extractors/eventExtractor.d.ts.map +1 -0
  82. package/dist/core/astParser/extractors/eventExtractor.js +49 -0
  83. package/dist/core/astParser/extractors/eventExtractor.js.map +1 -0
  84. package/dist/core/astParser/extractors/propExtractor.d.ts +14 -0
  85. package/dist/core/astParser/extractors/propExtractor.d.ts.map +1 -0
  86. package/dist/core/astParser/extractors/propExtractor.js +73 -0
  87. package/dist/core/astParser/extractors/propExtractor.js.map +1 -0
  88. package/dist/core/astParser/extractors/stateExtractor.d.ts +13 -0
  89. package/dist/core/astParser/extractors/stateExtractor.d.ts.map +1 -0
  90. package/dist/core/astParser/extractors/stateExtractor.js +66 -0
  91. package/dist/core/astParser/extractors/stateExtractor.js.map +1 -0
  92. package/dist/core/astParser.d.ts.map +1 -1
  93. package/dist/core/astParser.js +5 -307
  94. package/dist/core/astParser.js.map +1 -1
  95. package/dist/core/contractBuilder.d.ts +1 -0
  96. package/dist/core/contractBuilder.d.ts.map +1 -1
  97. package/dist/core/contractBuilder.js +1 -0
  98. package/dist/core/contractBuilder.js.map +1 -1
  99. package/dist/core/pack/builder.d.ts +35 -0
  100. package/dist/core/pack/builder.d.ts.map +1 -0
  101. package/dist/core/pack/builder.js +76 -0
  102. package/dist/core/pack/builder.js.map +1 -0
  103. package/dist/core/pack/collector.d.ts +20 -0
  104. package/dist/core/pack/collector.d.ts.map +1 -0
  105. package/dist/core/pack/collector.js +71 -0
  106. package/dist/core/pack/collector.js.map +1 -0
  107. package/dist/core/pack/loader.d.ts +23 -0
  108. package/dist/core/pack/loader.d.ts.map +1 -0
  109. package/dist/core/pack/loader.js +66 -0
  110. package/dist/core/pack/loader.js.map +1 -0
  111. package/dist/core/pack/resolver.d.ts +21 -0
  112. package/dist/core/pack/resolver.d.ts.map +1 -0
  113. package/dist/core/pack/resolver.js +79 -0
  114. package/dist/core/pack/resolver.js.map +1 -0
  115. package/dist/core/pack.d.ts +17 -27
  116. package/dist/core/pack.d.ts.map +1 -1
  117. package/dist/core/pack.js +18 -225
  118. package/dist/core/pack.js.map +1 -1
  119. package/dist/core/styleExtractor/index.d.ts +11 -0
  120. package/dist/core/styleExtractor/index.d.ts.map +1 -0
  121. package/dist/core/styleExtractor/index.js +11 -0
  122. package/dist/core/styleExtractor/index.js.map +1 -0
  123. package/dist/core/styleExtractor/layout.d.ts +14 -0
  124. package/dist/core/styleExtractor/layout.d.ts.map +1 -0
  125. package/dist/core/styleExtractor/layout.js +86 -0
  126. package/dist/core/styleExtractor/layout.js.map +1 -0
  127. package/dist/core/styleExtractor/motion.d.ts +20 -0
  128. package/dist/core/styleExtractor/motion.d.ts.map +1 -0
  129. package/dist/core/styleExtractor/motion.js +74 -0
  130. package/dist/core/styleExtractor/motion.js.map +1 -0
  131. package/dist/core/styleExtractor/scss.d.ts +30 -0
  132. package/dist/core/styleExtractor/scss.d.ts.map +1 -0
  133. package/dist/core/styleExtractor/scss.js +80 -0
  134. package/dist/core/styleExtractor/scss.js.map +1 -0
  135. package/dist/core/styleExtractor/styleExtractor.d.ts +11 -0
  136. package/dist/core/styleExtractor/styleExtractor.d.ts.map +1 -0
  137. package/dist/core/styleExtractor/styleExtractor.js +115 -0
  138. package/dist/core/styleExtractor/styleExtractor.js.map +1 -0
  139. package/dist/core/styleExtractor/styled.d.ts +13 -0
  140. package/dist/core/styleExtractor/styled.d.ts.map +1 -0
  141. package/dist/core/styleExtractor/styled.js +31 -0
  142. package/dist/core/styleExtractor/styled.js.map +1 -0
  143. package/dist/core/styleExtractor/tailwind.d.ts +16 -0
  144. package/dist/core/styleExtractor/tailwind.d.ts.map +1 -0
  145. package/dist/core/styleExtractor/tailwind.js +85 -0
  146. package/dist/core/styleExtractor/tailwind.js.map +1 -0
  147. package/dist/core/styleExtractor.d.ts +8 -0
  148. package/dist/core/styleExtractor.d.ts.map +1 -0
  149. package/dist/core/styleExtractor.js +8 -0
  150. package/dist/core/styleExtractor.js.map +1 -0
  151. package/dist/types/UIFContract.d.ts +71 -0
  152. package/dist/types/UIFContract.d.ts.map +1 -1
  153. package/dist/types/UIFContract.js.map +1 -1
  154. package/dist/utils/tokens.d.ts +18 -10
  155. package/dist/utils/tokens.d.ts.map +1 -1
  156. package/dist/utils/tokens.js +112 -10
  157. package/dist/utils/tokens.js.map +1 -1
  158. package/package.json +3 -1
  159. package/schema/logicstamp.context.schema.json +288 -0
@@ -1 +1 @@
1
- {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/core/pack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/core/pack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Style Extractor - Main entry point
3
+ * Re-exports all style extraction functionality
4
+ */
5
+ export { extractStyleMetadata } from './styleExtractor.js';
6
+ export { extractTailwindClasses, categorizeTailwindClasses, extractBreakpoints } from './tailwind.js';
7
+ export { parseStyleFile, extractScssMetadata } from './scss.js';
8
+ export { extractStyledComponents } from './styled.js';
9
+ export { extractMotionConfig, extractAnimationMetadata } from './motion.js';
10
+ export { extractLayoutMetadata, extractVisualMetadata } from './layout.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/styleExtractor/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Style Extractor - Main entry point
3
+ * Re-exports all style extraction functionality
4
+ */
5
+ export { extractStyleMetadata } from './styleExtractor.js';
6
+ export { extractTailwindClasses, categorizeTailwindClasses, extractBreakpoints } from './tailwind.js';
7
+ export { parseStyleFile, extractScssMetadata } from './scss.js';
8
+ export { extractStyledComponents } from './styled.js';
9
+ export { extractMotionConfig, extractAnimationMetadata } from './motion.js';
10
+ export { extractLayoutMetadata, extractVisualMetadata } from './layout.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/styleExtractor/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Layout and visual metadata extractor - Extracts layout patterns and visual styles
3
+ */
4
+ import { SourceFile } from 'ts-morph';
5
+ import type { LayoutMetadata, VisualMetadata } from '../../types/UIFContract.js';
6
+ /**
7
+ * Extract layout metadata from JSX
8
+ */
9
+ export declare function extractLayoutMetadata(source: SourceFile): LayoutMetadata;
10
+ /**
11
+ * Extract visual metadata (colors, spacing, typography, etc.)
12
+ */
13
+ export declare function extractVisualMetadata(source: SourceFile): VisualMetadata;
14
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../src/core/styleExtractor/layout.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjF;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,CAoCxE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,CAiDxE"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Layout and visual metadata extractor - Extracts layout patterns and visual styles
3
+ */
4
+ /**
5
+ * Extract layout metadata from JSX
6
+ */
7
+ export function extractLayoutMetadata(source) {
8
+ const layout = {};
9
+ const sourceText = source.getFullText();
10
+ // Check for flex layout
11
+ const hasFlex = /className\s*=\s*["'`][^"'`]*flex[^"'`]*["'`]/.test(sourceText);
12
+ if (hasFlex) {
13
+ layout.type = 'flex';
14
+ }
15
+ // Check for grid layout
16
+ const hasGrid = /className\s*=\s*["'`][^"'`]*grid[^"'`]*["'`]/.test(sourceText);
17
+ if (hasGrid) {
18
+ layout.type = 'grid';
19
+ // Extract grid columns pattern (e.g., "grid-cols-2 md:grid-cols-3")
20
+ const gridColsMatch = sourceText.match(/grid-cols-(\d+(?:\s+\w+:grid-cols-\d+)*)/);
21
+ if (gridColsMatch) {
22
+ layout.cols = gridColsMatch[1];
23
+ }
24
+ }
25
+ // Detect hero pattern (large text + CTA buttons)
26
+ const hasHeroPattern = /className\s*=\s*["'`][^"'`]*text-[4-9]xl[^"'`]*["'`]/.test(sourceText) &&
27
+ /<button/i.test(sourceText);
28
+ if (hasHeroPattern) {
29
+ layout.hasHeroPattern = true;
30
+ }
31
+ // Detect feature cards (grid with card-like elements)
32
+ const hasFeatureCards = hasGrid && /<div[^>]*className\s*=\s*["'`][^"'`]*(card|rounded|shadow)[^"'`]*["'`]/i.test(sourceText);
33
+ if (hasFeatureCards) {
34
+ layout.hasFeatureCards = true;
35
+ }
36
+ return layout;
37
+ }
38
+ /**
39
+ * Extract visual metadata (colors, spacing, typography, etc.)
40
+ */
41
+ export function extractVisualMetadata(source) {
42
+ const visual = {};
43
+ const sourceText = source.getFullText();
44
+ // Extract unique color classes (sorted for determinism)
45
+ const colorMatches = sourceText.matchAll(/(?:bg-|text-|border-)(\w+-\d+|\w+)/g);
46
+ const colors = new Set();
47
+ for (const match of colorMatches) {
48
+ colors.add(match[0]);
49
+ }
50
+ if (colors.size > 0) {
51
+ visual.colors = Array.from(colors).sort().slice(0, 10); // Sort for determinism, limit to top 10
52
+ }
53
+ // Extract spacing patterns (sorted for determinism)
54
+ const spacingMatches = sourceText.matchAll(/(?:p-|m-|px-|py-|mx-|my-|pt-|pb-|pl-|pr-|mt-|mb-|ml-|mr-)(\d+)/g);
55
+ const spacing = new Set();
56
+ for (const match of spacingMatches) {
57
+ spacing.add(match[0]);
58
+ }
59
+ if (spacing.size > 0) {
60
+ visual.spacing = Array.from(spacing).sort().slice(0, 10); // Sort for determinism, limit to top 10
61
+ }
62
+ // Extract border radius (find most common pattern for determinism)
63
+ const radiusMatches = sourceText.matchAll(/rounded(-\w+)?/g);
64
+ const radiusFreq = new Map();
65
+ for (const match of radiusMatches) {
66
+ const radius = match[1] ? match[1].substring(1) : 'default';
67
+ radiusFreq.set(radius, (radiusFreq.get(radius) || 0) + 1);
68
+ }
69
+ if (radiusFreq.size > 0) {
70
+ // Use most common radius, with stable tiebreaker (alphabetical)
71
+ const sortedByFreq = Array.from(radiusFreq.entries())
72
+ .sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0]));
73
+ visual.radius = sortedByFreq[0][0];
74
+ }
75
+ // Extract typography classes (sorted for determinism)
76
+ const typographyMatches = sourceText.matchAll(/(?:text-|font-)(\w+)/g);
77
+ const typography = new Set();
78
+ for (const match of typographyMatches) {
79
+ typography.add(match[0]);
80
+ }
81
+ if (typography.size > 0) {
82
+ visual.typography = Array.from(typography).sort().slice(0, 10); // Sort for determinism, limit to top 10
83
+ }
84
+ return visual;
85
+ }
86
+ //# sourceMappingURL=layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../src/core/styleExtractor/layout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Framer Motion extractor - Extracts animation configurations
3
+ */
4
+ import { SourceFile } from 'ts-morph';
5
+ import type { AnimationMetadata } from '../../types/UIFContract.js';
6
+ /**
7
+ * Extract Framer Motion animation configurations
8
+ */
9
+ export declare function extractMotionConfig(source: SourceFile): {
10
+ components: string[];
11
+ variants: string[];
12
+ hasGestures: boolean;
13
+ hasLayout: boolean;
14
+ hasViewport: boolean;
15
+ };
16
+ /**
17
+ * Extract animation metadata
18
+ */
19
+ export declare function extractAnimationMetadata(source: SourceFile): AnimationMetadata;
20
+ //# sourceMappingURL=motion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motion.d.ts","sourceRoot":"","sources":["../../../src/core/styleExtractor/motion.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG;IACvD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB,CAkCA;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,iBAAiB,CAsC9E"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Framer Motion extractor - Extracts animation configurations
3
+ */
4
+ /**
5
+ * Extract Framer Motion animation configurations
6
+ */
7
+ export function extractMotionConfig(source) {
8
+ const sourceText = source.getFullText();
9
+ // Extract motion components (motion.div, motion.button, etc.)
10
+ const motionComponentMatches = sourceText.matchAll(/motion\.(\w+)/g);
11
+ const components = new Set();
12
+ for (const match of motionComponentMatches) {
13
+ if (match[1])
14
+ components.add(match[1]);
15
+ }
16
+ // Extract variant names
17
+ const variantMatches = sourceText.matchAll(/variants\s*=\s*\{\s*(\w+)/g);
18
+ const variants = new Set();
19
+ for (const match of variantMatches) {
20
+ if (match[1])
21
+ variants.add(match[1]);
22
+ }
23
+ // Check for gesture handlers
24
+ const hasGestures = /while(Hover|Tap|Drag|Focus|InView)\s*=/.test(sourceText) ||
25
+ /on(Tap|Pan|Drag|Hover)(Start|End)?\s*=/.test(sourceText);
26
+ // Check for layout animations
27
+ const hasLayout = /layout(?:Id)?\s*=/.test(sourceText);
28
+ // Check for viewport animations
29
+ const hasViewport = /useInView|viewport\s*=\s*\{/.test(sourceText);
30
+ return {
31
+ components: Array.from(components).sort(),
32
+ variants: Array.from(variants).sort(),
33
+ hasGestures,
34
+ hasLayout,
35
+ hasViewport,
36
+ };
37
+ }
38
+ /**
39
+ * Extract animation metadata
40
+ */
41
+ export function extractAnimationMetadata(source) {
42
+ const animation = {};
43
+ const sourceText = source.getFullText();
44
+ // Check for framer-motion animations
45
+ const hasFramerMotion = source.getImportDeclarations().some(imp => {
46
+ const moduleSpecifier = imp.getModuleSpecifierValue();
47
+ return moduleSpecifier === 'framer-motion';
48
+ });
49
+ if (hasFramerMotion) {
50
+ animation.library = 'framer-motion';
51
+ // Check for fade-in patterns
52
+ if (/animate\s*=\s*\{\{\s*opacity:\s*1/.test(sourceText)) {
53
+ animation.type = 'fade-in';
54
+ }
55
+ // Check for useInView hook
56
+ if (/useInView/.test(sourceText)) {
57
+ animation.trigger = 'inView';
58
+ }
59
+ }
60
+ // Check for CSS transitions/animations
61
+ if (/transition/.test(sourceText) || /animate-/.test(sourceText)) {
62
+ if (!animation.library) {
63
+ animation.library = 'css';
64
+ }
65
+ if (!animation.type && /animate-/.test(sourceText)) {
66
+ const animateMatch = sourceText.match(/animate-(\w+)/);
67
+ if (animateMatch) {
68
+ animation.type = animateMatch[1];
69
+ }
70
+ }
71
+ }
72
+ return animation;
73
+ }
74
+ //# sourceMappingURL=motion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motion.js","sourceRoot":"","sources":["../../../src/core/styleExtractor/motion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * SCSS/CSS module extractor - Parses style files and extracts metadata
3
+ */
4
+ import { SourceFile } from 'ts-morph';
5
+ /**
6
+ * Parse SCSS/CSS file content to extract style information
7
+ */
8
+ export declare function parseStyleFile(filePath: string, importPath: string): Promise<{
9
+ selectors: string[];
10
+ properties: string[];
11
+ hasVariables: boolean;
12
+ hasNesting: boolean;
13
+ hasMixins: boolean;
14
+ }>;
15
+ /**
16
+ * Extract SCSS module metadata from source file
17
+ */
18
+ export declare function extractScssMetadata(source: SourceFile, filePath: string): Promise<{
19
+ scssModule?: string;
20
+ scssDetails?: {
21
+ selectors: string[];
22
+ properties: string[];
23
+ features: {
24
+ variables?: boolean;
25
+ nesting?: boolean;
26
+ mixins?: boolean;
27
+ };
28
+ };
29
+ }>;
30
+ //# sourceMappingURL=scss.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scss.d.ts","sourceRoot":"","sources":["../../../src/core/styleExtractor/scss.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAItC;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAClF,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC,CA2CD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACvF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE;QACZ,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,QAAQ,EAAE;YACR,SAAS,CAAC,EAAE,OAAO,CAAC;YACpB,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,MAAM,CAAC,EAAE,OAAO,CAAC;SAClB,CAAC;KACH,CAAC;CACH,CAAC,CAwCD"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * SCSS/CSS module extractor - Parses style files and extracts metadata
3
+ */
4
+ import { readFile } from 'node:fs/promises';
5
+ import { resolve, dirname } from 'node:path';
6
+ /**
7
+ * Parse SCSS/CSS file content to extract style information
8
+ */
9
+ export async function parseStyleFile(filePath, importPath) {
10
+ try {
11
+ const absolutePath = resolve(dirname(filePath), importPath);
12
+ const content = await readFile(absolutePath, 'utf-8');
13
+ // Extract CSS selectors
14
+ const selectorMatches = content.matchAll(/([.#][\w-]+|\w+)(?:\s*\{|,)/g);
15
+ const selectors = new Set();
16
+ for (const match of selectorMatches) {
17
+ if (match[1])
18
+ selectors.add(match[1]);
19
+ }
20
+ // Extract CSS properties
21
+ const propertyMatches = content.matchAll(/([\w-]+)\s*:/g);
22
+ const properties = new Set();
23
+ for (const match of propertyMatches) {
24
+ if (match[1] && !match[1].startsWith('$') && !match[1].startsWith('@')) {
25
+ properties.add(match[1]);
26
+ }
27
+ }
28
+ // Check for SCSS features
29
+ const hasVariables = /\$[\w-]+\s*:/.test(content);
30
+ const hasNesting = /\s{2,}&/.test(content); // Indented & for nested selectors
31
+ const hasMixins = /@mixin\s+\w+/.test(content);
32
+ return {
33
+ selectors: Array.from(selectors).sort().slice(0, 20),
34
+ properties: Array.from(properties).sort().slice(0, 20),
35
+ hasVariables,
36
+ hasNesting,
37
+ hasMixins,
38
+ };
39
+ }
40
+ catch (error) {
41
+ // File not found or can't be read
42
+ return {
43
+ selectors: [],
44
+ properties: [],
45
+ hasVariables: false,
46
+ hasNesting: false,
47
+ hasMixins: false,
48
+ };
49
+ }
50
+ }
51
+ /**
52
+ * Extract SCSS module metadata from source file
53
+ */
54
+ export async function extractScssMetadata(source, filePath) {
55
+ const result = {};
56
+ // Check for SCSS module imports and parse them
57
+ const scssModuleImport = source.getImportDeclarations().find(imp => {
58
+ const moduleSpecifier = imp.getModuleSpecifierValue();
59
+ return moduleSpecifier.endsWith('.module.scss') || moduleSpecifier.endsWith('.scss');
60
+ });
61
+ if (scssModuleImport) {
62
+ const moduleSpecifier = scssModuleImport.getModuleSpecifierValue();
63
+ result.scssModule = moduleSpecifier;
64
+ // Parse the SCSS file for detailed information
65
+ const scssInfo = await parseStyleFile(filePath, moduleSpecifier);
66
+ if (scssInfo.selectors.length > 0 || scssInfo.properties.length > 0) {
67
+ result.scssDetails = {
68
+ selectors: scssInfo.selectors,
69
+ properties: scssInfo.properties,
70
+ features: {
71
+ ...(scssInfo.hasVariables && { variables: true }),
72
+ ...(scssInfo.hasNesting && { nesting: true }),
73
+ ...(scssInfo.hasMixins && { mixins: true }),
74
+ },
75
+ };
76
+ }
77
+ }
78
+ return result;
79
+ }
80
+ //# sourceMappingURL=scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scss.js","sourceRoot":"","sources":["../../../src/core/styleExtractor/scss.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB,EAAE,UAAkB;IAOvE,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEtD,wBAAwB;QACxB,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,CAAC,CAAC;gBAAE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;QAED,yBAAyB;QACzB,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,kCAAkC;QAC9E,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/C,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACpD,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACtD,YAAY;YACZ,UAAU;YACV,SAAS;SACV,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kCAAkC;QAClC,OAAO;YACL,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAkB,EAAE,QAAgB;IAY5E,MAAM,MAAM,GAWR,EAAE,CAAC;IAEP,+CAA+C;IAC/C,MAAM,gBAAgB,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACjE,MAAM,eAAe,GAAG,GAAG,CAAC,uBAAuB,EAAE,CAAC;QACtD,OAAO,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,eAAe,GAAG,gBAAgB,CAAC,uBAAuB,EAAE,CAAC;QACnE,MAAM,CAAC,UAAU,GAAG,eAAe,CAAC;QAEpC,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACjE,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,MAAM,CAAC,WAAW,GAAG;gBACnB,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,QAAQ,EAAE;oBACR,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;oBACjD,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oBAC7C,GAAG,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;iBAC5C;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Style Extractor - Main coordination logic
3
+ * Orchestrates extraction of style metadata from React/TypeScript components
4
+ */
5
+ import { SourceFile } from 'ts-morph';
6
+ import type { StyleMetadata } from '../../types/UIFContract.js';
7
+ /**
8
+ * Extract style metadata from a source file
9
+ */
10
+ export declare function extractStyleMetadata(source: SourceFile, filePath: string): Promise<StyleMetadata | undefined>;
11
+ //# sourceMappingURL=styleExtractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styleExtractor.d.ts","sourceRoot":"","sources":["../../../src/core/styleExtractor/styleExtractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,4BAA4B,CAAC;AAO9E;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAsBnH"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Style Extractor - Main coordination logic
3
+ * Orchestrates extraction of style metadata from React/TypeScript components
4
+ */
5
+ import { extractTailwindClasses, categorizeTailwindClasses, extractBreakpoints } from './tailwind.js';
6
+ import { extractScssMetadata, parseStyleFile } from './scss.js';
7
+ import { extractStyledComponents } from './styled.js';
8
+ import { extractMotionConfig, extractAnimationMetadata } from './motion.js';
9
+ import { extractLayoutMetadata, extractVisualMetadata } from './layout.js';
10
+ /**
11
+ * Extract style metadata from a source file
12
+ */
13
+ export async function extractStyleMetadata(source, filePath) {
14
+ const styleSources = await extractStyleSources(source, filePath);
15
+ const layout = extractLayoutMetadata(source);
16
+ const visual = extractVisualMetadata(source);
17
+ const animation = extractAnimationMetadata(source);
18
+ // Only return metadata if we found any style information
19
+ if (Object.keys(styleSources).length === 0 &&
20
+ Object.keys(layout).length === 0 &&
21
+ Object.keys(visual).length === 0 &&
22
+ Object.keys(animation).length === 0) {
23
+ return undefined;
24
+ }
25
+ return {
26
+ ...(Object.keys(styleSources).length > 0 && { styleSources }),
27
+ ...(Object.keys(layout).length > 0 && { layout }),
28
+ ...(Object.keys(visual).length > 0 && { visual }),
29
+ ...(Object.keys(animation).length > 0 && { animation }),
30
+ };
31
+ }
32
+ /**
33
+ * Extract style sources (SCSS modules, Tailwind, inline styles, etc.)
34
+ */
35
+ async function extractStyleSources(source, filePath) {
36
+ const sources = {};
37
+ const sourceText = source.getFullText();
38
+ // Extract SCSS module metadata
39
+ const scssMetadata = await extractScssMetadata(source, filePath);
40
+ if (scssMetadata.scssModule) {
41
+ sources.scssModule = scssMetadata.scssModule;
42
+ if (scssMetadata.scssDetails) {
43
+ sources.scssDetails = scssMetadata.scssDetails;
44
+ }
45
+ }
46
+ // Check for CSS module imports and parse them
47
+ const cssModuleImport = source.getImportDeclarations().find(imp => {
48
+ const moduleSpecifier = imp.getModuleSpecifierValue();
49
+ return moduleSpecifier.endsWith('.module.css') || moduleSpecifier.endsWith('.css');
50
+ });
51
+ if (cssModuleImport) {
52
+ const moduleSpecifier = cssModuleImport.getModuleSpecifierValue();
53
+ sources.cssModule = moduleSpecifier;
54
+ // Parse the CSS file for detailed information
55
+ const cssInfo = await parseStyleFile(filePath, moduleSpecifier);
56
+ if (cssInfo.selectors.length > 0 || cssInfo.properties.length > 0) {
57
+ sources.cssDetails = {
58
+ selectors: cssInfo.selectors,
59
+ properties: cssInfo.properties,
60
+ };
61
+ }
62
+ }
63
+ // Extract Tailwind classes
64
+ const allClasses = extractTailwindClasses(sourceText);
65
+ const hasTailwind = allClasses.some(c => /^(flex|grid|bg-|text-|p-|m-|rounded|shadow|border|w-|h-|hover:|focus:|sm:|md:|lg:|xl:|2xl:)/.test(c));
66
+ if (hasTailwind) {
67
+ const categorized = categorizeTailwindClasses(allClasses);
68
+ const breakpoints = extractBreakpoints(allClasses);
69
+ sources.tailwind = {
70
+ categories: Object.fromEntries(Object.entries(categorized).map(([key, set]) => [
71
+ key,
72
+ Array.from(set).sort().slice(0, 15), // Top 15 per category
73
+ ])),
74
+ ...(breakpoints.length > 0 && { breakpoints }),
75
+ classCount: allClasses.length,
76
+ };
77
+ }
78
+ // Check for inline styles
79
+ const hasInlineStyles = /style\s*=\s*\{\{/.test(sourceText);
80
+ if (hasInlineStyles) {
81
+ sources.inlineStyles = true;
82
+ }
83
+ // Check for styled-components/emotion
84
+ const hasStyledComponents = source.getImportDeclarations().some(imp => {
85
+ const moduleSpecifier = imp.getModuleSpecifierValue();
86
+ return moduleSpecifier === 'styled-components' || moduleSpecifier === '@emotion/styled';
87
+ });
88
+ if (hasStyledComponents) {
89
+ const styledInfo = extractStyledComponents(source);
90
+ sources.styledComponents = {
91
+ ...(styledInfo.components.length > 0 && { components: styledInfo.components }),
92
+ ...(styledInfo.hasTheme && { usesTheme: true }),
93
+ ...(styledInfo.hasCssProps && { usesCssProp: true }),
94
+ };
95
+ }
96
+ // Check for framer-motion
97
+ const hasMotion = source.getImportDeclarations().some(imp => {
98
+ const moduleSpecifier = imp.getModuleSpecifierValue();
99
+ return moduleSpecifier === 'framer-motion';
100
+ });
101
+ if (hasMotion || /motion\.\w+/.test(sourceText)) {
102
+ const motionInfo = extractMotionConfig(source);
103
+ sources.motion = {
104
+ ...(motionInfo.components.length > 0 && { components: motionInfo.components }),
105
+ ...(motionInfo.variants.length > 0 && { variants: motionInfo.variants }),
106
+ features: {
107
+ ...(motionInfo.hasGestures && { gestures: true }),
108
+ ...(motionInfo.hasLayout && { layoutAnimations: true }),
109
+ ...(motionInfo.hasViewport && { viewportAnimations: true }),
110
+ },
111
+ };
112
+ }
113
+ return sources;
114
+ }
115
+ //# sourceMappingURL=styleExtractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styleExtractor.js","sourceRoot":"","sources":["../../../src/core/styleExtractor/styleExtractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Styled-components/Emotion extractor - Extracts CSS-in-JS library usage
3
+ */
4
+ import { SourceFile } from 'ts-morph';
5
+ /**
6
+ * Extract styled-components/emotion styled declarations
7
+ */
8
+ export declare function extractStyledComponents(source: SourceFile): {
9
+ components: string[];
10
+ hasTheme: boolean;
11
+ hasCssProps: boolean;
12
+ };
13
+ //# sourceMappingURL=styled.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../src/core/styleExtractor/styled.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG;IAC3D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACtB,CA2BA"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Styled-components/Emotion extractor - Extracts CSS-in-JS library usage
3
+ */
4
+ /**
5
+ * Extract styled-components/emotion styled declarations
6
+ */
7
+ export function extractStyledComponents(source) {
8
+ const sourceText = source.getFullText();
9
+ const components = new Set();
10
+ // Match styled.div`...` or styled(Component)`...` patterns
11
+ const styledPatterns = [
12
+ /styled\.(\w+)`/g,
13
+ /styled\((\w+)\)`/g,
14
+ ];
15
+ for (const pattern of styledPatterns) {
16
+ for (const match of sourceText.matchAll(pattern)) {
17
+ if (match[1])
18
+ components.add(match[1]);
19
+ }
20
+ }
21
+ // Check for theme usage
22
+ const hasTheme = /\$\{.*theme\./.test(sourceText) || /useTheme\(\)/.test(sourceText);
23
+ // Check for css prop usage
24
+ const hasCssProps = /css\s*=\s*\{/.test(sourceText) || /css`/.test(sourceText);
25
+ return {
26
+ components: Array.from(components).sort().slice(0, 10),
27
+ hasTheme,
28
+ hasCssProps,
29
+ };
30
+ }
31
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.js","sourceRoot":"","sources":["../../../src/core/styleExtractor/styled.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAkB;IAKxD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,2DAA2D;IAC3D,MAAM,cAAc,GAAG;QACrB,iBAAiB;QACjB,mBAAmB;KACpB,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,CAAC,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAErF,2BAA2B;IAC3B,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE/E,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACtD,QAAQ;QACR,WAAW;KACZ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Tailwind CSS extractor - Extracts and categorizes Tailwind utility classes
3
+ */
4
+ /**
5
+ * Extract Tailwind classes from className attributes in JSX
6
+ */
7
+ export declare function extractTailwindClasses(sourceText: string): string[];
8
+ /**
9
+ * Categorize Tailwind utility classes
10
+ */
11
+ export declare function categorizeTailwindClasses(classes: string[]): Record<string, Set<string>>;
12
+ /**
13
+ * Extract responsive breakpoints used in the component
14
+ */
15
+ export declare function extractBreakpoints(classes: string[]): string[];
16
+ //# sourceMappingURL=tailwind.d.ts.map