@industry-theme/github-panels 0.1.33 → 0.1.35

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.
@@ -1,4 +1,4 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
1
+ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
2
  import React2, { createContext, useContext, forwardRef, createElement, useState, useRef, useEffect, useCallback, useMemo } from "react";
3
3
  var ThemeContext;
4
4
  var getThemeContext = () => {
@@ -128,55 +128,7 @@ const createLucideIcon = (iconName, iconNode) => {
128
128
  * This source code is licensed under the ISC license.
129
129
  * See the LICENSE file in the root directory of this source tree.
130
130
  */
131
- const __iconNode$C = [
132
- ["path", { d: "M5 12h14", key: "1ays0h" }],
133
- ["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
134
- ];
135
- const ArrowRight = createLucideIcon("arrow-right", __iconNode$C);
136
- /**
137
- * @license lucide-react v0.552.0 - ISC
138
- *
139
- * This source code is licensed under the ISC license.
140
- * See the LICENSE file in the root directory of this source tree.
141
- */
142
- const __iconNode$B = [
143
- ["path", { d: "m21 16-4 4-4-4", key: "f6ql7i" }],
144
- ["path", { d: "M17 20V4", key: "1ejh1v" }],
145
- ["path", { d: "m3 8 4-4 4 4", key: "11wl7u" }],
146
- ["path", { d: "M7 4v16", key: "1glfcx" }]
147
- ];
148
- const ArrowUpDown = createLucideIcon("arrow-up-down", __iconNode$B);
149
- /**
150
- * @license lucide-react v0.552.0 - ISC
151
- *
152
- * This source code is licensed under the ISC license.
153
- * See the LICENSE file in the root directory of this source tree.
154
- */
155
- const __iconNode$A = [
156
- ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
157
- [
158
- "path",
159
- {
160
- d: "M20.2 20.2c2.04-2.03.02-7.36-4.5-11.9-4.54-4.52-9.87-6.54-11.9-4.5-2.04 2.03-.02 7.36 4.5 11.9 4.54 4.52 9.87 6.54 11.9 4.5Z",
161
- key: "1l2ple"
162
- }
163
- ],
164
- [
165
- "path",
166
- {
167
- d: "M15.7 15.7c4.52-4.54 6.54-9.87 4.5-11.9-2.03-2.04-7.36-.02-11.9 4.5-4.52 4.54-6.54 9.87-4.5 11.9 2.03 2.04 7.36.02 11.9-4.5Z",
168
- key: "1wam0m"
169
- }
170
- ]
171
- ];
172
- const Atom = createLucideIcon("atom", __iconNode$A);
173
- /**
174
- * @license lucide-react v0.552.0 - ISC
175
- *
176
- * This source code is licensed under the ISC license.
177
- * See the LICENSE file in the root directory of this source tree.
178
- */
179
- const __iconNode$z = [
131
+ const __iconNode$o = [
180
132
  ["path", { d: "M12 7v14", key: "1akyts" }],
181
133
  [
182
134
  "path",
@@ -186,32 +138,14 @@ const __iconNode$z = [
186
138
  }
187
139
  ]
188
140
  ];
189
- const BookOpen = createLucideIcon("book-open", __iconNode$z);
141
+ const BookOpen = createLucideIcon("book-open", __iconNode$o);
190
142
  /**
191
143
  * @license lucide-react v0.552.0 - ISC
192
144
  *
193
145
  * This source code is licensed under the ISC license.
194
146
  * See the LICENSE file in the root directory of this source tree.
195
147
  */
196
- const __iconNode$y = [
197
- [
198
- "path",
199
- {
200
- d: "M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",
201
- key: "hh9hay"
202
- }
203
- ],
204
- ["path", { d: "m3.3 7 8.7 5 8.7-5", key: "g66t2b" }],
205
- ["path", { d: "M12 22V12", key: "d0xqtd" }]
206
- ];
207
- const Box = createLucideIcon("box", __iconNode$y);
208
- /**
209
- * @license lucide-react v0.552.0 - ISC
210
- *
211
- * This source code is licensed under the ISC license.
212
- * See the LICENSE file in the root directory of this source tree.
213
- */
214
- const __iconNode$x = [
148
+ const __iconNode$n = [
215
149
  ["path", { d: "M10 12h4", key: "a56b0p" }],
216
150
  ["path", { d: "M10 8h4", key: "1sr2af" }],
217
151
  ["path", { d: "M14 21v-3a2 2 0 0 0-4 0v3", key: "1rgiei" }],
@@ -224,162 +158,89 @@ const __iconNode$x = [
224
158
  ],
225
159
  ["path", { d: "M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16", key: "16ra0t" }]
226
160
  ];
227
- const Building2 = createLucideIcon("building-2", __iconNode$x);
161
+ const Building2 = createLucideIcon("building-2", __iconNode$n);
228
162
  /**
229
163
  * @license lucide-react v0.552.0 - ISC
230
164
  *
231
165
  * This source code is licensed under the ISC license.
232
166
  * See the LICENSE file in the root directory of this source tree.
233
167
  */
234
- const __iconNode$w = [
168
+ const __iconNode$m = [
235
169
  ["path", { d: "M8 2v4", key: "1cmpym" }],
236
170
  ["path", { d: "M16 2v4", key: "4m81vk" }],
237
171
  ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
238
172
  ["path", { d: "M3 10h18", key: "8toen8" }]
239
173
  ];
240
- const Calendar = createLucideIcon("calendar", __iconNode$w);
174
+ const Calendar = createLucideIcon("calendar", __iconNode$m);
241
175
  /**
242
176
  * @license lucide-react v0.552.0 - ISC
243
177
  *
244
178
  * This source code is licensed under the ISC license.
245
179
  * See the LICENSE file in the root directory of this source tree.
246
180
  */
247
- const __iconNode$v = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
248
- const ChevronDown = createLucideIcon("chevron-down", __iconNode$v);
181
+ const __iconNode$l = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
182
+ const ChevronDown = createLucideIcon("chevron-down", __iconNode$l);
249
183
  /**
250
184
  * @license lucide-react v0.552.0 - ISC
251
185
  *
252
186
  * This source code is licensed under the ISC license.
253
187
  * See the LICENSE file in the root directory of this source tree.
254
188
  */
255
- const __iconNode$u = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
256
- const ChevronRight = createLucideIcon("chevron-right", __iconNode$u);
189
+ const __iconNode$k = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
190
+ const ChevronRight = createLucideIcon("chevron-right", __iconNode$k);
257
191
  /**
258
192
  * @license lucide-react v0.552.0 - ISC
259
193
  *
260
194
  * This source code is licensed under the ISC license.
261
195
  * See the LICENSE file in the root directory of this source tree.
262
196
  */
263
- const __iconNode$t = [
197
+ const __iconNode$j = [
264
198
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
265
199
  ["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
266
200
  ["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
267
201
  ];
268
- const CircleAlert = createLucideIcon("circle-alert", __iconNode$t);
202
+ const CircleAlert = createLucideIcon("circle-alert", __iconNode$j);
269
203
  /**
270
204
  * @license lucide-react v0.552.0 - ISC
271
205
  *
272
206
  * This source code is licensed under the ISC license.
273
207
  * See the LICENSE file in the root directory of this source tree.
274
208
  */
275
- const __iconNode$s = [
209
+ const __iconNode$i = [
276
210
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
277
211
  ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
278
212
  ];
279
- const CircleCheck = createLucideIcon("circle-check", __iconNode$s);
213
+ const CircleCheck = createLucideIcon("circle-check", __iconNode$i);
280
214
  /**
281
215
  * @license lucide-react v0.552.0 - ISC
282
216
  *
283
217
  * This source code is licensed under the ISC license.
284
218
  * See the LICENSE file in the root directory of this source tree.
285
219
  */
286
- const __iconNode$r = [
287
- ["path", { d: "m16 18 6-6-6-6", key: "eg8j8" }],
288
- ["path", { d: "m8 6-6 6 6 6", key: "ppft3o" }]
289
- ];
290
- const Code = createLucideIcon("code", __iconNode$r);
291
- /**
292
- * @license lucide-react v0.552.0 - ISC
293
- *
294
- * This source code is licensed under the ISC license.
295
- * See the LICENSE file in the root directory of this source tree.
296
- */
297
- const __iconNode$q = [
298
- ["path", { d: "M11 10.27 7 3.34", key: "16pf9h" }],
299
- ["path", { d: "m11 13.73-4 6.93", key: "794ttg" }],
300
- ["path", { d: "M12 22v-2", key: "1osdcq" }],
301
- ["path", { d: "M12 2v2", key: "tus03m" }],
302
- ["path", { d: "M14 12h8", key: "4f43i9" }],
303
- ["path", { d: "m17 20.66-1-1.73", key: "eq3orb" }],
304
- ["path", { d: "m17 3.34-1 1.73", key: "2wel8s" }],
305
- ["path", { d: "M2 12h2", key: "1t8f8n" }],
306
- ["path", { d: "m20.66 17-1.73-1", key: "sg0v6f" }],
307
- ["path", { d: "m20.66 7-1.73 1", key: "1ow05n" }],
308
- ["path", { d: "m3.34 17 1.73-1", key: "nuk764" }],
309
- ["path", { d: "m3.34 7 1.73 1", key: "1ulond" }],
310
- ["circle", { cx: "12", cy: "12", r: "2", key: "1c9p78" }],
311
- ["circle", { cx: "12", cy: "12", r: "8", key: "46899m" }]
312
- ];
313
- const Cog = createLucideIcon("cog", __iconNode$q);
314
- /**
315
- * @license lucide-react v0.552.0 - ISC
316
- *
317
- * This source code is licensed under the ISC license.
318
- * See the LICENSE file in the root directory of this source tree.
319
- */
320
- const __iconNode$p = [
220
+ const __iconNode$h = [
321
221
  ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
322
222
  ["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" }]
323
223
  ];
324
- const Copy = createLucideIcon("copy", __iconNode$p);
325
- /**
326
- * @license lucide-react v0.552.0 - ISC
327
- *
328
- * This source code is licensed under the ISC license.
329
- * See the LICENSE file in the root directory of this source tree.
330
- */
331
- const __iconNode$o = [
332
- ["path", { d: "M12 20v2", key: "1lh1kg" }],
333
- ["path", { d: "M12 2v2", key: "tus03m" }],
334
- ["path", { d: "M17 20v2", key: "1rnc9c" }],
335
- ["path", { d: "M17 2v2", key: "11trls" }],
336
- ["path", { d: "M2 12h2", key: "1t8f8n" }],
337
- ["path", { d: "M2 17h2", key: "7oei6x" }],
338
- ["path", { d: "M2 7h2", key: "asdhe0" }],
339
- ["path", { d: "M20 12h2", key: "1q8mjw" }],
340
- ["path", { d: "M20 17h2", key: "1fpfkl" }],
341
- ["path", { d: "M20 7h2", key: "1o8tra" }],
342
- ["path", { d: "M7 20v2", key: "4gnj0m" }],
343
- ["path", { d: "M7 2v2", key: "1i4yhu" }],
344
- ["rect", { x: "4", y: "4", width: "16", height: "16", rx: "2", key: "1vbyd7" }],
345
- ["rect", { x: "8", y: "8", width: "8", height: "8", rx: "1", key: "z9xiuo" }]
346
- ];
347
- const Cpu = createLucideIcon("cpu", __iconNode$o);
224
+ const Copy = createLucideIcon("copy", __iconNode$h);
348
225
  /**
349
226
  * @license lucide-react v0.552.0 - ISC
350
227
  *
351
228
  * This source code is licensed under the ISC license.
352
229
  * See the LICENSE file in the root directory of this source tree.
353
230
  */
354
- const __iconNode$n = [
231
+ const __iconNode$g = [
355
232
  ["path", { d: "M15 3h6v6", key: "1q9fwt" }],
356
233
  ["path", { d: "M10 14 21 3", key: "gplh6r" }],
357
234
  ["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
358
235
  ];
359
- const ExternalLink = createLucideIcon("external-link", __iconNode$n);
360
- /**
361
- * @license lucide-react v0.552.0 - ISC
362
- *
363
- * This source code is licensed under the ISC license.
364
- * See the LICENSE file in the root directory of this source tree.
365
- */
366
- const __iconNode$m = [
367
- [
368
- "path",
369
- {
370
- d: "m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",
371
- key: "usdka0"
372
- }
373
- ]
374
- ];
375
- const FolderOpen = createLucideIcon("folder-open", __iconNode$m);
236
+ const ExternalLink = createLucideIcon("external-link", __iconNode$g);
376
237
  /**
377
238
  * @license lucide-react v0.552.0 - ISC
378
239
  *
379
240
  * This source code is licensed under the ISC license.
380
241
  * See the LICENSE file in the root directory of this source tree.
381
242
  */
382
- const __iconNode$l = [
243
+ const __iconNode$f = [
383
244
  [
384
245
  "path",
385
246
  {
@@ -388,44 +249,28 @@ const __iconNode$l = [
388
249
  }
389
250
  ]
390
251
  ];
391
- const Folder = createLucideIcon("folder", __iconNode$l);
392
- /**
393
- * @license lucide-react v0.552.0 - ISC
394
- *
395
- * This source code is licensed under the ISC license.
396
- * See the LICENSE file in the root directory of this source tree.
397
- */
398
- const __iconNode$k = [
399
- [
400
- "path",
401
- {
402
- d: "M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",
403
- key: "sc7q7i"
404
- }
405
- ]
406
- ];
407
- const Funnel = createLucideIcon("funnel", __iconNode$k);
252
+ const Folder = createLucideIcon("folder", __iconNode$f);
408
253
  /**
409
254
  * @license lucide-react v0.552.0 - ISC
410
255
  *
411
256
  * This source code is licensed under the ISC license.
412
257
  * See the LICENSE file in the root directory of this source tree.
413
258
  */
414
- const __iconNode$j = [
259
+ const __iconNode$e = [
415
260
  ["circle", { cx: "12", cy: "18", r: "3", key: "1mpf1b" }],
416
261
  ["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }],
417
262
  ["circle", { cx: "18", cy: "6", r: "3", key: "1h7g24" }],
418
263
  ["path", { d: "M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9", key: "1uq4wg" }],
419
264
  ["path", { d: "M12 12v3", key: "158kv8" }]
420
265
  ];
421
- const GitFork = createLucideIcon("git-fork", __iconNode$j);
266
+ const GitFork = createLucideIcon("git-fork", __iconNode$e);
422
267
  /**
423
268
  * @license lucide-react v0.552.0 - ISC
424
269
  *
425
270
  * This source code is licensed under the ISC license.
426
271
  * See the LICENSE file in the root directory of this source tree.
427
272
  */
428
- const __iconNode$i = [
273
+ const __iconNode$d = [
429
274
  [
430
275
  "path",
431
276
  {
@@ -435,87 +280,57 @@ const __iconNode$i = [
435
280
  ],
436
281
  ["path", { d: "M9 18c-4.51 2-5-2-7-2", key: "9comsn" }]
437
282
  ];
438
- const Github = createLucideIcon("github", __iconNode$i);
283
+ const Github = createLucideIcon("github", __iconNode$d);
439
284
  /**
440
285
  * @license lucide-react v0.552.0 - ISC
441
286
  *
442
287
  * This source code is licensed under the ISC license.
443
288
  * See the LICENSE file in the root directory of this source tree.
444
289
  */
445
- const __iconNode$h = [
290
+ const __iconNode$c = [
446
291
  ["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
447
292
  ["path", { d: "M3 3v5h5", key: "1xhq8a" }],
448
293
  ["path", { d: "M12 7v5l4 2", key: "1fdv2h" }]
449
294
  ];
450
- const History = createLucideIcon("history", __iconNode$h);
451
- /**
452
- * @license lucide-react v0.552.0 - ISC
453
- *
454
- * This source code is licensed under the ISC license.
455
- * See the LICENSE file in the root directory of this source tree.
456
- */
457
- const __iconNode$g = [
458
- [
459
- "path",
460
- {
461
- d: "M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",
462
- key: "zw3jo"
463
- }
464
- ],
465
- [
466
- "path",
467
- {
468
- d: "M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",
469
- key: "1wduqc"
470
- }
471
- ],
472
- [
473
- "path",
474
- {
475
- d: "M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",
476
- key: "kqbvx6"
477
- }
478
- ]
479
- ];
480
- const Layers = createLucideIcon("layers", __iconNode$g);
295
+ const History = createLucideIcon("history", __iconNode$c);
481
296
  /**
482
297
  * @license lucide-react v0.552.0 - ISC
483
298
  *
484
299
  * This source code is licensed under the ISC license.
485
300
  * See the LICENSE file in the root directory of this source tree.
486
301
  */
487
- const __iconNode$f = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
488
- const LoaderCircle = createLucideIcon("loader-circle", __iconNode$f);
302
+ const __iconNode$b = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
303
+ const LoaderCircle = createLucideIcon("loader-circle", __iconNode$b);
489
304
  /**
490
305
  * @license lucide-react v0.552.0 - ISC
491
306
  *
492
307
  * This source code is licensed under the ISC license.
493
308
  * See the LICENSE file in the root directory of this source tree.
494
309
  */
495
- const __iconNode$e = [
310
+ const __iconNode$a = [
496
311
  ["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
497
312
  ["path", { d: "M7 11V7a5 5 0 0 1 10 0v4", key: "fwvmzm" }]
498
313
  ];
499
- const Lock = createLucideIcon("lock", __iconNode$e);
314
+ const Lock = createLucideIcon("lock", __iconNode$a);
500
315
  /**
501
316
  * @license lucide-react v0.552.0 - ISC
502
317
  *
503
318
  * This source code is licensed under the ISC license.
504
319
  * See the LICENSE file in the root directory of this source tree.
505
320
  */
506
- const __iconNode$d = [
321
+ const __iconNode$9 = [
507
322
  ["path", { d: "m10 17 5-5-5-5", key: "1bsop3" }],
508
323
  ["path", { d: "M15 12H3", key: "6jk70r" }],
509
324
  ["path", { d: "M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4", key: "u53s6r" }]
510
325
  ];
511
- const LogIn = createLucideIcon("log-in", __iconNode$d);
326
+ const LogIn = createLucideIcon("log-in", __iconNode$9);
512
327
  /**
513
328
  * @license lucide-react v0.552.0 - ISC
514
329
  *
515
330
  * This source code is licensed under the ISC license.
516
331
  * See the LICENSE file in the root directory of this source tree.
517
332
  */
518
- const __iconNode$c = [
333
+ const __iconNode$8 = [
519
334
  [
520
335
  "path",
521
336
  {
@@ -524,85 +339,52 @@ const __iconNode$c = [
524
339
  }
525
340
  ]
526
341
  ];
527
- const MessageSquare = createLucideIcon("message-square", __iconNode$c);
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$b = [
535
- ["rect", { x: "16", y: "16", width: "6", height: "6", rx: "1", key: "4q2zg0" }],
536
- ["rect", { x: "2", y: "16", width: "6", height: "6", rx: "1", key: "8cvhb9" }],
537
- ["rect", { x: "9", y: "2", width: "6", height: "6", rx: "1", key: "1egb70" }],
538
- ["path", { d: "M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3", key: "1jsf9p" }],
539
- ["path", { d: "M12 12V8", key: "2874zd" }]
540
- ];
541
- const Network = createLucideIcon("network", __iconNode$b);
342
+ const MessageSquare = createLucideIcon("message-square", __iconNode$8);
542
343
  /**
543
344
  * @license lucide-react v0.552.0 - ISC
544
345
  *
545
346
  * This source code is licensed under the ISC license.
546
347
  * See the LICENSE file in the root directory of this source tree.
547
348
  */
548
- const __iconNode$a = [
349
+ const __iconNode$7 = [
549
350
  ["path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8", key: "v9h5vc" }],
550
351
  ["path", { d: "M21 3v5h-5", key: "1q7to0" }],
551
352
  ["path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16", key: "3uifl3" }],
552
353
  ["path", { d: "M8 16H3v5", key: "1cv678" }]
553
354
  ];
554
- const RefreshCw = createLucideIcon("refresh-cw", __iconNode$a);
355
+ const RefreshCw = createLucideIcon("refresh-cw", __iconNode$7);
555
356
  /**
556
357
  * @license lucide-react v0.552.0 - ISC
557
358
  *
558
359
  * This source code is licensed under the ISC license.
559
360
  * See the LICENSE file in the root directory of this source tree.
560
361
  */
561
- const __iconNode$9 = [
362
+ const __iconNode$6 = [
562
363
  ["path", { d: "m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z", key: "7g6ntu" }],
563
364
  ["path", { d: "m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z", key: "ijws7r" }],
564
365
  ["path", { d: "M7 21h10", key: "1b0cd5" }],
565
366
  ["path", { d: "M12 3v18", key: "108xh3" }],
566
367
  ["path", { d: "M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2", key: "3gwbw2" }]
567
368
  ];
568
- const Scale = createLucideIcon("scale", __iconNode$9);
369
+ const Scale = createLucideIcon("scale", __iconNode$6);
569
370
  /**
570
371
  * @license lucide-react v0.552.0 - ISC
571
372
  *
572
373
  * This source code is licensed under the ISC license.
573
374
  * See the LICENSE file in the root directory of this source tree.
574
375
  */
575
- const __iconNode$8 = [
376
+ const __iconNode$5 = [
576
377
  ["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
577
378
  ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
578
379
  ];
579
- const Search = createLucideIcon("search", __iconNode$8);
580
- /**
581
- * @license lucide-react v0.552.0 - ISC
582
- *
583
- * This source code is licensed under the ISC license.
584
- * See the LICENSE file in the root directory of this source tree.
585
- */
586
- const __iconNode$7 = [
587
- [
588
- "path",
589
- {
590
- d: "M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",
591
- key: "1s2grr"
592
- }
593
- ],
594
- ["path", { d: "M20 2v4", key: "1rf3ol" }],
595
- ["path", { d: "M22 4h-4", key: "gwowj6" }],
596
- ["circle", { cx: "4", cy: "20", r: "2", key: "6kqj1y" }]
597
- ];
598
- const Sparkles = createLucideIcon("sparkles", __iconNode$7);
380
+ const Search = createLucideIcon("search", __iconNode$5);
599
381
  /**
600
382
  * @license lucide-react v0.552.0 - ISC
601
383
  *
602
384
  * This source code is licensed under the ISC license.
603
385
  * See the LICENSE file in the root directory of this source tree.
604
386
  */
605
- const __iconNode$6 = [
387
+ const __iconNode$4 = [
606
388
  [
607
389
  "path",
608
390
  {
@@ -611,14 +393,14 @@ const __iconNode$6 = [
611
393
  }
612
394
  ]
613
395
  ];
614
- const Star = createLucideIcon("star", __iconNode$6);
396
+ const Star = createLucideIcon("star", __iconNode$4);
615
397
  /**
616
398
  * @license lucide-react v0.552.0 - ISC
617
399
  *
618
400
  * This source code is licensed under the ISC license.
619
401
  * See the LICENSE file in the root directory of this source tree.
620
402
  */
621
- const __iconNode$5 = [
403
+ const __iconNode$3 = [
622
404
  [
623
405
  "path",
624
406
  {
@@ -628,75 +410,43 @@ const __iconNode$5 = [
628
410
  ],
629
411
  ["circle", { cx: "7.5", cy: "7.5", r: ".5", fill: "currentColor", key: "kqv944" }]
630
412
  ];
631
- const Tag = createLucideIcon("tag", __iconNode$5);
413
+ const Tag = createLucideIcon("tag", __iconNode$3);
632
414
  /**
633
415
  * @license lucide-react v0.552.0 - ISC
634
416
  *
635
417
  * This source code is licensed under the ISC license.
636
418
  * See the LICENSE file in the root directory of this source tree.
637
419
  */
638
- const __iconNode$4 = [
420
+ const __iconNode$2 = [
639
421
  ["path", { d: "M10 11v6", key: "nco0om" }],
640
422
  ["path", { d: "M14 11v6", key: "outv1u" }],
641
423
  ["path", { d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6", key: "miytrc" }],
642
424
  ["path", { d: "M3 6h18", key: "d0wm0j" }],
643
425
  ["path", { d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2", key: "e791ji" }]
644
426
  ];
645
- const Trash2 = createLucideIcon("trash-2", __iconNode$4);
427
+ const Trash2 = createLucideIcon("trash-2", __iconNode$2);
646
428
  /**
647
429
  * @license lucide-react v0.552.0 - ISC
648
430
  *
649
431
  * This source code is licensed under the ISC license.
650
432
  * See the LICENSE file in the root directory of this source tree.
651
433
  */
652
- const __iconNode$3 = [
434
+ const __iconNode$1 = [
653
435
  ["path", { d: "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2", key: "975kel" }],
654
436
  ["circle", { cx: "12", cy: "7", r: "4", key: "17ys0d" }]
655
437
  ];
656
- const User = createLucideIcon("user", __iconNode$3);
657
- /**
658
- * @license lucide-react v0.552.0 - ISC
659
- *
660
- * This source code is licensed under the ISC license.
661
- * See the LICENSE file in the root directory of this source tree.
662
- */
663
- const __iconNode$2 = [
664
- [
665
- "path",
666
- {
667
- d: "M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",
668
- key: "1ngwbx"
669
- }
670
- ]
671
- ];
672
- const Wrench = createLucideIcon("wrench", __iconNode$2);
438
+ const User = createLucideIcon("user", __iconNode$1);
673
439
  /**
674
440
  * @license lucide-react v0.552.0 - ISC
675
441
  *
676
442
  * This source code is licensed under the ISC license.
677
443
  * See the LICENSE file in the root directory of this source tree.
678
444
  */
679
- const __iconNode$1 = [
445
+ const __iconNode = [
680
446
  ["path", { d: "M18 6 6 18", key: "1bl5f8" }],
681
447
  ["path", { d: "m6 6 12 12", key: "d8bk6v" }]
682
448
  ];
683
- const X = createLucideIcon("x", __iconNode$1);
684
- /**
685
- * @license lucide-react v0.552.0 - ISC
686
- *
687
- * This source code is licensed under the ISC license.
688
- * See the LICENSE file in the root directory of this source tree.
689
- */
690
- const __iconNode = [
691
- [
692
- "path",
693
- {
694
- d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",
695
- key: "1xq2db"
696
- }
697
- ]
698
- ];
699
- const Zap = createLucideIcon("zap", __iconNode);
449
+ const X = createLucideIcon("x", __iconNode);
700
450
  function getLanguageColor(language) {
701
451
  const colors = {
702
452
  TypeScript: "#3178c6",
@@ -2848,14 +2598,14 @@ const GitHubIssuesPanelMetadata = {
2848
2598
  const OwnerRepositoriesPanelContent = ({
2849
2599
  events,
2850
2600
  context,
2851
- owner: propOwner
2601
+ owner: propOwner,
2602
+ selectedRepository
2852
2603
  }) => {
2853
2604
  var _a, _b, _c, _d, _e, _f;
2854
2605
  const { theme } = useTheme();
2855
2606
  const [selectedRepoId, setSelectedRepoId] = useState(null);
2856
- const [sortField, setSortField] = useState("updated");
2857
- const [sortOrder, setSortOrder] = useState("desc");
2858
- const [languageFilter, setLanguageFilter] = useState(null);
2607
+ const [sortField, setSortField] = useState("name");
2608
+ const [sortOrder, setSortOrder] = useState("asc");
2859
2609
  const owner = propOwner || ((_b = (_a = context == null ? void 0 : context.currentScope) == null ? void 0 : _a.repository) == null ? void 0 : _b.name);
2860
2610
  const ownerSlice = context.getSlice("owner-repositories");
2861
2611
  const isLoading = context.isSliceLoading("owner-repositories");
@@ -2863,11 +2613,6 @@ const OwnerRepositoriesPanelContent = ({
2863
2613
  const repositories = ((_d = ownerSlice == null ? void 0 : ownerSlice.data) == null ? void 0 : _d.repositories) ?? [];
2864
2614
  const error = ((_e = ownerSlice == null ? void 0 : ownerSlice.data) == null ? void 0 : _e.error) ?? null;
2865
2615
  ((_f = ownerSlice == null ? void 0 : ownerSlice.data) == null ? void 0 : _f.isAuthenticated) ?? false;
2866
- const languages = React2.useMemo(() => {
2867
- return [...new Set(
2868
- repositories.map((r) => r.language).filter((lang) => lang !== null)
2869
- )].sort();
2870
- }, [repositories]);
2871
2616
  const handleRefresh = useCallback(() => {
2872
2617
  events.emit({
2873
2618
  type: "owner-repositories:refresh",
@@ -2886,30 +2631,46 @@ const OwnerRepositoriesPanelContent = ({
2886
2631
  });
2887
2632
  }
2888
2633
  }, [events, owner]);
2889
- const sortedAndFilteredRepos = React2.useMemo(() => {
2890
- let filtered = repositories;
2891
- if (languageFilter) {
2892
- filtered = filtered.filter((r) => r.language === languageFilter);
2634
+ useEffect(() => {
2635
+ if (selectedRepository && repositories.length > 0) {
2636
+ const repo = repositories.find((r) => r.full_name === selectedRepository);
2637
+ if (repo) {
2638
+ setSelectedRepoId(repo.id);
2639
+ }
2893
2640
  }
2894
- return [...filtered].sort((a, b) => {
2641
+ }, [selectedRepository, repositories]);
2642
+ useEffect(() => {
2643
+ const unsubscribe = events.on("repository:preview", (event) => {
2644
+ var _a2, _b2;
2645
+ const payload = event.payload;
2646
+ if ((_a2 = payload == null ? void 0 : payload.repository) == null ? void 0 : _a2.id) {
2647
+ setSelectedRepoId(payload.repository.id);
2648
+ } else if (((_b2 = payload == null ? void 0 : payload.repository) == null ? void 0 : _b2.full_name) && repositories.length > 0) {
2649
+ const repo = repositories.find((r) => {
2650
+ var _a3;
2651
+ return r.full_name === ((_a3 = payload.repository) == null ? void 0 : _a3.full_name);
2652
+ });
2653
+ if (repo) {
2654
+ setSelectedRepoId(repo.id);
2655
+ }
2656
+ }
2657
+ });
2658
+ return () => unsubscribe();
2659
+ }, [events, repositories]);
2660
+ const sortedRepos = React2.useMemo(() => {
2661
+ return [...repositories].sort((a, b) => {
2895
2662
  let comparison = 0;
2896
2663
  switch (sortField) {
2897
- case "updated":
2898
- comparison = new Date(b.updated_at || 0).getTime() - new Date(a.updated_at || 0).getTime();
2899
- break;
2900
- case "stars":
2901
- comparison = (b.stargazers_count || 0) - (a.stargazers_count || 0);
2902
- break;
2903
2664
  case "name":
2904
2665
  comparison = a.name.localeCompare(b.name);
2905
2666
  break;
2906
- case "created":
2907
- comparison = new Date(b.created_at || 0).getTime() - new Date(a.created_at || 0).getTime();
2667
+ case "updated":
2668
+ comparison = new Date(b.updated_at || 0).getTime() - new Date(a.updated_at || 0).getTime();
2908
2669
  break;
2909
2670
  }
2910
2671
  return sortOrder === "desc" ? comparison : -comparison;
2911
2672
  });
2912
- }, [repositories, sortField, sortOrder, languageFilter]);
2673
+ }, [repositories, sortField, sortOrder]);
2913
2674
  const handleSelectRepository = (repo) => {
2914
2675
  setSelectedRepoId(repo.id);
2915
2676
  events.emit({
@@ -2950,12 +2711,13 @@ const OwnerRepositoriesPanelContent = ({
2950
2711
  if (diffDays < 365) return `${Math.floor(diffDays / 30)} months ago`;
2951
2712
  return `${Math.floor(diffDays / 365)} years ago`;
2952
2713
  };
2953
- const handleSort = (field) => {
2954
- if (sortField === field) {
2955
- setSortOrder((prev) => prev === "desc" ? "asc" : "desc");
2956
- } else {
2957
- setSortField(field);
2714
+ const toggleSort = () => {
2715
+ if (sortField === "name") {
2716
+ setSortField("updated");
2958
2717
  setSortOrder("desc");
2718
+ } else {
2719
+ setSortField("name");
2720
+ setSortOrder("asc");
2959
2721
  }
2960
2722
  };
2961
2723
  return /* @__PURE__ */ jsxs(
@@ -2974,7 +2736,9 @@ const OwnerRepositoriesPanelContent = ({
2974
2736
  "div",
2975
2737
  {
2976
2738
  style: {
2977
- padding: "12px 16px",
2739
+ height: "40px",
2740
+ minHeight: "40px",
2741
+ padding: "0 16px",
2978
2742
  borderBottom: `1px solid ${theme.colors.border}`,
2979
2743
  display: "flex",
2980
2744
  alignItems: "center",
@@ -2993,78 +2757,38 @@ const OwnerRepositoriesPanelContent = ({
2993
2757
  children: "Repositories"
2994
2758
  }
2995
2759
  ),
2996
- !isLoading && repositories.length > 0 && /* @__PURE__ */ jsx(
2997
- "span",
2998
- {
2999
- style: {
3000
- fontSize: `${theme.fontSizes[1]}px`,
3001
- color: theme.colors.textSecondary,
3002
- padding: "2px 8px",
3003
- borderRadius: "12px",
3004
- backgroundColor: theme.colors.backgroundSecondary
3005
- },
3006
- children: repositories.length
3007
- }
3008
- )
3009
- ]
3010
- }
3011
- ),
3012
- !isLoading && !error && repositories.length > 0 && /* @__PURE__ */ jsxs(
3013
- "div",
3014
- {
3015
- style: {
3016
- padding: "8px 16px",
3017
- borderBottom: `1px solid ${theme.colors.border}`,
3018
- display: "flex",
3019
- alignItems: "center",
3020
- gap: "8px",
3021
- flexWrap: "wrap"
3022
- },
3023
- children: [
3024
- /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
3025
- /* @__PURE__ */ jsx(ArrowUpDown, { size: 14, color: theme.colors.textSecondary }),
3026
- ["updated", "stars", "name"].map((field) => /* @__PURE__ */ jsxs(
3027
- "button",
2760
+ !isLoading && repositories.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
2761
+ /* @__PURE__ */ jsx(
2762
+ "span",
3028
2763
  {
3029
- onClick: () => handleSort(field),
3030
2764
  style: {
3031
- padding: "4px 8px",
3032
- borderRadius: "4px",
3033
- border: "none",
3034
- background: sortField === field ? theme.colors.primary : theme.colors.backgroundSecondary,
3035
- color: sortField === field ? theme.colors.background : theme.colors.text,
3036
2765
  fontSize: `${theme.fontSizes[1]}px`,
3037
- cursor: "pointer",
3038
- textTransform: "capitalize"
2766
+ color: theme.colors.textSecondary,
2767
+ padding: "2px 8px",
2768
+ borderRadius: "12px",
2769
+ backgroundColor: theme.colors.backgroundSecondary
3039
2770
  },
3040
- children: [
3041
- field,
3042
- sortField === field && (sortOrder === "desc" ? " ↓" : " ↑")
3043
- ]
3044
- },
3045
- field
3046
- ))
3047
- ] }),
3048
- languages.length > 0 && /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "4px", marginLeft: "auto" }, children: [
3049
- /* @__PURE__ */ jsx(Funnel, { size: 14, color: theme.colors.textSecondary }),
3050
- /* @__PURE__ */ jsxs(
3051
- "select",
2771
+ children: repositories.length
2772
+ }
2773
+ ),
2774
+ /* @__PURE__ */ jsx(
2775
+ "button",
3052
2776
  {
3053
- value: languageFilter || "",
3054
- onChange: (e) => setLanguageFilter(e.target.value || null),
2777
+ onClick: toggleSort,
3055
2778
  style: {
3056
- padding: "4px 8px",
2779
+ marginLeft: "auto",
2780
+ padding: "4px 10px",
3057
2781
  borderRadius: "4px",
3058
2782
  border: `1px solid ${theme.colors.border}`,
3059
2783
  background: theme.colors.backgroundSecondary,
3060
2784
  color: theme.colors.text,
3061
2785
  fontSize: `${theme.fontSizes[1]}px`,
3062
- cursor: "pointer"
2786
+ cursor: "pointer",
2787
+ display: "flex",
2788
+ alignItems: "center",
2789
+ gap: "4px"
3063
2790
  },
3064
- children: [
3065
- /* @__PURE__ */ jsx("option", { value: "", children: "All languages" }),
3066
- languages.map((lang) => /* @__PURE__ */ jsx("option", { value: lang, children: lang }, lang))
3067
- ]
2791
+ children: sortField === "name" ? "A-Z" : "Recent"
3068
2792
  }
3069
2793
  )
3070
2794
  ] })
@@ -3164,7 +2888,7 @@ const OwnerRepositoriesPanelContent = ({
3164
2888
  ]
3165
2889
  }
3166
2890
  ),
3167
- !isLoading && !error && sortedAndFilteredRepos.length > 0 && /* @__PURE__ */ jsx(
2891
+ !isLoading && !error && sortedRepos.length > 0 && /* @__PURE__ */ jsx(
3168
2892
  "div",
3169
2893
  {
3170
2894
  style: {
@@ -3172,7 +2896,7 @@ const OwnerRepositoriesPanelContent = ({
3172
2896
  overflowY: "auto",
3173
2897
  padding: "8px"
3174
2898
  },
3175
- children: sortedAndFilteredRepos.map((repo) => /* @__PURE__ */ jsxs(
2899
+ children: sortedRepos.map((repo) => /* @__PURE__ */ jsxs(
3176
2900
  "button",
3177
2901
  {
3178
2902
  type: "button",
@@ -3329,40 +3053,6 @@ const OwnerRepositoriesPanelContent = ({
3329
3053
  ))
3330
3054
  }
3331
3055
  ),
3332
- !isLoading && !error && repositories.length > 0 && sortedAndFilteredRepos.length === 0 && /* @__PURE__ */ jsxs(
3333
- "div",
3334
- {
3335
- style: {
3336
- flex: 1,
3337
- display: "flex",
3338
- flexDirection: "column",
3339
- alignItems: "center",
3340
- justifyContent: "center",
3341
- padding: "32px",
3342
- color: theme.colors.textSecondary
3343
- },
3344
- children: [
3345
- /* @__PURE__ */ jsx(Funnel, { size: 48, color: theme.colors.border, style: { marginBottom: 16 } }),
3346
- /* @__PURE__ */ jsx("p", { style: { margin: 0 }, children: "No repositories match the current filter" }),
3347
- /* @__PURE__ */ jsx(
3348
- "button",
3349
- {
3350
- onClick: () => setLanguageFilter(null),
3351
- style: {
3352
- marginTop: "12px",
3353
- padding: "8px 16px",
3354
- borderRadius: "6px",
3355
- border: `1px solid ${theme.colors.border}`,
3356
- background: "transparent",
3357
- color: theme.colors.text,
3358
- cursor: "pointer"
3359
- },
3360
- children: "Clear filter"
3361
- }
3362
- )
3363
- ]
3364
- }
3365
- ),
3366
3056
  /* @__PURE__ */ jsx("style", { children: `
3367
3057
  @keyframes spin {
3368
3058
  to { transform: rotate(360deg); }
@@ -4096,507 +3786,6 @@ const RecentRepositoriesPanelMetadata = {
4096
3786
  slices: [],
4097
3787
  surfaces: ["panel"]
4098
3788
  };
4099
- const iconMap = {
4100
- Sparkles,
4101
- Wrench,
4102
- Atom,
4103
- Cog,
4104
- Cpu,
4105
- Zap,
4106
- Code,
4107
- Layers,
4108
- Box,
4109
- FolderOpen,
4110
- BookOpen,
4111
- Network
4112
- };
4113
- function parseGitHubInput(input) {
4114
- const trimmed = input.trim();
4115
- const urlMatch = trimmed.match(/github\.com\/([^/]+)\/([^/]+)/);
4116
- if (urlMatch) {
4117
- return { owner: urlMatch[1], repo: urlMatch[2].replace(/\.git$/, "") };
4118
- }
4119
- const shortMatch = trimmed.match(/^([^/]+)\/([^/]+)$/);
4120
- if (shortMatch) {
4121
- return { owner: shortMatch[1], repo: shortMatch[2] };
4122
- }
4123
- return null;
4124
- }
4125
- const FeatureCard = ({ icon, title, description, theme, link, linkLabel }) => {
4126
- const words = title.split(" ");
4127
- const firstWord = words[0];
4128
- const restWords = words.slice(1).join(" ");
4129
- return /* @__PURE__ */ jsxs(
4130
- "div",
4131
- {
4132
- style: {
4133
- padding: "24px",
4134
- borderRadius: "12px",
4135
- backgroundColor: theme.colors.surface,
4136
- border: `1px solid ${theme.colors.border}`,
4137
- display: "flex",
4138
- flexDirection: "column",
4139
- alignItems: "center",
4140
- gap: "12px",
4141
- flex: 1,
4142
- minWidth: "200px",
4143
- textAlign: "center"
4144
- },
4145
- children: [
4146
- /* @__PURE__ */ jsx(
4147
- "div",
4148
- {
4149
- style: {
4150
- width: 48,
4151
- height: 48,
4152
- borderRadius: "10px",
4153
- backgroundColor: `${theme.colors.primary}15`,
4154
- display: "flex",
4155
- alignItems: "center",
4156
- justifyContent: "center",
4157
- color: theme.colors.primary
4158
- },
4159
- children: icon
4160
- }
4161
- ),
4162
- /* @__PURE__ */ jsxs(
4163
- "h3",
4164
- {
4165
- style: {
4166
- margin: 0,
4167
- fontSize: `${theme.fontSizes[3]}px`,
4168
- fontWeight: theme.fontWeights.semibold,
4169
- display: "flex",
4170
- flexDirection: "column",
4171
- alignItems: "center",
4172
- lineHeight: 1.3
4173
- },
4174
- children: [
4175
- /* @__PURE__ */ jsx("span", { style: { color: theme.colors.text }, children: firstWord }),
4176
- restWords && /* @__PURE__ */ jsx("span", { style: { color: theme.colors.primary }, children: restWords })
4177
- ]
4178
- }
4179
- ),
4180
- /* @__PURE__ */ jsx(
4181
- "p",
4182
- {
4183
- style: {
4184
- margin: 0,
4185
- fontSize: `${theme.fontSizes[2]}px`,
4186
- color: theme.colors.textSecondary,
4187
- lineHeight: 1.5
4188
- },
4189
- children: description
4190
- }
4191
- ),
4192
- link && /* @__PURE__ */ jsxs(
4193
- "a",
4194
- {
4195
- href: link,
4196
- target: "_blank",
4197
- rel: "noopener noreferrer",
4198
- style: {
4199
- display: "flex",
4200
- alignItems: "center",
4201
- gap: "6px",
4202
- marginTop: "4px",
4203
- fontSize: `${theme.fontSizes[1]}px`,
4204
- color: theme.colors.primary,
4205
- textDecoration: "none"
4206
- },
4207
- children: [
4208
- linkLabel || "Learn more",
4209
- /* @__PURE__ */ jsx(ExternalLink, { size: 14 })
4210
- ]
4211
- }
4212
- )
4213
- ]
4214
- }
4215
- );
4216
- };
4217
- const defaultHighlightedProjects = [
4218
- { owner: "facebook", repo: "react" },
4219
- { owner: "vercel", repo: "next.js" }
4220
- ];
4221
- const CollectionCard = ({ collection, theme, onClick }) => {
4222
- const IconComponent = collection.icon && iconMap[collection.icon] || FolderOpen;
4223
- return /* @__PURE__ */ jsxs(
4224
- "button",
4225
- {
4226
- onClick,
4227
- style: {
4228
- padding: "20px 24px",
4229
- borderRadius: "12px",
4230
- backgroundColor: theme.colors.surface,
4231
- border: `1px solid ${theme.colors.border}`,
4232
- display: "flex",
4233
- alignItems: "center",
4234
- gap: "16px",
4235
- cursor: "pointer",
4236
- transition: "all 0.2s ease",
4237
- minWidth: "280px",
4238
- maxWidth: "320px",
4239
- textAlign: "left"
4240
- },
4241
- onMouseEnter: (e) => {
4242
- e.currentTarget.style.borderColor = theme.colors.primary;
4243
- e.currentTarget.style.transform = "translateY(-2px)";
4244
- },
4245
- onMouseLeave: (e) => {
4246
- e.currentTarget.style.borderColor = theme.colors.border;
4247
- e.currentTarget.style.transform = "translateY(0)";
4248
- },
4249
- children: [
4250
- /* @__PURE__ */ jsx(
4251
- "div",
4252
- {
4253
- style: {
4254
- width: 48,
4255
- height: 48,
4256
- borderRadius: "10px",
4257
- backgroundColor: `${theme.colors.primary}15`,
4258
- display: "flex",
4259
- alignItems: "center",
4260
- justifyContent: "center",
4261
- color: theme.colors.primary,
4262
- flexShrink: 0
4263
- },
4264
- children: /* @__PURE__ */ jsx(IconComponent, { size: 24 })
4265
- }
4266
- ),
4267
- /* @__PURE__ */ jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [
4268
- /* @__PURE__ */ jsx(
4269
- "div",
4270
- {
4271
- style: {
4272
- fontSize: `${theme.fontSizes[2]}px`,
4273
- fontWeight: theme.fontWeights.semibold,
4274
- color: theme.colors.text,
4275
- marginBottom: "4px"
4276
- },
4277
- children: collection.name
4278
- }
4279
- ),
4280
- /* @__PURE__ */ jsx(
4281
- "div",
4282
- {
4283
- style: {
4284
- fontSize: `${theme.fontSizes[1]}px`,
4285
- color: theme.colors.textSecondary,
4286
- overflow: "hidden",
4287
- textOverflow: "ellipsis",
4288
- whiteSpace: "nowrap"
4289
- },
4290
- children: collection.description
4291
- }
4292
- ),
4293
- collection.repositoryCount !== void 0 && /* @__PURE__ */ jsxs(
4294
- "div",
4295
- {
4296
- style: {
4297
- fontSize: `${theme.fontSizes[0]}px`,
4298
- color: theme.colors.textSecondary,
4299
- marginTop: "4px"
4300
- },
4301
- children: [
4302
- collection.repositoryCount,
4303
- " repositories"
4304
- ]
4305
- }
4306
- )
4307
- ] }),
4308
- /* @__PURE__ */ jsx(ChevronRight, { size: 20, style: { color: theme.colors.textSecondary, flexShrink: 0 } })
4309
- ]
4310
- }
4311
- );
4312
- };
4313
- const WelcomePanel = ({
4314
- onNavigate,
4315
- highlightedProjects = defaultHighlightedProjects,
4316
- curatedCollections = [],
4317
- onCollectionClick
4318
- }) => {
4319
- const { theme } = useTheme();
4320
- const [repoInput, setRepoInput] = useState("");
4321
- const [error, setError] = useState(null);
4322
- const handleSubmit = useCallback((e) => {
4323
- e.preventDefault();
4324
- setError(null);
4325
- const parsed = parseGitHubInput(repoInput);
4326
- if (!parsed) {
4327
- setError("Enter a valid format: owner/repo or GitHub URL");
4328
- return;
4329
- }
4330
- if (onNavigate) {
4331
- onNavigate(parsed.owner, parsed.repo);
4332
- } else {
4333
- window.location.href = `/${parsed.owner}/${parsed.repo}`;
4334
- }
4335
- }, [repoInput, onNavigate]);
4336
- useCallback((project) => {
4337
- if (onNavigate) {
4338
- onNavigate(project.owner, project.repo);
4339
- } else {
4340
- window.location.href = `/${project.owner}/${project.repo}`;
4341
- }
4342
- }, [onNavigate]);
4343
- const handleCollectionClick = useCallback((collection) => {
4344
- if (onCollectionClick) {
4345
- onCollectionClick(collection.id);
4346
- }
4347
- }, [onCollectionClick]);
4348
- return /* @__PURE__ */ jsxs(
4349
- "div",
4350
- {
4351
- style: {
4352
- height: "100%",
4353
- display: "flex",
4354
- flexDirection: "column",
4355
- backgroundColor: theme.colors.background,
4356
- color: theme.colors.text,
4357
- fontFamily: theme.fonts.body,
4358
- overflowY: "auto"
4359
- },
4360
- children: [
4361
- curatedCollections.length > 0 && /* @__PURE__ */ jsxs(
4362
- "div",
4363
- {
4364
- style: {
4365
- padding: "48px 32px",
4366
- display: "flex",
4367
- flexDirection: "column",
4368
- alignItems: "center",
4369
- gap: "24px",
4370
- borderBottom: `1px solid ${theme.colors.border}`
4371
- },
4372
- children: [
4373
- /* @__PURE__ */ jsx(
4374
- "h2",
4375
- {
4376
- style: {
4377
- margin: 0,
4378
- fontSize: `${theme.fontSizes[6] || 32}px`,
4379
- fontWeight: theme.fontWeights.semibold,
4380
- color: theme.colors.textSecondary,
4381
- textAlign: "center"
4382
- },
4383
- children: "Explore Curated Collections"
4384
- }
4385
- ),
4386
- /* @__PURE__ */ jsx(
4387
- "div",
4388
- {
4389
- style: {
4390
- display: "flex",
4391
- gap: "16px",
4392
- flexWrap: "wrap",
4393
- justifyContent: "center",
4394
- maxWidth: "1200px"
4395
- },
4396
- children: curatedCollections.map((collection) => /* @__PURE__ */ jsx(
4397
- CollectionCard,
4398
- {
4399
- collection,
4400
- theme,
4401
- onClick: () => handleCollectionClick(collection)
4402
- },
4403
- collection.id
4404
- ))
4405
- }
4406
- )
4407
- ]
4408
- }
4409
- ),
4410
- /* @__PURE__ */ jsxs(
4411
- "div",
4412
- {
4413
- style: {
4414
- padding: "48px 32px",
4415
- display: "flex",
4416
- flexDirection: "column",
4417
- alignItems: "center",
4418
- textAlign: "center",
4419
- borderBottom: `1px solid ${theme.colors.border}`
4420
- },
4421
- children: [
4422
- /* @__PURE__ */ jsx(
4423
- "h1",
4424
- {
4425
- style: {
4426
- margin: "0 0 32px",
4427
- fontSize: `${theme.fontSizes[3]}px`,
4428
- fontWeight: theme.fontWeights.bold,
4429
- color: theme.colors.text
4430
- },
4431
- children: "Explore your Projects"
4432
- }
4433
- ),
4434
- /* @__PURE__ */ jsxs(
4435
- "form",
4436
- {
4437
- onSubmit: handleSubmit,
4438
- style: {
4439
- width: "100%",
4440
- maxWidth: "500px"
4441
- },
4442
- children: [
4443
- /* @__PURE__ */ jsxs(
4444
- "div",
4445
- {
4446
- style: {
4447
- display: "flex",
4448
- gap: "8px",
4449
- padding: "6px",
4450
- borderRadius: "12px",
4451
- backgroundColor: theme.colors.surface,
4452
- border: `2px solid ${error ? theme.colors.error : theme.colors.border}`
4453
- },
4454
- children: [
4455
- /* @__PURE__ */ jsx(
4456
- "div",
4457
- {
4458
- style: {
4459
- display: "flex",
4460
- alignItems: "center",
4461
- paddingLeft: "12px",
4462
- color: theme.colors.textSecondary
4463
- },
4464
- children: /* @__PURE__ */ jsx(Github, { size: 20 })
4465
- }
4466
- ),
4467
- /* @__PURE__ */ jsx(
4468
- "input",
4469
- {
4470
- type: "text",
4471
- value: repoInput,
4472
- onChange: (e) => {
4473
- setRepoInput(e.target.value);
4474
- setError(null);
4475
- },
4476
- placeholder: "owner/repo or paste GitHub URL",
4477
- style: {
4478
- flex: 1,
4479
- padding: "12px 8px",
4480
- border: "none",
4481
- background: "transparent",
4482
- color: theme.colors.text,
4483
- fontSize: `${theme.fontSizes[2]}px`,
4484
- outline: "none"
4485
- }
4486
- }
4487
- ),
4488
- /* @__PURE__ */ jsxs(
4489
- "button",
4490
- {
4491
- type: "submit",
4492
- style: {
4493
- padding: "12px 20px",
4494
- borderRadius: "8px",
4495
- border: "none",
4496
- backgroundColor: theme.colors.primary,
4497
- color: "#fff",
4498
- fontSize: `${theme.fontSizes[2]}px`,
4499
- fontWeight: theme.fontWeights.semibold,
4500
- cursor: "pointer",
4501
- display: "flex",
4502
- alignItems: "center",
4503
- gap: "8px"
4504
- },
4505
- children: [
4506
- "Explore",
4507
- /* @__PURE__ */ jsx(ArrowRight, { size: 18 })
4508
- ]
4509
- }
4510
- )
4511
- ]
4512
- }
4513
- ),
4514
- error && /* @__PURE__ */ jsx(
4515
- "p",
4516
- {
4517
- style: {
4518
- margin: "8px 0 0",
4519
- fontSize: `${theme.fontSizes[1]}px`,
4520
- color: theme.colors.error
4521
- },
4522
- children: error
4523
- }
4524
- )
4525
- ]
4526
- }
4527
- )
4528
- ]
4529
- }
4530
- ),
4531
- /* @__PURE__ */ jsx(
4532
- "div",
4533
- {
4534
- style: {
4535
- padding: "48px 32px",
4536
- display: "flex",
4537
- flexDirection: "column",
4538
- alignItems: "center"
4539
- },
4540
- children: /* @__PURE__ */ jsxs(
4541
- "div",
4542
- {
4543
- style: {
4544
- display: "flex",
4545
- gap: "20px",
4546
- flexWrap: "wrap",
4547
- justifyContent: "center",
4548
- maxWidth: "900px"
4549
- },
4550
- children: [
4551
- /* @__PURE__ */ jsx(
4552
- FeatureCard,
4553
- {
4554
- icon: /* @__PURE__ */ jsx(BookOpen, { size: 24 }),
4555
- title: "Reliable Documentation",
4556
- description: "Always up-to-date documentation generated directly from your codebase, never out of sync.",
4557
- theme,
4558
- link: "https://github.com/principal-ai/alexandria-cli",
4559
- linkLabel: "alexandria-cli"
4560
- }
4561
- ),
4562
- /* @__PURE__ */ jsx(
4563
- FeatureCard,
4564
- {
4565
- icon: /* @__PURE__ */ jsx(Network, { size: 24 }),
4566
- title: "Interactive Diagrams",
4567
- description: "Visualize repository structure, dependencies, and architecture with auto-generated diagrams you can explore.",
4568
- theme,
4569
- link: "https://www.npmjs.com/package/@principal-ai/visual-validation-cli",
4570
- linkLabel: "visual-validation-cli"
4571
- }
4572
- ),
4573
- /* @__PURE__ */ jsx(
4574
- FeatureCard,
4575
- {
4576
- icon: /* @__PURE__ */ jsx(Sparkles, { size: 24 }),
4577
- title: "Principal Agent",
4578
- description: "Ask questions about any repository and get instant, context-aware answers powered by AI.",
4579
- theme
4580
- }
4581
- )
4582
- ]
4583
- }
4584
- )
4585
- }
4586
- )
4587
- ]
4588
- }
4589
- );
4590
- };
4591
- const WelcomePanelMetadata = {
4592
- id: "welcome",
4593
- name: "Welcome",
4594
- description: "Landing page with branding and repository search",
4595
- icon: "home",
4596
- version: "0.1.0",
4597
- slices: [],
4598
- surfaces: ["panel"]
4599
- };
4600
3789
  const listRepositoriesTool = {
4601
3790
  name: "list_repositories",
4602
3791
  description: "Get a list of GitHub repositories the user has access to, including owned repos, starred repos, and organization repos.",
@@ -4851,16 +4040,6 @@ const panels = [
4851
4040
  onUnmount: async (_context) => {
4852
4041
  console.log("Recent Repositories Panel unmounting");
4853
4042
  }
4854
- },
4855
- {
4856
- metadata: WelcomePanelMetadata,
4857
- component: WelcomePanel,
4858
- onMount: async (_context) => {
4859
- console.log("Welcome Panel mounted");
4860
- },
4861
- onUnmount: async (_context) => {
4862
- console.log("Welcome Panel unmounting");
4863
- }
4864
4043
  }
4865
4044
  ];
4866
4045
  const onPackageLoad = async () => {
@@ -4876,7 +4055,6 @@ export {
4876
4055
  GitHubSearchPanel,
4877
4056
  OwnerRepositoriesPanel,
4878
4057
  RecentRepositoriesPanel,
4879
- WelcomePanel,
4880
4058
  addRecentOwner,
4881
4059
  addRecentRepository,
4882
4060
  githubTools,