@industry-theme/alexandria-panels 0.1.28 → 0.1.30

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.
@@ -140,7 +140,7 @@ const createLucideIcon = (iconName, iconNode) => {
140
140
  * This source code is licensed under the ISC license.
141
141
  * See the LICENSE file in the root directory of this source tree.
142
142
  */
143
- const __iconNode$w = [
143
+ const __iconNode$A = [
144
144
  ["path", { d: "M10 12h4", key: "a56b0p" }],
145
145
  ["path", { d: "M10 8h4", key: "1sr2af" }],
146
146
  ["path", { d: "M14 21v-3a2 2 0 0 0-4 0v3", key: "1rgiei" }],
@@ -153,132 +153,157 @@ const __iconNode$w = [
153
153
  ],
154
154
  ["path", { d: "M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16", key: "16ra0t" }]
155
155
  ];
156
- const Building2 = createLucideIcon("building-2", __iconNode$w);
156
+ const Building2 = createLucideIcon("building-2", __iconNode$A);
157
157
  /**
158
158
  * @license lucide-react v0.552.0 - ISC
159
159
  *
160
160
  * This source code is licensed under the ISC license.
161
161
  * See the LICENSE file in the root directory of this source tree.
162
162
  */
163
- const __iconNode$v = [
163
+ const __iconNode$z = [
164
164
  ["path", { d: "M8 2v4", key: "1cmpym" }],
165
165
  ["path", { d: "M16 2v4", key: "4m81vk" }],
166
166
  ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
167
167
  ["path", { d: "M3 10h18", key: "8toen8" }]
168
168
  ];
169
- const Calendar = createLucideIcon("calendar", __iconNode$v);
169
+ const Calendar = createLucideIcon("calendar", __iconNode$z);
170
170
  /**
171
171
  * @license lucide-react v0.552.0 - ISC
172
172
  *
173
173
  * This source code is licensed under the ISC license.
174
174
  * See the LICENSE file in the root directory of this source tree.
175
175
  */
176
- const __iconNode$u = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
177
- const Check = createLucideIcon("check", __iconNode$u);
176
+ const __iconNode$y = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
177
+ const Check = createLucideIcon("check", __iconNode$y);
178
178
  /**
179
179
  * @license lucide-react v0.552.0 - ISC
180
180
  *
181
181
  * This source code is licensed under the ISC license.
182
182
  * See the LICENSE file in the root directory of this source tree.
183
183
  */
184
- const __iconNode$t = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
185
- const ChevronDown = createLucideIcon("chevron-down", __iconNode$t);
184
+ const __iconNode$x = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
185
+ const ChevronDown = createLucideIcon("chevron-down", __iconNode$x);
186
186
  /**
187
187
  * @license lucide-react v0.552.0 - ISC
188
188
  *
189
189
  * This source code is licensed under the ISC license.
190
190
  * See the LICENSE file in the root directory of this source tree.
191
191
  */
192
- const __iconNode$s = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
193
- const ChevronRight = createLucideIcon("chevron-right", __iconNode$s);
192
+ const __iconNode$w = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
193
+ const ChevronRight = createLucideIcon("chevron-right", __iconNode$w);
194
194
  /**
195
195
  * @license lucide-react v0.552.0 - ISC
196
196
  *
197
197
  * This source code is licensed under the ISC license.
198
198
  * See the LICENSE file in the root directory of this source tree.
199
199
  */
200
- const __iconNode$r = [
200
+ const __iconNode$v = [
201
201
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
202
202
  ["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
203
203
  ["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
204
204
  ];
205
- const CircleAlert = createLucideIcon("circle-alert", __iconNode$r);
205
+ const CircleAlert = createLucideIcon("circle-alert", __iconNode$v);
206
206
  /**
207
207
  * @license lucide-react v0.552.0 - ISC
208
208
  *
209
209
  * This source code is licensed under the ISC license.
210
210
  * See the LICENSE file in the root directory of this source tree.
211
211
  */
212
- const __iconNode$q = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
213
- const Circle = createLucideIcon("circle", __iconNode$q);
212
+ const __iconNode$u = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
213
+ const Circle = createLucideIcon("circle", __iconNode$u);
214
214
  /**
215
215
  * @license lucide-react v0.552.0 - ISC
216
216
  *
217
217
  * This source code is licensed under the ISC license.
218
218
  * See the LICENSE file in the root directory of this source tree.
219
219
  */
220
- const __iconNode$p = [
220
+ const __iconNode$t = [
221
+ ["path", { d: "m2 2 20 20", key: "1ooewy" }],
222
+ ["path", { d: "M5.782 5.782A7 7 0 0 0 9 19h8.5a4.5 4.5 0 0 0 1.307-.193", key: "yfwify" }],
223
+ [
224
+ "path",
225
+ { d: "M21.532 16.5A4.5 4.5 0 0 0 17.5 10h-1.79A7.008 7.008 0 0 0 10 5.07", key: "jlfiyv" }
226
+ ]
227
+ ];
228
+ const CloudOff = createLucideIcon("cloud-off", __iconNode$t);
229
+ /**
230
+ * @license lucide-react v0.552.0 - ISC
231
+ *
232
+ * This source code is licensed under the ISC license.
233
+ * See the LICENSE file in the root directory of this source tree.
234
+ */
235
+ const __iconNode$s = [
236
+ ["path", { d: "M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z", key: "p7xjir" }]
237
+ ];
238
+ const Cloud = createLucideIcon("cloud", __iconNode$s);
239
+ /**
240
+ * @license lucide-react v0.552.0 - ISC
241
+ *
242
+ * This source code is licensed under the ISC license.
243
+ * See the LICENSE file in the root directory of this source tree.
244
+ */
245
+ const __iconNode$r = [
221
246
  ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
222
247
  ["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
223
248
  ];
224
- const Copy = createLucideIcon("copy", __iconNode$p);
249
+ const Copy = createLucideIcon("copy", __iconNode$r);
225
250
  /**
226
251
  * @license lucide-react v0.552.0 - ISC
227
252
  *
228
253
  * This source code is licensed under the ISC license.
229
254
  * See the LICENSE file in the root directory of this source tree.
230
255
  */
231
- const __iconNode$o = [
256
+ const __iconNode$q = [
232
257
  ["path", { d: "M10 12h.01", key: "1kxr2c" }],
233
258
  ["path", { d: "M18 20V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14", key: "36qu9e" }],
234
259
  ["path", { d: "M2 20h20", key: "owomy5" }]
235
260
  ];
236
- const DoorClosed = createLucideIcon("door-closed", __iconNode$o);
261
+ const DoorClosed = createLucideIcon("door-closed", __iconNode$q);
237
262
  /**
238
263
  * @license lucide-react v0.552.0 - ISC
239
264
  *
240
265
  * This source code is licensed under the ISC license.
241
266
  * See the LICENSE file in the root directory of this source tree.
242
267
  */
243
- const __iconNode$n = [
268
+ const __iconNode$p = [
244
269
  ["path", { d: "M12 15V3", key: "m9g1x1" }],
245
270
  ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
246
271
  ["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
247
272
  ];
248
- const Download = createLucideIcon("download", __iconNode$n);
273
+ const Download = createLucideIcon("download", __iconNode$p);
249
274
  /**
250
275
  * @license lucide-react v0.552.0 - ISC
251
276
  *
252
277
  * This source code is licensed under the ISC license.
253
278
  * See the LICENSE file in the root directory of this source tree.
254
279
  */
255
- const __iconNode$m = [
280
+ const __iconNode$o = [
256
281
  ["path", { d: "M15 3h6v6", key: "1q9fwt" }],
257
282
  ["path", { d: "M10 14 21 3", key: "gplh6r" }],
258
283
  ["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
259
284
  ];
260
- const ExternalLink = createLucideIcon("external-link", __iconNode$m);
285
+ const ExternalLink = createLucideIcon("external-link", __iconNode$o);
261
286
  /**
262
287
  * @license lucide-react v0.552.0 - ISC
263
288
  *
264
289
  * This source code is licensed under the ISC license.
265
290
  * See the LICENSE file in the root directory of this source tree.
266
291
  */
267
- const __iconNode$l = [
292
+ const __iconNode$n = [
268
293
  ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }],
269
294
  ["path", { d: "M3 7V5a2 2 0 0 1 2-2h2", key: "aa7l1z" }],
270
295
  ["path", { d: "M17 3h2a2 2 0 0 1 2 2v2", key: "4qcy5o" }],
271
296
  ["path", { d: "M21 17v2a2 2 0 0 1-2 2h-2", key: "6vwrx8" }],
272
297
  ["path", { d: "M7 21H5a2 2 0 0 1-2-2v-2", key: "ioqczr" }]
273
298
  ];
274
- const Focus = createLucideIcon("focus", __iconNode$l);
299
+ const Focus = createLucideIcon("focus", __iconNode$n);
275
300
  /**
276
301
  * @license lucide-react v0.552.0 - ISC
277
302
  *
278
303
  * This source code is licensed under the ISC license.
279
304
  * See the LICENSE file in the root directory of this source tree.
280
305
  */
281
- const __iconNode$k = [
306
+ const __iconNode$m = [
282
307
  [
283
308
  "path",
284
309
  {
@@ -290,14 +315,14 @@ const __iconNode$k = [
290
315
  ["path", { d: "M18 19c-2.8 0-5-2.2-5-5v8", key: "pkpw2h" }],
291
316
  ["circle", { cx: "20", cy: "19", r: "2", key: "1obnsp" }]
292
317
  ];
293
- const FolderGit2 = createLucideIcon("folder-git-2", __iconNode$k);
318
+ const FolderGit2 = createLucideIcon("folder-git-2", __iconNode$m);
294
319
  /**
295
320
  * @license lucide-react v0.552.0 - ISC
296
321
  *
297
322
  * This source code is licensed under the ISC license.
298
323
  * See the LICENSE file in the root directory of this source tree.
299
324
  */
300
- const __iconNode$j = [
325
+ const __iconNode$l = [
301
326
  [
302
327
  "path",
303
328
  {
@@ -306,14 +331,14 @@ const __iconNode$j = [
306
331
  }
307
332
  ]
308
333
  ];
309
- const FolderOpen = createLucideIcon("folder-open", __iconNode$j);
334
+ const FolderOpen = createLucideIcon("folder-open", __iconNode$l);
310
335
  /**
311
336
  * @license lucide-react v0.552.0 - ISC
312
337
  *
313
338
  * This source code is licensed under the ISC license.
314
339
  * See the LICENSE file in the root directory of this source tree.
315
340
  */
316
- const __iconNode$i = [
341
+ const __iconNode$k = [
317
342
  ["path", { d: "M12 10v6", key: "1bos4e" }],
318
343
  ["path", { d: "M9 13h6", key: "1uhe8q" }],
319
344
  [
@@ -324,14 +349,14 @@ const __iconNode$i = [
324
349
  }
325
350
  ]
326
351
  ];
327
- const FolderPlus = createLucideIcon("folder-plus", __iconNode$i);
352
+ const FolderPlus = createLucideIcon("folder-plus", __iconNode$k);
328
353
  /**
329
354
  * @license lucide-react v0.552.0 - ISC
330
355
  *
331
356
  * This source code is licensed under the ISC license.
332
357
  * See the LICENSE file in the root directory of this source tree.
333
358
  */
334
- const __iconNode$h = [
359
+ const __iconNode$j = [
335
360
  [
336
361
  "path",
337
362
  {
@@ -340,28 +365,28 @@ const __iconNode$h = [
340
365
  }
341
366
  ]
342
367
  ];
343
- const Folder = createLucideIcon("folder", __iconNode$h);
368
+ const Folder = createLucideIcon("folder", __iconNode$j);
344
369
  /**
345
370
  * @license lucide-react v0.552.0 - ISC
346
371
  *
347
372
  * This source code is licensed under the ISC license.
348
373
  * See the LICENSE file in the root directory of this source tree.
349
374
  */
350
- const __iconNode$g = [
375
+ const __iconNode$i = [
351
376
  ["circle", { cx: "12", cy: "18", r: "3", key: "1mpf1b" }],
352
377
  ["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }],
353
378
  ["circle", { cx: "18", cy: "6", r: "3", key: "1h7g24" }],
354
379
  ["path", { d: "M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9", key: "1uq4wg" }],
355
380
  ["path", { d: "M12 12v3", key: "158kv8" }]
356
381
  ];
357
- const GitFork = createLucideIcon("git-fork", __iconNode$g);
382
+ const GitFork = createLucideIcon("git-fork", __iconNode$i);
358
383
  /**
359
384
  * @license lucide-react v0.552.0 - ISC
360
385
  *
361
386
  * This source code is licensed under the ISC license.
362
387
  * See the LICENSE file in the root directory of this source tree.
363
388
  */
364
- const __iconNode$f = [
389
+ const __iconNode$h = [
365
390
  ["path", { d: "M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8", key: "5wwlr5" }],
366
391
  [
367
392
  "path",
@@ -371,14 +396,14 @@ const __iconNode$f = [
371
396
  }
372
397
  ]
373
398
  ];
374
- const House = createLucideIcon("house", __iconNode$f);
399
+ const House = createLucideIcon("house", __iconNode$h);
375
400
  /**
376
401
  * @license lucide-react v0.552.0 - ISC
377
402
  *
378
403
  * This source code is licensed under the ISC license.
379
404
  * See the LICENSE file in the root directory of this source tree.
380
405
  */
381
- const __iconNode$e = [
406
+ const __iconNode$g = [
382
407
  [
383
408
  "path",
384
409
  {
@@ -401,44 +426,44 @@ const __iconNode$e = [
401
426
  }
402
427
  ]
403
428
  ];
404
- const Layers = createLucideIcon("layers", __iconNode$e);
429
+ const Layers = createLucideIcon("layers", __iconNode$g);
405
430
  /**
406
431
  * @license lucide-react v0.552.0 - ISC
407
432
  *
408
433
  * This source code is licensed under the ISC license.
409
434
  * See the LICENSE file in the root directory of this source tree.
410
435
  */
411
- const __iconNode$d = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
412
- const LoaderCircle = createLucideIcon("loader-circle", __iconNode$d);
436
+ const __iconNode$f = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
437
+ const LoaderCircle = createLucideIcon("loader-circle", __iconNode$f);
413
438
  /**
414
439
  * @license lucide-react v0.552.0 - ISC
415
440
  *
416
441
  * This source code is licensed under the ISC license.
417
442
  * See the LICENSE file in the root directory of this source tree.
418
443
  */
419
- const __iconNode$c = [
444
+ const __iconNode$e = [
420
445
  ["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
421
446
  ["path", { d: "M7 11V7a5 5 0 0 1 10 0v4", key: "fwvmzm" }]
422
447
  ];
423
- const Lock = createLucideIcon("lock", __iconNode$c);
448
+ const Lock = createLucideIcon("lock", __iconNode$e);
424
449
  /**
425
450
  * @license lucide-react v0.552.0 - ISC
426
451
  *
427
452
  * This source code is licensed under the ISC license.
428
453
  * See the LICENSE file in the root directory of this source tree.
429
454
  */
430
- const __iconNode$b = [
455
+ const __iconNode$d = [
431
456
  ["path", { d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7", key: "132q7q" }],
432
457
  ["rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", key: "izxlao" }]
433
458
  ];
434
- const Mail = createLucideIcon("mail", __iconNode$b);
459
+ const Mail = createLucideIcon("mail", __iconNode$d);
435
460
  /**
436
461
  * @license lucide-react v0.552.0 - ISC
437
462
  *
438
463
  * This source code is licensed under the ISC license.
439
464
  * See the LICENSE file in the root directory of this source tree.
440
465
  */
441
- const __iconNode$a = [
466
+ const __iconNode$c = [
442
467
  [
443
468
  "path",
444
469
  {
@@ -448,25 +473,25 @@ const __iconNode$a = [
448
473
  ],
449
474
  ["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }]
450
475
  ];
451
- const MapPin = createLucideIcon("map-pin", __iconNode$a);
476
+ const MapPin = createLucideIcon("map-pin", __iconNode$c);
452
477
  /**
453
478
  * @license lucide-react v0.552.0 - ISC
454
479
  *
455
480
  * This source code is licensed under the ISC license.
456
481
  * See the LICENSE file in the root directory of this source tree.
457
482
  */
458
- const __iconNode$9 = [
483
+ const __iconNode$b = [
459
484
  ["path", { d: "M8 6L12 2L16 6", key: "1yvkyx" }],
460
485
  ["path", { d: "M12 2V22", key: "r89rzk" }]
461
486
  ];
462
- const MoveUp = createLucideIcon("move-up", __iconNode$9);
487
+ const MoveUp = createLucideIcon("move-up", __iconNode$b);
463
488
  /**
464
489
  * @license lucide-react v0.552.0 - ISC
465
490
  *
466
491
  * This source code is licensed under the ISC license.
467
492
  * See the LICENSE file in the root directory of this source tree.
468
493
  */
469
- const __iconNode$8 = [
494
+ const __iconNode$a = [
470
495
  [
471
496
  "path",
472
497
  {
@@ -475,54 +500,84 @@ const __iconNode$8 = [
475
500
  }
476
501
  ]
477
502
  ];
478
- const Pen = createLucideIcon("pen", __iconNode$8);
503
+ const Pen = createLucideIcon("pen", __iconNode$a);
479
504
  /**
480
505
  * @license lucide-react v0.552.0 - ISC
481
506
  *
482
507
  * This source code is licensed under the ISC license.
483
508
  * See the LICENSE file in the root directory of this source tree.
484
509
  */
485
- const __iconNode$7 = [
510
+ const __iconNode$9 = [
486
511
  ["path", { d: "M5 12h14", key: "1ays0h" }],
487
512
  ["path", { d: "M12 5v14", key: "s699le" }]
488
513
  ];
489
- const Plus = createLucideIcon("plus", __iconNode$7);
514
+ const Plus = createLucideIcon("plus", __iconNode$9);
490
515
  /**
491
516
  * @license lucide-react v0.552.0 - ISC
492
517
  *
493
518
  * This source code is licensed under the ISC license.
494
519
  * See the LICENSE file in the root directory of this source tree.
495
520
  */
496
- const __iconNode$6 = [
521
+ const __iconNode$8 = [
522
+ ["path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8", key: "v9h5vc" }],
523
+ ["path", { d: "M21 3v5h-5", key: "1q7to0" }],
524
+ ["path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16", key: "3uifl3" }],
525
+ ["path", { d: "M8 16H3v5", key: "1cv678" }]
526
+ ];
527
+ const RefreshCw = createLucideIcon("refresh-cw", __iconNode$8);
528
+ /**
529
+ * @license lucide-react v0.552.0 - ISC
530
+ *
531
+ * This source code is licensed under the ISC license.
532
+ * See the LICENSE file in the root directory of this source tree.
533
+ */
534
+ const __iconNode$7 = [
497
535
  ["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
498
536
  ["path", { d: "M3 3v5h5", key: "1xhq8a" }]
499
537
  ];
500
- const RotateCcw = createLucideIcon("rotate-ccw", __iconNode$6);
538
+ const RotateCcw = createLucideIcon("rotate-ccw", __iconNode$7);
501
539
  /**
502
540
  * @license lucide-react v0.552.0 - ISC
503
541
  *
504
542
  * This source code is licensed under the ISC license.
505
543
  * See the LICENSE file in the root directory of this source tree.
506
544
  */
507
- const __iconNode$5 = [
545
+ const __iconNode$6 = [
508
546
  ["path", { d: "m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z", key: "7g6ntu" }],
509
547
  ["path", { d: "m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z", key: "ijws7r" }],
510
548
  ["path", { d: "M7 21h10", key: "1b0cd5" }],
511
549
  ["path", { d: "M12 3v18", key: "108xh3" }],
512
550
  ["path", { d: "M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2", key: "3gwbw2" }]
513
551
  ];
514
- const Scale = createLucideIcon("scale", __iconNode$5);
552
+ const Scale = createLucideIcon("scale", __iconNode$6);
515
553
  /**
516
554
  * @license lucide-react v0.552.0 - ISC
517
555
  *
518
556
  * This source code is licensed under the ISC license.
519
557
  * See the LICENSE file in the root directory of this source tree.
520
558
  */
521
- const __iconNode$4 = [
559
+ const __iconNode$5 = [
522
560
  ["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
523
561
  ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
524
562
  ];
525
- const Search = createLucideIcon("search", __iconNode$4);
563
+ const Search = createLucideIcon("search", __iconNode$5);
564
+ /**
565
+ * @license lucide-react v0.552.0 - ISC
566
+ *
567
+ * This source code is licensed under the ISC license.
568
+ * See the LICENSE file in the root directory of this source tree.
569
+ */
570
+ const __iconNode$4 = [
571
+ [
572
+ "path",
573
+ {
574
+ d: "M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",
575
+ key: "1i5ecw"
576
+ }
577
+ ],
578
+ ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
579
+ ];
580
+ const Settings = createLucideIcon("settings", __iconNode$4);
526
581
  /**
527
582
  * @license lucide-react v0.552.0 - ISC
528
583
  *
@@ -1045,10 +1100,10 @@ const LocalProjectCard = ({
1045
1100
  }
1046
1101
  );
1047
1102
  };
1048
- const PANEL_ID$d = "industry-theme.local-projects";
1049
- const createPanelEvent$6 = (type, payload) => ({
1103
+ const PANEL_ID$f = "industry-theme.local-projects";
1104
+ const createPanelEvent$7 = (type, payload) => ({
1050
1105
  type,
1051
- source: PANEL_ID$d,
1106
+ source: PANEL_ID$f,
1052
1107
  timestamp: Date.now(),
1053
1108
  payload
1054
1109
  });
@@ -1097,7 +1152,7 @@ const LocalProjectsPanelContent = ({
1097
1152
  try {
1098
1153
  await panelActions.openRepository(entry);
1099
1154
  setWindowStates((prev) => new Map(prev).set(entry.path, "ready"));
1100
- events.emit(createPanelEvent$6(`${PANEL_ID$d}:repository-opened`, { entry }));
1155
+ events.emit(createPanelEvent$7(`${PANEL_ID$f}:repository-opened`, { entry }));
1101
1156
  } catch (error) {
1102
1157
  console.error("Error opening repository:", error);
1103
1158
  setWindowStates((prev) => new Map(prev).set(entry.path, "closed"));
@@ -1108,14 +1163,14 @@ const LocalProjectsPanelContent = ({
1108
1163
  useEffect(() => {
1109
1164
  const unsubscribers = [
1110
1165
  // Filter event from tools
1111
- events.on(`${PANEL_ID$d}:filter`, (event) => {
1166
+ events.on(`${PANEL_ID$f}:filter`, (event) => {
1112
1167
  var _a2;
1113
1168
  if (((_a2 = event.payload) == null ? void 0 : _a2.filter) !== void 0) {
1114
1169
  setFilter(event.payload.filter);
1115
1170
  }
1116
1171
  }),
1117
1172
  // Select repository event from tools
1118
- events.on(`${PANEL_ID$d}:select-repository`, (event) => {
1173
+ events.on(`${PANEL_ID$f}:select-repository`, (event) => {
1119
1174
  var _a2;
1120
1175
  const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
1121
1176
  if (identifier) {
@@ -1124,12 +1179,12 @@ const LocalProjectsPanelContent = ({
1124
1179
  );
1125
1180
  if (entry) {
1126
1181
  setSelectedEntry(entry);
1127
- events.emit(createPanelEvent$6(`${PANEL_ID$d}:repository-selected`, { entry }));
1182
+ events.emit(createPanelEvent$7(`${PANEL_ID$f}:repository-selected`, { entry }));
1128
1183
  }
1129
1184
  }
1130
1185
  }),
1131
1186
  // Open repository event from tools
1132
- events.on(`${PANEL_ID$d}:open-repository`, (event) => {
1187
+ events.on(`${PANEL_ID$f}:open-repository`, (event) => {
1133
1188
  var _a2;
1134
1189
  const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
1135
1190
  if (identifier) {
@@ -1177,7 +1232,7 @@ const LocalProjectsPanelContent = ({
1177
1232
  };
1178
1233
  const handleSelectRepository = (entry) => {
1179
1234
  setSelectedEntry(entry);
1180
- events.emit(createPanelEvent$6(`${PANEL_ID$d}:repository-selected`, { entry }));
1235
+ events.emit(createPanelEvent$7(`${PANEL_ID$f}:repository-selected`, { entry }));
1181
1236
  };
1182
1237
  const normalizedFilter = filter.trim().toLowerCase();
1183
1238
  const filteredAndSortedRepositories = useMemo(() => {
@@ -1577,10 +1632,10 @@ const LocalProjectsPanelPreview = () => {
1577
1632
  }
1578
1633
  );
1579
1634
  };
1580
- const PANEL_ID$c = "industry-theme.workspace-repositories";
1581
- const createPanelEvent$5 = (type, payload) => ({
1635
+ const PANEL_ID$e = "industry-theme.workspace-repositories";
1636
+ const createPanelEvent$6 = (type, payload) => ({
1582
1637
  type,
1583
- source: PANEL_ID$c,
1638
+ source: PANEL_ID$e,
1584
1639
  timestamp: Date.now(),
1585
1640
  payload
1586
1641
  });
@@ -1644,7 +1699,7 @@ const WorkspaceRepositoriesPanelContent = ({
1644
1699
  const handleSelectRepository = useCallback(
1645
1700
  (repository) => {
1646
1701
  events.emit(
1647
- createPanelEvent$5("repository:selected", {
1702
+ createPanelEvent$6("repository:selected", {
1648
1703
  repositoryId: repository.name,
1649
1704
  repository,
1650
1705
  repositoryPath: repository.path
@@ -1656,7 +1711,7 @@ const WorkspaceRepositoriesPanelContent = ({
1656
1711
  const handleOpenRepository = useCallback(
1657
1712
  (repository) => {
1658
1713
  events.emit(
1659
- createPanelEvent$5("repository:opened", {
1714
+ createPanelEvent$6("repository:opened", {
1660
1715
  repositoryId: repository.name,
1661
1716
  repository
1662
1717
  })
@@ -1695,7 +1750,7 @@ const WorkspaceRepositoriesPanelContent = ({
1695
1750
  );
1696
1751
  useEffect(() => {
1697
1752
  const unsubscribers = [
1698
- events.on(`${PANEL_ID$c}:select-repository`, (event) => {
1753
+ events.on(`${PANEL_ID$e}:select-repository`, (event) => {
1699
1754
  var _a;
1700
1755
  const path = (_a = event.payload) == null ? void 0 : _a.repositoryPath;
1701
1756
  if (path) {
@@ -1705,7 +1760,7 @@ const WorkspaceRepositoriesPanelContent = ({
1705
1760
  }
1706
1761
  }
1707
1762
  }),
1708
- events.on(`${PANEL_ID$c}:open-repository`, (event) => {
1763
+ events.on(`${PANEL_ID$e}:open-repository`, (event) => {
1709
1764
  var _a;
1710
1765
  const path = (_a = event.payload) == null ? void 0 : _a.repositoryPath;
1711
1766
  if (path) {
@@ -2419,10 +2474,10 @@ const WorkspaceCard = ({
2419
2474
  }
2420
2475
  );
2421
2476
  };
2422
- const PANEL_ID$b = "industry-theme.workspaces-list";
2423
- const createPanelEvent$4 = (type, payload) => ({
2477
+ const PANEL_ID$d = "industry-theme.workspaces-list";
2478
+ const createPanelEvent$5 = (type, payload) => ({
2424
2479
  type,
2425
- source: PANEL_ID$b,
2480
+ source: PANEL_ID$d,
2426
2481
  timestamp: Date.now(),
2427
2482
  payload
2428
2483
  });
@@ -2498,7 +2553,7 @@ const WorkspacesListPanelContent = ({
2498
2553
  (workspace) => {
2499
2554
  setSelectedWorkspaceId(workspace.id);
2500
2555
  events.emit(
2501
- createPanelEvent$4(`${PANEL_ID$b}:workspace:selected`, {
2556
+ createPanelEvent$5(`${PANEL_ID$d}:workspace:selected`, {
2502
2557
  workspaceId: workspace.id,
2503
2558
  workspace
2504
2559
  })
@@ -2515,7 +2570,7 @@ const WorkspacesListPanelContent = ({
2515
2570
  try {
2516
2571
  await panelActions.openWorkspace(workspace.id);
2517
2572
  events.emit(
2518
- createPanelEvent$4(`${PANEL_ID$b}:workspace:opened`, {
2573
+ createPanelEvent$5(`${PANEL_ID$d}:workspace:opened`, {
2519
2574
  workspaceId: workspace.id,
2520
2575
  workspace
2521
2576
  })
@@ -2539,7 +2594,7 @@ const WorkspacesListPanelContent = ({
2539
2594
  try {
2540
2595
  await panelActions.deleteWorkspace(workspace.id);
2541
2596
  events.emit(
2542
- createPanelEvent$4(`${PANEL_ID$b}:workspace:deleted`, {
2597
+ createPanelEvent$5(`${PANEL_ID$d}:workspace:deleted`, {
2543
2598
  workspaceId: workspace.id
2544
2599
  })
2545
2600
  );
@@ -2563,13 +2618,13 @@ const WorkspacesListPanelContent = ({
2563
2618
  );
2564
2619
  const handleCreateWorkspace = useCallback(() => {
2565
2620
  events.emit(
2566
- createPanelEvent$4(`${PANEL_ID$b}:create-workspace-requested`, {})
2621
+ createPanelEvent$5(`${PANEL_ID$d}:create-workspace-requested`, {})
2567
2622
  );
2568
2623
  }, [events]);
2569
2624
  useEffect(() => {
2570
2625
  const unsubscribers = [
2571
2626
  // Select workspace event from tools
2572
- events.on(`${PANEL_ID$b}:select-workspace`, (event) => {
2627
+ events.on(`${PANEL_ID$d}:select-workspace`, (event) => {
2573
2628
  var _a2;
2574
2629
  const workspaceId = (_a2 = event.payload) == null ? void 0 : _a2.workspaceId;
2575
2630
  if (workspaceId) {
@@ -2580,7 +2635,7 @@ const WorkspacesListPanelContent = ({
2580
2635
  }
2581
2636
  }),
2582
2637
  // Open workspace event from tools
2583
- events.on(`${PANEL_ID$b}:open-workspace`, (event) => {
2638
+ events.on(`${PANEL_ID$d}:open-workspace`, (event) => {
2584
2639
  var _a2;
2585
2640
  const workspaceId = (_a2 = event.payload) == null ? void 0 : _a2.workspaceId;
2586
2641
  if (workspaceId) {
@@ -2592,14 +2647,14 @@ const WorkspacesListPanelContent = ({
2592
2647
  }),
2593
2648
  // Create workspace event from tools
2594
2649
  events.on(
2595
- `${PANEL_ID$b}:create-workspace`,
2650
+ `${PANEL_ID$d}:create-workspace`,
2596
2651
  async (event) => {
2597
2652
  const { name, description } = event.payload || {};
2598
2653
  if (name && panelActions.createWorkspace) {
2599
2654
  try {
2600
2655
  const workspace = await panelActions.createWorkspace(name, { description });
2601
2656
  events.emit(
2602
- createPanelEvent$4(`${PANEL_ID$b}:workspace:created`, {
2657
+ createPanelEvent$5(`${PANEL_ID$d}:workspace:created`, {
2603
2658
  workspaceId: workspace.id,
2604
2659
  workspace
2605
2660
  })
@@ -2954,10 +3009,10 @@ const WorkspacesListPanelPreview = () => {
2954
3009
  }
2955
3010
  );
2956
3011
  };
2957
- const PANEL_ID$a = "industry-theme.workspace-collection";
2958
- const createPanelEvent$3 = (type, payload) => ({
3012
+ const PANEL_ID$c = "industry-theme.workspace-collection";
3013
+ const createPanelEvent$4 = (type, payload) => ({
2959
3014
  type,
2960
- source: PANEL_ID$a,
3015
+ source: PANEL_ID$c,
2961
3016
  timestamp: Date.now(),
2962
3017
  payload
2963
3018
  });
@@ -3283,7 +3338,7 @@ const WorkspaceCollectionPanelContent = ({
3283
3338
  (repository) => {
3284
3339
  setSelectedRepo(repository);
3285
3340
  events.emit(
3286
- createPanelEvent$3("repository:selected", {
3341
+ createPanelEvent$4("repository:selected", {
3287
3342
  repositoryKey: repository.full_name,
3288
3343
  repository
3289
3344
  })
@@ -3297,7 +3352,7 @@ const WorkspaceCollectionPanelContent = ({
3297
3352
  const handleNavigateRepository = useCallback(
3298
3353
  (repository) => {
3299
3354
  events.emit(
3300
- createPanelEvent$3("repository:navigate", {
3355
+ createPanelEvent$4("repository:navigate", {
3301
3356
  owner: repository.owner.login,
3302
3357
  repo: repository.name,
3303
3358
  repository
@@ -3315,7 +3370,7 @@ const WorkspaceCollectionPanelContent = ({
3315
3370
  try {
3316
3371
  await panelActions.removeRepositoryFromWorkspace(repository.full_name, workspace.id);
3317
3372
  events.emit(
3318
- createPanelEvent$3("repository:removed", {
3373
+ createPanelEvent$4("repository:removed", {
3319
3374
  repositoryKey: repository.full_name,
3320
3375
  workspaceId: workspace.id
3321
3376
  })
@@ -3331,7 +3386,7 @@ const WorkspaceCollectionPanelContent = ({
3331
3386
  );
3332
3387
  useEffect(() => {
3333
3388
  const unsubscribers = [
3334
- events.on(`${PANEL_ID$a}:select-repository`, (event) => {
3389
+ events.on(`${PANEL_ID$c}:select-repository`, (event) => {
3335
3390
  var _a2;
3336
3391
  const key = (_a2 = event.payload) == null ? void 0 : _a2.repositoryKey;
3337
3392
  if (key) {
@@ -3343,7 +3398,7 @@ const WorkspaceCollectionPanelContent = ({
3343
3398
  }
3344
3399
  }
3345
3400
  }),
3346
- events.on(`${PANEL_ID$a}:navigate-repository`, (event) => {
3401
+ events.on(`${PANEL_ID$c}:navigate-repository`, (event) => {
3347
3402
  var _a2;
3348
3403
  const key = (_a2 = event.payload) == null ? void 0 : _a2.repositoryKey;
3349
3404
  if (key) {
@@ -3355,7 +3410,7 @@ const WorkspaceCollectionPanelContent = ({
3355
3410
  }
3356
3411
  }
3357
3412
  }),
3358
- events.on(`${PANEL_ID$a}:remove-repository`, (event) => {
3413
+ events.on(`${PANEL_ID$c}:remove-repository`, (event) => {
3359
3414
  var _a2;
3360
3415
  const key = (_a2 = event.payload) == null ? void 0 : _a2.repositoryKey;
3361
3416
  if (key) {
@@ -4203,10 +4258,10 @@ function formatNumber(num) {
4203
4258
  }
4204
4259
  return num.toString();
4205
4260
  }
4206
- const PANEL_ID$9 = "industry-theme.github-starred";
4207
- const createPanelEvent$2 = (type, payload) => ({
4261
+ const PANEL_ID$b = "industry-theme.github-starred";
4262
+ const createPanelEvent$3 = (type, payload) => ({
4208
4263
  type,
4209
- source: PANEL_ID$9,
4264
+ source: PANEL_ID$b,
4210
4265
  timestamp: Date.now(),
4211
4266
  payload
4212
4267
  });
@@ -4322,7 +4377,7 @@ const GitHubStarredPanelContent = ({
4322
4377
  if (panelActions.cloneRepository) {
4323
4378
  await panelActions.cloneRepository(repo);
4324
4379
  events.emit(
4325
- createPanelEvent$2(`${PANEL_ID$9}:repository-cloned`, {
4380
+ createPanelEvent$3(`${PANEL_ID$b}:repository-cloned`, {
4326
4381
  repository: repo
4327
4382
  })
4328
4383
  );
@@ -4342,7 +4397,7 @@ const GitHubStarredPanelContent = ({
4342
4397
  (repo) => {
4343
4398
  setSelectedRepo(repo);
4344
4399
  events.emit(
4345
- createPanelEvent$2(`${PANEL_ID$9}:repository-selected`, { repository: repo })
4400
+ createPanelEvent$3(`${PANEL_ID$b}:repository-selected`, { repository: repo })
4346
4401
  );
4347
4402
  },
4348
4403
  [events]
@@ -4357,7 +4412,7 @@ const GitHubStarredPanelContent = ({
4357
4412
  if (panelActions.addToCollection) {
4358
4413
  await panelActions.addToCollection(repo);
4359
4414
  events.emit(
4360
- createPanelEvent$2(`${PANEL_ID$9}:repository-added-to-collection`, {
4415
+ createPanelEvent$3(`${PANEL_ID$b}:repository-added-to-collection`, {
4361
4416
  repository: repo
4362
4417
  })
4363
4418
  );
@@ -4367,11 +4422,11 @@ const GitHubStarredPanelContent = ({
4367
4422
  );
4368
4423
  useEffect(() => {
4369
4424
  const unsubscribers = [
4370
- events.on(`${PANEL_ID$9}:filter`, (event) => {
4425
+ events.on(`${PANEL_ID$b}:filter`, (event) => {
4371
4426
  var _a2;
4372
4427
  setFilter(((_a2 = event.payload) == null ? void 0 : _a2.filter) || "");
4373
4428
  }),
4374
- events.on(`${PANEL_ID$9}:select-repository`, (event) => {
4429
+ events.on(`${PANEL_ID$b}:select-repository`, (event) => {
4375
4430
  var _a2;
4376
4431
  const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
4377
4432
  if (identifier) {
@@ -4383,7 +4438,7 @@ const GitHubStarredPanelContent = ({
4383
4438
  }
4384
4439
  }
4385
4440
  }),
4386
- events.on(`${PANEL_ID$9}:clone-repository`, (event) => {
4441
+ events.on(`${PANEL_ID$b}:clone-repository`, (event) => {
4387
4442
  var _a2;
4388
4443
  const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
4389
4444
  if (identifier) {
@@ -4761,7 +4816,7 @@ const GitHubStarredPanelContent = ({
4761
4816
  {
4762
4817
  repository: repo,
4763
4818
  localRepo: localRepoMap.get(repo.full_name),
4764
- onClone: handleClone,
4819
+ onClone: panelActions.cloneRepository ? handleClone : void 0,
4765
4820
  onOpen: handleOpen,
4766
4821
  onSelect: handleSelect,
4767
4822
  isSelected: (selectedRepo == null ? void 0 : selectedRepo.id) === repo.id,
@@ -4853,10 +4908,10 @@ const GitHubStarredPanelPreview = () => {
4853
4908
  }
4854
4909
  );
4855
4910
  };
4856
- const PANEL_ID$8 = "industry-theme.github-projects";
4857
- const createPanelEvent$1 = (type, payload) => ({
4911
+ const PANEL_ID$a = "industry-theme.github-projects";
4912
+ const createPanelEvent$2 = (type, payload) => ({
4858
4913
  type,
4859
- source: PANEL_ID$8,
4914
+ source: PANEL_ID$a,
4860
4915
  timestamp: Date.now(),
4861
4916
  payload
4862
4917
  });
@@ -5009,7 +5064,7 @@ const GitHubProjectsPanelContent = ({
5009
5064
  if (panelActions.cloneRepository) {
5010
5065
  await panelActions.cloneRepository(repo);
5011
5066
  events.emit(
5012
- createPanelEvent$1(`${PANEL_ID$8}:repository-cloned`, {
5067
+ createPanelEvent$2(`${PANEL_ID$a}:repository-cloned`, {
5013
5068
  repository: repo
5014
5069
  })
5015
5070
  );
@@ -5029,7 +5084,7 @@ const GitHubProjectsPanelContent = ({
5029
5084
  (repo) => {
5030
5085
  setSelectedRepo(repo);
5031
5086
  events.emit(
5032
- createPanelEvent$1(`${PANEL_ID$8}:repository-selected`, { repository: repo })
5087
+ createPanelEvent$2(`${PANEL_ID$a}:repository-selected`, { repository: repo })
5033
5088
  );
5034
5089
  },
5035
5090
  [events]
@@ -5044,7 +5099,7 @@ const GitHubProjectsPanelContent = ({
5044
5099
  if (panelActions.addToCollection) {
5045
5100
  await panelActions.addToCollection(repo);
5046
5101
  events.emit(
5047
- createPanelEvent$1(`${PANEL_ID$8}:repository-added-to-collection`, {
5102
+ createPanelEvent$2(`${PANEL_ID$a}:repository-added-to-collection`, {
5048
5103
  repository: repo
5049
5104
  })
5050
5105
  );
@@ -5065,18 +5120,18 @@ const GitHubProjectsPanelContent = ({
5065
5120
  }, []);
5066
5121
  useEffect(() => {
5067
5122
  const unsubscribers = [
5068
- events.on(`${PANEL_ID$8}:filter`, (event) => {
5123
+ events.on(`${PANEL_ID$a}:filter`, (event) => {
5069
5124
  var _a2;
5070
5125
  setFilter(((_a2 = event.payload) == null ? void 0 : _a2.filter) || "");
5071
5126
  }),
5072
- events.on(`${PANEL_ID$8}:toggle-section`, (event) => {
5127
+ events.on(`${PANEL_ID$a}:toggle-section`, (event) => {
5073
5128
  var _a2;
5074
5129
  const owner = (_a2 = event.payload) == null ? void 0 : _a2.owner;
5075
5130
  if (owner) {
5076
5131
  toggleSection(owner);
5077
5132
  }
5078
5133
  }),
5079
- events.on(`${PANEL_ID$8}:select-repository`, (event) => {
5134
+ events.on(`${PANEL_ID$a}:select-repository`, (event) => {
5080
5135
  var _a2;
5081
5136
  const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
5082
5137
  if (identifier) {
@@ -5088,7 +5143,7 @@ const GitHubProjectsPanelContent = ({
5088
5143
  }
5089
5144
  }
5090
5145
  }),
5091
- events.on(`${PANEL_ID$8}:clone-repository`, (event) => {
5146
+ events.on(`${PANEL_ID$a}:clone-repository`, (event) => {
5092
5147
  var _a2;
5093
5148
  const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
5094
5149
  if (identifier) {
@@ -5537,7 +5592,7 @@ const GitHubProjectsPanelContent = ({
5537
5592
  {
5538
5593
  repository: repo,
5539
5594
  localRepo: localRepoMap.get(repo.full_name),
5540
- onClone: handleClone,
5595
+ onClone: panelActions.cloneRepository ? handleClone : void 0,
5541
5596
  onOpen: handleOpen,
5542
5597
  onSelect: handleSelect,
5543
5598
  isSelected: (selectedRepo == null ? void 0 : selectedRepo.id) === repo.id,
@@ -5565,7 +5620,7 @@ const GitHubProjectsPanelContent = ({
5565
5620
  {
5566
5621
  repository: repo,
5567
5622
  localRepo: localRepoMap.get(repo.full_name),
5568
- onClone: handleClone,
5623
+ onClone: panelActions.cloneRepository ? handleClone : void 0,
5569
5624
  onOpen: handleOpen,
5570
5625
  onSelect: handleSelect,
5571
5626
  isSelected: (selectedRepo == null ? void 0 : selectedRepo.id) === repo.id,
@@ -5659,10 +5714,10 @@ const GitHubProjectsPanelPreview = () => {
5659
5714
  }
5660
5715
  );
5661
5716
  };
5662
- const PANEL_ID$7 = "industry-theme.user-profile";
5663
- const createPanelEvent = (type, payload) => ({
5717
+ const PANEL_ID$9 = "industry-theme.user-profile";
5718
+ const createPanelEvent$1 = (type, payload) => ({
5664
5719
  type,
5665
- source: PANEL_ID$7,
5720
+ source: PANEL_ID$9,
5666
5721
  timestamp: Date.now(),
5667
5722
  payload
5668
5723
  });
@@ -5940,7 +5995,7 @@ const UserProfilePanelContent = ({
5940
5995
  (organization) => {
5941
5996
  var _a2;
5942
5997
  events.emit(
5943
- createPanelEvent(`${PANEL_ID$7}:organization:selected`, {
5998
+ createPanelEvent$1(`${PANEL_ID$9}:organization:selected`, {
5944
5999
  orgLogin: organization.login,
5945
6000
  organization
5946
6001
  })
@@ -5953,7 +6008,7 @@ const UserProfilePanelContent = ({
5953
6008
  (repository) => {
5954
6009
  var _a2;
5955
6010
  events.emit(
5956
- createPanelEvent(`${PANEL_ID$7}:repository:selected`, {
6011
+ createPanelEvent$1(`${PANEL_ID$9}:repository:selected`, {
5957
6012
  owner: repository.owner.login,
5958
6013
  repo: repository.name,
5959
6014
  repository
@@ -5967,7 +6022,7 @@ const UserProfilePanelContent = ({
5967
6022
  (repository) => {
5968
6023
  var _a2;
5969
6024
  events.emit(
5970
- createPanelEvent(`${PANEL_ID$7}:repository:clone-requested`, {
6025
+ createPanelEvent$1(`${PANEL_ID$9}:repository:clone-requested`, {
5971
6026
  repository
5972
6027
  })
5973
6028
  );
@@ -5987,19 +6042,19 @@ const UserProfilePanelContent = ({
5987
6042
  setActiveView(view);
5988
6043
  setSearchQuery("");
5989
6044
  setShowSearchBox(false);
5990
- events.emit(createPanelEvent(`${PANEL_ID$7}:view:changed`, { view }));
6045
+ events.emit(createPanelEvent$1(`${PANEL_ID$9}:view:changed`, { view }));
5991
6046
  },
5992
6047
  [events]
5993
6048
  );
5994
6049
  useEffect(() => {
5995
6050
  const unsubscribers = [
5996
- events.on(`${PANEL_ID$7}:set-view`, (event) => {
6051
+ events.on(`${PANEL_ID$9}:set-view`, (event) => {
5997
6052
  var _a2;
5998
6053
  if ((_a2 = event.payload) == null ? void 0 : _a2.view) {
5999
6054
  handleViewChange(event.payload.view);
6000
6055
  }
6001
6056
  }),
6002
- events.on(`${PANEL_ID$7}:select-organization`, (event) => {
6057
+ events.on(`${PANEL_ID$9}:select-organization`, (event) => {
6003
6058
  var _a2;
6004
6059
  const orgLogin = (_a2 = event.payload) == null ? void 0 : _a2.orgLogin;
6005
6060
  if (orgLogin) {
@@ -6009,7 +6064,7 @@ const UserProfilePanelContent = ({
6009
6064
  }
6010
6065
  }
6011
6066
  }),
6012
- events.on(`${PANEL_ID$7}:select-repository`, (event) => {
6067
+ events.on(`${PANEL_ID$9}:select-repository`, (event) => {
6013
6068
  const { owner, repo } = event.payload || {};
6014
6069
  if (owner && repo) {
6015
6070
  const repository = starredRepositories.find(
@@ -6020,7 +6075,7 @@ const UserProfilePanelContent = ({
6020
6075
  }
6021
6076
  }
6022
6077
  }),
6023
- events.on(`${PANEL_ID$7}:clone-repository`, (event) => {
6078
+ events.on(`${PANEL_ID$9}:clone-repository`, (event) => {
6024
6079
  const { owner, repo } = event.payload || {};
6025
6080
  if (owner && repo) {
6026
6081
  const repository = starredRepositories.find(
@@ -6031,7 +6086,7 @@ const UserProfilePanelContent = ({
6031
6086
  }
6032
6087
  }
6033
6088
  }),
6034
- events.on(`${PANEL_ID$7}:filter-starred`, (event) => {
6089
+ events.on(`${PANEL_ID$9}:filter-starred`, (event) => {
6035
6090
  var _a2;
6036
6091
  if (((_a2 = event.payload) == null ? void 0 : _a2.filter) !== void 0) {
6037
6092
  setSearchQuery(event.payload.filter);
@@ -6573,57 +6628,821 @@ const UserProfilePanelPreview = () => {
6573
6628
  }
6574
6629
  );
6575
6630
  };
6576
- const PANEL_ID$6 = "industry-theme.local-projects";
6577
- const filterProjectsTool$1 = {
6578
- name: "filter_projects",
6579
- description: "Filter the local projects list by name, owner, or path",
6580
- inputs: {
6581
- type: "object",
6582
- properties: {
6583
- filter: {
6584
- type: "string",
6585
- description: "Search term to filter projects (matches name, owner, or path)"
6586
- }
6587
- },
6588
- required: ["filter"]
6589
- },
6590
- outputs: {
6591
- type: "object",
6592
- properties: {
6593
- success: { type: "boolean" },
6594
- message: { type: "string" }
6631
+ const PANEL_ID$8 = "industry-theme.user-collections";
6632
+ const createPanelEvent = (type, payload) => ({
6633
+ type,
6634
+ source: PANEL_ID$8,
6635
+ timestamp: Date.now(),
6636
+ payload
6637
+ });
6638
+ const CollectionCard = ({
6639
+ collection,
6640
+ repositoryCount,
6641
+ isSelected,
6642
+ onClick,
6643
+ onEdit
6644
+ }) => {
6645
+ const { theme } = useTheme();
6646
+ const [isHovered, setIsHovered] = useState(false);
6647
+ return /* @__PURE__ */ jsxs(
6648
+ "div",
6649
+ {
6650
+ onClick: () => onClick == null ? void 0 : onClick(collection),
6651
+ onMouseEnter: () => setIsHovered(true),
6652
+ onMouseLeave: () => setIsHovered(false),
6653
+ style: {
6654
+ padding: "12px",
6655
+ borderRadius: "8px",
6656
+ border: `1px solid ${isSelected ? theme.colors.primary : isHovered ? theme.colors.primary : theme.colors.border}`,
6657
+ backgroundColor: isSelected ? `${theme.colors.primary}10` : isHovered ? theme.colors.backgroundTertiary || theme.colors.highlight : theme.colors.background,
6658
+ cursor: "pointer",
6659
+ transition: "all 0.15s ease",
6660
+ position: "relative"
6661
+ },
6662
+ children: [
6663
+ isHovered && onEdit && /* @__PURE__ */ jsx(
6664
+ "button",
6665
+ {
6666
+ onClick: (e) => {
6667
+ e.stopPropagation();
6668
+ onEdit(collection);
6669
+ },
6670
+ style: {
6671
+ position: "absolute",
6672
+ top: "8px",
6673
+ right: "8px",
6674
+ padding: "4px",
6675
+ border: "none",
6676
+ borderRadius: "4px",
6677
+ backgroundColor: theme.colors.backgroundSecondary,
6678
+ color: theme.colors.textSecondary,
6679
+ cursor: "pointer",
6680
+ display: "flex",
6681
+ alignItems: "center",
6682
+ justifyContent: "center"
6683
+ },
6684
+ title: "Edit collection",
6685
+ children: /* @__PURE__ */ jsx(Settings, { size: 14 })
6686
+ }
6687
+ ),
6688
+ /* @__PURE__ */ jsx(
6689
+ "div",
6690
+ {
6691
+ style: {
6692
+ width: "28px",
6693
+ height: "28px",
6694
+ borderRadius: "6px",
6695
+ backgroundColor: `${theme.colors.primary}20`,
6696
+ display: "flex",
6697
+ alignItems: "center",
6698
+ justifyContent: "center",
6699
+ marginBottom: "8px"
6700
+ },
6701
+ children: /* @__PURE__ */ jsx(FolderOpen, { size: 16, color: theme.colors.primary })
6702
+ }
6703
+ ),
6704
+ /* @__PURE__ */ jsx(
6705
+ "div",
6706
+ {
6707
+ style: {
6708
+ fontSize: `${theme.fontSizes[2]}px`,
6709
+ fontWeight: theme.fontWeights.medium,
6710
+ color: theme.colors.text,
6711
+ fontFamily: theme.fonts.body,
6712
+ marginBottom: "4px",
6713
+ overflow: "hidden",
6714
+ textOverflow: "ellipsis",
6715
+ whiteSpace: "nowrap"
6716
+ },
6717
+ children: collection.name
6718
+ }
6719
+ ),
6720
+ collection.description && /* @__PURE__ */ jsx(
6721
+ "div",
6722
+ {
6723
+ style: {
6724
+ fontSize: `${theme.fontSizes[1]}px`,
6725
+ color: theme.colors.textSecondary,
6726
+ fontFamily: theme.fonts.body,
6727
+ marginBottom: "8px",
6728
+ overflow: "hidden",
6729
+ textOverflow: "ellipsis",
6730
+ whiteSpace: "nowrap"
6731
+ },
6732
+ children: collection.description
6733
+ }
6734
+ ),
6735
+ /* @__PURE__ */ jsxs(
6736
+ "div",
6737
+ {
6738
+ style: {
6739
+ fontSize: `${theme.fontSizes[1]}px`,
6740
+ color: theme.colors.textSecondary,
6741
+ fontFamily: theme.fonts.body
6742
+ },
6743
+ children: [
6744
+ repositoryCount,
6745
+ " ",
6746
+ repositoryCount === 1 ? "repository" : "repositories"
6747
+ ]
6748
+ }
6749
+ )
6750
+ ]
6595
6751
  }
6596
- },
6597
- tags: ["filter", "search", "projects"],
6598
- tool_call_template: {
6599
- call_template_type: "panel_event",
6600
- event_type: `${PANEL_ID$6}:filter`
6601
- }
6752
+ );
6602
6753
  };
6603
- const selectProjectTool = {
6604
- name: "select_project",
6605
- description: "Select a project by name or path to view its details",
6606
- inputs: {
6607
- type: "object",
6608
- properties: {
6609
- identifier: {
6610
- type: "string",
6611
- description: "Project name or full path to select"
6612
- }
6613
- },
6614
- required: ["identifier"]
6615
- },
6616
- outputs: {
6617
- type: "object",
6618
- properties: {
6619
- success: { type: "boolean" },
6620
- selectedProject: { type: "string" }
6754
+ const CreateCollectionCard = ({ onClick }) => {
6755
+ const { theme } = useTheme();
6756
+ const [isHovered, setIsHovered] = useState(false);
6757
+ return /* @__PURE__ */ jsxs(
6758
+ "div",
6759
+ {
6760
+ onClick,
6761
+ onMouseEnter: () => setIsHovered(true),
6762
+ onMouseLeave: () => setIsHovered(false),
6763
+ style: {
6764
+ padding: "12px",
6765
+ borderRadius: "8px",
6766
+ border: `2px dashed ${isHovered ? theme.colors.primary : theme.colors.border}`,
6767
+ backgroundColor: isHovered ? theme.colors.backgroundTertiary || theme.colors.highlight : "transparent",
6768
+ cursor: "pointer",
6769
+ transition: "all 0.15s ease",
6770
+ display: "flex",
6771
+ flexDirection: "column",
6772
+ alignItems: "center",
6773
+ justifyContent: "center",
6774
+ minHeight: "100px",
6775
+ gap: "8px"
6776
+ },
6777
+ children: [
6778
+ /* @__PURE__ */ jsx(
6779
+ Plus,
6780
+ {
6781
+ size: 24,
6782
+ color: isHovered ? theme.colors.primary : theme.colors.textSecondary
6783
+ }
6784
+ ),
6785
+ /* @__PURE__ */ jsx(
6786
+ "span",
6787
+ {
6788
+ style: {
6789
+ fontSize: `${theme.fontSizes[1]}px`,
6790
+ color: isHovered ? theme.colors.primary : theme.colors.textSecondary,
6791
+ fontFamily: theme.fonts.body
6792
+ },
6793
+ children: "New Collection"
6794
+ }
6795
+ )
6796
+ ]
6621
6797
  }
6622
- },
6623
- tags: ["select", "project", "navigation"],
6624
- tool_call_template: {
6625
- call_template_type: "panel_event",
6626
- event_type: `${PANEL_ID$6}:select-repository`
6798
+ );
6799
+ };
6800
+ const UserCollectionsPanelContent = ({
6801
+ context,
6802
+ actions,
6803
+ events,
6804
+ defaultShowSearch = false
6805
+ }) => {
6806
+ var _a, _b, _c, _d, _e;
6807
+ const { theme } = useTheme();
6808
+ const [searchQuery, setSearchQuery] = useState("");
6809
+ const [showSearchBox, setShowSearchBox] = useState(defaultShowSearch);
6810
+ const [selectedCollectionId, setSelectedCollectionId] = useState(null);
6811
+ const panelActions = actions;
6812
+ const collectionsSlice = context.getSlice("userCollections");
6813
+ const collections = useMemo(
6814
+ () => {
6815
+ var _a2;
6816
+ return ((_a2 = collectionsSlice == null ? void 0 : collectionsSlice.data) == null ? void 0 : _a2.collections) || [];
6817
+ },
6818
+ [(_a = collectionsSlice == null ? void 0 : collectionsSlice.data) == null ? void 0 : _a.collections]
6819
+ );
6820
+ const memberships = useMemo(
6821
+ () => {
6822
+ var _a2;
6823
+ return ((_a2 = collectionsSlice == null ? void 0 : collectionsSlice.data) == null ? void 0 : _a2.memberships) || [];
6824
+ },
6825
+ [(_b = collectionsSlice == null ? void 0 : collectionsSlice.data) == null ? void 0 : _b.memberships]
6826
+ );
6827
+ const loading = (collectionsSlice == null ? void 0 : collectionsSlice.loading) ?? false;
6828
+ const saving = ((_c = collectionsSlice == null ? void 0 : collectionsSlice.data) == null ? void 0 : _c.saving) ?? false;
6829
+ const gitHubRepoExists = ((_d = collectionsSlice == null ? void 0 : collectionsSlice.data) == null ? void 0 : _d.gitHubRepoExists) ?? false;
6830
+ const gitHubRepoUrl = ((_e = collectionsSlice == null ? void 0 : collectionsSlice.data) == null ? void 0 : _e.gitHubRepoUrl) ?? null;
6831
+ const getRepoCount = useCallback(
6832
+ (collectionId) => {
6833
+ return memberships.filter((m) => m.collectionId === collectionId).length;
6834
+ },
6835
+ [memberships]
6836
+ );
6837
+ const sortedCollections = useMemo(() => {
6838
+ let filtered = collections;
6839
+ if (searchQuery.trim()) {
6840
+ const query = searchQuery.toLowerCase().trim();
6841
+ filtered = collections.filter((collection) => {
6842
+ var _a2;
6843
+ if (collection.name.toLowerCase().includes(query)) {
6844
+ return true;
6845
+ }
6846
+ if ((_a2 = collection.description) == null ? void 0 : _a2.toLowerCase().includes(query)) {
6847
+ return true;
6848
+ }
6849
+ return false;
6850
+ });
6851
+ }
6852
+ return [...filtered].sort(
6853
+ (a, b) => a.name.toLowerCase().localeCompare(b.name.toLowerCase())
6854
+ );
6855
+ }, [collections, searchQuery]);
6856
+ const handleCollectionSelect = useCallback(
6857
+ (collection) => {
6858
+ setSelectedCollectionId(collection.id);
6859
+ events.emit(
6860
+ createPanelEvent(`${PANEL_ID$8}:collection:selected`, {
6861
+ collectionId: collection.id,
6862
+ collection
6863
+ })
6864
+ );
6865
+ },
6866
+ [events]
6867
+ );
6868
+ const handleEditCollection = useCallback(
6869
+ (collection) => {
6870
+ events.emit(
6871
+ createPanelEvent(`${PANEL_ID$8}:edit-collection-requested`, {
6872
+ collectionId: collection.id,
6873
+ collection
6874
+ })
6875
+ );
6876
+ },
6877
+ [events]
6878
+ );
6879
+ const handleCreateCollection = useCallback(() => {
6880
+ events.emit(createPanelEvent(`${PANEL_ID$8}:create-collection-requested`, {}));
6881
+ }, [events]);
6882
+ const handleEnableGitHubSync = useCallback(async () => {
6883
+ if (panelActions.enableGitHubSync) {
6884
+ try {
6885
+ await panelActions.enableGitHubSync();
6886
+ events.emit(createPanelEvent(`${PANEL_ID$8}:github-sync-enabled`, {}));
6887
+ } catch (error) {
6888
+ console.error("Failed to enable GitHub sync:", error);
6889
+ }
6890
+ }
6891
+ }, [panelActions, events]);
6892
+ const handleRefresh = useCallback(async () => {
6893
+ if (panelActions.refreshCollections) {
6894
+ await panelActions.refreshCollections();
6895
+ } else {
6896
+ await context.refresh(void 0, "userCollections");
6897
+ }
6898
+ }, [panelActions, context]);
6899
+ useEffect(() => {
6900
+ const unsubscribers = [
6901
+ // Select collection event from tools
6902
+ events.on(`${PANEL_ID$8}:select-collection`, (event) => {
6903
+ var _a2;
6904
+ const collectionId = (_a2 = event.payload) == null ? void 0 : _a2.collectionId;
6905
+ if (collectionId) {
6906
+ const collection = collections.find((c) => c.id === collectionId);
6907
+ if (collection) {
6908
+ handleCollectionSelect(collection);
6909
+ }
6910
+ }
6911
+ }),
6912
+ // Create collection event from tools
6913
+ events.on(
6914
+ `${PANEL_ID$8}:create-collection`,
6915
+ async (event) => {
6916
+ const { name, description } = event.payload || {};
6917
+ if (name && panelActions.createCollection) {
6918
+ try {
6919
+ const collection = await panelActions.createCollection(name, description);
6920
+ if (collection) {
6921
+ events.emit(
6922
+ createPanelEvent(`${PANEL_ID$8}:collection:created`, {
6923
+ collectionId: collection.id,
6924
+ collection
6925
+ })
6926
+ );
6927
+ }
6928
+ } catch (error) {
6929
+ console.error("Failed to create collection:", error);
6930
+ }
6931
+ }
6932
+ }
6933
+ ),
6934
+ // Delete collection event from tools
6935
+ events.on(
6936
+ `${PANEL_ID$8}:delete-collection`,
6937
+ async (event) => {
6938
+ const { collectionId } = event.payload || {};
6939
+ if (collectionId && panelActions.deleteCollection) {
6940
+ try {
6941
+ await panelActions.deleteCollection(collectionId);
6942
+ events.emit(
6943
+ createPanelEvent(`${PANEL_ID$8}:collection:deleted`, {
6944
+ collectionId
6945
+ })
6946
+ );
6947
+ } catch (error) {
6948
+ console.error("Failed to delete collection:", error);
6949
+ }
6950
+ }
6951
+ }
6952
+ ),
6953
+ // Enable GitHub sync event
6954
+ events.on(`${PANEL_ID$8}:enable-github-sync`, handleEnableGitHubSync),
6955
+ // Refresh collections event
6956
+ events.on(`${PANEL_ID$8}:refresh-collections`, handleRefresh)
6957
+ ];
6958
+ return () => unsubscribers.forEach((unsub) => unsub());
6959
+ }, [
6960
+ events,
6961
+ collections,
6962
+ handleCollectionSelect,
6963
+ handleEnableGitHubSync,
6964
+ handleRefresh,
6965
+ panelActions
6966
+ ]);
6967
+ const baseContainerStyle = {
6968
+ display: "flex",
6969
+ flexDirection: "column",
6970
+ height: "100%",
6971
+ backgroundColor: theme.colors.backgroundSecondary
6972
+ };
6973
+ if (loading) {
6974
+ return /* @__PURE__ */ jsx("div", { style: baseContainerStyle, children: /* @__PURE__ */ jsxs(
6975
+ "div",
6976
+ {
6977
+ style: {
6978
+ flex: 1,
6979
+ display: "flex",
6980
+ alignItems: "center",
6981
+ justifyContent: "center",
6982
+ flexDirection: "column",
6983
+ gap: "12px"
6984
+ },
6985
+ children: [
6986
+ /* @__PURE__ */ jsx(
6987
+ LoaderCircle,
6988
+ {
6989
+ size: 24,
6990
+ color: theme.colors.textSecondary,
6991
+ style: { animation: "spin 1s linear infinite" }
6992
+ }
6993
+ ),
6994
+ /* @__PURE__ */ jsx(
6995
+ "span",
6996
+ {
6997
+ style: {
6998
+ fontSize: `${theme.fontSizes[1]}px`,
6999
+ color: theme.colors.textSecondary,
7000
+ fontFamily: theme.fonts.body
7001
+ },
7002
+ children: "Loading collections..."
7003
+ }
7004
+ )
7005
+ ]
7006
+ }
7007
+ ) });
7008
+ }
7009
+ return /* @__PURE__ */ jsxs("div", { style: baseContainerStyle, children: [
7010
+ /* @__PURE__ */ jsxs(
7011
+ "div",
7012
+ {
7013
+ style: {
7014
+ position: "relative",
7015
+ height: "40px",
7016
+ minHeight: "40px",
7017
+ padding: "0 16px",
7018
+ borderBottom: `1px solid ${theme.colors.border}`,
7019
+ display: "flex",
7020
+ alignItems: "center",
7021
+ boxSizing: "border-box"
7022
+ },
7023
+ children: [
7024
+ /* @__PURE__ */ jsxs(
7025
+ "div",
7026
+ {
7027
+ style: {
7028
+ display: "flex",
7029
+ alignItems: "center",
7030
+ justifyContent: "space-between",
7031
+ width: "100%",
7032
+ visibility: showSearchBox ? "hidden" : "visible"
7033
+ },
7034
+ children: [
7035
+ /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
7036
+ /* @__PURE__ */ jsx(FolderOpen, { size: 18, color: theme.colors.primary }),
7037
+ /* @__PURE__ */ jsx(
7038
+ "span",
7039
+ {
7040
+ style: {
7041
+ fontSize: `${theme.fontSizes[2]}px`,
7042
+ fontWeight: theme.fontWeights.medium,
7043
+ color: theme.colors.text,
7044
+ fontFamily: theme.fonts.body
7045
+ },
7046
+ children: "Collections"
7047
+ }
7048
+ ),
7049
+ collections.length > 0 && /* @__PURE__ */ jsx(
7050
+ "span",
7051
+ {
7052
+ style: {
7053
+ fontSize: `${theme.fontSizes[1]}px`,
7054
+ color: theme.colors.textSecondary,
7055
+ padding: "2px 8px",
7056
+ borderRadius: "12px",
7057
+ backgroundColor: theme.colors.background
7058
+ },
7059
+ children: collections.length
7060
+ }
7061
+ )
7062
+ ] }),
7063
+ /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
7064
+ gitHubRepoExists ? /* @__PURE__ */ jsx(
7065
+ "div",
7066
+ {
7067
+ style: {
7068
+ display: "flex",
7069
+ alignItems: "center",
7070
+ gap: "4px",
7071
+ color: theme.colors.success,
7072
+ fontSize: `${theme.fontSizes[0]}px`,
7073
+ fontFamily: theme.fonts.body
7074
+ },
7075
+ title: gitHubRepoUrl || "Synced to GitHub",
7076
+ children: /* @__PURE__ */ jsx(Cloud, { size: 14 })
7077
+ }
7078
+ ) : /* @__PURE__ */ jsx(
7079
+ "button",
7080
+ {
7081
+ onClick: handleEnableGitHubSync,
7082
+ disabled: saving,
7083
+ style: {
7084
+ display: "flex",
7085
+ alignItems: "center",
7086
+ gap: "4px",
7087
+ padding: "2px 6px",
7088
+ borderRadius: "4px",
7089
+ border: `1px solid ${theme.colors.border}`,
7090
+ backgroundColor: "transparent",
7091
+ color: theme.colors.textSecondary,
7092
+ fontSize: `${theme.fontSizes[0]}px`,
7093
+ fontFamily: theme.fonts.body,
7094
+ cursor: saving ? "not-allowed" : "pointer"
7095
+ },
7096
+ title: "Enable GitHub sync",
7097
+ children: /* @__PURE__ */ jsx(CloudOff, { size: 12 })
7098
+ }
7099
+ ),
7100
+ /* @__PURE__ */ jsx(
7101
+ "button",
7102
+ {
7103
+ onClick: handleRefresh,
7104
+ disabled: loading || saving,
7105
+ style: {
7106
+ background: "none",
7107
+ border: `1px solid transparent`,
7108
+ borderRadius: "4px",
7109
+ cursor: loading || saving ? "not-allowed" : "pointer",
7110
+ padding: "4px",
7111
+ display: "flex",
7112
+ alignItems: "center",
7113
+ justifyContent: "center",
7114
+ color: theme.colors.textSecondary
7115
+ },
7116
+ title: "Refresh collections",
7117
+ children: /* @__PURE__ */ jsx(RefreshCw, { size: 14 })
7118
+ }
7119
+ ),
7120
+ /* @__PURE__ */ jsx(
7121
+ "button",
7122
+ {
7123
+ onClick: () => {
7124
+ setShowSearchBox(!showSearchBox);
7125
+ if (showSearchBox) {
7126
+ setSearchQuery("");
7127
+ }
7128
+ },
7129
+ style: {
7130
+ background: showSearchBox ? theme.colors.backgroundSecondary : "none",
7131
+ border: `1px solid ${showSearchBox ? theme.colors.border : "transparent"}`,
7132
+ borderRadius: "4px",
7133
+ cursor: "pointer",
7134
+ padding: "4px",
7135
+ display: "flex",
7136
+ alignItems: "center",
7137
+ justifyContent: "center",
7138
+ color: showSearchBox ? theme.colors.primary : theme.colors.textSecondary
7139
+ },
7140
+ title: showSearchBox ? "Close search" : "Search collections",
7141
+ children: /* @__PURE__ */ jsx(Search, { size: 16 })
7142
+ }
7143
+ ),
7144
+ /* @__PURE__ */ jsx(
7145
+ "button",
7146
+ {
7147
+ onClick: handleCreateCollection,
7148
+ style: {
7149
+ padding: "4px",
7150
+ borderRadius: "4px",
7151
+ border: "none",
7152
+ backgroundColor: theme.colors.primary,
7153
+ color: theme.colors.background,
7154
+ cursor: "pointer",
7155
+ display: "flex",
7156
+ alignItems: "center",
7157
+ justifyContent: "center"
7158
+ },
7159
+ title: "Create new collection",
7160
+ children: /* @__PURE__ */ jsx(Plus, { size: 16 })
7161
+ }
7162
+ )
7163
+ ] })
7164
+ ]
7165
+ }
7166
+ ),
7167
+ showSearchBox && /* @__PURE__ */ jsxs(
7168
+ "div",
7169
+ {
7170
+ style: {
7171
+ position: "absolute",
7172
+ top: 0,
7173
+ left: 0,
7174
+ right: 0,
7175
+ bottom: 0,
7176
+ display: "flex",
7177
+ alignItems: "center",
7178
+ padding: "0 16px",
7179
+ backgroundColor: theme.colors.backgroundSecondary,
7180
+ zIndex: 10
7181
+ },
7182
+ children: [
7183
+ /* @__PURE__ */ jsxs(
7184
+ "div",
7185
+ {
7186
+ style: {
7187
+ position: "relative",
7188
+ flex: 1,
7189
+ display: "flex",
7190
+ alignItems: "center"
7191
+ },
7192
+ children: [
7193
+ /* @__PURE__ */ jsx(
7194
+ Search,
7195
+ {
7196
+ size: 16,
7197
+ color: theme.colors.textSecondary,
7198
+ style: {
7199
+ position: "absolute",
7200
+ left: "10px",
7201
+ pointerEvents: "none"
7202
+ }
7203
+ }
7204
+ ),
7205
+ /* @__PURE__ */ jsx(
7206
+ "input",
7207
+ {
7208
+ type: "text",
7209
+ placeholder: "Filter collections...",
7210
+ value: searchQuery,
7211
+ onChange: (e) => setSearchQuery(e.target.value),
7212
+ autoFocus: true,
7213
+ style: {
7214
+ width: "100%",
7215
+ padding: "6px 32px 6px 32px",
7216
+ fontSize: `${theme.fontSizes[1]}px`,
7217
+ color: theme.colors.text,
7218
+ backgroundColor: theme.colors.background,
7219
+ border: `1px solid ${theme.colors.border}`,
7220
+ borderRadius: "4px",
7221
+ outline: "none",
7222
+ fontFamily: theme.fonts.body
7223
+ }
7224
+ }
7225
+ ),
7226
+ searchQuery && /* @__PURE__ */ jsx(
7227
+ "button",
7228
+ {
7229
+ onClick: () => setSearchQuery(""),
7230
+ style: {
7231
+ position: "absolute",
7232
+ right: "8px",
7233
+ background: "none",
7234
+ border: "none",
7235
+ cursor: "pointer",
7236
+ padding: "4px",
7237
+ display: "flex",
7238
+ alignItems: "center",
7239
+ justifyContent: "center",
7240
+ color: theme.colors.textSecondary
7241
+ },
7242
+ title: "Clear search",
7243
+ children: /* @__PURE__ */ jsx(X, { size: 16 })
7244
+ }
7245
+ )
7246
+ ]
7247
+ }
7248
+ ),
7249
+ /* @__PURE__ */ jsx(
7250
+ "button",
7251
+ {
7252
+ onClick: () => {
7253
+ setShowSearchBox(false);
7254
+ setSearchQuery("");
7255
+ },
7256
+ style: {
7257
+ background: "none",
7258
+ border: "none",
7259
+ cursor: "pointer",
7260
+ padding: "4px",
7261
+ marginLeft: "8px",
7262
+ display: "flex",
7263
+ alignItems: "center",
7264
+ justifyContent: "center",
7265
+ color: theme.colors.textSecondary
7266
+ },
7267
+ title: "Close search",
7268
+ children: /* @__PURE__ */ jsx(X, { size: 16 })
7269
+ }
7270
+ )
7271
+ ]
7272
+ }
7273
+ )
7274
+ ]
7275
+ }
7276
+ ),
7277
+ /* @__PURE__ */ jsxs(
7278
+ "div",
7279
+ {
7280
+ style: {
7281
+ flex: 1,
7282
+ overflowY: "auto",
7283
+ padding: "12px"
7284
+ },
7285
+ children: [
7286
+ /* @__PURE__ */ jsxs(
7287
+ "div",
7288
+ {
7289
+ style: {
7290
+ display: "grid",
7291
+ gridTemplateColumns: "repeat(auto-fill, minmax(180px, 1fr))",
7292
+ gap: "12px"
7293
+ },
7294
+ children: [
7295
+ /* @__PURE__ */ jsx(CreateCollectionCard, { onClick: handleCreateCollection }),
7296
+ sortedCollections.map((collection) => /* @__PURE__ */ jsx(
7297
+ CollectionCard,
7298
+ {
7299
+ collection,
7300
+ repositoryCount: getRepoCount(collection.id),
7301
+ isSelected: collection.id === selectedCollectionId,
7302
+ onClick: handleCollectionSelect,
7303
+ onEdit: handleEditCollection
7304
+ },
7305
+ collection.id
7306
+ ))
7307
+ ]
7308
+ }
7309
+ ),
7310
+ sortedCollections.length === 0 && searchQuery.trim() && /* @__PURE__ */ jsx(
7311
+ "div",
7312
+ {
7313
+ style: {
7314
+ padding: "32px",
7315
+ textAlign: "center",
7316
+ color: theme.colors.textSecondary,
7317
+ fontFamily: theme.fonts.body
7318
+ },
7319
+ children: /* @__PURE__ */ jsxs("p", { style: { margin: 0 }, children: [
7320
+ 'No collections found matching "',
7321
+ searchQuery,
7322
+ '"'
7323
+ ] })
7324
+ }
7325
+ ),
7326
+ collections.length === 0 && !searchQuery.trim() && /* @__PURE__ */ jsxs(
7327
+ "div",
7328
+ {
7329
+ style: {
7330
+ padding: "32px",
7331
+ textAlign: "center",
7332
+ color: theme.colors.textSecondary,
7333
+ fontFamily: theme.fonts.body
7334
+ },
7335
+ children: [
7336
+ /* @__PURE__ */ jsx("p", { style: { margin: "0 0 8px 0", fontSize: `${theme.fontSizes[2]}px` }, children: "No collections yet" }),
7337
+ /* @__PURE__ */ jsx("p", { style: { margin: 0, fontSize: `${theme.fontSizes[1]}px` }, children: "Create a collection to organize your repositories" })
7338
+ ]
7339
+ }
7340
+ )
7341
+ ]
7342
+ }
7343
+ )
7344
+ ] });
7345
+ };
7346
+ const UserCollectionsPanel = (props) => {
7347
+ return /* @__PURE__ */ jsx(UserCollectionsPanelContent, { ...props });
7348
+ };
7349
+ const UserCollectionsPanelPreview = () => {
7350
+ const { theme } = useTheme();
7351
+ return /* @__PURE__ */ jsxs(
7352
+ "div",
7353
+ {
7354
+ style: {
7355
+ padding: "12px",
7356
+ fontSize: `${theme.fontSizes[0]}px`,
7357
+ fontFamily: theme.fonts.body,
7358
+ color: theme.colors.text,
7359
+ display: "flex",
7360
+ flexDirection: "column",
7361
+ gap: "8px"
7362
+ },
7363
+ children: [
7364
+ /* @__PURE__ */ jsxs(
7365
+ "div",
7366
+ {
7367
+ style: {
7368
+ display: "flex",
7369
+ alignItems: "center",
7370
+ gap: "6px",
7371
+ fontWeight: theme.fontWeights.semibold
7372
+ },
7373
+ children: [
7374
+ /* @__PURE__ */ jsx(FolderOpen, { size: 16, style: { color: theme.colors.primary } }),
7375
+ /* @__PURE__ */ jsx("span", { children: "Collections" })
7376
+ ]
7377
+ }
7378
+ ),
7379
+ /* @__PURE__ */ jsx(
7380
+ "div",
7381
+ {
7382
+ style: {
7383
+ fontSize: `${theme.fontSizes[0]}px`,
7384
+ fontFamily: theme.fonts.body,
7385
+ color: theme.colors.textSecondary,
7386
+ marginTop: "4px"
7387
+ },
7388
+ children: "Organize repositories into collections"
7389
+ }
7390
+ )
7391
+ ]
7392
+ }
7393
+ );
7394
+ };
7395
+ const PANEL_ID$7 = "industry-theme.local-projects";
7396
+ const filterProjectsTool$1 = {
7397
+ name: "filter_projects",
7398
+ description: "Filter the local projects list by name, owner, or path",
7399
+ inputs: {
7400
+ type: "object",
7401
+ properties: {
7402
+ filter: {
7403
+ type: "string",
7404
+ description: "Search term to filter projects (matches name, owner, or path)"
7405
+ }
7406
+ },
7407
+ required: ["filter"]
7408
+ },
7409
+ outputs: {
7410
+ type: "object",
7411
+ properties: {
7412
+ success: { type: "boolean" },
7413
+ message: { type: "string" }
7414
+ }
7415
+ },
7416
+ tags: ["filter", "search", "projects"],
7417
+ tool_call_template: {
7418
+ call_template_type: "panel_event",
7419
+ event_type: `${PANEL_ID$7}:filter`
7420
+ }
7421
+ };
7422
+ const selectProjectTool = {
7423
+ name: "select_project",
7424
+ description: "Select a project by name or path to view its details",
7425
+ inputs: {
7426
+ type: "object",
7427
+ properties: {
7428
+ identifier: {
7429
+ type: "string",
7430
+ description: "Project name or full path to select"
7431
+ }
7432
+ },
7433
+ required: ["identifier"]
7434
+ },
7435
+ outputs: {
7436
+ type: "object",
7437
+ properties: {
7438
+ success: { type: "boolean" },
7439
+ selectedProject: { type: "string" }
7440
+ }
7441
+ },
7442
+ tags: ["select", "project", "navigation"],
7443
+ tool_call_template: {
7444
+ call_template_type: "panel_event",
7445
+ event_type: `${PANEL_ID$7}:select-repository`
6627
7446
  }
6628
7447
  };
6629
7448
  const openProjectTool = {
@@ -6649,7 +7468,7 @@ const openProjectTool = {
6649
7468
  tags: ["open", "project", "workspace"],
6650
7469
  tool_call_template: {
6651
7470
  call_template_type: "panel_event",
6652
- event_type: `${PANEL_ID$6}:open-repository`
7471
+ event_type: `${PANEL_ID$7}:open-repository`
6653
7472
  }
6654
7473
  };
6655
7474
  const localProjectsPanelTools = [
@@ -6658,12 +7477,12 @@ const localProjectsPanelTools = [
6658
7477
  openProjectTool
6659
7478
  ];
6660
7479
  const localProjectsPanelToolsMetadata = {
6661
- id: PANEL_ID$6,
7480
+ id: PANEL_ID$7,
6662
7481
  name: "Local Projects Panel",
6663
7482
  description: "Tools for browsing and managing local Alexandria repositories",
6664
7483
  tools: localProjectsPanelTools
6665
7484
  };
6666
- const PANEL_ID$5 = "industry-theme.workspace-repositories";
7485
+ const PANEL_ID$6 = "industry-theme.workspace-repositories";
6667
7486
  const selectRepositoryTool$2 = {
6668
7487
  name: "select_workspace_repository",
6669
7488
  description: "Selects a repository in the workspace panel",
@@ -6687,7 +7506,7 @@ const selectRepositoryTool$2 = {
6687
7506
  tags: ["workspace", "repository", "select"],
6688
7507
  tool_call_template: {
6689
7508
  call_template_type: "panel_event",
6690
- event_type: `${PANEL_ID$5}:select-repository`
7509
+ event_type: `${PANEL_ID$6}:select-repository`
6691
7510
  }
6692
7511
  };
6693
7512
  const refreshWorkspaceTool = {
@@ -6712,7 +7531,7 @@ const refreshWorkspaceTool = {
6712
7531
  tags: ["workspace", "refresh"],
6713
7532
  tool_call_template: {
6714
7533
  call_template_type: "panel_event",
6715
- event_type: `${PANEL_ID$5}:refresh-workspace`
7534
+ event_type: `${PANEL_ID$6}:refresh-workspace`
6716
7535
  }
6717
7536
  };
6718
7537
  const openRepositoryTool = {
@@ -6738,7 +7557,7 @@ const openRepositoryTool = {
6738
7557
  tags: ["workspace", "repository", "open"],
6739
7558
  tool_call_template: {
6740
7559
  call_template_type: "panel_event",
6741
- event_type: `${PANEL_ID$5}:open-repository`
7560
+ event_type: `${PANEL_ID$6}:open-repository`
6742
7561
  }
6743
7562
  };
6744
7563
  const workspaceRepositoriesPanelTools = [
@@ -6747,12 +7566,12 @@ const workspaceRepositoriesPanelTools = [
6747
7566
  openRepositoryTool
6748
7567
  ];
6749
7568
  const workspaceRepositoriesPanelToolsMetadata = {
6750
- id: PANEL_ID$5,
7569
+ id: PANEL_ID$6,
6751
7570
  name: "Workspace Repositories Panel",
6752
7571
  description: "Tools provided by the workspace repositories panel",
6753
7572
  tools: workspaceRepositoriesPanelTools
6754
7573
  };
6755
- const PANEL_ID$4 = "industry-theme.workspaces-list";
7574
+ const PANEL_ID$5 = "industry-theme.workspaces-list";
6756
7575
  const filterWorkspacesTool = {
6757
7576
  name: "filter_workspaces",
6758
7577
  description: "Filter the workspaces list by workspace name, description, or repository names within workspaces",
@@ -6776,7 +7595,7 @@ const filterWorkspacesTool = {
6776
7595
  tags: ["filter", "search", "workspaces"],
6777
7596
  tool_call_template: {
6778
7597
  call_template_type: "panel_event",
6779
- event_type: `${PANEL_ID$4}:filter`
7598
+ event_type: `${PANEL_ID$5}:filter`
6780
7599
  }
6781
7600
  };
6782
7601
  const selectWorkspaceTool = {
@@ -6802,7 +7621,7 @@ const selectWorkspaceTool = {
6802
7621
  tags: ["select", "workspace", "navigation"],
6803
7622
  tool_call_template: {
6804
7623
  call_template_type: "panel_event",
6805
- event_type: `${PANEL_ID$4}:select-workspace`
7624
+ event_type: `${PANEL_ID$5}:select-workspace`
6806
7625
  }
6807
7626
  };
6808
7627
  const openWorkspaceTool = {
@@ -6828,7 +7647,7 @@ const openWorkspaceTool = {
6828
7647
  tags: ["open", "workspace", "window"],
6829
7648
  tool_call_template: {
6830
7649
  call_template_type: "panel_event",
6831
- event_type: `${PANEL_ID$4}:open-workspace`
7650
+ event_type: `${PANEL_ID$5}:open-workspace`
6832
7651
  }
6833
7652
  };
6834
7653
  const createWorkspaceTool = {
@@ -6859,7 +7678,7 @@ const createWorkspaceTool = {
6859
7678
  tags: ["create", "workspace", "new"],
6860
7679
  tool_call_template: {
6861
7680
  call_template_type: "panel_event",
6862
- event_type: `${PANEL_ID$4}:create-workspace`
7681
+ event_type: `${PANEL_ID$5}:create-workspace`
6863
7682
  }
6864
7683
  };
6865
7684
  const workspacesListPanelTools = [
@@ -6869,12 +7688,12 @@ const workspacesListPanelTools = [
6869
7688
  createWorkspaceTool
6870
7689
  ];
6871
7690
  const workspacesListPanelToolsMetadata = {
6872
- id: PANEL_ID$4,
7691
+ id: PANEL_ID$5,
6873
7692
  name: "Workspaces List Panel",
6874
7693
  description: "Tools for browsing and managing workspaces",
6875
7694
  tools: workspacesListPanelTools
6876
7695
  };
6877
- const PANEL_ID$3 = "industry-theme.workspace-collection";
7696
+ const PANEL_ID$4 = "industry-theme.workspace-collection";
6878
7697
  const filterRepositoriesTool = {
6879
7698
  name: "filter_workspace_collection",
6880
7699
  description: "Filters repositories in the workspace collection by search term",
@@ -6898,7 +7717,7 @@ const filterRepositoriesTool = {
6898
7717
  tags: ["workspace", "repository", "filter", "search"],
6899
7718
  tool_call_template: {
6900
7719
  call_template_type: "panel_event",
6901
- event_type: `${PANEL_ID$3}:filter`
7720
+ event_type: `${PANEL_ID$4}:filter`
6902
7721
  }
6903
7722
  };
6904
7723
  const selectRepositoryTool$1 = {
@@ -6924,7 +7743,7 @@ const selectRepositoryTool$1 = {
6924
7743
  tags: ["workspace", "repository", "select"],
6925
7744
  tool_call_template: {
6926
7745
  call_template_type: "panel_event",
6927
- event_type: `${PANEL_ID$3}:select-repository`
7746
+ event_type: `${PANEL_ID$4}:select-repository`
6928
7747
  }
6929
7748
  };
6930
7749
  const navigateRepositoryTool = {
@@ -6950,10 +7769,10 @@ const navigateRepositoryTool = {
6950
7769
  tags: ["workspace", "repository", "navigate", "open"],
6951
7770
  tool_call_template: {
6952
7771
  call_template_type: "panel_event",
6953
- event_type: `${PANEL_ID$3}:navigate-repository`
7772
+ event_type: `${PANEL_ID$4}:navigate-repository`
6954
7773
  }
6955
7774
  };
6956
- const removeRepositoryTool = {
7775
+ const removeRepositoryTool$1 = {
6957
7776
  name: "remove_collection_repository",
6958
7777
  description: "Removes a repository from the current workspace",
6959
7778
  inputs: {
@@ -6976,7 +7795,7 @@ const removeRepositoryTool = {
6976
7795
  tags: ["workspace", "repository", "remove", "delete"],
6977
7796
  tool_call_template: {
6978
7797
  call_template_type: "panel_event",
6979
- event_type: `${PANEL_ID$3}:remove-repository`
7798
+ event_type: `${PANEL_ID$4}:remove-repository`
6980
7799
  }
6981
7800
  };
6982
7801
  const refreshWorkspaceCollectionTool = {
@@ -7001,23 +7820,23 @@ const refreshWorkspaceCollectionTool = {
7001
7820
  tags: ["workspace", "refresh"],
7002
7821
  tool_call_template: {
7003
7822
  call_template_type: "panel_event",
7004
- event_type: `${PANEL_ID$3}:refresh-workspace`
7823
+ event_type: `${PANEL_ID$4}:refresh-workspace`
7005
7824
  }
7006
7825
  };
7007
7826
  const workspaceCollectionPanelTools = [
7008
7827
  filterRepositoriesTool,
7009
7828
  selectRepositoryTool$1,
7010
7829
  navigateRepositoryTool,
7011
- removeRepositoryTool,
7830
+ removeRepositoryTool$1,
7012
7831
  refreshWorkspaceCollectionTool
7013
7832
  ];
7014
7833
  const workspaceCollectionPanelToolsMetadata = {
7015
- id: PANEL_ID$3,
7834
+ id: PANEL_ID$4,
7016
7835
  name: "Workspace Collection Panel",
7017
7836
  description: "Tools provided by the browser-based workspace collection panel",
7018
7837
  tools: workspaceCollectionPanelTools
7019
7838
  };
7020
- const PANEL_ID$2 = "industry-theme.github-starred";
7839
+ const PANEL_ID$3 = "industry-theme.github-starred";
7021
7840
  const filterStarredTool$1 = {
7022
7841
  name: "filter_starred_repositories",
7023
7842
  description: "Filter the starred repositories list by repository name, owner, language, or description",
@@ -7041,7 +7860,7 @@ const filterStarredTool$1 = {
7041
7860
  tags: ["filter", "search", "starred", "github"],
7042
7861
  tool_call_template: {
7043
7862
  call_template_type: "panel_event",
7044
- event_type: `${PANEL_ID$2}:filter`
7863
+ event_type: `${PANEL_ID$3}:filter`
7045
7864
  }
7046
7865
  };
7047
7866
  const selectStarredRepositoryTool = {
@@ -7071,7 +7890,7 @@ const selectStarredRepositoryTool = {
7071
7890
  tags: ["select", "starred", "github", "repository"],
7072
7891
  tool_call_template: {
7073
7892
  call_template_type: "panel_event",
7074
- event_type: `${PANEL_ID$2}:select-repository`
7893
+ event_type: `${PANEL_ID$3}:select-repository`
7075
7894
  }
7076
7895
  };
7077
7896
  const cloneStarredRepositoryTool = {
@@ -7101,7 +7920,7 @@ const cloneStarredRepositoryTool = {
7101
7920
  tags: ["clone", "starred", "github", "repository"],
7102
7921
  tool_call_template: {
7103
7922
  call_template_type: "panel_event",
7104
- event_type: `${PANEL_ID$2}:clone-repository`
7923
+ event_type: `${PANEL_ID$3}:clone-repository`
7105
7924
  }
7106
7925
  };
7107
7926
  const githubStarredPanelTools = [
@@ -7110,12 +7929,12 @@ const githubStarredPanelTools = [
7110
7929
  cloneStarredRepositoryTool
7111
7930
  ];
7112
7931
  const githubStarredPanelToolsMetadata = {
7113
- id: PANEL_ID$2,
7932
+ id: PANEL_ID$3,
7114
7933
  name: "GitHub Starred Panel",
7115
7934
  description: "Tools for browsing and managing starred GitHub repositories",
7116
7935
  tools: githubStarredPanelTools
7117
7936
  };
7118
- const PANEL_ID$1 = "industry-theme.github-projects";
7937
+ const PANEL_ID$2 = "industry-theme.github-projects";
7119
7938
  const filterProjectsTool = {
7120
7939
  name: "filter_github_projects",
7121
7940
  description: "Filter the GitHub projects list by repository name, owner, language, or description",
@@ -7139,7 +7958,7 @@ const filterProjectsTool = {
7139
7958
  tags: ["filter", "search", "projects", "github"],
7140
7959
  tool_call_template: {
7141
7960
  call_template_type: "panel_event",
7142
- event_type: `${PANEL_ID$1}:filter`
7961
+ event_type: `${PANEL_ID$2}:filter`
7143
7962
  }
7144
7963
  };
7145
7964
  const toggleOwnerSectionTool = {
@@ -7166,7 +7985,7 @@ const toggleOwnerSectionTool = {
7166
7985
  tags: ["toggle", "section", "projects", "github"],
7167
7986
  tool_call_template: {
7168
7987
  call_template_type: "panel_event",
7169
- event_type: `${PANEL_ID$1}:toggle-section`
7988
+ event_type: `${PANEL_ID$2}:toggle-section`
7170
7989
  }
7171
7990
  };
7172
7991
  const selectProjectRepositoryTool = {
@@ -7196,7 +8015,7 @@ const selectProjectRepositoryTool = {
7196
8015
  tags: ["select", "projects", "github", "repository"],
7197
8016
  tool_call_template: {
7198
8017
  call_template_type: "panel_event",
7199
- event_type: `${PANEL_ID$1}:select-repository`
8018
+ event_type: `${PANEL_ID$2}:select-repository`
7200
8019
  }
7201
8020
  };
7202
8021
  const cloneProjectRepositoryTool = {
@@ -7226,7 +8045,7 @@ const cloneProjectRepositoryTool = {
7226
8045
  tags: ["clone", "projects", "github", "repository"],
7227
8046
  tool_call_template: {
7228
8047
  call_template_type: "panel_event",
7229
- event_type: `${PANEL_ID$1}:clone-repository`
8048
+ event_type: `${PANEL_ID$2}:clone-repository`
7230
8049
  }
7231
8050
  };
7232
8051
  const githubProjectsPanelTools = [
@@ -7236,12 +8055,12 @@ const githubProjectsPanelTools = [
7236
8055
  cloneProjectRepositoryTool
7237
8056
  ];
7238
8057
  const githubProjectsPanelToolsMetadata = {
7239
- id: PANEL_ID$1,
8058
+ id: PANEL_ID$2,
7240
8059
  name: "GitHub Projects Panel",
7241
8060
  description: "Tools for browsing and managing your GitHub repositories and organization repositories",
7242
8061
  tools: githubProjectsPanelTools
7243
8062
  };
7244
- const PANEL_ID = "industry-theme.user-profile";
8063
+ const PANEL_ID$1 = "industry-theme.user-profile";
7245
8064
  const viewOrganizationsTool = {
7246
8065
  name: "view_user_organizations",
7247
8066
  description: "Switch to the organizations tab to view the user's GitHub organizations",
@@ -7260,7 +8079,7 @@ const viewOrganizationsTool = {
7260
8079
  tags: ["view", "organizations", "user"],
7261
8080
  tool_call_template: {
7262
8081
  call_template_type: "panel_event",
7263
- event_type: `${PANEL_ID}:set-view`
8082
+ event_type: `${PANEL_ID$1}:set-view`
7264
8083
  }
7265
8084
  };
7266
8085
  const viewStarredTool = {
@@ -7281,7 +8100,7 @@ const viewStarredTool = {
7281
8100
  tags: ["view", "starred", "repositories", "user"],
7282
8101
  tool_call_template: {
7283
8102
  call_template_type: "panel_event",
7284
- event_type: `${PANEL_ID}:set-view`
8103
+ event_type: `${PANEL_ID$1}:set-view`
7285
8104
  }
7286
8105
  };
7287
8106
  const selectOrganizationTool = {
@@ -7307,7 +8126,7 @@ const selectOrganizationTool = {
7307
8126
  tags: ["select", "organization", "navigation"],
7308
8127
  tool_call_template: {
7309
8128
  call_template_type: "panel_event",
7310
- event_type: `${PANEL_ID}:select-organization`
8129
+ event_type: `${PANEL_ID$1}:select-organization`
7311
8130
  }
7312
8131
  };
7313
8132
  const selectRepositoryTool = {
@@ -7337,7 +8156,7 @@ const selectRepositoryTool = {
7337
8156
  tags: ["select", "repository", "starred", "navigation"],
7338
8157
  tool_call_template: {
7339
8158
  call_template_type: "panel_event",
7340
- event_type: `${PANEL_ID}:select-repository`
8159
+ event_type: `${PANEL_ID$1}:select-repository`
7341
8160
  }
7342
8161
  };
7343
8162
  const cloneRepositoryTool = {
@@ -7367,7 +8186,7 @@ const cloneRepositoryTool = {
7367
8186
  tags: ["clone", "repository", "starred"],
7368
8187
  tool_call_template: {
7369
8188
  call_template_type: "panel_event",
7370
- event_type: `${PANEL_ID}:clone-repository`
8189
+ event_type: `${PANEL_ID$1}:clone-repository`
7371
8190
  }
7372
8191
  };
7373
8192
  const filterStarredTool = {
@@ -7393,7 +8212,7 @@ const filterStarredTool = {
7393
8212
  tags: ["filter", "search", "starred", "repositories"],
7394
8213
  tool_call_template: {
7395
8214
  call_template_type: "panel_event",
7396
- event_type: `${PANEL_ID}:filter-starred`
8215
+ event_type: `${PANEL_ID$1}:filter-starred`
7397
8216
  }
7398
8217
  };
7399
8218
  const userProfilePanelTools = [
@@ -7405,11 +8224,240 @@ const userProfilePanelTools = [
7405
8224
  filterStarredTool
7406
8225
  ];
7407
8226
  const userProfilePanelToolsMetadata = {
7408
- id: PANEL_ID,
8227
+ id: PANEL_ID$1,
7409
8228
  name: "User Profile Panel",
7410
8229
  description: "Tools for viewing user profiles, their organizations, and starred repositories",
7411
8230
  tools: userProfilePanelTools
7412
8231
  };
8232
+ const PANEL_ID = "industry-theme.user-collections";
8233
+ const filterCollectionsTool = {
8234
+ name: "filter_collections",
8235
+ description: "Filter the collections list by collection name or description",
8236
+ inputs: {
8237
+ type: "object",
8238
+ properties: {
8239
+ filter: {
8240
+ type: "string",
8241
+ description: "Search term to filter collections (matches collection name or description)"
8242
+ }
8243
+ },
8244
+ required: ["filter"]
8245
+ },
8246
+ outputs: {
8247
+ type: "object",
8248
+ properties: {
8249
+ success: { type: "boolean" },
8250
+ message: { type: "string" }
8251
+ }
8252
+ },
8253
+ tags: ["filter", "search", "collections"],
8254
+ tool_call_template: {
8255
+ call_template_type: "panel_event",
8256
+ event_type: `${PANEL_ID}:filter`
8257
+ }
8258
+ };
8259
+ const selectCollectionTool = {
8260
+ name: "select_collection",
8261
+ description: "Select a collection by its ID to view its repositories",
8262
+ inputs: {
8263
+ type: "object",
8264
+ properties: {
8265
+ collectionId: {
8266
+ type: "string",
8267
+ description: "The collection ID to select"
8268
+ }
8269
+ },
8270
+ required: ["collectionId"]
8271
+ },
8272
+ outputs: {
8273
+ type: "object",
8274
+ properties: {
8275
+ success: { type: "boolean" },
8276
+ selectedCollection: { type: "string" }
8277
+ }
8278
+ },
8279
+ tags: ["select", "collection", "navigation"],
8280
+ tool_call_template: {
8281
+ call_template_type: "panel_event",
8282
+ event_type: `${PANEL_ID}:select-collection`
8283
+ }
8284
+ };
8285
+ const createCollectionTool = {
8286
+ name: "create_collection",
8287
+ description: "Create a new collection with the specified name and optional description",
8288
+ inputs: {
8289
+ type: "object",
8290
+ properties: {
8291
+ name: {
8292
+ type: "string",
8293
+ description: "The name for the new collection"
8294
+ },
8295
+ description: {
8296
+ type: "string",
8297
+ description: "Optional description for the collection"
8298
+ }
8299
+ },
8300
+ required: ["name"]
8301
+ },
8302
+ outputs: {
8303
+ type: "object",
8304
+ properties: {
8305
+ success: { type: "boolean" },
8306
+ collectionId: { type: "string" },
8307
+ message: { type: "string" }
8308
+ }
8309
+ },
8310
+ tags: ["create", "collection", "new"],
8311
+ tool_call_template: {
8312
+ call_template_type: "panel_event",
8313
+ event_type: `${PANEL_ID}:create-collection`
8314
+ }
8315
+ };
8316
+ const deleteCollectionTool = {
8317
+ name: "delete_collection",
8318
+ description: "Delete a collection by its ID",
8319
+ inputs: {
8320
+ type: "object",
8321
+ properties: {
8322
+ collectionId: {
8323
+ type: "string",
8324
+ description: "The collection ID to delete"
8325
+ }
8326
+ },
8327
+ required: ["collectionId"]
8328
+ },
8329
+ outputs: {
8330
+ type: "object",
8331
+ properties: {
8332
+ success: { type: "boolean" },
8333
+ message: { type: "string" }
8334
+ }
8335
+ },
8336
+ tags: ["delete", "collection", "remove"],
8337
+ tool_call_template: {
8338
+ call_template_type: "panel_event",
8339
+ event_type: `${PANEL_ID}:delete-collection`
8340
+ }
8341
+ };
8342
+ const addRepositoryTool = {
8343
+ name: "add_repository_to_collection",
8344
+ description: "Add a repository to a collection by specifying the collection ID and repository identifier (owner/repo format)",
8345
+ inputs: {
8346
+ type: "object",
8347
+ properties: {
8348
+ collectionId: {
8349
+ type: "string",
8350
+ description: "The collection ID to add the repository to"
8351
+ },
8352
+ repositoryId: {
8353
+ type: "string",
8354
+ description: 'The repository identifier in owner/repo format (e.g., "facebook/react")'
8355
+ }
8356
+ },
8357
+ required: ["collectionId", "repositoryId"]
8358
+ },
8359
+ outputs: {
8360
+ type: "object",
8361
+ properties: {
8362
+ success: { type: "boolean" },
8363
+ message: { type: "string" }
8364
+ }
8365
+ },
8366
+ tags: ["add", "repository", "collection"],
8367
+ tool_call_template: {
8368
+ call_template_type: "panel_event",
8369
+ event_type: `${PANEL_ID}:add-repository`
8370
+ }
8371
+ };
8372
+ const removeRepositoryTool = {
8373
+ name: "remove_repository_from_collection",
8374
+ description: "Remove a repository from a collection",
8375
+ inputs: {
8376
+ type: "object",
8377
+ properties: {
8378
+ collectionId: {
8379
+ type: "string",
8380
+ description: "The collection ID to remove the repository from"
8381
+ },
8382
+ repositoryId: {
8383
+ type: "string",
8384
+ description: "The repository identifier in owner/repo format"
8385
+ }
8386
+ },
8387
+ required: ["collectionId", "repositoryId"]
8388
+ },
8389
+ outputs: {
8390
+ type: "object",
8391
+ properties: {
8392
+ success: { type: "boolean" },
8393
+ message: { type: "string" }
8394
+ }
8395
+ },
8396
+ tags: ["remove", "repository", "collection"],
8397
+ tool_call_template: {
8398
+ call_template_type: "panel_event",
8399
+ event_type: `${PANEL_ID}:remove-repository`
8400
+ }
8401
+ };
8402
+ const enableGitHubSyncTool = {
8403
+ name: "enable_github_sync",
8404
+ description: "Enable GitHub sync to persist collections to a web-ade-collections repository",
8405
+ inputs: {
8406
+ type: "object",
8407
+ properties: {},
8408
+ required: []
8409
+ },
8410
+ outputs: {
8411
+ type: "object",
8412
+ properties: {
8413
+ success: { type: "boolean" },
8414
+ repoUrl: { type: "string" },
8415
+ message: { type: "string" }
8416
+ }
8417
+ },
8418
+ tags: ["github", "sync", "enable"],
8419
+ tool_call_template: {
8420
+ call_template_type: "panel_event",
8421
+ event_type: `${PANEL_ID}:enable-github-sync`
8422
+ }
8423
+ };
8424
+ const refreshCollectionsTool = {
8425
+ name: "refresh_collections",
8426
+ description: "Refresh collections from GitHub to get the latest data",
8427
+ inputs: {
8428
+ type: "object",
8429
+ properties: {},
8430
+ required: []
8431
+ },
8432
+ outputs: {
8433
+ type: "object",
8434
+ properties: {
8435
+ success: { type: "boolean" },
8436
+ message: { type: "string" }
8437
+ }
8438
+ },
8439
+ tags: ["refresh", "collections", "sync"],
8440
+ tool_call_template: {
8441
+ call_template_type: "panel_event",
8442
+ event_type: `${PANEL_ID}:refresh-collections`
8443
+ }
8444
+ };
8445
+ const userCollectionsPanelTools = [
8446
+ filterCollectionsTool,
8447
+ selectCollectionTool,
8448
+ createCollectionTool,
8449
+ deleteCollectionTool,
8450
+ addRepositoryTool,
8451
+ removeRepositoryTool,
8452
+ enableGitHubSyncTool,
8453
+ refreshCollectionsTool
8454
+ ];
8455
+ const userCollectionsPanelToolsMetadata = {
8456
+ id: PANEL_ID,
8457
+ name: "User Collections Panel",
8458
+ description: "Tools for browsing and managing user repository collections",
8459
+ tools: userCollectionsPanelTools
8460
+ };
7413
8461
  const panels = [
7414
8462
  {
7415
8463
  metadata: {
@@ -7560,6 +8608,28 @@ const panels = [
7560
8608
  onUnmount: async (_context) => {
7561
8609
  console.log("User Profile Panel unmounting");
7562
8610
  }
8611
+ },
8612
+ {
8613
+ metadata: {
8614
+ id: "industry-theme.user-collections",
8615
+ name: "Collections",
8616
+ icon: "FolderOpen",
8617
+ version: "0.1.0",
8618
+ author: "Industry Theme",
8619
+ description: "Organize repositories into collections that sync to GitHub",
8620
+ slices: ["userCollections"],
8621
+ tools: userCollectionsPanelTools
8622
+ },
8623
+ component: UserCollectionsPanel,
8624
+ onMount: async (context) => {
8625
+ console.log("User Collections Panel mounted");
8626
+ if (context.hasSlice("userCollections") && !context.isSliceLoading("userCollections")) {
8627
+ await context.refresh(void 0, "userCollections");
8628
+ }
8629
+ },
8630
+ onUnmount: async (_context) => {
8631
+ console.log("User Collections Panel unmounting");
8632
+ }
7563
8633
  }
7564
8634
  ];
7565
8635
  const onPackageLoad = async () => {
@@ -7578,6 +8648,8 @@ export {
7578
8648
  LocalProjectsPanel,
7579
8649
  LocalProjectsPanelPreview,
7580
8650
  RepositoryAvatar,
8651
+ UserCollectionsPanel,
8652
+ UserCollectionsPanelPreview,
7581
8653
  UserProfilePanel,
7582
8654
  UserProfilePanelPreview,
7583
8655
  WorkspaceCard,
@@ -7586,10 +8658,15 @@ export {
7586
8658
  WorkspaceRepositoriesPanel,
7587
8659
  WorkspacesListPanel,
7588
8660
  WorkspacesListPanelPreview,
8661
+ addRepositoryTool as addCollectionRepositoryTool,
7589
8662
  cloneProjectRepositoryTool,
7590
8663
  cloneStarredRepositoryTool,
7591
8664
  cloneRepositoryTool as cloneUserRepositoryTool,
8665
+ createCollectionTool,
7592
8666
  createWorkspaceTool,
8667
+ deleteCollectionTool,
8668
+ enableGitHubSyncTool,
8669
+ filterCollectionsTool,
7593
8670
  filterProjectsTool as filterGitHubProjectsTool,
7594
8671
  filterProjectsTool$1 as filterProjectsTool,
7595
8672
  filterRepositoriesTool,
@@ -7609,10 +8686,13 @@ export {
7609
8686
  openRepositoryTool,
7610
8687
  openWorkspaceTool,
7611
8688
  panels,
8689
+ refreshCollectionsTool,
7612
8690
  refreshWorkspaceCollectionTool,
7613
8691
  refreshWorkspaceTool,
7614
- removeRepositoryTool,
8692
+ removeRepositoryTool as removeCollectionRepositoryTool,
8693
+ removeRepositoryTool$1 as removeRepositoryTool,
7615
8694
  selectRepositoryTool$1 as selectCollectionRepositoryTool,
8695
+ selectCollectionTool,
7616
8696
  selectOrganizationTool,
7617
8697
  selectProjectRepositoryTool,
7618
8698
  selectProjectTool,
@@ -7621,6 +8701,8 @@ export {
7621
8701
  selectRepositoryTool as selectUserRepositoryTool,
7622
8702
  selectWorkspaceTool,
7623
8703
  toggleOwnerSectionTool,
8704
+ userCollectionsPanelTools,
8705
+ userCollectionsPanelToolsMetadata,
7624
8706
  userProfilePanelTools,
7625
8707
  userProfilePanelToolsMetadata,
7626
8708
  viewOrganizationsTool,