figma-to-code-agent 0.4.0 → 0.6.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 (29) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/QUICKSTART.md +11 -1
  3. package/README.md +31 -9
  4. package/dist/generation/ReactGenerator.d.ts +11 -2
  5. package/dist/generation/ReactGenerator.d.ts.map +1 -1
  6. package/dist/generation/ReactGenerator.js +147 -24
  7. package/dist/generation/ReactGenerator.js.map +1 -1
  8. package/dist/generation/VueGenerator.d.ts +14 -0
  9. package/dist/generation/VueGenerator.d.ts.map +1 -1
  10. package/dist/generation/VueGenerator.js +139 -2
  11. package/dist/generation/VueGenerator.js.map +1 -1
  12. package/dist/transformation/transformers/AccessibilityEnhancer.d.ts +22 -0
  13. package/dist/transformation/transformers/AccessibilityEnhancer.d.ts.map +1 -0
  14. package/dist/transformation/transformers/AccessibilityEnhancer.js +113 -0
  15. package/dist/transformation/transformers/AccessibilityEnhancer.js.map +1 -0
  16. package/dist/transformation/transformers/PerformanceOptimizer.d.ts +24 -0
  17. package/dist/transformation/transformers/PerformanceOptimizer.d.ts.map +1 -0
  18. package/dist/transformation/transformers/PerformanceOptimizer.js +95 -0
  19. package/dist/transformation/transformers/PerformanceOptimizer.js.map +1 -0
  20. package/dist/transformation/transformers/ResponsiveMerger.d.ts +39 -0
  21. package/dist/transformation/transformers/ResponsiveMerger.d.ts.map +1 -0
  22. package/dist/transformation/transformers/ResponsiveMerger.js +114 -0
  23. package/dist/transformation/transformers/ResponsiveMerger.js.map +1 -0
  24. package/dist/transformation/transformers/StyleMerger.d.ts +18 -0
  25. package/dist/transformation/transformers/StyleMerger.d.ts.map +1 -0
  26. package/dist/transformation/transformers/StyleMerger.js +71 -0
  27. package/dist/transformation/transformers/StyleMerger.js.map +1 -0
  28. package/package.json +1 -1
  29. package/test-app/test-react/src/Component.module.css +16 -136
package/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.6.0] - 2026-02-13
4
+
5
+ ### Added
6
+ - Property tests for Property 3 (component identification completeness) and Property 4 (image asset extraction)
7
+ - Real Figma data end-to-end tests: 29 tests covering 4 real design files (MIUI12 Navigation, Homepage, Shopping Cart, Product Page)
8
+ - Cross-design pipeline consistency tests (React vs Vue, css-modules vs css)
9
+ - Full document processing test for large Figma canvas
10
+
11
+ ### Improved
12
+ - Property test coverage now spans Properties 1-4, 5-44 (complete)
13
+ - Total test count: 309 tests across 42 test suites
14
+
15
+ ## [0.5.0] - 2026-02-13
16
+
17
+ ### Added
18
+ - Optional transformers: StyleMerger (style deduplication with shared class references), ResponsiveMerger (breakpoint variant merging), AccessibilityEnhancer (ARIA roles, alt text, landmark detection), PerformanceOptimizer (lazy loading, code splitting hints, redundant wrapper removal)
19
+ - Pure CSS mode: generates separate `.css` file for both React and Vue (previously inline styles only)
20
+ - CSS rule deduplication: merges selectors with identical rule bodies
21
+ - Responsive code generation: `@media` queries from ResponsiveMerger breakpoint metadata
22
+ - Improved Tailwind CSS mapping: actual color values `bg-[rgba(...)]`, precise sizes `w-[200px]`, border-radius `rounded-[12px]`, spacing, typography
23
+ - 24 new tests (222 total, all passing)
24
+
25
+ ### Changed
26
+ - React/Vue generators now support all 3 style modes with external CSS files
27
+ - Tailwind class generation uses arbitrary value syntax instead of hardcoded utility classes
28
+
3
29
  ## [0.4.0] - 2026-02-13
4
30
 
5
31
  ### Added
package/QUICKSTART.md CHANGED
@@ -85,7 +85,7 @@ npx figma-to-code-agent \
85
85
 
86
86
  ## Generated Output
87
87
 
88
- For a React component, you'll get:
88
+ For a React component with CSS Modules, you'll get:
89
89
 
90
90
  ```
91
91
  output/
@@ -96,6 +96,15 @@ output/
96
96
  └── icon-close.png
97
97
  ```
98
98
 
99
+ For plain CSS mode (`--style css`):
100
+
101
+ ```
102
+ output/
103
+ ├── Component.jsx # React component
104
+ ├── Component.css # Standalone CSS file
105
+ └── assets/
106
+ ```
107
+
99
108
  For Vue, a single `.vue` file with `<template>`, `<script setup>`, and `<style scoped>`.
100
109
 
101
110
  ## What Gets Generated
@@ -119,6 +128,7 @@ For Vue, a single `.vue` file with `<template>`, `<script setup>`, and `<style s
119
128
  | `--style` | `css-modules`, `tailwind`, or `css` | `css-modules` |
120
129
  | `--typescript` | Enable TypeScript output | `false` |
121
130
  | `--output <dir>` | Output directory | `./output` |
131
+ | `--extract-tokens <fmt>` | Extract design tokens: `css`, `scss`, `json`, `js` | — |
122
132
  | `--preview` | Preview in browser after generation | — |
123
133
 
124
134
  ## AI Enhancements (Optional)
package/README.md CHANGED
@@ -34,11 +34,20 @@ Convert Figma designs to production-ready React/Vue components. Supports CSS Mod
34
34
 
35
35
  - 🎨 Extract designs from Figma API with caching and rate-limit handling
36
36
  - ⚛️ Generate React (.jsx/.tsx) and Vue (.vue) components
37
- - 🎭 CSS Modules, Tailwind, or plain CSS
37
+ - 🎭 CSS Modules, Tailwind CSS (arbitrary values), or plain CSS with separate stylesheet
38
38
  - 📐 Absolute positioning with responsive scaling (auto-fits viewport)
39
39
  - 🖼️ Image export at 2x resolution, vector icon auto-detection and PNG export
40
40
  - 🔤 Full typography support (font family, size, weight, line-height, letter-spacing, color)
41
41
  - 👁️ Figma layer filtering (hidden layers, mask shapes)
42
+ - 🎯 Design token extraction (CSS variables, SCSS, JSON, JS)
43
+ - 🧩 Component splitting (auto-split large designs >50 nodes, max depth 4)
44
+ - 📁 File organizer (PascalCase/kebab-case naming, directory structure, Props interface)
45
+ - 🖼️ Asset management (image dedup, SVG-first, semantic naming, import generation)
46
+ - 🔍 Visual validation (Puppeteer rendering, pixel comparison, similarity scoring)
47
+ - ♿ Accessibility enhancement (ARIA roles, alt text, landmark detection)
48
+ - ⚡ Performance optimization (lazy loading, code splitting hints, redundant wrapper removal)
49
+ - 🎨 Style deduplication (merge identical CSS rules across components)
50
+ - 📱 Responsive code generation (media queries from breakpoint metadata)
42
51
  - 🤖 Optional AI enhancements (semantic naming, component splitting, code optimization)
43
52
 
44
53
  ## Install
@@ -79,10 +88,12 @@ npx figma-to-code-agent \
79
88
  1. Fetches the Figma file data via API (with local caching)
80
89
  2. Parses the design tree into an intermediate AST
81
90
  3. Filters invisible layers, mask shapes, and transparent fills
82
- 4. Detects vector-only containers and exports them as PNG icons
83
- 5. Downloads images at 2x resolution
84
- 6. Generates framework-specific components with CSS Modules
85
- 7. Wraps output in a responsive scale container (no horizontal scrollbar)
91
+ 4. Applies transformation pipeline (flatten, extract components, optimize layout, semantic naming, style merging, accessibility, performance)
92
+ 5. Detects vector-only containers and exports them as PNG icons
93
+ 6. Downloads images at 2x resolution
94
+ 7. Generates framework-specific components with chosen style mode
95
+ 8. Deduplicates identical CSS rules and generates responsive media queries
96
+ 9. Wraps output in a responsive scale container (no horizontal scrollbar)
86
97
 
87
98
  ## CLI Options
88
99
 
@@ -95,6 +106,7 @@ npx figma-to-code-agent \
95
106
  | `--style` | `css-modules`, `tailwind`, or `css` | `css-modules` |
96
107
  | `--typescript` | Enable TypeScript output | `false` |
97
108
  | `--output <dir>` | Output directory | `./output` |
109
+ | `--extract-tokens <fmt>` | Extract design tokens: `css`, `scss`, `json`, `js` | — |
98
110
  | `--preview` | Preview in browser after generation | — |
99
111
 
100
112
  ### AI Options (optional)
@@ -103,9 +115,12 @@ npx figma-to-code-agent \
103
115
  |--------|-------------|
104
116
  | `--llm-provider` | `bedrock`, `openai`, or `anthropic` |
105
117
  | `--llm-model` | Model name |
118
+ | `--llm-region` | AWS region for Bedrock (default: `us-east-1`) |
119
+ | `--llm-api-key` | API key for OpenAI/Anthropic (or `LLM_API_KEY` env) |
106
120
  | `--ai-naming` | AI-powered semantic component naming |
107
121
  | `--ai-splitting` | AI-powered component splitting |
108
122
  | `--ai-optimization` | AI-powered code optimization |
123
+ | `--ai-layout` | AI-powered layout analysis |
109
124
 
110
125
  ## Programmatic API
111
126
 
@@ -119,6 +134,7 @@ const agent = new FigmaToCodeAgent({
119
134
  styleMode: 'css-modules',
120
135
  typescript: false,
121
136
  outputDir: './output',
137
+ extractTokens: 'css', // optional: 'css' | 'scss' | 'json' | 'js'
122
138
  })
123
139
 
124
140
  const files = await agent.convert()
@@ -130,10 +146,16 @@ const files = await agent.convert()
130
146
  src/
131
147
  ├── extraction/ # Figma API client, MCP protocol, caching
132
148
  ├── transformation/ # AST parsing, layout optimization, transformers
133
- │ └── transformers/ # Component extraction, semantic naming, etc.
134
- ├── generation/ # React and Vue code generators
149
+ │ └── transformers/ # Flatten, component extraction, semantic naming,
150
+ # style merger, responsive merger, accessibility,
151
+ │ # performance optimizer, AI-powered transformers
152
+ ├── generation/ # React and Vue code generators, file organizer
153
+ ├── tokens/ # Design token extraction and export
154
+ ├── assets/ # Asset management (image extraction, dedup)
155
+ ├── validation/ # Visual validation (Puppeteer, pixel comparison)
156
+ ├── config/ # Configuration management
157
+ ├── errors/ # Error handling and recovery
135
158
  ├── llm/ # LLM providers (Bedrock, OpenAI)
136
- ├── validation/ # Visual validation
137
159
  └── cli.ts # CLI entry point
138
160
  ```
139
161
 
@@ -144,7 +166,7 @@ git clone https://github.com/lewiscutey/figma-to-code-agent.git
144
166
  cd figma-to-code-agent
145
167
  npm install
146
168
  npm run build # Compile TypeScript
147
- npm test # Run all tests (129 tests)
169
+ npm test # Run all tests (222 tests)
148
170
  npm run lint # ESLint
149
171
  npm run format # Prettier
150
172
  ```
@@ -17,11 +17,20 @@ export declare class ReactGenerator implements CodeGenerator {
17
17
  private generateClassName;
18
18
  private sanitizeCSSName;
19
19
  private generateTailwindClasses;
20
- private generateInlineStyle;
20
+ private toTailwindSpacing;
21
21
  private toComponentName;
22
22
  private toFileName;
23
23
  private indent;
24
- private generateCSSModule;
24
+ private generateCSS;
25
+ /**
26
+ * Deduplicate CSS rules: merge selectors that have identical rule bodies.
27
+ */
28
+ private deduplicateStyles;
29
+ /**
30
+ * Generate @media queries for responsive components (from ResponsiveMerger metadata).
31
+ */
32
+ private generateMediaQueries;
33
+ private collectMediaQueries;
25
34
  private collectStyles;
26
35
  }
27
36
  //# sourceMappingURL=ReactGenerator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactGenerator.d.ts","sourceRoot":"","sources":["../../src/generation/ReactGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7E,qBAAa,cAAe,YAAW,aAAa;IAClD,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,cAAc,CAA6B;IAEnD,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,mBAAmB;IAiB3B,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,GAAG,aAAa,EAAE;IA6BjE,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,qBAAqB;IAkC7B,OAAO,CAAC,WAAW;IAuCnB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,eAAe;IA+BvB,OAAO,CAAC,uBAAuB;IAyB/B,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,aAAa;CA8ItB"}
1
+ {"version":3,"file":"ReactGenerator.d.ts","sourceRoot":"","sources":["../../src/generation/ReactGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7E,qBAAa,cAAe,YAAW,aAAa;IAClD,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,cAAc,CAA6B;IAEnD,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,mBAAmB;IAiB3B,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,GAAG,aAAa,EAAE;IAkCjE,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,qBAAqB;IA6C7B,OAAO,CAAC,WAAW;IAsCnB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,eAAe;IA+BvB,OAAO,CAAC,uBAAuB;IAsE/B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,WAAW;IA0BnB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,aAAa;CA8ItB"}
@@ -43,11 +43,17 @@ class ReactGenerator {
43
43
  path: `${config.outputDir}/${this.toFileName(node.name)}.${ext}`,
44
44
  content: componentCode,
45
45
  });
46
- // Generate CSS file for css-modules mode
46
+ // Generate CSS file for css-modules and css modes
47
47
  if (config.styleMode === 'css-modules') {
48
48
  files.push({
49
49
  path: `${config.outputDir}/${this.toFileName(node.name)}.module.css`,
50
- content: this.generateCSSModule(node),
50
+ content: this.generateCSS(node),
51
+ });
52
+ }
53
+ else if (config.styleMode === 'css') {
54
+ files.push({
55
+ path: `${config.outputDir}/${this.toFileName(node.name)}.css`,
56
+ content: this.generateCSS(node),
51
57
  });
52
58
  }
53
59
  return files;
@@ -63,6 +69,9 @@ class ReactGenerator {
63
69
  if (config.styleMode === 'css-modules') {
64
70
  imports.push(`import styles from './${this.toFileName(node.name)}.module.css'`);
65
71
  }
72
+ else if (config.styleMode === 'css') {
73
+ imports.push(`import './${this.toFileName(node.name)}.css'`);
74
+ }
66
75
  // Add image imports (deduplicate by variable name)
67
76
  const importedVars = new Set();
68
77
  for (const [_nodeId, varName] of this.imageImportMap) {
@@ -99,6 +108,16 @@ class ReactGenerator {
99
108
  const propsParam = config.typescript ? `props: ${componentName}Props` : 'props';
100
109
  const jsx = this.generateJSX(node, config, 0);
101
110
  const designWidth = Math.round(node.layout.size.width) || 1920;
111
+ const wrapperClass = config.styleMode === 'css-modules'
112
+ ? `className={styles['responsive-wrapper']}`
113
+ : config.styleMode === 'tailwind'
114
+ ? `className="w-full overflow-hidden"`
115
+ : `className="responsive-wrapper"`;
116
+ const containerClass = config.styleMode === 'css-modules'
117
+ ? `className={styles['scale-container']}`
118
+ : config.styleMode === 'tailwind'
119
+ ? `className="w-[${designWidth}px] origin-top-left"`
120
+ : `className="scale-container"`;
102
121
  return `export function ${componentName}(${propsParam}) {
103
122
  const containerRef = React.useRef(null)
104
123
  const [scale, setScale] = React.useState(1)
@@ -116,8 +135,8 @@ class ReactGenerator {
116
135
  }, [])
117
136
 
118
137
  return (
119
- <div className={styles['responsive-wrapper']}>
120
- <div ref={containerRef} className={styles['scale-container']} style={{ transform: \`scale(\${scale})\` }}>
138
+ <div ${wrapperClass}>
139
+ <div ref={containerRef} ${containerClass} style={{ transform: \`scale(\${scale})\` }}>
121
140
  ${this.indent(jsx, 4)}
122
141
  </div>
123
142
  </div>
@@ -128,8 +147,7 @@ class ReactGenerator {
128
147
  generateJSX(node, config, depth = 0) {
129
148
  const tag = this.getHTMLTag(node);
130
149
  const className = this.generateClassName(node, config);
131
- const style = config.styleMode === 'css' ? this.generateInlineStyle(node) : '';
132
- const attrs = [className, style].filter(Boolean).join(' ');
150
+ const attrs = [className].filter(Boolean).join(' ');
133
151
  // Add Figma layer name as comment for better readability (but not for root element)
134
152
  const layerName = node.name || 'unnamed';
135
153
  const comment = depth > 0 ? `{/* ${layerName} */}\n` : '';
@@ -174,6 +192,7 @@ class ReactGenerator {
174
192
  if (config.styleMode === 'tailwind') {
175
193
  return `className="${this.generateTailwindClasses(node)}"`;
176
194
  }
195
+ // Plain CSS mode — use class names referencing the external .css file
177
196
  return `className="${uniqueName}"`;
178
197
  }
179
198
  sanitizeCSSName(name, nodeType) {
@@ -205,6 +224,7 @@ class ReactGenerator {
205
224
  }
206
225
  generateTailwindClasses(node) {
207
226
  const classes = [];
227
+ // Layout
208
228
  if (node.layout.display === 'flex') {
209
229
  classes.push('flex');
210
230
  if (node.layout.flexDirection === 'column')
@@ -214,31 +234,72 @@ class ReactGenerator {
214
234
  if (node.layout.alignItems)
215
235
  classes.push(`items-${node.layout.alignItems}`);
216
236
  if (node.layout.gap)
217
- classes.push(`gap-${Math.round(node.layout.gap / 4)}`);
218
- }
237
+ classes.push(`gap-${this.toTailwindSpacing(node.layout.gap)}`);
238
+ }
239
+ // Size
240
+ if (node.layout.size.width)
241
+ classes.push(`w-[${Math.round(node.layout.size.width)}px]`);
242
+ if (node.layout.size.height)
243
+ classes.push(`h-[${Math.round(node.layout.size.height)}px]`);
244
+ // Background color
219
245
  if (node.styles.backgroundColor) {
220
- classes.push('bg-gray-100');
246
+ const c = node.styles.backgroundColor;
247
+ classes.push(`bg-[rgba(${c.r},${c.g},${c.b},${c.a})]`);
221
248
  }
249
+ // Border radius
222
250
  if (node.styles.borderRadius) {
223
251
  const radius = Array.isArray(node.styles.borderRadius)
224
252
  ? node.styles.borderRadius[0]
225
253
  : node.styles.borderRadius;
226
- classes.push(`rounded-${radius > 8 ? 'lg' : 'md'}`);
254
+ if (radius > 0) {
255
+ classes.push(radius >= 9999 ? 'rounded-full' : `rounded-[${radius}px]`);
256
+ }
227
257
  }
228
- return classes.join(' ');
229
- }
230
- generateInlineStyle(node) {
231
- const styles = [];
232
- if (node.styles.backgroundColor) {
233
- const { r, g, b, a } = node.styles.backgroundColor;
234
- styles.push(`backgroundColor: 'rgba(${r},${g},${b},${a})'`);
258
+ // Opacity
259
+ if (node.styles.opacity !== undefined && node.styles.opacity !== 1) {
260
+ classes.push(`opacity-${Math.round(node.styles.opacity * 100)}`);
235
261
  }
236
- if (node.styles.borderRadius) {
237
- styles.push(`borderRadius: ${node.styles.borderRadius}`);
262
+ // Typography
263
+ if (node.type === 'Text' && node.styles.typography) {
264
+ const t = node.styles.typography;
265
+ classes.push(`text-[${t.fontSize}px]`);
266
+ classes.push(`font-[${t.fontWeight}]`);
267
+ if (t.textAlign && t.textAlign !== 'left')
268
+ classes.push(`text-${t.textAlign}`);
269
+ }
270
+ // Padding
271
+ if (node.layout.padding) {
272
+ const p = node.layout.padding;
273
+ if (typeof p === 'object' && 'top' in p) {
274
+ const { top, right, bottom, left } = p;
275
+ if (top === right && right === bottom && bottom === left && top > 0) {
276
+ classes.push(`p-${this.toTailwindSpacing(top)}`);
277
+ }
278
+ else {
279
+ if (top > 0)
280
+ classes.push(`pt-${this.toTailwindSpacing(top)}`);
281
+ if (right > 0)
282
+ classes.push(`pr-${this.toTailwindSpacing(right)}`);
283
+ if (bottom > 0)
284
+ classes.push(`pb-${this.toTailwindSpacing(bottom)}`);
285
+ if (left > 0)
286
+ classes.push(`pl-${this.toTailwindSpacing(left)}`);
287
+ }
288
+ }
289
+ }
290
+ // Responsive breakpoint classes from ResponsiveMerger metadata
291
+ const meta = node.metadata;
292
+ if (meta.responsive && meta.breakpoints) {
293
+ classes.push('responsive');
238
294
  }
239
- if (styles.length === 0)
240
- return '';
241
- return `style={{ ${styles.join(', ')} }}`;
295
+ return classes.join(' ');
296
+ }
297
+ toTailwindSpacing(px) {
298
+ const rounded = Math.round(px);
299
+ // Use Tailwind's spacing scale where possible
300
+ if (rounded % 4 === 0)
301
+ return String(rounded / 4);
302
+ return `[${rounded}px]`;
242
303
  }
243
304
  toComponentName(name) {
244
305
  let sanitized = name
@@ -274,7 +335,7 @@ class ReactGenerator {
274
335
  .map((line) => (line ? spaces + line : line))
275
336
  .join('\n');
276
337
  }
277
- generateCSSModule(node) {
338
+ generateCSS(node) {
278
339
  const styles = [];
279
340
  const designWidth = Math.round(node.layout.size.width) || 1920;
280
341
  const designHeight = Math.round(node.layout.size.height) || 1080;
@@ -283,7 +344,69 @@ class ReactGenerator {
283
344
  styles.push(`.scale-container {\n width: ${designWidth}px;\n height: ${designHeight}px;\n transform-origin: top left;\n}`);
284
345
  this.usedClassNames = new Map();
285
346
  this.collectStyles(node, styles);
286
- return styles.join('\n\n') + '\n';
347
+ // Deduplicate identical CSS rules
348
+ const deduped = this.deduplicateStyles(styles);
349
+ // Add responsive media queries from ResponsiveMerger metadata
350
+ const mediaQueries = this.generateMediaQueries(node);
351
+ if (mediaQueries) {
352
+ deduped.push(mediaQueries);
353
+ }
354
+ return deduped.join('\n\n') + '\n';
355
+ }
356
+ /**
357
+ * Deduplicate CSS rules: merge selectors that have identical rule bodies.
358
+ */
359
+ deduplicateStyles(styles) {
360
+ const ruleMap = new Map(); // body -> selectors
361
+ const ordered = []; // track insertion order of bodies
362
+ for (const block of styles) {
363
+ const braceIdx = block.indexOf('{');
364
+ if (braceIdx === -1) {
365
+ ordered.push(block);
366
+ continue;
367
+ }
368
+ const selector = block.substring(0, braceIdx).trim();
369
+ const body = block.substring(braceIdx).trim();
370
+ if (!ruleMap.has(body)) {
371
+ ruleMap.set(body, []);
372
+ ordered.push(body);
373
+ }
374
+ ruleMap.get(body).push(selector);
375
+ }
376
+ return ordered.map((body) => {
377
+ const selectors = ruleMap.get(body);
378
+ if (!selectors)
379
+ return body; // non-rule block
380
+ return `${selectors.join(',\n')} ${body}`;
381
+ });
382
+ }
383
+ /**
384
+ * Generate @media queries for responsive components (from ResponsiveMerger metadata).
385
+ */
386
+ generateMediaQueries(node) {
387
+ const queries = [];
388
+ this.collectMediaQueries(node, queries);
389
+ return queries.length > 0 ? queries.join('\n\n') : null;
390
+ }
391
+ collectMediaQueries(node, queries) {
392
+ const meta = node.metadata;
393
+ if (meta.responsive && Array.isArray(meta.breakpoints)) {
394
+ const className = this.nodeClassMap.get(node.id) || this.sanitizeCSSName(node.name);
395
+ for (const bp of meta.breakpoints) {
396
+ const minW = bp.width || bp.breakpoint?.minWidth;
397
+ if (minW && bp.layout) {
398
+ const rules = [];
399
+ if (bp.layout.size?.width)
400
+ rules.push(` width: ${Math.round(bp.layout.size.width)}px;`);
401
+ if (bp.layout.size?.height)
402
+ rules.push(` height: ${Math.round(bp.layout.size.height)}px;`);
403
+ if (rules.length > 0) {
404
+ queries.push(`@media (min-width: ${minW}px) {\n .${className} {\n ${rules.join('\n ')}\n }\n}`);
405
+ }
406
+ }
407
+ }
408
+ }
409
+ node.children.forEach((child) => this.collectMediaQueries(child, queries));
287
410
  }
288
411
  collectStyles(node, styles, parentNode) {
289
412
  const className = this.nodeClassMap.get(node.id) || this.sanitizeCSSName(node.name);
@@ -1 +1 @@
1
- {"version":3,"file":"ReactGenerator.js","sourceRoot":"","sources":["../../src/generation/ReactGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReactGenerator.js","sourceRoot":"","sources":["../../src/generation/ReactGenerator.ts"],"names":[],"mappings":"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"}
@@ -14,9 +14,23 @@ export declare class VueGenerator implements CodeGenerator {
14
14
  private getHTMLTag;
15
15
  private generateScript;
16
16
  private generateStyle;
17
+ /**
18
+ * Generate a standalone CSS file (for css mode).
19
+ */
20
+ private generateStandaloneCSS;
21
+ /**
22
+ * Deduplicate CSS rules: merge selectors with identical rule bodies.
23
+ */
24
+ private deduplicateStyles;
25
+ /**
26
+ * Generate @media queries for responsive components.
27
+ */
28
+ private generateMediaQueries;
29
+ private collectMediaQueries;
17
30
  private collectStyles;
18
31
  private sanitizeCSSName;
19
32
  private generateTailwindClasses;
33
+ private toTailwindSpacing;
20
34
  private toFileName;
21
35
  private indent;
22
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VueGenerator.d.ts","sourceRoot":"","sources":["../../src/generation/VueGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7E,qBAAa,YAAa,YAAW,aAAa;IAChD,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,cAAc,CAA6B;IAEnD,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,mBAAmB;IAkB3B,OAAO,CAAC,YAAY;IASpB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,GAAG,aAAa,EAAE;IAmBjE,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,eAAe;IAiCvB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,cAAc;IAyCtB,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,aAAa;IAwIrB,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,MAAM;CAOf"}
1
+ {"version":3,"file":"VueGenerator.d.ts","sourceRoot":"","sources":["../../src/generation/VueGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7E,qBAAa,YAAa,YAAW,aAAa;IAChD,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,cAAc,CAA6B;IAEnD,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,mBAAmB;IAkB3B,OAAO,CAAC,YAAY;IASpB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,GAAG,aAAa,EAAE;IA2BjE,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,eAAe;IAmCvB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,cAAc;IAyCtB,OAAO,CAAC,aAAa;IA4BrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,aAAa;IAwIrB,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,uBAAuB;IAsD/B,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,MAAM;CAOf"}