@industry-theme/github-panels 0.1.34 → 0.1.36

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);
190
- /**
191
- * @license lucide-react v0.552.0 - ISC
192
- *
193
- * This source code is licensed under the ISC license.
194
- * See the LICENSE file in the root directory of this source tree.
195
- */
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);
141
+ const BookOpen = createLucideIcon("book-open", __iconNode$o);
208
142
  /**
209
143
  * @license lucide-react v0.552.0 - ISC
210
144
  *
211
145
  * This source code is licensed under the ISC license.
212
146
  * See the LICENSE file in the root directory of this source tree.
213
147
  */
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);
280
- /**
281
- * @license lucide-react v0.552.0 - ISC
282
- *
283
- * This source code is licensed under the ISC license.
284
- * See the LICENSE file in the root directory of this source tree.
285
- */
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);
213
+ const CircleCheck = createLucideIcon("circle-check", __iconNode$i);
314
214
  /**
315
215
  * @license lucide-react v0.552.0 - ISC
316
216
  *
317
217
  * This source code is licensed under the ISC license.
318
218
  * See the LICENSE file in the root directory of this source tree.
319
219
  */
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);
236
+ const ExternalLink = createLucideIcon("external-link", __iconNode$g);
360
237
  /**
361
238
  * @license lucide-react v0.552.0 - ISC
362
239
  *
363
240
  * This source code is licensed under the ISC license.
364
241
  * See the LICENSE file in the root directory of this source tree.
365
242
  */
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);
376
- /**
377
- * @license lucide-react v0.552.0 - ISC
378
- *
379
- * This source code is licensed under the ISC license.
380
- * See the LICENSE file in the root directory of this source tree.
381
- */
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);
252
+ const Folder = createLucideIcon("folder", __iconNode$f);
392
253
  /**
393
254
  * @license lucide-react v0.552.0 - ISC
394
255
  *
395
256
  * This source code is licensed under the ISC license.
396
257
  * See the LICENSE file in the root directory of this source tree.
397
258
  */
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);
408
- /**
409
- * @license lucide-react v0.552.0 - ISC
410
- *
411
- * This source code is licensed under the ISC license.
412
- * See the LICENSE file in the root directory of this source tree.
413
- */
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);
295
+ const History = createLucideIcon("history", __iconNode$c);
451
296
  /**
452
297
  * @license lucide-react v0.552.0 - ISC
453
298
  *
454
299
  * This source code is licensed under the ISC license.
455
300
  * See the LICENSE file in the root directory of this source tree.
456
301
  */
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);
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);
481
304
  /**
482
305
  * @license lucide-react v0.552.0 - ISC
483
306
  *
484
307
  * This source code is licensed under the ISC license.
485
308
  * See the LICENSE file in the root directory of this source tree.
486
309
  */
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);
489
- /**
490
- * @license lucide-react v0.552.0 - ISC
491
- *
492
- * This source code is licensed under the ISC license.
493
- * See the LICENSE file in the root directory of this source tree.
494
- */
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);
342
+ const MessageSquare = createLucideIcon("message-square", __iconNode$8);
528
343
  /**
529
344
  * @license lucide-react v0.552.0 - ISC
530
345
  *
531
346
  * This source code is licensed under the ISC license.
532
347
  * See the LICENSE file in the root directory of this source tree.
533
348
  */
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);
542
- /**
543
- * @license lucide-react v0.552.0 - ISC
544
- *
545
- * This source code is licensed under the ISC license.
546
- * See the LICENSE file in the root directory of this source tree.
547
- */
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);
380
+ const Search = createLucideIcon("search", __iconNode$5);
580
381
  /**
581
382
  * @license lucide-react v0.552.0 - ISC
582
383
  *
583
384
  * This source code is licensed under the ISC license.
584
385
  * See the LICENSE file in the root directory of this source tree.
585
386
  */
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);
599
- /**
600
- * @license lucide-react v0.552.0 - ISC
601
- *
602
- * This source code is licensed under the ISC license.
603
- * See the LICENSE file in the root directory of this source tree.
604
- */
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",
@@ -2087,11 +1837,14 @@ ${issue.body}
2087
1837
  "div",
2088
1838
  {
2089
1839
  style: {
2090
- padding: "12px 16px",
1840
+ height: "40px",
1841
+ minHeight: "40px",
1842
+ padding: "0 16px",
2091
1843
  borderBottom: `1px solid ${theme.colors.border}`,
2092
1844
  display: "flex",
2093
1845
  alignItems: "center",
2094
- gap: "12px"
1846
+ gap: "12px",
1847
+ boxSizing: "border-box"
2095
1848
  },
2096
1849
  children: [
2097
1850
  /* @__PURE__ */ jsx(Github, { size: 20, color: theme.colors.primary }),
@@ -2237,7 +1990,7 @@ ${issue.body}
2237
1990
  ]
2238
1991
  }
2239
1992
  ),
2240
- /* @__PURE__ */ jsx("div", { style: { flex: 1, overflow: "auto", padding: "8px" }, children: filteredIssues.length === 0 ? /* @__PURE__ */ jsxs(
1993
+ /* @__PURE__ */ jsx("div", { style: { flex: 1, overflow: "auto" }, children: filteredIssues.length === 0 ? /* @__PURE__ */ jsxs(
2241
1994
  "div",
2242
1995
  {
2243
1996
  style: {
@@ -2274,7 +2027,7 @@ ${issue.body}
2274
2027
  ) : /* @__PURE__ */ jsx(
2275
2028
  "div",
2276
2029
  {
2277
- style: { display: "flex", flexDirection: "column", gap: "8px" },
2030
+ style: { display: "flex", flexDirection: "column" },
2278
2031
  children: filteredIssues.map((issue) => /* @__PURE__ */ jsx(
2279
2032
  "button",
2280
2033
  {
@@ -2282,9 +2035,10 @@ ${issue.body}
2282
2035
  onClick: (e) => handleIssueClick(issue, e),
2283
2036
  style: {
2284
2037
  width: "100%",
2285
- padding: "12px",
2286
- borderRadius: "6px",
2287
- border: `1px solid ${selectedIssues.has(issue.number) ? theme.colors.primary : theme.colors.border}`,
2038
+ padding: "8px 12px",
2039
+ borderRadius: 0,
2040
+ border: "none",
2041
+ borderBottom: `1px solid ${selectedIssues.has(issue.number) ? theme.colors.primary : theme.colors.border}`,
2288
2042
  backgroundColor: selectedIssues.has(issue.number) ? `${theme.colors.primary}10` : theme.colors.surface,
2289
2043
  cursor: "pointer",
2290
2044
  textAlign: "left"
@@ -2848,14 +2602,14 @@ const GitHubIssuesPanelMetadata = {
2848
2602
  const OwnerRepositoriesPanelContent = ({
2849
2603
  events,
2850
2604
  context,
2851
- owner: propOwner
2605
+ owner: propOwner,
2606
+ selectedRepository
2852
2607
  }) => {
2853
2608
  var _a, _b, _c, _d, _e, _f;
2854
2609
  const { theme } = useTheme();
2855
2610
  const [selectedRepoId, setSelectedRepoId] = useState(null);
2856
2611
  const [sortField, setSortField] = useState("updated");
2857
2612
  const [sortOrder, setSortOrder] = useState("desc");
2858
- const [languageFilter, setLanguageFilter] = useState(null);
2859
2613
  const owner = propOwner || ((_b = (_a = context == null ? void 0 : context.currentScope) == null ? void 0 : _a.repository) == null ? void 0 : _b.name);
2860
2614
  const ownerSlice = context.getSlice("owner-repositories");
2861
2615
  const isLoading = context.isSliceLoading("owner-repositories");
@@ -2863,11 +2617,6 @@ const OwnerRepositoriesPanelContent = ({
2863
2617
  const repositories = ((_d = ownerSlice == null ? void 0 : ownerSlice.data) == null ? void 0 : _d.repositories) ?? [];
2864
2618
  const error = ((_e = ownerSlice == null ? void 0 : ownerSlice.data) == null ? void 0 : _e.error) ?? null;
2865
2619
  ((_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
2620
  const handleRefresh = useCallback(() => {
2872
2621
  events.emit({
2873
2622
  type: "owner-repositories:refresh",
@@ -2886,30 +2635,46 @@ const OwnerRepositoriesPanelContent = ({
2886
2635
  });
2887
2636
  }
2888
2637
  }, [events, owner]);
2889
- const sortedAndFilteredRepos = React2.useMemo(() => {
2890
- let filtered = repositories;
2891
- if (languageFilter) {
2892
- filtered = filtered.filter((r) => r.language === languageFilter);
2638
+ useEffect(() => {
2639
+ if (selectedRepository && repositories.length > 0) {
2640
+ const repo = repositories.find((r) => r.full_name === selectedRepository);
2641
+ if (repo) {
2642
+ setSelectedRepoId(repo.id);
2643
+ }
2893
2644
  }
2894
- return [...filtered].sort((a, b) => {
2645
+ }, [selectedRepository, repositories]);
2646
+ useEffect(() => {
2647
+ const unsubscribe = events.on("repository:preview", (event) => {
2648
+ var _a2, _b2;
2649
+ const payload = event.payload;
2650
+ if ((_a2 = payload == null ? void 0 : payload.repository) == null ? void 0 : _a2.id) {
2651
+ setSelectedRepoId(payload.repository.id);
2652
+ } else if (((_b2 = payload == null ? void 0 : payload.repository) == null ? void 0 : _b2.full_name) && repositories.length > 0) {
2653
+ const repo = repositories.find((r) => {
2654
+ var _a3;
2655
+ return r.full_name === ((_a3 = payload.repository) == null ? void 0 : _a3.full_name);
2656
+ });
2657
+ if (repo) {
2658
+ setSelectedRepoId(repo.id);
2659
+ }
2660
+ }
2661
+ });
2662
+ return () => unsubscribe();
2663
+ }, [events, repositories]);
2664
+ const sortedRepos = React2.useMemo(() => {
2665
+ return [...repositories].sort((a, b) => {
2895
2666
  let comparison = 0;
2896
2667
  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
2668
  case "name":
2904
2669
  comparison = a.name.localeCompare(b.name);
2905
2670
  break;
2906
- case "created":
2907
- comparison = new Date(b.created_at || 0).getTime() - new Date(a.created_at || 0).getTime();
2671
+ case "updated":
2672
+ comparison = new Date(b.updated_at || 0).getTime() - new Date(a.updated_at || 0).getTime();
2908
2673
  break;
2909
2674
  }
2910
- return sortOrder === "desc" ? comparison : -comparison;
2675
+ return sortOrder === "asc" ? comparison : -comparison;
2911
2676
  });
2912
- }, [repositories, sortField, sortOrder, languageFilter]);
2677
+ }, [repositories, sortField, sortOrder]);
2913
2678
  const handleSelectRepository = (repo) => {
2914
2679
  setSelectedRepoId(repo.id);
2915
2680
  events.emit({
@@ -2950,12 +2715,13 @@ const OwnerRepositoriesPanelContent = ({
2950
2715
  if (diffDays < 365) return `${Math.floor(diffDays / 30)} months ago`;
2951
2716
  return `${Math.floor(diffDays / 365)} years ago`;
2952
2717
  };
2953
- const handleSort = (field) => {
2954
- if (sortField === field) {
2955
- setSortOrder((prev) => prev === "desc" ? "asc" : "desc");
2956
- } else {
2957
- setSortField(field);
2718
+ const toggleSort = () => {
2719
+ if (sortField === "name") {
2720
+ setSortField("updated");
2958
2721
  setSortOrder("desc");
2722
+ } else {
2723
+ setSortField("name");
2724
+ setSortOrder("asc");
2959
2725
  }
2960
2726
  };
2961
2727
  return /* @__PURE__ */ jsxs(
@@ -2974,11 +2740,14 @@ const OwnerRepositoriesPanelContent = ({
2974
2740
  "div",
2975
2741
  {
2976
2742
  style: {
2977
- padding: "12px 16px",
2743
+ height: "40px",
2744
+ minHeight: "40px",
2745
+ padding: "0 16px",
2978
2746
  borderBottom: `1px solid ${theme.colors.border}`,
2979
2747
  display: "flex",
2980
2748
  alignItems: "center",
2981
- gap: "8px"
2749
+ gap: "8px",
2750
+ boxSizing: "border-box"
2982
2751
  },
2983
2752
  children: [
2984
2753
  /* @__PURE__ */ jsx(Github, { size: 18, color: theme.colors.primary }),
@@ -2993,78 +2762,38 @@ const OwnerRepositoriesPanelContent = ({
2993
2762
  children: "Repositories"
2994
2763
  }
2995
2764
  ),
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",
2765
+ !isLoading && repositories.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
2766
+ /* @__PURE__ */ jsx(
2767
+ "span",
3028
2768
  {
3029
- onClick: () => handleSort(field),
3030
2769
  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
2770
  fontSize: `${theme.fontSizes[1]}px`,
3037
- cursor: "pointer",
3038
- textTransform: "capitalize"
2771
+ color: theme.colors.textSecondary,
2772
+ padding: "2px 8px",
2773
+ borderRadius: "12px",
2774
+ backgroundColor: theme.colors.backgroundSecondary
3039
2775
  },
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",
2776
+ children: repositories.length
2777
+ }
2778
+ ),
2779
+ /* @__PURE__ */ jsx(
2780
+ "button",
3052
2781
  {
3053
- value: languageFilter || "",
3054
- onChange: (e) => setLanguageFilter(e.target.value || null),
2782
+ onClick: toggleSort,
3055
2783
  style: {
3056
- padding: "4px 8px",
2784
+ marginLeft: "auto",
2785
+ padding: "4px 10px",
3057
2786
  borderRadius: "4px",
3058
2787
  border: `1px solid ${theme.colors.border}`,
3059
2788
  background: theme.colors.backgroundSecondary,
3060
2789
  color: theme.colors.text,
3061
2790
  fontSize: `${theme.fontSizes[1]}px`,
3062
- cursor: "pointer"
2791
+ cursor: "pointer",
2792
+ display: "flex",
2793
+ alignItems: "center",
2794
+ gap: "4px"
3063
2795
  },
3064
- children: [
3065
- /* @__PURE__ */ jsx("option", { value: "", children: "All languages" }),
3066
- languages.map((lang) => /* @__PURE__ */ jsx("option", { value: lang, children: lang }, lang))
3067
- ]
2796
+ children: sortField === "name" ? "A-Z" : "Recent"
3068
2797
  }
3069
2798
  )
3070
2799
  ] })
@@ -3164,15 +2893,14 @@ const OwnerRepositoriesPanelContent = ({
3164
2893
  ]
3165
2894
  }
3166
2895
  ),
3167
- !isLoading && !error && sortedAndFilteredRepos.length > 0 && /* @__PURE__ */ jsx(
2896
+ !isLoading && !error && sortedRepos.length > 0 && /* @__PURE__ */ jsx(
3168
2897
  "div",
3169
2898
  {
3170
2899
  style: {
3171
2900
  flex: 1,
3172
- overflowY: "auto",
3173
- padding: "8px"
2901
+ overflowY: "auto"
3174
2902
  },
3175
- children: sortedAndFilteredRepos.map((repo) => /* @__PURE__ */ jsxs(
2903
+ children: sortedRepos.map((repo) => /* @__PURE__ */ jsxs(
3176
2904
  "button",
3177
2905
  {
3178
2906
  type: "button",
@@ -3180,10 +2908,11 @@ const OwnerRepositoriesPanelContent = ({
3180
2908
  onDoubleClick: () => handleOpenRepository(repo),
3181
2909
  style: {
3182
2910
  width: "100%",
3183
- padding: "12px",
3184
- margin: "4px 0",
3185
- borderRadius: "8px",
3186
- border: selectedRepoId === repo.id ? `2px solid ${theme.colors.primary}` : `1px solid ${theme.colors.border}`,
2911
+ padding: "8px 12px",
2912
+ margin: 0,
2913
+ borderRadius: 0,
2914
+ border: "none",
2915
+ borderBottom: selectedRepoId === repo.id ? `2px solid ${theme.colors.primary}` : `1px solid ${theme.colors.border}`,
3187
2916
  backgroundColor: selectedRepoId === repo.id ? `${theme.colors.primary}10` : theme.colors.surface,
3188
2917
  cursor: "pointer",
3189
2918
  textAlign: "left",
@@ -3329,40 +3058,6 @@ const OwnerRepositoriesPanelContent = ({
3329
3058
  ))
3330
3059
  }
3331
3060
  ),
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
3061
  /* @__PURE__ */ jsx("style", { children: `
3367
3062
  @keyframes spin {
3368
3063
  to { transform: rotate(360deg); }
@@ -4096,359 +3791,6 @@ const RecentRepositoriesPanelMetadata = {
4096
3791
  slices: [],
4097
3792
  surfaces: ["panel"]
4098
3793
  };
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 defaultHighlightedProjects = [
4126
- { owner: "facebook", repo: "react" },
4127
- { owner: "vercel", repo: "next.js" }
4128
- ];
4129
- const CollectionCard = ({ collection, theme, onClick }) => {
4130
- const IconComponent = collection.icon && iconMap[collection.icon] || FolderOpen;
4131
- return /* @__PURE__ */ jsxs(
4132
- "button",
4133
- {
4134
- onClick,
4135
- style: {
4136
- padding: "20px 24px",
4137
- borderRadius: "12px",
4138
- backgroundColor: theme.colors.surface,
4139
- border: `1px solid ${theme.colors.border}`,
4140
- display: "flex",
4141
- alignItems: "center",
4142
- gap: "16px",
4143
- cursor: "pointer",
4144
- transition: "all 0.2s ease",
4145
- minWidth: "280px",
4146
- maxWidth: "320px",
4147
- textAlign: "left"
4148
- },
4149
- onMouseEnter: (e) => {
4150
- e.currentTarget.style.borderColor = theme.colors.primary;
4151
- e.currentTarget.style.transform = "translateY(-2px)";
4152
- },
4153
- onMouseLeave: (e) => {
4154
- e.currentTarget.style.borderColor = theme.colors.border;
4155
- e.currentTarget.style.transform = "translateY(0)";
4156
- },
4157
- children: [
4158
- /* @__PURE__ */ jsx(
4159
- "div",
4160
- {
4161
- style: {
4162
- width: 48,
4163
- height: 48,
4164
- borderRadius: "10px",
4165
- backgroundColor: `${theme.colors.primary}15`,
4166
- display: "flex",
4167
- alignItems: "center",
4168
- justifyContent: "center",
4169
- color: theme.colors.primary,
4170
- flexShrink: 0
4171
- },
4172
- children: /* @__PURE__ */ jsx(IconComponent, { size: 24 })
4173
- }
4174
- ),
4175
- /* @__PURE__ */ jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [
4176
- /* @__PURE__ */ jsx(
4177
- "div",
4178
- {
4179
- style: {
4180
- fontSize: `${theme.fontSizes[2]}px`,
4181
- fontWeight: theme.fontWeights.semibold,
4182
- color: theme.colors.text,
4183
- marginBottom: "4px"
4184
- },
4185
- children: collection.name
4186
- }
4187
- ),
4188
- /* @__PURE__ */ jsx(
4189
- "div",
4190
- {
4191
- style: {
4192
- fontSize: `${theme.fontSizes[1]}px`,
4193
- color: theme.colors.textSecondary,
4194
- overflow: "hidden",
4195
- textOverflow: "ellipsis",
4196
- whiteSpace: "nowrap"
4197
- },
4198
- children: collection.description
4199
- }
4200
- ),
4201
- collection.repositoryCount !== void 0 && /* @__PURE__ */ jsxs(
4202
- "div",
4203
- {
4204
- style: {
4205
- fontSize: `${theme.fontSizes[0]}px`,
4206
- color: theme.colors.textSecondary,
4207
- marginTop: "4px"
4208
- },
4209
- children: [
4210
- collection.repositoryCount,
4211
- " repositories"
4212
- ]
4213
- }
4214
- )
4215
- ] }),
4216
- /* @__PURE__ */ jsx(ChevronRight, { size: 20, style: { color: theme.colors.textSecondary, flexShrink: 0 } })
4217
- ]
4218
- }
4219
- );
4220
- };
4221
- const WelcomePanel = ({
4222
- onNavigate,
4223
- highlightedProjects = defaultHighlightedProjects,
4224
- curatedCollections = [],
4225
- onCollectionClick
4226
- }) => {
4227
- const { theme } = useTheme();
4228
- const [repoInput, setRepoInput] = useState("");
4229
- const [error, setError] = useState(null);
4230
- const handleSubmit = useCallback((e) => {
4231
- e.preventDefault();
4232
- setError(null);
4233
- const parsed = parseGitHubInput(repoInput);
4234
- if (!parsed) {
4235
- setError("Enter a valid format: owner/repo or GitHub URL");
4236
- return;
4237
- }
4238
- if (onNavigate) {
4239
- onNavigate(parsed.owner, parsed.repo);
4240
- } else {
4241
- window.location.href = `/${parsed.owner}/${parsed.repo}`;
4242
- }
4243
- }, [repoInput, onNavigate]);
4244
- useCallback((project) => {
4245
- if (onNavigate) {
4246
- onNavigate(project.owner, project.repo);
4247
- } else {
4248
- window.location.href = `/${project.owner}/${project.repo}`;
4249
- }
4250
- }, [onNavigate]);
4251
- const handleCollectionClick = useCallback((collection) => {
4252
- if (onCollectionClick) {
4253
- onCollectionClick(collection.id);
4254
- }
4255
- }, [onCollectionClick]);
4256
- return /* @__PURE__ */ jsxs(
4257
- "div",
4258
- {
4259
- style: {
4260
- height: "100%",
4261
- display: "flex",
4262
- flexDirection: "column",
4263
- backgroundColor: theme.colors.background,
4264
- color: theme.colors.text,
4265
- fontFamily: theme.fonts.body,
4266
- overflowY: "auto"
4267
- },
4268
- children: [
4269
- curatedCollections.length > 0 && /* @__PURE__ */ jsxs(
4270
- "div",
4271
- {
4272
- style: {
4273
- padding: "48px 32px",
4274
- display: "flex",
4275
- flexDirection: "column",
4276
- alignItems: "center",
4277
- gap: "24px",
4278
- borderBottom: `1px solid ${theme.colors.border}`
4279
- },
4280
- children: [
4281
- /* @__PURE__ */ jsx(
4282
- "h2",
4283
- {
4284
- style: {
4285
- margin: 0,
4286
- fontSize: `${theme.fontSizes[6] || 32}px`,
4287
- fontWeight: theme.fontWeights.semibold,
4288
- color: theme.colors.textSecondary,
4289
- textAlign: "center"
4290
- },
4291
- children: "Explore Curated Collections"
4292
- }
4293
- ),
4294
- /* @__PURE__ */ jsx(
4295
- "div",
4296
- {
4297
- style: {
4298
- display: "flex",
4299
- gap: "16px",
4300
- flexWrap: "wrap",
4301
- justifyContent: "center",
4302
- maxWidth: "1200px"
4303
- },
4304
- children: curatedCollections.map((collection) => /* @__PURE__ */ jsx(
4305
- CollectionCard,
4306
- {
4307
- collection,
4308
- theme,
4309
- onClick: () => handleCollectionClick(collection)
4310
- },
4311
- collection.id
4312
- ))
4313
- }
4314
- )
4315
- ]
4316
- }
4317
- ),
4318
- /* @__PURE__ */ jsxs(
4319
- "div",
4320
- {
4321
- style: {
4322
- padding: "48px 32px",
4323
- display: "flex",
4324
- flexDirection: "column",
4325
- alignItems: "center",
4326
- textAlign: "center",
4327
- borderBottom: `1px solid ${theme.colors.border}`
4328
- },
4329
- children: [
4330
- /* @__PURE__ */ jsx(
4331
- "h1",
4332
- {
4333
- style: {
4334
- margin: "0 0 32px",
4335
- fontSize: `${theme.fontSizes[3]}px`,
4336
- fontWeight: theme.fontWeights.bold,
4337
- color: theme.colors.text
4338
- },
4339
- children: "Explore your Projects"
4340
- }
4341
- ),
4342
- /* @__PURE__ */ jsxs(
4343
- "form",
4344
- {
4345
- onSubmit: handleSubmit,
4346
- style: {
4347
- width: "100%",
4348
- maxWidth: "500px"
4349
- },
4350
- children: [
4351
- /* @__PURE__ */ jsxs(
4352
- "div",
4353
- {
4354
- style: {
4355
- display: "flex",
4356
- gap: "8px",
4357
- padding: "6px",
4358
- borderRadius: "12px",
4359
- backgroundColor: theme.colors.surface,
4360
- border: `2px solid ${error ? theme.colors.error : theme.colors.border}`
4361
- },
4362
- children: [
4363
- /* @__PURE__ */ jsx(
4364
- "div",
4365
- {
4366
- style: {
4367
- display: "flex",
4368
- alignItems: "center",
4369
- paddingLeft: "12px",
4370
- color: theme.colors.textSecondary
4371
- },
4372
- children: /* @__PURE__ */ jsx(Github, { size: 20 })
4373
- }
4374
- ),
4375
- /* @__PURE__ */ jsx(
4376
- "input",
4377
- {
4378
- type: "text",
4379
- value: repoInput,
4380
- onChange: (e) => {
4381
- setRepoInput(e.target.value);
4382
- setError(null);
4383
- },
4384
- placeholder: "owner/repo or paste GitHub URL",
4385
- style: {
4386
- flex: 1,
4387
- padding: "12px 8px",
4388
- border: "none",
4389
- background: "transparent",
4390
- color: theme.colors.text,
4391
- fontSize: `${theme.fontSizes[2]}px`,
4392
- outline: "none"
4393
- }
4394
- }
4395
- ),
4396
- /* @__PURE__ */ jsxs(
4397
- "button",
4398
- {
4399
- type: "submit",
4400
- style: {
4401
- padding: "12px 20px",
4402
- borderRadius: "8px",
4403
- border: "none",
4404
- backgroundColor: theme.colors.primary,
4405
- color: "#fff",
4406
- fontSize: `${theme.fontSizes[2]}px`,
4407
- fontWeight: theme.fontWeights.semibold,
4408
- cursor: "pointer",
4409
- display: "flex",
4410
- alignItems: "center",
4411
- gap: "8px"
4412
- },
4413
- children: [
4414
- "Explore",
4415
- /* @__PURE__ */ jsx(ArrowRight, { size: 18 })
4416
- ]
4417
- }
4418
- )
4419
- ]
4420
- }
4421
- ),
4422
- error && /* @__PURE__ */ jsx(
4423
- "p",
4424
- {
4425
- style: {
4426
- margin: "8px 0 0",
4427
- fontSize: `${theme.fontSizes[1]}px`,
4428
- color: theme.colors.error
4429
- },
4430
- children: error
4431
- }
4432
- )
4433
- ]
4434
- }
4435
- )
4436
- ]
4437
- }
4438
- )
4439
- ]
4440
- }
4441
- );
4442
- };
4443
- const WelcomePanelMetadata = {
4444
- id: "welcome",
4445
- name: "Welcome",
4446
- description: "Landing page with branding and repository search",
4447
- icon: "home",
4448
- version: "0.1.0",
4449
- slices: [],
4450
- surfaces: ["panel"]
4451
- };
4452
3794
  const listRepositoriesTool = {
4453
3795
  name: "list_repositories",
4454
3796
  description: "Get a list of GitHub repositories the user has access to, including owned repos, starred repos, and organization repos.",
@@ -4703,16 +4045,6 @@ const panels = [
4703
4045
  onUnmount: async (_context) => {
4704
4046
  console.log("Recent Repositories Panel unmounting");
4705
4047
  }
4706
- },
4707
- {
4708
- metadata: WelcomePanelMetadata,
4709
- component: WelcomePanel,
4710
- onMount: async (_context) => {
4711
- console.log("Welcome Panel mounted");
4712
- },
4713
- onUnmount: async (_context) => {
4714
- console.log("Welcome Panel unmounting");
4715
- }
4716
4048
  }
4717
4049
  ];
4718
4050
  const onPackageLoad = async () => {
@@ -4728,7 +4060,6 @@ export {
4728
4060
  GitHubSearchPanel,
4729
4061
  OwnerRepositoriesPanel,
4730
4062
  RecentRepositoriesPanel,
4731
- WelcomePanel,
4732
4063
  addRecentOwner,
4733
4064
  addRecentRepository,
4734
4065
  githubTools,