boltdocs 1.7.0 → 1.8.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 (42) hide show
  1. package/dist/{SearchDialog-UOAW6IR3.css → SearchDialog-4ANHNJTL.css} +213 -28
  2. package/dist/{SearchDialog-YOXMFGH6.mjs → SearchDialog-6Z7CUAYJ.mjs} +8 -1
  3. package/dist/{chunk-MULKZFVN.mjs → chunk-SFVOGJ2W.mjs} +269 -165
  4. package/dist/client/index.css +211 -26
  5. package/dist/client/index.d.mts +25 -6
  6. package/dist/client/index.d.ts +25 -6
  7. package/dist/client/index.js +614 -336
  8. package/dist/client/index.mjs +134 -5
  9. package/dist/client/ssr.css +211 -26
  10. package/dist/client/ssr.d.mts +1 -1
  11. package/dist/client/ssr.d.ts +1 -1
  12. package/dist/client/ssr.js +378 -230
  13. package/dist/client/ssr.mjs +1 -1
  14. package/dist/node/index.d.mts +2 -0
  15. package/dist/node/index.d.ts +2 -0
  16. package/dist/node/index.js +4 -1
  17. package/dist/node/index.mjs +4 -1
  18. package/dist/{types-CviV0GbX.d.ts → types-BbceAHA0.d.mts} +2 -0
  19. package/dist/{types-CviV0GbX.d.mts → types-BbceAHA0.d.ts} +2 -0
  20. package/package.json +1 -1
  21. package/src/client/app/index.tsx +8 -7
  22. package/src/client/index.ts +2 -0
  23. package/src/client/theme/components/mdx/Field.tsx +60 -0
  24. package/src/client/theme/components/mdx/Table.tsx +108 -10
  25. package/src/client/theme/components/mdx/index.ts +3 -0
  26. package/src/client/theme/components/mdx/mdx-components.css +174 -0
  27. package/src/client/theme/styles/variables.css +25 -1
  28. package/src/client/theme/ui/ErrorBoundary/ErrorBoundary.tsx +46 -0
  29. package/src/client/theme/ui/ErrorBoundary/index.ts +1 -0
  30. package/src/client/theme/ui/Layout/Layout.tsx +8 -1
  31. package/src/client/theme/ui/Link/link-preview.css +1 -20
  32. package/src/client/theme/ui/Navbar/Tabs.tsx +37 -12
  33. package/src/client/theme/ui/Navbar/navbar.css +26 -18
  34. package/src/client/theme/ui/OnThisPage/OnThisPage.tsx +1 -8
  35. package/src/client/theme/ui/ProgressBar/ProgressBar.css +17 -0
  36. package/src/client/theme/ui/ProgressBar/ProgressBar.tsx +51 -0
  37. package/src/client/theme/ui/ProgressBar/index.ts +1 -0
  38. package/src/client/theme/ui/SearchDialog/SearchDialog.tsx +11 -1
  39. package/src/client/types.ts +2 -0
  40. package/src/node/routes/index.ts +1 -0
  41. package/src/node/routes/parser.ts +11 -0
  42. package/src/node/routes/types.ts +2 -0
@@ -1,5 +1,27 @@
1
1
  @import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";
2
2
 
3
+ /* src/client/theme/ui/ProgressBar/ProgressBar.css */
4
+ .boltdocs-progress-container {
5
+ position: fixed;
6
+ top: 0;
7
+ left: 0;
8
+ width: 100%;
9
+ height: 2px;
10
+ z-index: 1000;
11
+ pointer-events: none;
12
+ background: transparent;
13
+ }
14
+ .boltdocs-progress-bar {
15
+ height: 100%;
16
+ background:
17
+ linear-gradient(
18
+ 90deg,
19
+ var(--ld-color-primary),
20
+ var(--ld-gradient-to, var(--ld-color-primary)));
21
+ box-shadow: 0 0 8px var(--ld-color-primary-glow);
22
+ transition: width 0.1s ease-out;
23
+ }
24
+
3
25
  /* src/client/theme/styles/variables.css */
4
26
  :root[data-theme=light],
5
27
  :root.theme-light {
@@ -26,7 +48,7 @@
26
48
  --ld-code-bg: #f3f4f6;
27
49
  --ld-code-header: #e5e7eb;
28
50
  --ld-code-text: #1f2937;
29
- --ld-navbar-bg: rgba(255, 255, 255, 0.82);
51
+ --ld-navbar-bg: #ffffff;
30
52
  --ld-navbar-blur: 12px;
31
53
  --ld-sidebar-bg: transparent;
32
54
  --ld-sidebar-blur: 0px;
@@ -130,6 +152,23 @@
130
152
  --ld-radius-md: 8px;
131
153
  --ld-radius-lg: 12px;
132
154
  --ld-radius-full: 9999px;
155
+ scrollbar-width: thin;
156
+ scrollbar-color: var(--ld-border-strong) transparent;
157
+ }
158
+ *::-webkit-scrollbar {
159
+ width: 6px;
160
+ height: 6px;
161
+ }
162
+ *::-webkit-scrollbar-track {
163
+ background: transparent;
164
+ }
165
+ *::-webkit-scrollbar-thumb {
166
+ background-color: var(--ld-border-strong);
167
+ border-radius: 20px;
168
+ border: transparent;
169
+ }
170
+ *::-webkit-scrollbar-thumb:hover {
171
+ background-color: var(--ld-text-dim);
133
172
  }
134
173
 
135
174
  /* src/client/theme/ui/Layout/base.css */
@@ -421,11 +460,21 @@ a {
421
460
  height: 18px;
422
461
  }
423
462
  .boltdocs-tabs-container {
424
- border-bottom: 1px solid var(--ld-border-subtle);
463
+ position: relative;
425
464
  background: var(--ld-navbar-bg);
426
465
  padding: 0;
427
466
  height: 46px;
428
467
  }
468
+ .boltdocs-tabs-container::after {
469
+ content: "";
470
+ position: absolute;
471
+ bottom: 0px;
472
+ left: 0;
473
+ right: 0;
474
+ height: 1px;
475
+ background: var(--ld-border-subtle);
476
+ z-index: 10;
477
+ }
429
478
  .boltdocs-tabs {
430
479
  max-width: 1440px;
431
480
  margin: 0 auto;
@@ -434,6 +483,8 @@ a {
434
483
  overflow-x: auto;
435
484
  scrollbar-width: none;
436
485
  padding: 0 1.5rem;
486
+ position: relative;
487
+ height: 100%;
437
488
  }
438
489
  .boltdocs-tabs::-webkit-scrollbar {
439
490
  display: none;
@@ -452,6 +503,7 @@ a {
452
503
  align-items: center;
453
504
  gap: 0.6rem;
454
505
  opacity: 0.7;
506
+ z-index: 20;
455
507
  }
456
508
  .boltdocs-tab-item:hover {
457
509
  color: var(--ld-text-main);
@@ -479,24 +531,21 @@ a {
479
531
  opacity: 1;
480
532
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.2);
481
533
  }
482
- .boltdocs-tab-item::after {
483
- content: "";
534
+ .boltdocs-tab-indicator {
484
535
  position: absolute;
485
536
  bottom: 0px;
486
537
  left: 0;
487
- right: 0;
488
538
  height: 3px;
489
- background: var(--ld-primary);
539
+ background: var(--ld-color-primary);
490
540
  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);
541
+ box-shadow: 0 -2px 15px var(--ld-color-primary-glow);
542
+ transition:
543
+ transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
544
+ width 0.35s cubic-bezier(0.4, 0, 0.2, 1),
545
+ opacity 0.3s ease;
546
+ z-index: 100;
547
+ pointer-events: none;
548
+ transform-origin: left;
500
549
  }
501
550
 
502
551
  /* src/client/theme/ui/Sidebar/sidebar.css */
@@ -1782,7 +1831,12 @@ a {
1782
1831
  border-radius: var(--ld-radius-lg);
1783
1832
  overflow: hidden;
1784
1833
  background: var(--ld-bg-soft);
1834
+ display: flex;
1835
+ flex-direction: column;
1836
+ }
1837
+ .ld-table-wrapper {
1785
1838
  overflow-x: auto;
1839
+ scrollbar-width: thin;
1786
1840
  }
1787
1841
  .ld-table {
1788
1842
  width: 100%;
@@ -1802,6 +1856,30 @@ a {
1802
1856
  font-size: 0.8125rem;
1803
1857
  text-transform: uppercase;
1804
1858
  letter-spacing: 0.04em;
1859
+ white-space: nowrap;
1860
+ }
1861
+ .ld-table-header--sortable {
1862
+ cursor: pointer;
1863
+ transition: background-color 0.2s;
1864
+ }
1865
+ .ld-table-header--sortable:hover {
1866
+ background-color: var(--ld-bg-soft);
1867
+ }
1868
+ .ld-table-header-content {
1869
+ display: flex;
1870
+ align-items: center;
1871
+ gap: 0.5rem;
1872
+ }
1873
+ .ld-table-sort-icon {
1874
+ opacity: 0.8;
1875
+ color: var(--ld-color-primary);
1876
+ transition: opacity 0.2s;
1877
+ }
1878
+ .ld-table-sort-icon--hidden {
1879
+ opacity: 0;
1880
+ }
1881
+ .ld-table-header--sortable:hover .ld-table-sort-icon--hidden {
1882
+ opacity: 0.3;
1805
1883
  }
1806
1884
  .ld-table td {
1807
1885
  padding: 0.875rem 1rem;
@@ -1817,6 +1895,126 @@ a {
1817
1895
  background: rgba(255, 255, 255, 0.05);
1818
1896
  border-radius: 4px;
1819
1897
  }
1898
+ .ld-table-pagination {
1899
+ display: flex;
1900
+ align-items: center;
1901
+ justify-content: space-between;
1902
+ padding: 0.75rem 1rem;
1903
+ background: var(--ld-bg-mute);
1904
+ border-top: 1px solid var(--ld-border-subtle);
1905
+ font-size: 0.75rem;
1906
+ color: var(--ld-text-dim);
1907
+ }
1908
+ .ld-table-pagination-controls {
1909
+ display: flex;
1910
+ align-items: center;
1911
+ gap: 0.25rem;
1912
+ }
1913
+ .ld-table-pagination-btn {
1914
+ display: flex;
1915
+ align-items: center;
1916
+ justify-content: center;
1917
+ width: 1.75rem;
1918
+ height: 1.75rem;
1919
+ border-radius: var(--ld-radius-md);
1920
+ border: 1px solid var(--ld-border-subtle);
1921
+ background: var(--ld-bg-soft);
1922
+ color: var(--ld-text-muted);
1923
+ cursor: pointer;
1924
+ transition: all 0.2s;
1925
+ }
1926
+ .ld-table-pagination-btn:hover:not(:disabled) {
1927
+ background: var(--ld-bg-mute);
1928
+ color: var(--ld-text-main);
1929
+ border-color: var(--ld-border-strong);
1930
+ }
1931
+ .ld-table-pagination-btn:disabled {
1932
+ opacity: 0.4;
1933
+ cursor: not-allowed;
1934
+ }
1935
+ .ld-field {
1936
+ margin: 1.5rem 0;
1937
+ padding: 1.25rem;
1938
+ border-radius: var(--ld-radius-lg);
1939
+ border: 1px solid var(--ld-border-subtle);
1940
+ background: var(--ld-bg-soft);
1941
+ position: relative;
1942
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
1943
+ }
1944
+ .ld-field:hover {
1945
+ border-color: var(--ld-color-primary);
1946
+ box-shadow: 0 4px 20px -8px rgba(127, 19, 236, 0.15);
1947
+ }
1948
+ .ld-field__header {
1949
+ display: flex;
1950
+ flex-wrap: wrap;
1951
+ align-items: center;
1952
+ justify-content: space-between;
1953
+ gap: 1rem;
1954
+ margin-bottom: 0.85rem;
1955
+ padding-bottom: 0.85rem;
1956
+ border-bottom: 1px solid var(--ld-border-subtle);
1957
+ }
1958
+ .ld-field__signature {
1959
+ display: flex;
1960
+ align-items: center;
1961
+ gap: 0.75rem;
1962
+ }
1963
+ .ld-field__name {
1964
+ font-family: var(--ld-font-mono);
1965
+ font-size: 0.95rem;
1966
+ font-weight: 700;
1967
+ color: var(--ld-text-main);
1968
+ background: rgba(127, 19, 236, 0.08);
1969
+ padding: 0.2rem 0.6rem;
1970
+ border-radius: var(--ld-radius-sm);
1971
+ letter-spacing: -0.01em;
1972
+ }
1973
+ .ld-field__type-badge {
1974
+ font-family: var(--ld-font-mono);
1975
+ font-size: 0.75rem;
1976
+ font-weight: 500;
1977
+ color: var(--ld-color-primary);
1978
+ background: var(--ld-color-primary-muted);
1979
+ padding: 0.15rem 0.5rem;
1980
+ border-radius: var(--ld-radius-full);
1981
+ border: 1px solid rgba(127, 19, 236, 0.2);
1982
+ }
1983
+ .ld-field__required-badge {
1984
+ font-size: 0.7rem;
1985
+ font-weight: 700;
1986
+ text-transform: uppercase;
1987
+ color: var(--ld-ui-danger-text);
1988
+ background: var(--ld-ui-danger-bg);
1989
+ padding: 0.1rem 0.4rem;
1990
+ border-radius: var(--ld-radius-sm);
1991
+ letter-spacing: 0.05em;
1992
+ }
1993
+ .ld-field__default {
1994
+ display: flex;
1995
+ align-items: center;
1996
+ gap: 0.5rem;
1997
+ font-size: 0.8rem;
1998
+ }
1999
+ .ld-field__default-label {
2000
+ color: var(--ld-text-dim);
2001
+ font-weight: 500;
2002
+ }
2003
+ .ld-field__default-value {
2004
+ font-family: var(--ld-font-mono);
2005
+ color: var(--ld-text-main);
2006
+ background: var(--ld-bg-mute);
2007
+ padding: 0.15rem 0.4rem;
2008
+ border-radius: var(--ld-radius-sm);
2009
+ }
2010
+ .ld-field__content {
2011
+ font-size: 0.875rem;
2012
+ line-height: 1.6;
2013
+ color: var(--ld-text-muted);
2014
+ }
2015
+ .ld-field__content p {
2016
+ margin: 0;
2017
+ }
1820
2018
 
1821
2019
  /* src/client/theme/components/PackageManagerTabs/pkg-tabs.css */
1822
2020
  .pkg-tabs-wrapper {
@@ -2339,8 +2537,6 @@ a.not-found-link:hover {
2339
2537
  .boltdocs-link-preview-content {
2340
2538
  padding: 0.85rem 1rem;
2341
2539
  background-color: var(--ld-navbar-bg);
2342
- backdrop-filter: blur(20px);
2343
- -webkit-backdrop-filter: blur(20px);
2344
2540
  border: 1px solid var(--ld-border-subtle);
2345
2541
  border-radius: var(--ld-radius-lg);
2346
2542
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.2), 0 4px 10px -5px rgba(0, 0, 0, 0.1);
@@ -2364,14 +2560,3 @@ a.not-found-link:hover {
2364
2560
  -webkit-box-orient: vertical;
2365
2561
  overflow: hidden;
2366
2562
  }
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);
2371
- }
2372
- [data-theme=dark] .boltdocs-link-preview-title {
2373
- color: #fff;
2374
- }
2375
- [data-theme=dark] .boltdocs-link-preview-summary {
2376
- color: #94a3b8;
2377
- }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Link
3
- } from "./chunk-MULKZFVN.mjs";
3
+ } from "./chunk-SFVOGJ2W.mjs";
4
4
  import "./chunk-FMTOYQLO.mjs";
5
5
 
6
6
  // src/client/theme/ui/SearchDialog/SearchDialog.tsx
@@ -62,6 +62,13 @@ function SearchDialog({ routes }) {
62
62
  }
63
63
  }
64
64
  }
65
+ if (route._content && route._content.toLowerCase().includes(lowerQuery)) {
66
+ results.push({
67
+ title: route.title,
68
+ path: route.path,
69
+ groupTitle: route.groupTitle
70
+ });
71
+ }
65
72
  }
66
73
  const uniqueResults = [];
67
74
  const seenPaths = /* @__PURE__ */ new Set();