@principal-ai/file-city-react 0.3.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 (51) hide show
  1. package/dist/builder/cityDataUtils.d.ts +15 -0
  2. package/dist/builder/cityDataUtils.d.ts.map +1 -0
  3. package/dist/builder/cityDataUtils.js +348 -0
  4. package/dist/components/ArchitectureMapHighlightLayers.d.ts +63 -0
  5. package/dist/components/ArchitectureMapHighlightLayers.d.ts.map +1 -0
  6. package/dist/components/ArchitectureMapHighlightLayers.js +1040 -0
  7. package/dist/components/CityViewWithReactFlow.d.ts +14 -0
  8. package/dist/components/CityViewWithReactFlow.d.ts.map +1 -0
  9. package/dist/components/CityViewWithReactFlow.js +266 -0
  10. package/dist/config/files.json +996 -0
  11. package/dist/hooks/useCodeCityData.d.ts +21 -0
  12. package/dist/hooks/useCodeCityData.d.ts.map +1 -0
  13. package/dist/hooks/useCodeCityData.js +57 -0
  14. package/dist/index.d.ts +14 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +29 -0
  17. package/dist/render/client/drawLayeredBuildings.d.ts +51 -0
  18. package/dist/render/client/drawLayeredBuildings.d.ts.map +1 -0
  19. package/dist/render/client/drawLayeredBuildings.js +650 -0
  20. package/dist/stories/ArchitectureMapGridLayout.stories.d.ts +73 -0
  21. package/dist/stories/ArchitectureMapGridLayout.stories.d.ts.map +1 -0
  22. package/dist/stories/ArchitectureMapGridLayout.stories.js +345 -0
  23. package/dist/stories/ArchitectureMapHighlightLayers.stories.d.ts +78 -0
  24. package/dist/stories/ArchitectureMapHighlightLayers.stories.d.ts.map +1 -0
  25. package/dist/stories/ArchitectureMapHighlightLayers.stories.js +270 -0
  26. package/dist/stories/CityViewWithReactFlow.stories.d.ts +24 -0
  27. package/dist/stories/CityViewWithReactFlow.stories.d.ts.map +1 -0
  28. package/dist/stories/CityViewWithReactFlow.stories.js +778 -0
  29. package/dist/stories/sample-data.d.ts +4 -0
  30. package/dist/stories/sample-data.d.ts.map +1 -0
  31. package/dist/stories/sample-data.js +268 -0
  32. package/dist/types/react-types.d.ts +17 -0
  33. package/dist/types/react-types.d.ts.map +1 -0
  34. package/dist/types/react-types.js +4 -0
  35. package/dist/utils/fileColorHighlightLayers.d.ts +86 -0
  36. package/dist/utils/fileColorHighlightLayers.d.ts.map +1 -0
  37. package/dist/utils/fileColorHighlightLayers.js +283 -0
  38. package/package.json +49 -0
  39. package/src/builder/cityDataUtils.ts +430 -0
  40. package/src/components/ArchitectureMapHighlightLayers.tsx +1518 -0
  41. package/src/components/CityViewWithReactFlow.tsx +365 -0
  42. package/src/config/files.json +996 -0
  43. package/src/hooks/useCodeCityData.ts +82 -0
  44. package/src/index.ts +64 -0
  45. package/src/render/client/drawLayeredBuildings.ts +946 -0
  46. package/src/stories/ArchitectureMapGridLayout.stories.tsx +410 -0
  47. package/src/stories/ArchitectureMapHighlightLayers.stories.tsx +312 -0
  48. package/src/stories/CityViewWithReactFlow.stories.tsx +787 -0
  49. package/src/stories/sample-data.ts +301 -0
  50. package/src/types/react-types.ts +18 -0
  51. package/src/utils/fileColorHighlightLayers.ts +378 -0
@@ -0,0 +1,778 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LargeGrid = exports.MultiCell = exports.SingleCell = void 0;
4
+ const CityViewWithReactFlow_1 = require("../components/CityViewWithReactFlow");
5
+ const meta = {
6
+ title: 'Components/CityViewWithReactFlow',
7
+ component: CityViewWithReactFlow_1.CityViewWithReactFlow,
8
+ parameters: {
9
+ layout: 'fullscreen',
10
+ },
11
+ decorators: [
12
+ Story => (React.createElement("div", { style: { height: '100vh', width: '100vw' } },
13
+ React.createElement(Story, null))),
14
+ ],
15
+ };
16
+ exports.default = meta;
17
+ // Create sample file tree data
18
+ const createSampleFileTree = () => ({
19
+ root: {
20
+ name: 'root',
21
+ path: '',
22
+ relativePath: '',
23
+ children: [
24
+ {
25
+ name: 'src',
26
+ path: 'src',
27
+ relativePath: 'src',
28
+ children: [
29
+ {
30
+ name: 'components',
31
+ path: 'src/components',
32
+ relativePath: 'src/components',
33
+ children: [
34
+ {
35
+ name: 'Button.tsx',
36
+ path: 'src/components/Button.tsx',
37
+ relativePath: 'src/components/Button.tsx',
38
+ size: 2500,
39
+ extension: 'tsx',
40
+ lastModified: new Date('2024-01-15'),
41
+ isDirectory: false,
42
+ },
43
+ {
44
+ name: 'Card.tsx',
45
+ path: 'src/components/Card.tsx',
46
+ relativePath: 'src/components/Card.tsx',
47
+ size: 1800,
48
+ extension: 'tsx',
49
+ lastModified: new Date('2024-01-15'),
50
+ isDirectory: false,
51
+ },
52
+ {
53
+ name: 'Modal.tsx',
54
+ path: 'src/components/Modal.tsx',
55
+ relativePath: 'src/components/Modal.tsx',
56
+ size: 3200,
57
+ extension: 'tsx',
58
+ lastModified: new Date('2024-01-15'),
59
+ isDirectory: false,
60
+ },
61
+ ],
62
+ fileCount: 3,
63
+ totalSize: 7500,
64
+ depth: 2,
65
+ },
66
+ {
67
+ name: 'utils',
68
+ path: 'src/utils',
69
+ relativePath: 'src/utils',
70
+ children: [
71
+ {
72
+ name: 'helpers.ts',
73
+ path: 'src/utils/helpers.ts',
74
+ relativePath: 'src/utils/helpers.ts',
75
+ size: 1200,
76
+ extension: 'ts',
77
+ lastModified: new Date('2024-01-10'),
78
+ isDirectory: false,
79
+ },
80
+ {
81
+ name: 'validators.ts',
82
+ path: 'src/utils/validators.ts',
83
+ relativePath: 'src/utils/validators.ts',
84
+ size: 800,
85
+ extension: 'ts',
86
+ lastModified: new Date('2024-01-10'),
87
+ isDirectory: false,
88
+ },
89
+ ],
90
+ fileCount: 2,
91
+ totalSize: 2000,
92
+ depth: 2,
93
+ },
94
+ {
95
+ name: 'index.ts',
96
+ path: 'src/index.ts',
97
+ relativePath: 'src/index.ts',
98
+ size: 500,
99
+ extension: 'ts',
100
+ lastModified: new Date('2024-01-01'),
101
+ isDirectory: false,
102
+ },
103
+ ],
104
+ fileCount: 6,
105
+ totalSize: 10000,
106
+ depth: 1,
107
+ },
108
+ {
109
+ name: 'tests',
110
+ path: 'tests',
111
+ relativePath: 'tests',
112
+ children: [
113
+ {
114
+ name: 'Button.test.tsx',
115
+ path: 'tests/Button.test.tsx',
116
+ relativePath: 'tests/Button.test.tsx',
117
+ size: 1500,
118
+ extension: 'tsx',
119
+ lastModified: new Date('2024-01-20'),
120
+ isDirectory: false,
121
+ },
122
+ {
123
+ name: 'Card.test.tsx',
124
+ path: 'tests/Card.test.tsx',
125
+ relativePath: 'tests/Card.test.tsx',
126
+ size: 1200,
127
+ extension: 'tsx',
128
+ lastModified: new Date('2024-01-20'),
129
+ isDirectory: false,
130
+ },
131
+ ],
132
+ fileCount: 2,
133
+ totalSize: 2700,
134
+ depth: 1,
135
+ },
136
+ {
137
+ name: 'docs',
138
+ path: 'docs',
139
+ relativePath: 'docs',
140
+ children: [
141
+ {
142
+ name: 'README.md',
143
+ path: 'docs/README.md',
144
+ relativePath: 'docs/README.md',
145
+ size: 3000,
146
+ extension: 'md',
147
+ lastModified: new Date('2024-01-01'),
148
+ isDirectory: false,
149
+ },
150
+ {
151
+ name: 'API.md',
152
+ path: 'docs/API.md',
153
+ relativePath: 'docs/API.md',
154
+ size: 2500,
155
+ extension: 'md',
156
+ lastModified: new Date('2024-01-05'),
157
+ isDirectory: false,
158
+ },
159
+ {
160
+ name: 'CONTRIBUTING.md',
161
+ path: 'docs/CONTRIBUTING.md',
162
+ relativePath: 'docs/CONTRIBUTING.md',
163
+ size: 1800,
164
+ extension: 'md',
165
+ lastModified: new Date('2024-01-01'),
166
+ isDirectory: false,
167
+ },
168
+ ],
169
+ fileCount: 3,
170
+ totalSize: 7300,
171
+ depth: 1,
172
+ },
173
+ {
174
+ name: 'config',
175
+ path: 'config',
176
+ relativePath: 'config',
177
+ children: [
178
+ {
179
+ name: 'webpack.config.js',
180
+ path: 'config/webpack.config.js',
181
+ relativePath: 'config/webpack.config.js',
182
+ size: 2200,
183
+ extension: 'js',
184
+ lastModified: new Date('2024-01-01'),
185
+ isDirectory: false,
186
+ },
187
+ {
188
+ name: 'tsconfig.json',
189
+ path: 'config/tsconfig.json',
190
+ relativePath: 'config/tsconfig.json',
191
+ size: 800,
192
+ extension: 'json',
193
+ lastModified: new Date('2024-01-01'),
194
+ isDirectory: false,
195
+ },
196
+ ],
197
+ fileCount: 2,
198
+ totalSize: 3000,
199
+ depth: 1,
200
+ },
201
+ {
202
+ name: 'package.json',
203
+ path: 'package.json',
204
+ relativePath: 'package.json',
205
+ size: 1500,
206
+ extension: 'json',
207
+ lastModified: new Date('2024-01-01'),
208
+ isDirectory: false,
209
+ },
210
+ ],
211
+ fileCount: 14,
212
+ totalSize: 24500,
213
+ depth: 0,
214
+ },
215
+ stats: {
216
+ totalFiles: 14,
217
+ totalDirectories: 6,
218
+ totalSize: 24500,
219
+ maxDepth: 3,
220
+ },
221
+ allFiles: (function () {
222
+ const files = [];
223
+ const collectFiles = (node) => {
224
+ if (!('children' in node)) {
225
+ files.push(node);
226
+ }
227
+ else if (node.children) {
228
+ for (const child of node.children) {
229
+ collectFiles(child);
230
+ }
231
+ }
232
+ };
233
+ const root = {
234
+ name: 'root',
235
+ path: '',
236
+ relativePath: '',
237
+ children: [
238
+ {
239
+ name: 'src',
240
+ path: 'src',
241
+ relativePath: 'src',
242
+ children: [
243
+ {
244
+ name: 'components',
245
+ path: 'src/components',
246
+ relativePath: 'src/components',
247
+ children: [
248
+ {
249
+ name: 'Button.tsx',
250
+ path: 'src/components/Button.tsx',
251
+ relativePath: 'src/components/Button.tsx',
252
+ size: 2500,
253
+ extension: 'tsx',
254
+ lastModified: new Date('2024-01-15'),
255
+ isDirectory: false,
256
+ },
257
+ {
258
+ name: 'Card.tsx',
259
+ path: 'src/components/Card.tsx',
260
+ relativePath: 'src/components/Card.tsx',
261
+ size: 1800,
262
+ extension: 'tsx',
263
+ lastModified: new Date('2024-01-15'),
264
+ isDirectory: false,
265
+ },
266
+ {
267
+ name: 'Modal.tsx',
268
+ path: 'src/components/Modal.tsx',
269
+ relativePath: 'src/components/Modal.tsx',
270
+ size: 3200,
271
+ extension: 'tsx',
272
+ lastModified: new Date('2024-01-15'),
273
+ isDirectory: false,
274
+ },
275
+ ],
276
+ fileCount: 3,
277
+ totalSize: 7500,
278
+ depth: 2,
279
+ },
280
+ {
281
+ name: 'utils',
282
+ path: 'src/utils',
283
+ relativePath: 'src/utils',
284
+ children: [
285
+ {
286
+ name: 'helpers.ts',
287
+ path: 'src/utils/helpers.ts',
288
+ relativePath: 'src/utils/helpers.ts',
289
+ size: 1200,
290
+ extension: 'ts',
291
+ lastModified: new Date('2024-01-10'),
292
+ isDirectory: false,
293
+ },
294
+ {
295
+ name: 'validators.ts',
296
+ path: 'src/utils/validators.ts',
297
+ relativePath: 'src/utils/validators.ts',
298
+ size: 800,
299
+ extension: 'ts',
300
+ lastModified: new Date('2024-01-10'),
301
+ isDirectory: false,
302
+ },
303
+ ],
304
+ fileCount: 2,
305
+ totalSize: 2000,
306
+ depth: 2,
307
+ },
308
+ {
309
+ name: 'index.ts',
310
+ path: 'src/index.ts',
311
+ relativePath: 'src/index.ts',
312
+ size: 500,
313
+ extension: 'ts',
314
+ lastModified: new Date('2024-01-01'),
315
+ isDirectory: false,
316
+ },
317
+ ],
318
+ fileCount: 6,
319
+ totalSize: 10000,
320
+ depth: 1,
321
+ },
322
+ {
323
+ name: 'tests',
324
+ path: 'tests',
325
+ relativePath: 'tests',
326
+ children: [
327
+ {
328
+ name: 'Button.test.tsx',
329
+ path: 'tests/Button.test.tsx',
330
+ relativePath: 'tests/Button.test.tsx',
331
+ size: 1500,
332
+ extension: 'tsx',
333
+ lastModified: new Date('2024-01-20'),
334
+ isDirectory: false,
335
+ },
336
+ {
337
+ name: 'Card.test.tsx',
338
+ path: 'tests/Card.test.tsx',
339
+ relativePath: 'tests/Card.test.tsx',
340
+ size: 1200,
341
+ extension: 'tsx',
342
+ lastModified: new Date('2024-01-20'),
343
+ isDirectory: false,
344
+ },
345
+ ],
346
+ fileCount: 2,
347
+ totalSize: 2700,
348
+ depth: 1,
349
+ },
350
+ {
351
+ name: 'docs',
352
+ path: 'docs',
353
+ relativePath: 'docs',
354
+ children: [
355
+ {
356
+ name: 'README.md',
357
+ path: 'docs/README.md',
358
+ relativePath: 'docs/README.md',
359
+ size: 3000,
360
+ extension: 'md',
361
+ lastModified: new Date('2024-01-01'),
362
+ isDirectory: false,
363
+ },
364
+ {
365
+ name: 'API.md',
366
+ path: 'docs/API.md',
367
+ relativePath: 'docs/API.md',
368
+ size: 2500,
369
+ extension: 'md',
370
+ lastModified: new Date('2024-01-05'),
371
+ isDirectory: false,
372
+ },
373
+ {
374
+ name: 'CONTRIBUTING.md',
375
+ path: 'docs/CONTRIBUTING.md',
376
+ relativePath: 'docs/CONTRIBUTING.md',
377
+ size: 1800,
378
+ extension: 'md',
379
+ lastModified: new Date('2024-01-01'),
380
+ isDirectory: false,
381
+ },
382
+ ],
383
+ fileCount: 3,
384
+ totalSize: 7300,
385
+ depth: 1,
386
+ },
387
+ {
388
+ name: 'config',
389
+ path: 'config',
390
+ relativePath: 'config',
391
+ children: [
392
+ {
393
+ name: 'webpack.config.js',
394
+ path: 'config/webpack.config.js',
395
+ relativePath: 'config/webpack.config.js',
396
+ size: 2200,
397
+ extension: 'js',
398
+ lastModified: new Date('2024-01-01'),
399
+ isDirectory: false,
400
+ },
401
+ {
402
+ name: 'tsconfig.json',
403
+ path: 'config/tsconfig.json',
404
+ relativePath: 'config/tsconfig.json',
405
+ size: 800,
406
+ extension: 'json',
407
+ lastModified: new Date('2024-01-01'),
408
+ isDirectory: false,
409
+ },
410
+ ],
411
+ fileCount: 2,
412
+ totalSize: 3000,
413
+ depth: 1,
414
+ },
415
+ {
416
+ name: 'package.json',
417
+ path: 'package.json',
418
+ relativePath: 'package.json',
419
+ size: 1500,
420
+ extension: 'json',
421
+ lastModified: new Date('2024-01-01'),
422
+ isDirectory: false,
423
+ },
424
+ ],
425
+ fileCount: 14,
426
+ totalSize: 24500,
427
+ depth: 0,
428
+ };
429
+ collectFiles(root);
430
+ return files;
431
+ })(),
432
+ allDirectories: (function () {
433
+ const dirs = [];
434
+ const collectDirs = (node) => {
435
+ if ('children' in node) {
436
+ dirs.push(node);
437
+ if (node.children) {
438
+ for (const child of node.children) {
439
+ collectDirs(child);
440
+ }
441
+ }
442
+ }
443
+ };
444
+ const root = {
445
+ name: 'root',
446
+ path: '',
447
+ relativePath: '',
448
+ children: [
449
+ {
450
+ name: 'src',
451
+ path: 'src',
452
+ relativePath: 'src',
453
+ children: [
454
+ {
455
+ name: 'components',
456
+ path: 'src/components',
457
+ relativePath: 'src/components',
458
+ children: [
459
+ {
460
+ name: 'Button.tsx',
461
+ path: 'src/components/Button.tsx',
462
+ relativePath: 'src/components/Button.tsx',
463
+ size: 2500,
464
+ extension: 'tsx',
465
+ lastModified: new Date('2024-01-15'),
466
+ isDirectory: false,
467
+ },
468
+ {
469
+ name: 'Card.tsx',
470
+ path: 'src/components/Card.tsx',
471
+ relativePath: 'src/components/Card.tsx',
472
+ size: 1800,
473
+ extension: 'tsx',
474
+ lastModified: new Date('2024-01-15'),
475
+ isDirectory: false,
476
+ },
477
+ {
478
+ name: 'Modal.tsx',
479
+ path: 'src/components/Modal.tsx',
480
+ relativePath: 'src/components/Modal.tsx',
481
+ size: 3200,
482
+ extension: 'tsx',
483
+ lastModified: new Date('2024-01-15'),
484
+ isDirectory: false,
485
+ },
486
+ ],
487
+ fileCount: 3,
488
+ totalSize: 7500,
489
+ depth: 2,
490
+ },
491
+ {
492
+ name: 'utils',
493
+ path: 'src/utils',
494
+ relativePath: 'src/utils',
495
+ children: [
496
+ {
497
+ name: 'helpers.ts',
498
+ path: 'src/utils/helpers.ts',
499
+ relativePath: 'src/utils/helpers.ts',
500
+ size: 1200,
501
+ extension: 'ts',
502
+ lastModified: new Date('2024-01-10'),
503
+ isDirectory: false,
504
+ },
505
+ {
506
+ name: 'validators.ts',
507
+ path: 'src/utils/validators.ts',
508
+ relativePath: 'src/utils/validators.ts',
509
+ size: 800,
510
+ extension: 'ts',
511
+ lastModified: new Date('2024-01-10'),
512
+ isDirectory: false,
513
+ },
514
+ ],
515
+ fileCount: 2,
516
+ totalSize: 2000,
517
+ depth: 2,
518
+ },
519
+ {
520
+ name: 'index.ts',
521
+ path: 'src/index.ts',
522
+ relativePath: 'src/index.ts',
523
+ size: 500,
524
+ extension: 'ts',
525
+ lastModified: new Date('2024-01-01'),
526
+ isDirectory: false,
527
+ },
528
+ ],
529
+ fileCount: 6,
530
+ totalSize: 10000,
531
+ depth: 1,
532
+ },
533
+ {
534
+ name: 'tests',
535
+ path: 'tests',
536
+ relativePath: 'tests',
537
+ children: [
538
+ {
539
+ name: 'Button.test.tsx',
540
+ path: 'tests/Button.test.tsx',
541
+ relativePath: 'tests/Button.test.tsx',
542
+ size: 1500,
543
+ extension: 'tsx',
544
+ lastModified: new Date('2024-01-20'),
545
+ isDirectory: false,
546
+ },
547
+ {
548
+ name: 'Card.test.tsx',
549
+ path: 'tests/Card.test.tsx',
550
+ relativePath: 'tests/Card.test.tsx',
551
+ size: 1200,
552
+ extension: 'tsx',
553
+ lastModified: new Date('2024-01-20'),
554
+ isDirectory: false,
555
+ },
556
+ ],
557
+ fileCount: 2,
558
+ totalSize: 2700,
559
+ depth: 1,
560
+ },
561
+ {
562
+ name: 'docs',
563
+ path: 'docs',
564
+ relativePath: 'docs',
565
+ children: [
566
+ {
567
+ name: 'README.md',
568
+ path: 'docs/README.md',
569
+ relativePath: 'docs/README.md',
570
+ size: 3000,
571
+ extension: 'md',
572
+ lastModified: new Date('2024-01-01'),
573
+ isDirectory: false,
574
+ },
575
+ {
576
+ name: 'API.md',
577
+ path: 'docs/API.md',
578
+ relativePath: 'docs/API.md',
579
+ size: 2500,
580
+ extension: 'md',
581
+ lastModified: new Date('2024-01-05'),
582
+ isDirectory: false,
583
+ },
584
+ {
585
+ name: 'CONTRIBUTING.md',
586
+ path: 'docs/CONTRIBUTING.md',
587
+ relativePath: 'docs/CONTRIBUTING.md',
588
+ size: 1800,
589
+ extension: 'md',
590
+ lastModified: new Date('2024-01-01'),
591
+ isDirectory: false,
592
+ },
593
+ ],
594
+ fileCount: 3,
595
+ totalSize: 7300,
596
+ depth: 1,
597
+ },
598
+ {
599
+ name: 'config',
600
+ path: 'config',
601
+ relativePath: 'config',
602
+ children: [
603
+ {
604
+ name: 'webpack.config.js',
605
+ path: 'config/webpack.config.js',
606
+ relativePath: 'config/webpack.config.js',
607
+ size: 2200,
608
+ extension: 'js',
609
+ lastModified: new Date('2024-01-01'),
610
+ isDirectory: false,
611
+ },
612
+ {
613
+ name: 'tsconfig.json',
614
+ path: 'config/tsconfig.json',
615
+ relativePath: 'config/tsconfig.json',
616
+ size: 800,
617
+ extension: 'json',
618
+ lastModified: new Date('2024-01-01'),
619
+ isDirectory: false,
620
+ },
621
+ ],
622
+ fileCount: 2,
623
+ totalSize: 3000,
624
+ depth: 1,
625
+ },
626
+ {
627
+ name: 'package.json',
628
+ path: 'package.json',
629
+ relativePath: 'package.json',
630
+ size: 1500,
631
+ extension: 'json',
632
+ lastModified: new Date('2024-01-01'),
633
+ isDirectory: false,
634
+ },
635
+ ],
636
+ fileCount: 14,
637
+ totalSize: 24500,
638
+ depth: 0,
639
+ };
640
+ collectDirs(root);
641
+ return dirs;
642
+ })(),
643
+ sha: 'sample-sha',
644
+ metadata: {
645
+ id: 'sample-tree',
646
+ timestamp: new Date(),
647
+ sourceType: 'sample',
648
+ sourceInfo: {},
649
+ },
650
+ });
651
+ exports.SingleCell = {
652
+ args: {
653
+ fileTree: createSampleFileTree(),
654
+ gridConfig: {
655
+ id: 'single-cell',
656
+ version: '1.0',
657
+ name: 'Single Cell',
658
+ description: 'All files in one cell',
659
+ overviewPath: 'README.md',
660
+ category: 'custom',
661
+ displayOrder: 0,
662
+ referenceGroups: {
663
+ 'All Files': {
664
+ files: ['src', 'tests', 'docs', 'config', 'package.json'],
665
+ coordinates: [0, 0],
666
+ },
667
+ },
668
+ metadata: {
669
+ ui: {
670
+ enabled: true,
671
+ rows: 1,
672
+ cols: 1,
673
+ },
674
+ },
675
+ },
676
+ onCellClick: () => { },
677
+ },
678
+ };
679
+ exports.MultiCell = {
680
+ args: {
681
+ fileTree: createSampleFileTree(),
682
+ gridConfig: {
683
+ id: 'multi-cell',
684
+ version: '1.0',
685
+ name: 'Multi-Cell Layout',
686
+ description: 'Organized grid layout',
687
+ overviewPath: 'README.md',
688
+ category: 'custom',
689
+ displayOrder: 0,
690
+ referenceGroups: {
691
+ 'Source Code': {
692
+ files: ['src'],
693
+ coordinates: [0, 0],
694
+ },
695
+ Tests: {
696
+ files: ['tests'],
697
+ coordinates: [0, 1],
698
+ },
699
+ Documentation: {
700
+ files: ['docs'],
701
+ coordinates: [1, 0],
702
+ },
703
+ Configuration: {
704
+ files: ['config', 'package.json'],
705
+ coordinates: [1, 1],
706
+ },
707
+ },
708
+ metadata: {
709
+ ui: {
710
+ enabled: true,
711
+ rows: 2,
712
+ cols: 2,
713
+ },
714
+ },
715
+ },
716
+ onCellClick: () => { },
717
+ },
718
+ };
719
+ exports.LargeGrid = {
720
+ args: {
721
+ fileTree: createSampleFileTree(),
722
+ gridConfig: {
723
+ id: 'large-grid',
724
+ version: '1.0',
725
+ name: 'Large Grid Layout',
726
+ description: '3x3 grid layout',
727
+ overviewPath: 'README.md',
728
+ category: 'custom',
729
+ displayOrder: 0,
730
+ referenceGroups: {
731
+ Components: {
732
+ files: ['src/components/**/*'],
733
+ coordinates: [0, 0],
734
+ },
735
+ Utils: {
736
+ files: ['src/utils/**/*'],
737
+ coordinates: [0, 1],
738
+ },
739
+ Core: {
740
+ files: ['src/index.ts'],
741
+ coordinates: [0, 2],
742
+ },
743
+ 'Unit Tests': {
744
+ files: ['tests/**/*.test.*'],
745
+ coordinates: [1, 0],
746
+ },
747
+ Documentation: {
748
+ files: ['docs/**/*'],
749
+ coordinates: [1, 1],
750
+ },
751
+ Config: {
752
+ files: ['config/**/*'],
753
+ coordinates: [1, 2],
754
+ },
755
+ Package: {
756
+ files: ['package.json'],
757
+ coordinates: [2, 0],
758
+ },
759
+ Other: {
760
+ files: ['*'],
761
+ coordinates: [2, 1],
762
+ },
763
+ Empty: {
764
+ files: [],
765
+ coordinates: [2, 2],
766
+ },
767
+ },
768
+ metadata: {
769
+ ui: {
770
+ enabled: true,
771
+ rows: 3,
772
+ cols: 3,
773
+ },
774
+ },
775
+ },
776
+ onCellClick: () => { },
777
+ },
778
+ };