figma-to-code-agent 0.3.4 → 0.5.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 (89) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/FigmaToCodeAgent.d.ts +2 -0
  3. package/dist/FigmaToCodeAgent.d.ts.map +1 -1
  4. package/dist/FigmaToCodeAgent.js +17 -0
  5. package/dist/FigmaToCodeAgent.js.map +1 -1
  6. package/dist/assets/AssetManager.d.ts +61 -0
  7. package/dist/assets/AssetManager.d.ts.map +1 -0
  8. package/dist/assets/AssetManager.js +136 -0
  9. package/dist/assets/AssetManager.js.map +1 -0
  10. package/dist/assets/index.d.ts +2 -1
  11. package/dist/assets/index.d.ts.map +1 -1
  12. package/dist/assets/index.js +3 -0
  13. package/dist/assets/index.js.map +1 -1
  14. package/dist/cli.js +2 -0
  15. package/dist/cli.js.map +1 -1
  16. package/dist/config/ConfigManager.d.ts +41 -0
  17. package/dist/config/ConfigManager.d.ts.map +1 -0
  18. package/dist/config/ConfigManager.js +155 -0
  19. package/dist/config/ConfigManager.js.map +1 -0
  20. package/dist/config/index.d.ts +3 -0
  21. package/dist/config/index.d.ts.map +1 -0
  22. package/dist/config/index.js +7 -0
  23. package/dist/config/index.js.map +1 -0
  24. package/dist/config/types.d.ts +43 -0
  25. package/dist/config/types.d.ts.map +1 -0
  26. package/dist/config/types.js +3 -0
  27. package/dist/config/types.js.map +1 -0
  28. package/dist/errors/index.d.ts +88 -0
  29. package/dist/errors/index.d.ts.map +1 -0
  30. package/dist/errors/index.js +128 -0
  31. package/dist/errors/index.js.map +1 -0
  32. package/dist/generation/FileOrganizer.d.ts +35 -0
  33. package/dist/generation/FileOrganizer.d.ts.map +1 -0
  34. package/dist/generation/FileOrganizer.js +117 -0
  35. package/dist/generation/FileOrganizer.js.map +1 -0
  36. package/dist/generation/ReactGenerator.d.ts +11 -2
  37. package/dist/generation/ReactGenerator.d.ts.map +1 -1
  38. package/dist/generation/ReactGenerator.js +147 -24
  39. package/dist/generation/ReactGenerator.js.map +1 -1
  40. package/dist/generation/VueGenerator.d.ts +14 -0
  41. package/dist/generation/VueGenerator.d.ts.map +1 -1
  42. package/dist/generation/VueGenerator.js +139 -2
  43. package/dist/generation/VueGenerator.js.map +1 -1
  44. package/dist/tokens/DesignTokenExporter.d.ts +12 -0
  45. package/dist/tokens/DesignTokenExporter.d.ts.map +1 -0
  46. package/dist/tokens/DesignTokenExporter.js +61 -0
  47. package/dist/tokens/DesignTokenExporter.js.map +1 -0
  48. package/dist/tokens/DesignTokenExtractor.d.ts +14 -0
  49. package/dist/tokens/DesignTokenExtractor.d.ts.map +1 -0
  50. package/dist/tokens/DesignTokenExtractor.js +124 -0
  51. package/dist/tokens/DesignTokenExtractor.js.map +1 -0
  52. package/dist/tokens/index.d.ts +4 -0
  53. package/dist/tokens/index.d.ts.map +1 -0
  54. package/dist/tokens/index.js +8 -0
  55. package/dist/tokens/index.js.map +1 -0
  56. package/dist/tokens/types.d.ts +44 -0
  57. package/dist/tokens/types.d.ts.map +1 -0
  58. package/dist/tokens/types.js +7 -0
  59. package/dist/tokens/types.js.map +1 -0
  60. package/dist/transformation/transformers/AccessibilityEnhancer.d.ts +22 -0
  61. package/dist/transformation/transformers/AccessibilityEnhancer.d.ts.map +1 -0
  62. package/dist/transformation/transformers/AccessibilityEnhancer.js +113 -0
  63. package/dist/transformation/transformers/AccessibilityEnhancer.js.map +1 -0
  64. package/dist/transformation/transformers/ComponentSplitter.d.ts +32 -0
  65. package/dist/transformation/transformers/ComponentSplitter.d.ts.map +1 -0
  66. package/dist/transformation/transformers/ComponentSplitter.js +108 -0
  67. package/dist/transformation/transformers/ComponentSplitter.js.map +1 -0
  68. package/dist/transformation/transformers/PerformanceOptimizer.d.ts +24 -0
  69. package/dist/transformation/transformers/PerformanceOptimizer.d.ts.map +1 -0
  70. package/dist/transformation/transformers/PerformanceOptimizer.js +95 -0
  71. package/dist/transformation/transformers/PerformanceOptimizer.js.map +1 -0
  72. package/dist/transformation/transformers/ResponsiveMerger.d.ts +39 -0
  73. package/dist/transformation/transformers/ResponsiveMerger.d.ts.map +1 -0
  74. package/dist/transformation/transformers/ResponsiveMerger.js +114 -0
  75. package/dist/transformation/transformers/ResponsiveMerger.js.map +1 -0
  76. package/dist/transformation/transformers/StyleMerger.d.ts +18 -0
  77. package/dist/transformation/transformers/StyleMerger.d.ts.map +1 -0
  78. package/dist/transformation/transformers/StyleMerger.js +71 -0
  79. package/dist/transformation/transformers/StyleMerger.js.map +1 -0
  80. package/dist/validation/VisualValidator.d.ts +69 -0
  81. package/dist/validation/VisualValidator.d.ts.map +1 -0
  82. package/dist/validation/VisualValidator.js +198 -0
  83. package/dist/validation/VisualValidator.js.map +1 -0
  84. package/dist/validation/index.d.ts +2 -1
  85. package/dist/validation/index.d.ts.map +1 -1
  86. package/dist/validation/index.js +3 -0
  87. package/dist/validation/index.js.map +1 -1
  88. package/package.json +1 -1
  89. package/test-app/test-react/src/Component.module.css +21 -141
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EACV,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,GACX,MAAM,mBAAmB,CAAC"}
@@ -4,4 +4,7 @@
4
4
  * Ensures generated code matches original design
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.VisualValidator = void 0;
8
+ var VisualValidator_1 = require("./VisualValidator");
9
+ Object.defineProperty(exports, "VisualValidator", { enumerable: true, get: function () { return VisualValidator_1.VisualValidator; } });
7
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,qDAAoD;AAA3C,kHAAA,eAAe,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "figma-to-code-agent",
3
- "version": "0.3.4",
3
+ "version": "0.5.0",
4
4
  "description": "AI Agent that converts Figma designs to production-ready code with optional LLM enhancements",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -77,16 +77,7 @@
77
77
  background-color: rgba(0, 0, 0, 0.4000000059604645);
78
78
  }
79
79
 
80
- .group2523 {
81
- position: absolute;
82
- left: 0px;
83
- top: 0px;
84
- width: 384px;
85
- height: 1080px;
86
- overflow: hidden;
87
- background-color: inherit;
88
- }
89
-
80
+ .group2523,
90
81
  .mask-group {
91
82
  position: absolute;
92
83
  left: 0px;
@@ -126,7 +117,11 @@
126
117
  background-color: rgba(0, 0, 0, 0.30000001192092896);
127
118
  }
128
119
 
129
- .text-1 {
120
+ .text-1,
121
+ .text-2,
122
+ .text-3,
123
+ .text-4,
124
+ .text-5 {
130
125
  position: absolute;
131
126
  left: 70px;
132
127
  top: 250px;
@@ -165,7 +160,8 @@
165
160
  color: rgba(255, 255, 255, 1);
166
161
  }
167
162
 
168
- .rectangle38 {
163
+ .rectangle38,
164
+ .rectangle38-2 {
169
165
  position: absolute;
170
166
  left: 2px;
171
167
  top: 44px;
@@ -184,21 +180,9 @@
184
180
  background-color: inherit;
185
181
  }
186
182
 
187
- .text-2 {
188
- position: absolute;
189
- left: 70px;
190
- top: 250px;
191
- width: 104px;
192
- height: 440px;
193
- font-family: 'MI Lan Pro', sans-serif;
194
- font-size: 100px;
195
- font-weight: 300;
196
- line-height: 110px;
197
- text-align: left;
198
- color: rgba(255, 255, 255, 1);
199
- }
200
-
201
- .group2512-1 {
183
+ .group2512-1,
184
+ .group2512-2,
185
+ .group2512-4 {
202
186
  position: absolute;
203
187
  left: 70px;
204
188
  top: 946px;
@@ -208,7 +192,8 @@
208
192
  background-color: inherit;
209
193
  }
210
194
 
211
- .element-2 {
195
+ .element-2,
196
+ .element-5 {
212
197
  position: absolute;
213
198
  left: 0px;
214
199
  top: 0px;
@@ -224,7 +209,9 @@
224
209
  color: rgba(255, 255, 255, 1);
225
210
  }
226
211
 
227
- .rectangle38-1 {
212
+ .rectangle38-1,
213
+ .rectangle38-3,
214
+ .rectangle38-4 {
228
215
  position: absolute;
229
216
  left: 2px;
230
217
  top: 44px;
@@ -254,30 +241,6 @@
254
241
  display: block;
255
242
  }
256
243
 
257
- .text-3 {
258
- position: absolute;
259
- left: 70px;
260
- top: 250px;
261
- width: 104px;
262
- height: 440px;
263
- font-family: 'MI Lan Pro', sans-serif;
264
- font-size: 100px;
265
- font-weight: 300;
266
- line-height: 110px;
267
- text-align: left;
268
- color: rgba(255, 255, 255, 1);
269
- }
270
-
271
- .group2512-2 {
272
- position: absolute;
273
- left: 70px;
274
- top: 946px;
275
- width: 30px;
276
- height: 46px;
277
- overflow: hidden;
278
- background-color: inherit;
279
- }
280
-
281
244
  .element-3 {
282
245
  position: absolute;
283
246
  left: 0px;
@@ -293,15 +256,6 @@
293
256
  color: rgba(255, 255, 255, 1);
294
257
  }
295
258
 
296
- .rectangle38-2 {
297
- position: absolute;
298
- left: 2px;
299
- top: 44px;
300
- width: 14px;
301
- height: 2px;
302
- background-color: rgba(255, 255, 255, 1);
303
- }
304
-
305
259
  .group2529 {
306
260
  position: absolute;
307
261
  left: 1152px;
@@ -312,20 +266,6 @@
312
266
  background-color: inherit;
313
267
  }
314
268
 
315
- .text-4 {
316
- position: absolute;
317
- left: 70px;
318
- top: 250px;
319
- width: 104px;
320
- height: 440px;
321
- font-family: 'MI Lan Pro', sans-serif;
322
- font-size: 100px;
323
- font-weight: 300;
324
- line-height: 110px;
325
- text-align: left;
326
- color: rgba(255, 255, 255, 1);
327
- }
328
-
329
269
  .group2512-3 {
330
270
  position: absolute;
331
271
  left: 70px;
@@ -352,16 +292,6 @@
352
292
  color: rgba(255, 255, 255, 1);
353
293
  }
354
294
 
355
- .rectangle38-3 {
356
- position: absolute;
357
- left: 2px;
358
- top: 44px;
359
- width: 14px;
360
- height: 2px;
361
- background-color: rgba(255, 255, 255, 1);
362
- opacity: 0.4000000059604645;
363
- }
364
-
365
295
  .group2530 {
366
296
  position: absolute;
367
297
  left: 1536px;
@@ -372,56 +302,6 @@
372
302
  background-color: inherit;
373
303
  }
374
304
 
375
- .text-5 {
376
- position: absolute;
377
- left: 70px;
378
- top: 250px;
379
- width: 104px;
380
- height: 440px;
381
- font-family: 'MI Lan Pro', sans-serif;
382
- font-size: 100px;
383
- font-weight: 300;
384
- line-height: 110px;
385
- text-align: left;
386
- color: rgba(255, 255, 255, 1);
387
- }
388
-
389
- .group2512-4 {
390
- position: absolute;
391
- left: 70px;
392
- top: 946px;
393
- width: 30px;
394
- height: 46px;
395
- overflow: hidden;
396
- background-color: inherit;
397
- }
398
-
399
- .element-5 {
400
- position: absolute;
401
- left: 0px;
402
- top: 0px;
403
- width: 30px;
404
- height: 34px;
405
- opacity: 0.5;
406
- font-family: 'Mitype', sans-serif;
407
- font-size: 28px;
408
- font-weight: 500;
409
- line-height: 34px;
410
- text-align: left;
411
- white-space: nowrap;
412
- color: rgba(255, 255, 255, 1);
413
- }
414
-
415
- .rectangle38-4 {
416
- position: absolute;
417
- left: 2px;
418
- top: 44px;
419
- width: 14px;
420
- height: 2px;
421
- background-color: rgba(255, 255, 255, 1);
422
- opacity: 0.4000000059604645;
423
- }
424
-
425
305
  .group2608 {
426
306
  position: absolute;
427
307
  left: 384px;
@@ -563,10 +443,10 @@
563
443
 
564
444
  .group10 {
565
445
  position: absolute;
566
- left: 1504px;
567
- top: 76px;
568
- width: 20px;
569
- height: 20px;
570
- object-fit: contain;
446
+ left: 1500px;
447
+ top: 72px;
448
+ width: 28px;
449
+ height: 28px;
450
+ object-fit: cover;
571
451
  display: block;
572
452
  }