boltdocs 1.5.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/{PackageManagerTabs-XW3AVXVX.mjs → PackageManagerTabs-NVT7G625.mjs} +1 -1
  2. package/dist/{SearchDialog-CEVPEMT3.css → SearchDialog-UOAW6IR3.css} +361 -113
  3. package/dist/{SearchDialog-5ISK64QY.mjs → SearchDialog-YOXMFGH6.mjs} +1 -1
  4. package/dist/{chunk-S5G55FBI.mjs → chunk-7SFUJWTB.mjs} +4 -4
  5. package/dist/{chunk-FMQ4HRKZ.mjs → chunk-MULKZFVN.mjs} +873 -759
  6. package/dist/client/index.css +361 -113
  7. package/dist/client/index.d.mts +39 -8
  8. package/dist/client/index.d.ts +39 -8
  9. package/dist/client/index.js +722 -467
  10. package/dist/client/index.mjs +197 -58
  11. package/dist/client/ssr.css +361 -113
  12. package/dist/client/ssr.d.mts +3 -1
  13. package/dist/client/ssr.d.ts +3 -1
  14. package/dist/client/ssr.js +533 -412
  15. package/dist/client/ssr.mjs +3 -2
  16. package/dist/{config-DkZg5aCf.d.ts → config-D68h41CA.d.mts} +21 -2
  17. package/dist/{config-DkZg5aCf.d.mts → config-D68h41CA.d.ts} +21 -2
  18. package/dist/node/index.d.mts +10 -2
  19. package/dist/node/index.d.ts +10 -2
  20. package/dist/node/index.js +45 -21
  21. package/dist/node/index.mjs +45 -21
  22. package/dist/{types-DGIo1VKD.d.ts → types-CviV0GbX.d.mts} +13 -0
  23. package/dist/{types-DGIo1VKD.d.mts → types-CviV0GbX.d.ts} +13 -0
  24. package/package.json +1 -1
  25. package/src/client/app/index.tsx +8 -4
  26. package/src/client/index.ts +4 -0
  27. package/src/client/ssr.tsx +4 -1
  28. package/src/client/theme/components/mdx/FileTree.tsx +229 -0
  29. package/src/client/theme/components/mdx/Table.tsx +53 -0
  30. package/src/client/theme/components/mdx/Tabs.tsx +1 -4
  31. package/src/client/theme/components/mdx/index.ts +6 -0
  32. package/src/client/theme/components/mdx/mdx-components.css +158 -0
  33. package/src/client/theme/icons/pnpm.tsx +5 -5
  34. package/src/client/theme/styles/markdown.css +8 -3
  35. package/src/client/theme/styles/variables.css +10 -9
  36. package/src/client/theme/ui/Layout/Layout.tsx +2 -10
  37. package/src/client/theme/ui/Layout/base.css +15 -3
  38. package/src/client/theme/ui/Link/Link.tsx +2 -2
  39. package/src/client/theme/ui/Link/LinkPreview.tsx +9 -14
  40. package/src/client/theme/ui/Link/link-preview.css +30 -27
  41. package/src/client/theme/ui/Navbar/Navbar.tsx +65 -17
  42. package/src/client/theme/ui/Navbar/Tabs.tsx +74 -0
  43. package/src/client/theme/ui/Navbar/navbar.css +111 -5
  44. package/src/client/theme/ui/OnThisPage/OnThisPage.tsx +65 -49
  45. package/src/client/theme/ui/OnThisPage/toc.css +30 -10
  46. package/src/client/theme/ui/Sidebar/Sidebar.tsx +97 -57
  47. package/src/client/theme/ui/Sidebar/sidebar.css +61 -67
  48. package/src/client/types.ts +10 -0
  49. package/src/node/config.ts +19 -1
  50. package/src/node/plugin/entry.ts +5 -1
  51. package/src/node/plugin/index.ts +2 -1
  52. package/src/node/routes/index.ts +12 -1
  53. package/src/node/routes/parser.ts +21 -7
  54. package/src/node/routes/types.ts +9 -1
  55. package/src/node/ssg/index.ts +2 -1
  56. package/src/node/ssg/options.ts +2 -0
  57. package/src/client/theme/icons/yarn.tsx +0 -16
@@ -4,7 +4,7 @@
4
4
  :root[data-theme=light],
5
5
  :root.theme-light {
6
6
  --ld-bg-main: #ffffff;
7
- --ld-bg-soft: #f9fafb;
7
+ --ld-bg-soft: #eeeeee;
8
8
  --ld-bg-mute: #f3f4f6;
9
9
  --ld-surface: #ffffff;
10
10
  --ld-border-subtle: #e5e7eb;
@@ -31,7 +31,7 @@
31
31
  --ld-sidebar-bg: transparent;
32
32
  --ld-sidebar-blur: 0px;
33
33
  --ld-glow-1-bg: var(--ld-color-primary-glow);
34
- --ld-glow-2-bg: rgba(59, 130, 246, 0.15);
34
+ --ld-glow-2-bg: rgba(215, 59, 246, 0.15);
35
35
  --ld-ui-btn-primary-bg: var(--ld-btn-primary-bg);
36
36
  --ld-ui-btn-primary-text: var(--ld-btn-primary-text);
37
37
  --ld-ui-btn-secondary-bg: var(--ld-btn-secondary-bg);
@@ -56,10 +56,10 @@
56
56
  --ld-ui-tip-border: rgba(34, 197, 94, 0.3);
57
57
  }
58
58
  :root {
59
- --ld-bg-main: #0a0a0f;
60
- --ld-bg-soft: rgba(10, 10, 15, 0.2);
61
- --ld-bg-mute: #141420;
62
- --ld-surface: #1a1a2e;
59
+ --ld-bg-main: #000;
60
+ --ld-bg-soft: #12121272;
61
+ --ld-bg-mute: #090909;
62
+ --ld-surface: #1a1a1a;
63
63
  --ld-border-subtle: rgba(255, 255, 255, 0.06);
64
64
  --ld-border-strong: rgba(255, 255, 255, 0.12);
65
65
  --ld-text-main: #e4e4ed;
@@ -77,15 +77,15 @@
77
77
  --ld-btn-secondary-text: #e4e4ed;
78
78
  --ld-gradient-from: #ffffff;
79
79
  --ld-gradient-to: rgba(255, 255, 255, 0.7);
80
- --ld-code-bg: #0d0d14;
80
+ --ld-code-bg: #050505;
81
81
  --ld-code-header: #111119;
82
82
  --ld-code-text: #d4d4d4;
83
- --ld-navbar-bg: rgba(10, 10, 15, 0.2);
83
+ --ld-navbar-bg: #000;
84
84
  --ld-navbar-blur: 12px;
85
85
  --ld-sidebar-bg: transparent;
86
86
  --ld-sidebar-blur: 0px;
87
87
  --ld-glow-1-bg: var(--ld-color-primary-glow);
88
- --ld-glow-2-bg: rgba(59, 130, 246, 0.15);
88
+ --ld-glow-2-bg: rgba(246, 59, 187, 0.15);
89
89
  --ld-ui-btn-primary-bg: var(--ld-btn-primary-bg);
90
90
  --ld-ui-btn-primary-text: var(--ld-btn-primary-text);
91
91
  --ld-ui-btn-secondary-bg: var(--ld-btn-secondary-bg);
@@ -122,6 +122,7 @@
122
122
  Consolas,
123
123
  monospace;
124
124
  --ld-navbar-height: 3.5rem;
125
+ --ld-header-height: var(--ld-navbar-height);
125
126
  --ld-sidebar-width: 14.5rem;
126
127
  --ld-toc-width: 13rem;
127
128
  --ld-content-max-width: 820px;
@@ -137,8 +138,14 @@
137
138
  *::after {
138
139
  box-sizing: border-box;
139
140
  }
141
+ html,
140
142
  body {
141
143
  margin: 0;
144
+ padding: 0;
145
+ height: 100%;
146
+ overflow: hidden;
147
+ }
148
+ body {
142
149
  font-family: var(--ld-font-sans);
143
150
  background-color: var(--ld-bg-main);
144
151
  color: var(--ld-text-main);
@@ -155,7 +162,9 @@ a {
155
162
  .boltdocs-layout {
156
163
  display: flex;
157
164
  flex-direction: column;
158
- min-height: 100vh;
165
+ height: 100vh;
166
+ width: 100vw;
167
+ overflow: hidden;
159
168
  }
160
169
  .boltdocs-main-container {
161
170
  display: flex;
@@ -163,7 +172,10 @@ a {
163
172
  width: 100%;
164
173
  max-width: 1440px;
165
174
  margin: 0 auto;
166
- padding: 0 1.5rem;
175
+ padding: 0 0.5rem;
176
+ height: calc(100vh - var(--ld-header-height));
177
+ overflow: hidden;
178
+ align-items: stretch;
167
179
  }
168
180
  .boltdocs-background-glow {
169
181
  position: fixed;
@@ -199,18 +211,22 @@ a {
199
211
  /* src/client/theme/ui/Navbar/navbar.css */
200
212
  .boltdocs-navbar {
201
213
  display: flex;
202
- align-items: center;
214
+ flex-direction: column;
203
215
  justify-content: center;
204
- height: var(--ld-navbar-height);
205
- padding: 0;
206
216
  background-color: var(--ld-navbar-bg);
207
- backdrop-filter: blur(var(--ld-navbar-blur));
208
- -webkit-backdrop-filter: blur(var(--ld-navbar-blur));
209
217
  border-bottom: 1px solid var(--ld-border-subtle);
210
218
  position: sticky;
211
219
  top: 0;
212
220
  z-index: 100;
213
221
  }
222
+ .boltdocs-navbar.has-tabs {
223
+ --ld-header-height: 102px !important;
224
+ height: 102px;
225
+ }
226
+ .boltdocs-navbar:not(.has-tabs) {
227
+ --ld-header-height: var(--ld-navbar-height);
228
+ height: var(--ld-navbar-height);
229
+ }
214
230
  .navbar-container {
215
231
  display: flex;
216
232
  align-items: center;
@@ -295,6 +311,15 @@ a {
295
311
  font-size: 0.875rem;
296
312
  border-radius: var(--ld-radius-md);
297
313
  transition: color 0.2s, background-color 0.2s;
314
+ display: flex;
315
+ align-items: center;
316
+ gap: 0.35rem;
317
+ }
318
+ .navbar-external-icon {
319
+ display: inline-flex;
320
+ align-items: center;
321
+ opacity: 0.6;
322
+ margin-top: 1px;
298
323
  }
299
324
  .navbar-links a:hover {
300
325
  color: var(--ld-text-main);
@@ -395,6 +420,84 @@ a {
395
420
  width: 18px;
396
421
  height: 18px;
397
422
  }
423
+ .boltdocs-tabs-container {
424
+ border-bottom: 1px solid var(--ld-border-subtle);
425
+ background: var(--ld-navbar-bg);
426
+ padding: 0;
427
+ height: 46px;
428
+ }
429
+ .boltdocs-tabs {
430
+ max-width: 1440px;
431
+ margin: 0 auto;
432
+ display: flex;
433
+ gap: 2rem;
434
+ overflow-x: auto;
435
+ scrollbar-width: none;
436
+ padding: 0 1.5rem;
437
+ }
438
+ .boltdocs-tabs::-webkit-scrollbar {
439
+ display: none;
440
+ }
441
+ .boltdocs-tab-item {
442
+ padding: 0.85rem 0;
443
+ padding-bottom: calc(0.85rem + 1px);
444
+ font-size: 0.875rem;
445
+ font-weight: 500;
446
+ color: var(--ld-text-muted);
447
+ text-decoration: none;
448
+ position: relative;
449
+ transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
450
+ white-space: nowrap;
451
+ display: flex;
452
+ align-items: center;
453
+ gap: 0.6rem;
454
+ opacity: 0.7;
455
+ }
456
+ .boltdocs-tab-item:hover {
457
+ color: var(--ld-text-main);
458
+ opacity: 1;
459
+ }
460
+ .tab-icon {
461
+ flex-shrink: 0;
462
+ display: flex;
463
+ align-items: center;
464
+ justify-content: center;
465
+ transition: transform 0.2s ease;
466
+ }
467
+ .boltdocs-tab-item:hover .tab-icon {
468
+ transform: translateY(-1px);
469
+ }
470
+ .tab-icon.lucide-icon,
471
+ .tab-icon.svg-icon svg {
472
+ width: 18px;
473
+ height: 18px;
474
+ stroke-width: 2.25px;
475
+ }
476
+ .boltdocs-tab-item.active {
477
+ color: var(--ld-text-main);
478
+ font-weight: 600;
479
+ opacity: 1;
480
+ text-shadow: 0 0 10px rgba(255, 255, 255, 0.2);
481
+ }
482
+ .boltdocs-tab-item::after {
483
+ content: "";
484
+ position: absolute;
485
+ bottom: 0px;
486
+ left: 0;
487
+ right: 0;
488
+ height: 3px;
489
+ background: var(--ld-primary);
490
+ border-radius: 2px 2px 0 0;
491
+ box-shadow: 0 0 12px rgba(var(--ld-primary-rgb), 0.6);
492
+ opacity: 0;
493
+ transform: scaleX(0);
494
+ transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
495
+ z-index: 10;
496
+ }
497
+ .boltdocs-tab-item.active::after {
498
+ opacity: 1;
499
+ transform: scaleX(1);
500
+ }
398
501
 
399
502
  /* src/client/theme/ui/Sidebar/sidebar.css */
400
503
  .boltdocs-sidebar {
@@ -404,64 +507,38 @@ a {
404
507
  backdrop-filter: blur(var(--ld-sidebar-blur));
405
508
  -webkit-backdrop-filter: blur(var(--ld-sidebar-blur));
406
509
  border-right: 1px solid var(--ld-border-subtle);
407
- padding: 1rem 0.6rem;
510
+ padding: 1.5rem 0.6rem;
408
511
  overflow-y: auto;
409
- position: sticky;
410
- top: var(--ld-navbar-height);
411
- height: calc(100vh - var(--ld-navbar-height));
412
- scrollbar-width: thin;
413
- scrollbar-color: var(--ld-bg-mute) transparent;
512
+ height: 100%;
513
+ scrollbar-width: none;
414
514
  display: flex;
415
515
  flex-direction: column;
416
- transition:
417
- width 0.3s cubic-bezier(0.16, 1, 0.3, 1),
418
- padding 0.3s cubic-bezier(0.16, 1, 0.3, 1),
419
- opacity 0.2s ease;
420
- }
421
- .boltdocs-sidebar > nav {
422
- flex: 1;
423
- }
424
- .boltdocs-main-container.sidebar-collapsed .boltdocs-sidebar {
425
- width: 54px;
426
- padding: 1rem 0;
427
- border-right: 1px solid var(--ld-border-subtle);
428
- opacity: 1;
429
- pointer-events: auto;
430
- overflow: hidden;
516
+ transform: translate3d(0, 0, 0);
517
+ backface-visibility: hidden;
431
518
  }
432
- .sidebar-collapse {
433
- width: 100%;
519
+ .sidebar-icon {
520
+ flex-shrink: 0;
434
521
  display: flex;
435
522
  align-items: center;
436
- justify-content: flex-end;
437
- padding: 0 0.75rem 1rem;
438
- transition: justify-content 0.3s ease;
439
- }
440
- .boltdocs-main-container.sidebar-collapsed .sidebar-collapse {
441
523
  justify-content: center;
442
- padding: 0 0 1rem;
443
524
  }
444
- .sidebar-collapse-btn {
525
+ .sidebar-icon.lucide-icon,
526
+ .sidebar-icon.svg-icon svg {
445
527
  color: var(--ld-text-muted);
446
- border: none;
447
- box-shadow: none;
448
- background-color: transparent;
449
- cursor: pointer;
450
- display: flex;
451
- align-items: center;
452
- justify-content: center;
453
- width: 32px;
454
- height: 32px;
455
- border-radius: var(--ld-radius-md);
456
- transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
528
+ width: 18px;
529
+ height: 18px;
530
+ stroke-width: 2px;
531
+ transition: color 0.2s ease;
457
532
  }
458
- .sidebar-collapse-btn:hover {
459
- background-color: var(--ld-bg-mute);
460
- color: var(--ld-text-main);
461
- transform: scale(1.05);
533
+ .sidebar-link:hover .sidebar-icon.lucide-icon,
534
+ .sidebar-link.active .sidebar-icon.lucide-icon {
535
+ color: var(--ld-color-primary);
536
+ }
537
+ .boltdocs-sidebar > nav {
538
+ flex: 1;
462
539
  }
463
540
  .boltdocs-sidebar::-webkit-scrollbar {
464
- width: 4px;
541
+ display: none;
465
542
  }
466
543
  .boltdocs-sidebar::-webkit-scrollbar-track {
467
544
  background: transparent;
@@ -476,21 +553,26 @@ a {
476
553
  margin: 0 0 0.5rem;
477
554
  }
478
555
  .sidebar-list li {
479
- margin-bottom: 1px;
556
+ margin-bottom: 2px;
480
557
  }
481
558
  .sidebar-link {
482
559
  display: flex;
483
560
  align-items: center;
484
561
  justify-content: space-between;
485
- padding: 0.45rem 0.75rem;
562
+ padding: 0.5rem 0.75rem;
486
563
  color: var(--ld-text-muted);
487
564
  text-decoration: none;
488
- border-radius: var(--ld-radius-md);
565
+ border-radius: 0.75rem;
489
566
  font-size: 0.875rem;
490
567
  font-weight: 500;
491
568
  transition: all 0.2s ease;
492
569
  margin: 0.15rem 0;
493
570
  }
571
+ .sidebar-link-title-container {
572
+ display: flex;
573
+ align-items: center;
574
+ gap: 0.75rem;
575
+ }
494
576
  .sidebar-link-content {
495
577
  display: flex;
496
578
  align-items: center;
@@ -498,7 +580,7 @@ a {
498
580
  width: 100%;
499
581
  gap: 0.5rem;
500
582
  }
501
- .sidebar-link-content > span:first-child {
583
+ .sidebar-link-content > span:last-child {
502
584
  flex: 1;
503
585
  word-wrap: break-word;
504
586
  }
@@ -537,10 +619,12 @@ a {
537
619
  }
538
620
  .sidebar-link:hover {
539
621
  color: var(--ld-color-primary-hover);
622
+ background-color: var(--ld-bg-soft);
540
623
  }
541
624
  .sidebar-link.active {
542
625
  color: var(--ld-color-primary);
543
626
  font-weight: 600;
627
+ background-color: var(--ld-bg-soft);
544
628
  }
545
629
  .sidebar-group {
546
630
  margin-top: 1.25rem;
@@ -553,25 +637,27 @@ a {
553
637
  align-items: center;
554
638
  justify-content: space-between;
555
639
  width: 100%;
556
- padding: 0.35rem 0.75rem;
640
+ padding: 0.5rem 0.75rem;
557
641
  background: none;
558
642
  border: none;
559
643
  border-radius: var(--ld-radius-md);
560
- color: var(--ld-text-dim);
644
+ color: var(--ld-text-muted);
561
645
  font-family: var(--ld-font-sans);
562
- font-size: 0.6875rem;
563
- font-weight: 700;
564
- text-transform: uppercase;
565
- letter-spacing: 0.08em;
646
+ font-size: 0.8125rem;
647
+ font-weight: 600;
566
648
  cursor: pointer;
567
649
  transition: color 0.2s, background-color 0.2s;
568
650
  }
651
+ .sidebar-group-header-content {
652
+ display: flex;
653
+ align-items: center;
654
+ gap: 0.75rem;
655
+ }
569
656
  .sidebar-group-header:hover {
570
- color: var(--ld-text-muted);
571
- background-color: rgba(255, 255, 255, 0.03);
657
+ color: var(--ld-text-main);
572
658
  }
573
659
  .sidebar-group-header.active {
574
- color: var(--ld-color-primary);
660
+ color: var(--ld-text-main);
575
661
  }
576
662
  .sidebar-group-chevron {
577
663
  display: inline-flex;
@@ -586,14 +672,23 @@ a {
586
672
  .sidebar-group-list {
587
673
  list-style: none;
588
674
  padding: 0;
589
- margin: 0.35rem 0 0;
590
- overflow: hidden;
675
+ margin: 0.35rem 0 0.5rem 0;
676
+ position: relative;
591
677
  }
592
678
  .sidebar-group-list li {
593
- margin-bottom: 1px;
679
+ margin-bottom: 2px;
594
680
  }
595
681
  .sidebar-link-nested {
596
- padding-left: 1.25rem;
682
+ padding-left: 0.75rem;
683
+ }
684
+ .sidebar-group-list {
685
+ list-style: none;
686
+ padding: 0;
687
+ margin: 0.35rem 0 0.5rem 0;
688
+ position: relative;
689
+ }
690
+ .sidebar-group-list li {
691
+ margin-bottom: 2px;
597
692
  }
598
693
 
599
694
  /* src/client/theme/ui/OnThisPage/toc.css */
@@ -601,12 +696,11 @@ a {
601
696
  width: var(--ld-toc-width);
602
697
  flex-shrink: 0;
603
698
  padding: 1.5rem 1rem;
604
- position: sticky;
605
- top: var(--ld-navbar-height);
606
- height: calc(100vh - var(--ld-navbar-height));
607
- overflow-y: auto;
608
- scrollbar-width: thin;
609
- scrollbar-color: var(--ld-bg-mute) transparent;
699
+ height: 100%;
700
+ display: flex;
701
+ flex-direction: column;
702
+ transform: translate3d(0, 0, 0);
703
+ backface-visibility: hidden;
610
704
  }
611
705
  .on-this-page-title {
612
706
  font-size: 0.6875rem;
@@ -616,10 +710,25 @@ a {
616
710
  color: var(--ld-text-dim);
617
711
  margin: 0 0 0.75rem;
618
712
  padding-left: 0.75rem;
713
+ flex-shrink: 0;
619
714
  }
620
715
  .on-this-page-container {
621
716
  position: relative;
622
717
  padding-left: 2px;
718
+ flex: 0 1 auto;
719
+ min-height: 0;
720
+ display: flex;
721
+ flex-direction: column;
722
+ }
723
+ .on-this-page-list-container {
724
+ overflow-y: auto;
725
+ max-height: 50vh;
726
+ flex: 0 1 auto;
727
+ position: relative;
728
+ scrollbar-width: none;
729
+ }
730
+ .on-this-page-list-container::-webkit-scrollbar {
731
+ display: none;
623
732
  }
624
733
  .on-this-page-list {
625
734
  list-style: none;
@@ -656,7 +765,7 @@ a {
656
765
  border-left: 2px solid transparent;
657
766
  margin-left: -2px;
658
767
  line-height: 1.4;
659
- transition: color 0.2s;
768
+ transition: color 0.2s, font-weight 0.2s;
660
769
  }
661
770
  .toc-link:hover {
662
771
  color: var(--ld-text-main);
@@ -666,9 +775,10 @@ a {
666
775
  font-weight: 500;
667
776
  }
668
777
  .toc-help {
669
- margin-top: 2rem;
778
+ margin-top: 1.5rem;
670
779
  padding-top: 1rem;
671
780
  border-top: 1px solid var(--ld-border-subtle);
781
+ flex-shrink: 0;
672
782
  }
673
783
  .toc-help-title {
674
784
  font-size: 0.6875rem;
@@ -699,8 +809,8 @@ a {
699
809
  transition: color 0.2s, background-color 0.2s;
700
810
  }
701
811
  .toc-help-link:hover {
702
- color: var(--ld-text-muted);
703
- background-color: rgba(255, 255, 255, 0.03);
812
+ color: var(--ld-text-main);
813
+ background-color: var(--ld-bg-mute);
704
814
  }
705
815
  .toc-help-link svg {
706
816
  width: 14px;
@@ -894,14 +1004,18 @@ a {
894
1004
  /* src/client/theme/styles/markdown.css */
895
1005
  .boltdocs-content {
896
1006
  flex: 1;
897
- padding: 2rem 2.5rem 2.5rem;
1007
+ padding: 2rem 2.5rem 6rem;
898
1008
  max-width: var(--ld-content-max-width);
899
1009
  margin: 0 auto;
900
1010
  min-width: 0;
1011
+ height: 100%;
1012
+ overflow-y: auto;
1013
+ scrollbar-width: none;
1014
+ scroll-behavior: smooth;
901
1015
  transition: max-width 0.3s cubic-bezier(0.16, 1, 0.3, 1), padding 0.3s ease;
902
1016
  }
903
- .boltdocs-main-container.sidebar-collapsed .boltdocs-content {
904
- max-width: 100%;
1017
+ .boltdocs-content::-webkit-scrollbar {
1018
+ display: none;
905
1019
  }
906
1020
  .boltdocs-breadcrumbs {
907
1021
  margin-bottom: 1.5rem;
@@ -1571,6 +1685,138 @@ a {
1571
1685
  .ld-list--arrow .ld-list__icon {
1572
1686
  color: var(--ld-color-primary);
1573
1687
  }
1688
+ .ld-file-tree {
1689
+ margin: 1.5rem 0;
1690
+ padding: 1rem;
1691
+ border-radius: var(--ld-radius-lg);
1692
+ border: 1px solid var(--ld-border-subtle);
1693
+ background: var(--ld-bg-soft);
1694
+ font-family: var(--ld-font-mono);
1695
+ font-size: 0.875rem;
1696
+ overflow-x: auto;
1697
+ }
1698
+ .ld-file-tree__list {
1699
+ list-style: none !important;
1700
+ margin: 0 !important;
1701
+ padding: 0;
1702
+ position: relative;
1703
+ }
1704
+ .ld-file-tree__list:not(.ld-file-tree__list--root) {
1705
+ padding-left: 1.25rem;
1706
+ margin-top: 0.25rem !important;
1707
+ position: relative;
1708
+ }
1709
+ .ld-file-tree__list:not(.ld-file-tree__list--root)::before {
1710
+ content: "";
1711
+ position: absolute;
1712
+ top: 0;
1713
+ bottom: 0;
1714
+ left: 0.45rem;
1715
+ width: 1px;
1716
+ background-color: var(--ld-border-subtle);
1717
+ z-index: 0;
1718
+ }
1719
+ .ld-file-tree__item {
1720
+ position: relative;
1721
+ margin: 0.2rem 0 !important;
1722
+ padding: 0 !important;
1723
+ display: block !important;
1724
+ }
1725
+ .ld-file-tree__label {
1726
+ display: inline-flex;
1727
+ align-items: center;
1728
+ gap: 0.5rem;
1729
+ color: var(--ld-text-muted);
1730
+ user-select: none;
1731
+ border-radius: var(--ld-radius-sm);
1732
+ padding: 0.25rem 0.6rem 0.25rem 0.4rem;
1733
+ transition: all 0.2s ease;
1734
+ position: relative;
1735
+ z-index: 1;
1736
+ }
1737
+ .ld-file-tree__label:hover {
1738
+ background: var(--ld-bg-mute);
1739
+ color: var(--ld-text-main);
1740
+ }
1741
+ .ld-file-tree__label--folder {
1742
+ color: var(--ld-text-main);
1743
+ font-weight: 500;
1744
+ }
1745
+ .ld-file-tree__icon {
1746
+ display: inline-flex;
1747
+ align-items: center;
1748
+ justify-content: center;
1749
+ opacity: 0.8;
1750
+ flex-shrink: 0;
1751
+ }
1752
+ .ld-file-tree__icon-folder {
1753
+ color: var(--ld-color-primary);
1754
+ }
1755
+ .ld-file-tree__name {
1756
+ white-space: nowrap;
1757
+ }
1758
+ .ld-file-tree__icon--chevron {
1759
+ width: 14px;
1760
+ height: 14px;
1761
+ opacity: 0.5;
1762
+ transition: opacity 0.2s ease;
1763
+ display: flex !important;
1764
+ align-items: center;
1765
+ justify-content: center;
1766
+ }
1767
+ .ld-file-tree__label:hover .ld-file-tree__icon--chevron {
1768
+ opacity: 1;
1769
+ }
1770
+ .ld-file-tree__chevron {
1771
+ transition: transform 0.2s ease;
1772
+ }
1773
+ .ld-file-tree__chevron--open {
1774
+ transform: rotate(90deg);
1775
+ }
1776
+ .ld-file-tree__icon--spacer {
1777
+ width: 14px;
1778
+ }
1779
+ .ld-table-container {
1780
+ margin: 1.5rem 0;
1781
+ border: 1px solid var(--ld-border-subtle);
1782
+ border-radius: var(--ld-radius-lg);
1783
+ overflow: hidden;
1784
+ background: var(--ld-bg-soft);
1785
+ overflow-x: auto;
1786
+ }
1787
+ .ld-table {
1788
+ width: 100%;
1789
+ border-collapse: collapse;
1790
+ text-align: left;
1791
+ font-size: 0.875rem;
1792
+ line-height: 1.5;
1793
+ }
1794
+ .ld-table thead {
1795
+ background: var(--ld-bg-mute);
1796
+ border-bottom: 1px solid var(--ld-border-subtle);
1797
+ }
1798
+ .ld-table th {
1799
+ padding: 0.75rem 1rem;
1800
+ font-weight: 600;
1801
+ color: var(--ld-text-main);
1802
+ font-size: 0.8125rem;
1803
+ text-transform: uppercase;
1804
+ letter-spacing: 0.04em;
1805
+ }
1806
+ .ld-table td {
1807
+ padding: 0.875rem 1rem;
1808
+ color: var(--ld-text-muted);
1809
+ border-bottom: 1px solid var(--ld-border-subtle);
1810
+ }
1811
+ .ld-table tr:last-child td {
1812
+ border-bottom: none;
1813
+ }
1814
+ .ld-table code {
1815
+ font-size: 0.8rem;
1816
+ padding: 0.2rem 0.4rem;
1817
+ background: rgba(255, 255, 255, 0.05);
1818
+ border-radius: 4px;
1819
+ }
1574
1820
 
1575
1821
  /* src/client/theme/components/PackageManagerTabs/pkg-tabs.css */
1576
1822
  .pkg-tabs-wrapper {
@@ -2079,50 +2325,52 @@ a.not-found-link:hover {
2079
2325
  .boltdocs-link-preview {
2080
2326
  position: fixed;
2081
2327
  z-index: 1000;
2082
- width: 320px;
2083
- padding: 1rem;
2084
- background-color: var(--ld-navbar-bg);
2085
- backdrop-filter: blur(var(--ld-navbar-blur));
2086
- -webkit-backdrop-filter: blur(var(--ld-navbar-blur));
2087
- border: 1px solid var(--ld-border-subtle);
2088
- border-radius: var(--ld-radius-md);
2089
- box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
2328
+ width: 260px;
2090
2329
  pointer-events: none;
2091
2330
  opacity: 0;
2092
- transform: translateY(10px) scale(0.95);
2093
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
2331
+ transform: translateY(8px) scale(0.98);
2332
+ transition: opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1), transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
2094
2333
  font-family: var(--ld-font-sans);
2095
2334
  }
2096
2335
  .boltdocs-link-preview.is-visible {
2097
2336
  opacity: 1;
2098
2337
  transform: translateY(0) scale(1);
2099
2338
  }
2339
+ .boltdocs-link-preview-content {
2340
+ padding: 0.85rem 1rem;
2341
+ background-color: var(--ld-navbar-bg);
2342
+ backdrop-filter: blur(20px);
2343
+ -webkit-backdrop-filter: blur(20px);
2344
+ border: 1px solid var(--ld-border-subtle);
2345
+ border-radius: var(--ld-radius-lg);
2346
+ box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.2), 0 4px 10px -5px rgba(0, 0, 0, 0.1);
2347
+ }
2100
2348
  .boltdocs-link-preview-title {
2101
2349
  display: block;
2102
2350
  font-weight: 600;
2103
- font-size: 0.95rem;
2351
+ font-size: 0.875rem;
2104
2352
  color: var(--ld-text-main);
2105
- margin-bottom: 0.5rem;
2106
- line-height: 1.4;
2353
+ margin-bottom: 0.35rem;
2354
+ line-height: 1.3;
2107
2355
  }
2108
2356
  .boltdocs-link-preview-summary {
2109
2357
  display: block;
2110
- font-size: 0.85rem;
2358
+ font-size: 0.775rem;
2111
2359
  color: var(--ld-text-muted);
2112
2360
  line-height: 1.5;
2113
2361
  display: -webkit-box;
2114
- -webkit-line-clamp: 4;
2115
- line-clamp: 4;
2362
+ -webkit-line-clamp: 3;
2363
+ line-clamp: 3;
2116
2364
  -webkit-box-orient: vertical;
2117
2365
  overflow: hidden;
2118
2366
  }
2119
- [data-theme=dark] .boltdocs-link-preview {
2120
- background-color: var(--ld-navbar-bg);
2121
- border-color: var(--ld-border-subtle);
2122
- box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 10px 10px -5px rgba(0, 0, 0, 0.2);
2367
+ [data-theme=dark] .boltdocs-link-preview-content {
2368
+ background-color: rgba(15, 15, 20, 0.8);
2369
+ border-color: rgba(255, 255, 255, 0.08);
2370
+ box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.5), 0 8px 16px -8px rgba(0, 0, 0, 0.3);
2123
2371
  }
2124
2372
  [data-theme=dark] .boltdocs-link-preview-title {
2125
- color: #f8fafc;
2373
+ color: #fff;
2126
2374
  }
2127
2375
  [data-theme=dark] .boltdocs-link-preview-summary {
2128
2376
  color: #94a3b8;