boltdocs 1.3.0 → 1.3.2

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 (103) hide show
  1. package/dist/{cache-EHR7SXRU.mjs → cache-GQHF6BXI.mjs} +1 -1
  2. package/dist/{chunk-GSYECEZY.mjs → chunk-CYBWLFOG.mjs} +5 -1
  3. package/dist/node/index.js +36 -20
  4. package/dist/node/index.mjs +34 -22
  5. package/package.json +1 -1
  6. package/src/client/app/index.tsx +344 -344
  7. package/src/client/app/preload.tsx +56 -56
  8. package/src/client/index.ts +40 -40
  9. package/src/client/ssr.tsx +51 -51
  10. package/src/client/theme/components/CodeBlock/CodeBlock.tsx +76 -76
  11. package/src/client/theme/components/CodeBlock/index.ts +1 -1
  12. package/src/client/theme/components/PackageManagerTabs/PackageManagerTabs.tsx +154 -154
  13. package/src/client/theme/components/PackageManagerTabs/index.ts +1 -1
  14. package/src/client/theme/components/PackageManagerTabs/pkg-tabs.css +64 -64
  15. package/src/client/theme/components/Playground/Playground.tsx +124 -124
  16. package/src/client/theme/components/Playground/index.ts +1 -1
  17. package/src/client/theme/components/Playground/playground.css +168 -168
  18. package/src/client/theme/components/Video/Video.tsx +84 -84
  19. package/src/client/theme/components/Video/index.ts +1 -1
  20. package/src/client/theme/components/Video/video.css +41 -41
  21. package/src/client/theme/components/mdx/Admonition.tsx +80 -80
  22. package/src/client/theme/components/mdx/Badge.tsx +31 -31
  23. package/src/client/theme/components/mdx/Button.tsx +50 -50
  24. package/src/client/theme/components/mdx/Card.tsx +80 -80
  25. package/src/client/theme/components/mdx/List.tsx +57 -57
  26. package/src/client/theme/components/mdx/Tabs.tsx +94 -94
  27. package/src/client/theme/components/mdx/index.ts +18 -18
  28. package/src/client/theme/components/mdx/mdx-components.css +424 -424
  29. package/src/client/theme/icons/bun.tsx +62 -62
  30. package/src/client/theme/icons/deno.tsx +20 -20
  31. package/src/client/theme/icons/discord.tsx +12 -12
  32. package/src/client/theme/icons/github.tsx +15 -15
  33. package/src/client/theme/icons/npm.tsx +13 -13
  34. package/src/client/theme/icons/pnpm.tsx +72 -72
  35. package/src/client/theme/icons/twitter.tsx +12 -12
  36. package/src/client/theme/styles/markdown.css +343 -343
  37. package/src/client/theme/styles/variables.css +162 -162
  38. package/src/client/theme/styles.css +37 -37
  39. package/src/client/theme/ui/BackgroundGradient/BackgroundGradient.tsx +10 -10
  40. package/src/client/theme/ui/BackgroundGradient/index.ts +1 -1
  41. package/src/client/theme/ui/Breadcrumbs/Breadcrumbs.tsx +68 -68
  42. package/src/client/theme/ui/Breadcrumbs/index.ts +1 -1
  43. package/src/client/theme/ui/Footer/footer.css +32 -32
  44. package/src/client/theme/ui/Head/Head.tsx +69 -69
  45. package/src/client/theme/ui/Head/index.ts +1 -1
  46. package/src/client/theme/ui/LanguageSwitcher/LanguageSwitcher.tsx +125 -125
  47. package/src/client/theme/ui/LanguageSwitcher/index.ts +1 -1
  48. package/src/client/theme/ui/LanguageSwitcher/language-switcher.css +98 -98
  49. package/src/client/theme/ui/Layout/Layout.tsx +202 -202
  50. package/src/client/theme/ui/Layout/base.css +76 -76
  51. package/src/client/theme/ui/Layout/index.ts +2 -2
  52. package/src/client/theme/ui/Layout/pagination.css +72 -72
  53. package/src/client/theme/ui/Layout/responsive.css +36 -36
  54. package/src/client/theme/ui/Link/Link.tsx +254 -254
  55. package/src/client/theme/ui/Link/index.ts +2 -2
  56. package/src/client/theme/ui/Loading/Loading.tsx +10 -10
  57. package/src/client/theme/ui/Loading/index.ts +1 -1
  58. package/src/client/theme/ui/Loading/loading.css +30 -30
  59. package/src/client/theme/ui/Navbar/GithubStars.tsx +27 -27
  60. package/src/client/theme/ui/Navbar/Navbar.tsx +145 -145
  61. package/src/client/theme/ui/Navbar/index.ts +2 -2
  62. package/src/client/theme/ui/Navbar/navbar.css +233 -233
  63. package/src/client/theme/ui/NotFound/NotFound.tsx +19 -19
  64. package/src/client/theme/ui/NotFound/index.ts +1 -1
  65. package/src/client/theme/ui/NotFound/not-found.css +64 -64
  66. package/src/client/theme/ui/OnThisPage/OnThisPage.tsx +235 -235
  67. package/src/client/theme/ui/OnThisPage/index.ts +1 -1
  68. package/src/client/theme/ui/OnThisPage/toc.css +132 -132
  69. package/src/client/theme/ui/PoweredBy/PoweredBy.tsx +18 -18
  70. package/src/client/theme/ui/PoweredBy/index.ts +1 -1
  71. package/src/client/theme/ui/PoweredBy/powered-by.css +76 -76
  72. package/src/client/theme/ui/SearchDialog/SearchDialog.tsx +199 -199
  73. package/src/client/theme/ui/SearchDialog/index.ts +1 -1
  74. package/src/client/theme/ui/SearchDialog/search.css +152 -152
  75. package/src/client/theme/ui/Sidebar/Sidebar.tsx +204 -204
  76. package/src/client/theme/ui/Sidebar/index.ts +1 -1
  77. package/src/client/theme/ui/Sidebar/sidebar.css +236 -236
  78. package/src/client/theme/ui/ThemeToggle/ThemeToggle.tsx +69 -69
  79. package/src/client/theme/ui/ThemeToggle/index.ts +1 -1
  80. package/src/client/theme/ui/VersionSwitcher/VersionSwitcher.tsx +136 -136
  81. package/src/client/theme/ui/VersionSwitcher/index.ts +1 -1
  82. package/src/client/types.ts +50 -50
  83. package/src/client/utils.ts +26 -26
  84. package/src/node/cache.ts +408 -408
  85. package/src/node/config.ts +192 -192
  86. package/src/node/index.ts +21 -21
  87. package/src/node/mdx.ts +120 -120
  88. package/src/node/plugin/entry.ts +58 -58
  89. package/src/node/plugin/html.ts +55 -55
  90. package/src/node/plugin/index.ts +193 -193
  91. package/src/node/plugin/types.ts +11 -11
  92. package/src/node/routes/cache.ts +28 -28
  93. package/src/node/routes/index.ts +167 -167
  94. package/src/node/routes/parser.ts +153 -127
  95. package/src/node/routes/sorter.ts +42 -42
  96. package/src/node/routes/types.ts +49 -49
  97. package/src/node/ssg/index.ts +114 -114
  98. package/src/node/ssg/meta.ts +33 -34
  99. package/src/node/ssg/options.ts +13 -13
  100. package/src/node/ssg/sitemap.ts +55 -54
  101. package/src/node/utils.ts +145 -134
  102. package/tsconfig.json +20 -20
  103. package/tsup.config.ts +22 -22
@@ -1,343 +1,343 @@
1
- /* ═══════════════════════════════════════════════════════════
2
- MAIN CONTENT AREA
3
- ═══════════════════════════════════════════════════════════ */
4
- .boltdocs-content {
5
- flex: 1;
6
- padding: 2rem 2.5rem 2.5rem;
7
- max-width: var(--ld-content-max-width);
8
- margin: 0 auto;
9
- min-width: 0;
10
- transition:
11
- max-width 0.3s cubic-bezier(0.16, 1, 0.3, 1),
12
- padding 0.3s ease;
13
- }
14
-
15
- .boltdocs-main-container.sidebar-collapsed .boltdocs-content {
16
- max-width: 100%;
17
- }
18
-
19
- /* ─── Breadcrumbs ────────────────────────────────────────── */
20
- .boltdocs-breadcrumbs {
21
- margin-bottom: 1.5rem;
22
- }
23
-
24
- .boltdocs-breadcrumbs-list {
25
- display: flex;
26
- align-items: center;
27
- flex-wrap: wrap;
28
- list-style: none;
29
- padding: 0;
30
- margin: 0;
31
- font-size: 0.8125rem;
32
- }
33
-
34
- .boltdocs-breadcrumbs-item {
35
- display: flex;
36
- align-items: center;
37
- }
38
-
39
- .boltdocs-breadcrumbs-link {
40
- display: flex;
41
- align-items: center;
42
- color: var(--ld-text-muted);
43
- text-decoration: none;
44
- transition: color 0.2s;
45
- }
46
-
47
- .boltdocs-breadcrumbs-link:hover {
48
- color: var(--ld-color-primary);
49
- }
50
-
51
- .boltdocs-breadcrumbs-separator {
52
- display: flex;
53
- align-items: center;
54
- color: var(--ld-text-dim);
55
- margin: 0 0.5rem;
56
- opacity: 0.5;
57
- }
58
-
59
- .boltdocs-breadcrumbs-text {
60
- color: var(--ld-text-muted);
61
- }
62
-
63
- .boltdocs-breadcrumbs-active {
64
- color: var(--ld-text-main);
65
- font-weight: 500;
66
- }
67
-
68
- /* ─── Markdown Typography ────────────────────────────────── */
69
- .boltdocs-page h1 {
70
- font-size: 2.25rem;
71
- margin: 0 0 0.75rem;
72
- font-weight: 700;
73
- letter-spacing: -0.025em;
74
- color: var(--ld-text-main);
75
- }
76
-
77
- .boltdocs-page h1 + p {
78
- color: var(--ld-text-muted);
79
- font-size: 1.05rem;
80
- margin-bottom: 2rem;
81
- }
82
-
83
- .boltdocs-page h2 {
84
- font-size: 1.4rem;
85
- margin-top: 2.5rem;
86
- margin-bottom: 0.75rem;
87
- font-weight: 700;
88
- color: var(--ld-text-main);
89
- padding-bottom: 0.5rem;
90
- border-bottom: 1px solid var(--ld-border-subtle);
91
- scroll-margin-top: 5rem;
92
- letter-spacing: -0.015em;
93
- }
94
-
95
- .boltdocs-page h3 {
96
- font-size: 1.125rem;
97
- margin-top: 2rem;
98
- margin-bottom: 0.5rem;
99
- font-weight: 600;
100
- color: var(--ld-text-main);
101
- scroll-margin-top: 5rem;
102
- }
103
-
104
- .boltdocs-page p {
105
- margin-top: 0;
106
- margin-bottom: 1rem;
107
- color: var(--ld-text-muted);
108
- }
109
-
110
- .boltdocs-page a {
111
- color: var(--ld-color-primary);
112
- text-decoration: none;
113
- transition: color 0.2s;
114
- }
115
-
116
- .boltdocs-page a:hover {
117
- color: var(--ld-color-primary-hover);
118
- text-decoration: underline;
119
- }
120
-
121
- .boltdocs-page ul,
122
- .boltdocs-page ol {
123
- margin-top: 0;
124
- margin-bottom: 1rem;
125
- padding-left: 1.5rem;
126
- color: var(--ld-text-muted);
127
- }
128
-
129
- .boltdocs-page li {
130
- margin-bottom: 0.35rem;
131
- }
132
-
133
- .boltdocs-page strong {
134
- color: var(--ld-text-main);
135
- font-weight: 600;
136
- }
137
-
138
- .boltdocs-page blockquote {
139
- margin: 1.5rem 0;
140
- padding: 0.75rem 1.25rem;
141
- border-left: 3px solid var(--ld-color-primary);
142
- background-color: var(--ld-color-primary-muted);
143
- border-radius: 0 var(--ld-radius-md) var(--ld-radius-md) 0;
144
- color: var(--ld-text-muted);
145
- }
146
-
147
- .boltdocs-page blockquote p {
148
- margin: 0;
149
- }
150
-
151
- .boltdocs-page hr {
152
- border: none;
153
- border-top: 1px solid var(--ld-border-subtle);
154
- margin: 2rem 0;
155
- }
156
-
157
- /* ─── Images ─────────────────────────────────────────────── */
158
- .boltdocs-page img {
159
- max-width: 100%;
160
- height: auto;
161
- border-radius: var(--ld-radius-md);
162
- margin: 1rem 0;
163
- display: block;
164
- }
165
-
166
- .boltdocs-page table {
167
- width: 100%;
168
- border-collapse: collapse;
169
- margin: 1.5rem 0;
170
- font-size: 0.875rem;
171
- }
172
-
173
- .boltdocs-page th {
174
- text-align: left;
175
- padding: 0.6rem 0.75rem;
176
- border-bottom: 2px solid var(--ld-border-subtle);
177
- color: var(--ld-text-main);
178
- font-weight: 600;
179
- }
180
-
181
- .boltdocs-page td {
182
- padding: 0.5rem 0.75rem;
183
- border-bottom: 1px solid var(--ld-border-subtle);
184
- color: var(--ld-text-muted);
185
- }
186
-
187
- .boltdocs-page tr:hover td {
188
- background-color: rgba(255, 255, 255, 0.02);
189
- }
190
-
191
- /* ─── Inline Code ────────────────────────────────────────── */
192
- .boltdocs-page :not(pre) > code {
193
- background-color: var(--ld-surface);
194
- padding: 0.15rem 0.45rem;
195
- border-radius: 5px;
196
- font-family: var(--ld-font-mono);
197
- font-size: 0.85em;
198
- color: var(--ld-color-primary-hover);
199
- border: 1px solid var(--ld-border-subtle);
200
- }
201
-
202
- /* ─── Code Blocks ────────────────────────────────────────── */
203
- .code-block-wrapper {
204
- margin: 1.5rem 0;
205
- border-radius: var(--ld-radius-md);
206
- overflow: hidden;
207
- border: 1px solid var(--ld-border-subtle);
208
- background-color: var(--ld-code-bg);
209
- }
210
-
211
- .code-block-header {
212
- display: flex;
213
- align-items: center;
214
- justify-content: space-between;
215
- padding: 0.5rem 1.25rem;
216
- background-color: var(--ld-code-header);
217
- border-bottom: 1px solid var(--ld-border-subtle);
218
- font-size: 0.75rem;
219
- }
220
-
221
- .code-block-lang {
222
- color: var(--ld-text-dim);
223
- font-family: var(--ld-font-mono);
224
- font-weight: 500;
225
- text-transform: uppercase;
226
- letter-spacing: 0.05em;
227
- }
228
-
229
- .code-block-copy {
230
- display: flex;
231
- align-items: center;
232
- gap: 0.35rem;
233
- padding: 0.2rem 0.55rem;
234
- background: none;
235
- border: 1px solid var(--ld-border-subtle);
236
- border-radius: 5px;
237
- color: var(--ld-text-dim);
238
- font-family: var(--ld-font-sans);
239
- font-size: 0.6875rem;
240
- cursor: pointer;
241
- transition: all 0.2s;
242
- }
243
-
244
- .code-block-copy:hover {
245
- color: var(--ld-text-main);
246
- border-color: var(--ld-border-strong);
247
- background-color: rgba(255, 255, 255, 0.04);
248
- }
249
-
250
- .code-block-copy.copied {
251
- color: #22c55e;
252
- border-color: rgba(34, 197, 94, 0.3);
253
- }
254
-
255
- .code-block-copy svg {
256
- width: 18px;
257
- height: 18px;
258
- }
259
-
260
- .code-block-wrapper pre {
261
- margin: 0 !important;
262
- border-radius: 0 !important;
263
- border: none !important;
264
- background-color: transparent !important;
265
- }
266
-
267
- .code-block-wrapper pre > code {
268
- display: grid !important;
269
- padding: 1.25rem 1rem !important;
270
- }
271
-
272
- .code-block-wrapper pre > code .line {
273
- padding: 0 1.25rem;
274
- }
275
-
276
- /* Default pre (without wrapper) */
277
- .boltdocs-page pre {
278
- margin: 1.5rem 0;
279
- border-radius: var(--ld-radius-md);
280
- overflow-x: auto;
281
- font-family: var(--ld-font-mono);
282
- font-size: 0.8125rem;
283
- line-height: 1.7;
284
- background-color: var(--ld-code-bg);
285
- color: var(--ld-code-text);
286
- border: 1px solid var(--ld-border-subtle);
287
- }
288
-
289
- .boltdocs-page pre > code {
290
- display: grid;
291
- padding: 1rem 1rem;
292
- background-color: transparent;
293
- border: none;
294
- color: inherit;
295
- font-size: inherit;
296
- }
297
-
298
- .boltdocs-page pre > code .line {
299
- padding: 0 1.25rem;
300
- }
301
-
302
- .boltdocs-page pre > code .line.highlighted {
303
- background-color: var(--ld-color-primary-muted);
304
- border-left: 2px solid var(--ld-color-primary);
305
- }
306
-
307
- /* ─── Header Anchors ─────────────────────────────────────── */
308
- .header-anchor {
309
- margin-left: 0.5rem;
310
- color: var(--ld-text-dim);
311
- opacity: 0;
312
- transition: opacity 0.2s;
313
- text-decoration: none;
314
- font-weight: 400;
315
- }
316
-
317
- .boltdocs-page h2:hover .header-anchor,
318
- .boltdocs-page h3:hover .header-anchor {
319
- opacity: 1;
320
- }
321
-
322
- .header-anchor:hover {
323
- color: var(--ld-color-primary);
324
- }
325
-
326
- .boltdocs-heading {
327
- display: flex;
328
- align-items: center;
329
- }
330
-
331
- .boltdocs-heading .header-anchor {
332
- display: inline-flex;
333
- align-items: center;
334
- margin-left: 0.5rem;
335
- color: var(--ld-text-dim);
336
- opacity: 0;
337
- transition: opacity 0.2s;
338
- text-decoration: none;
339
- }
340
-
341
- .boltdocs-heading:hover .header-anchor {
342
- opacity: 1;
343
- }
1
+ /* ═══════════════════════════════════════════════════════════
2
+ MAIN CONTENT AREA
3
+ ═══════════════════════════════════════════════════════════ */
4
+ .boltdocs-content {
5
+ flex: 1;
6
+ padding: 2rem 2.5rem 2.5rem;
7
+ max-width: var(--ld-content-max-width);
8
+ margin: 0 auto;
9
+ min-width: 0;
10
+ transition:
11
+ max-width 0.3s cubic-bezier(0.16, 1, 0.3, 1),
12
+ padding 0.3s ease;
13
+ }
14
+
15
+ .boltdocs-main-container.sidebar-collapsed .boltdocs-content {
16
+ max-width: 100%;
17
+ }
18
+
19
+ /* ─── Breadcrumbs ────────────────────────────────────────── */
20
+ .boltdocs-breadcrumbs {
21
+ margin-bottom: 1.5rem;
22
+ }
23
+
24
+ .boltdocs-breadcrumbs-list {
25
+ display: flex;
26
+ align-items: center;
27
+ flex-wrap: wrap;
28
+ list-style: none;
29
+ padding: 0;
30
+ margin: 0;
31
+ font-size: 0.8125rem;
32
+ }
33
+
34
+ .boltdocs-breadcrumbs-item {
35
+ display: flex;
36
+ align-items: center;
37
+ }
38
+
39
+ .boltdocs-breadcrumbs-link {
40
+ display: flex;
41
+ align-items: center;
42
+ color: var(--ld-text-muted);
43
+ text-decoration: none;
44
+ transition: color 0.2s;
45
+ }
46
+
47
+ .boltdocs-breadcrumbs-link:hover {
48
+ color: var(--ld-color-primary);
49
+ }
50
+
51
+ .boltdocs-breadcrumbs-separator {
52
+ display: flex;
53
+ align-items: center;
54
+ color: var(--ld-text-dim);
55
+ margin: 0 0.5rem;
56
+ opacity: 0.5;
57
+ }
58
+
59
+ .boltdocs-breadcrumbs-text {
60
+ color: var(--ld-text-muted);
61
+ }
62
+
63
+ .boltdocs-breadcrumbs-active {
64
+ color: var(--ld-text-main);
65
+ font-weight: 500;
66
+ }
67
+
68
+ /* ─── Markdown Typography ────────────────────────────────── */
69
+ .boltdocs-page h1 {
70
+ font-size: 2.25rem;
71
+ margin: 0 0 0.75rem;
72
+ font-weight: 700;
73
+ letter-spacing: -0.025em;
74
+ color: var(--ld-text-main);
75
+ }
76
+
77
+ .boltdocs-page h1 + p {
78
+ color: var(--ld-text-muted);
79
+ font-size: 1.05rem;
80
+ margin-bottom: 2rem;
81
+ }
82
+
83
+ .boltdocs-page h2 {
84
+ font-size: 1.4rem;
85
+ margin-top: 2.5rem;
86
+ margin-bottom: 0.75rem;
87
+ font-weight: 700;
88
+ color: var(--ld-text-main);
89
+ padding-bottom: 0.5rem;
90
+ border-bottom: 1px solid var(--ld-border-subtle);
91
+ scroll-margin-top: 5rem;
92
+ letter-spacing: -0.015em;
93
+ }
94
+
95
+ .boltdocs-page h3 {
96
+ font-size: 1.125rem;
97
+ margin-top: 2rem;
98
+ margin-bottom: 0.5rem;
99
+ font-weight: 600;
100
+ color: var(--ld-text-main);
101
+ scroll-margin-top: 5rem;
102
+ }
103
+
104
+ .boltdocs-page p {
105
+ margin-top: 0;
106
+ margin-bottom: 1rem;
107
+ color: var(--ld-text-muted);
108
+ }
109
+
110
+ .boltdocs-page a {
111
+ color: var(--ld-color-primary);
112
+ text-decoration: none;
113
+ transition: color 0.2s;
114
+ }
115
+
116
+ .boltdocs-page a:hover {
117
+ color: var(--ld-color-primary-hover);
118
+ text-decoration: underline;
119
+ }
120
+
121
+ .boltdocs-page ul,
122
+ .boltdocs-page ol {
123
+ margin-top: 0;
124
+ margin-bottom: 1rem;
125
+ padding-left: 1.5rem;
126
+ color: var(--ld-text-muted);
127
+ }
128
+
129
+ .boltdocs-page li {
130
+ margin-bottom: 0.35rem;
131
+ }
132
+
133
+ .boltdocs-page strong {
134
+ color: var(--ld-text-main);
135
+ font-weight: 600;
136
+ }
137
+
138
+ .boltdocs-page blockquote {
139
+ margin: 1.5rem 0;
140
+ padding: 0.75rem 1.25rem;
141
+ border-left: 3px solid var(--ld-color-primary);
142
+ background-color: var(--ld-color-primary-muted);
143
+ border-radius: 0 var(--ld-radius-md) var(--ld-radius-md) 0;
144
+ color: var(--ld-text-muted);
145
+ }
146
+
147
+ .boltdocs-page blockquote p {
148
+ margin: 0;
149
+ }
150
+
151
+ .boltdocs-page hr {
152
+ border: none;
153
+ border-top: 1px solid var(--ld-border-subtle);
154
+ margin: 2rem 0;
155
+ }
156
+
157
+ /* ─── Images ─────────────────────────────────────────────── */
158
+ .boltdocs-page img {
159
+ max-width: 100%;
160
+ height: auto;
161
+ border-radius: var(--ld-radius-md);
162
+ margin: 1rem 0;
163
+ display: block;
164
+ }
165
+
166
+ .boltdocs-page table {
167
+ width: 100%;
168
+ border-collapse: collapse;
169
+ margin: 1.5rem 0;
170
+ font-size: 0.875rem;
171
+ }
172
+
173
+ .boltdocs-page th {
174
+ text-align: left;
175
+ padding: 0.6rem 0.75rem;
176
+ border-bottom: 2px solid var(--ld-border-subtle);
177
+ color: var(--ld-text-main);
178
+ font-weight: 600;
179
+ }
180
+
181
+ .boltdocs-page td {
182
+ padding: 0.5rem 0.75rem;
183
+ border-bottom: 1px solid var(--ld-border-subtle);
184
+ color: var(--ld-text-muted);
185
+ }
186
+
187
+ .boltdocs-page tr:hover td {
188
+ background-color: rgba(255, 255, 255, 0.02);
189
+ }
190
+
191
+ /* ─── Inline Code ────────────────────────────────────────── */
192
+ .boltdocs-page :not(pre) > code {
193
+ background-color: var(--ld-surface);
194
+ padding: 0.15rem 0.45rem;
195
+ border-radius: 5px;
196
+ font-family: var(--ld-font-mono);
197
+ font-size: 0.85em;
198
+ color: var(--ld-color-primary-hover);
199
+ border: 1px solid var(--ld-border-subtle);
200
+ }
201
+
202
+ /* ─── Code Blocks ────────────────────────────────────────── */
203
+ .code-block-wrapper {
204
+ margin: 1.5rem 0;
205
+ border-radius: var(--ld-radius-md);
206
+ overflow: hidden;
207
+ border: 1px solid var(--ld-border-subtle);
208
+ background-color: var(--ld-code-bg);
209
+ }
210
+
211
+ .code-block-header {
212
+ display: flex;
213
+ align-items: center;
214
+ justify-content: space-between;
215
+ padding: 0.5rem 1.25rem;
216
+ background-color: var(--ld-code-header);
217
+ border-bottom: 1px solid var(--ld-border-subtle);
218
+ font-size: 0.75rem;
219
+ }
220
+
221
+ .code-block-lang {
222
+ color: var(--ld-text-dim);
223
+ font-family: var(--ld-font-mono);
224
+ font-weight: 500;
225
+ text-transform: uppercase;
226
+ letter-spacing: 0.05em;
227
+ }
228
+
229
+ .code-block-copy {
230
+ display: flex;
231
+ align-items: center;
232
+ gap: 0.35rem;
233
+ padding: 0.2rem 0.55rem;
234
+ background: none;
235
+ border: 1px solid var(--ld-border-subtle);
236
+ border-radius: 5px;
237
+ color: var(--ld-text-dim);
238
+ font-family: var(--ld-font-sans);
239
+ font-size: 0.6875rem;
240
+ cursor: pointer;
241
+ transition: all 0.2s;
242
+ }
243
+
244
+ .code-block-copy:hover {
245
+ color: var(--ld-text-main);
246
+ border-color: var(--ld-border-strong);
247
+ background-color: rgba(255, 255, 255, 0.04);
248
+ }
249
+
250
+ .code-block-copy.copied {
251
+ color: #22c55e;
252
+ border-color: rgba(34, 197, 94, 0.3);
253
+ }
254
+
255
+ .code-block-copy svg {
256
+ width: 18px;
257
+ height: 18px;
258
+ }
259
+
260
+ .code-block-wrapper pre {
261
+ margin: 0 !important;
262
+ border-radius: 0 !important;
263
+ border: none !important;
264
+ background-color: transparent !important;
265
+ }
266
+
267
+ .code-block-wrapper pre > code {
268
+ display: grid !important;
269
+ padding: 1.25rem 1rem !important;
270
+ }
271
+
272
+ .code-block-wrapper pre > code .line {
273
+ padding: 0 1.25rem;
274
+ }
275
+
276
+ /* Default pre (without wrapper) */
277
+ .boltdocs-page pre {
278
+ margin: 1.5rem 0;
279
+ border-radius: var(--ld-radius-md);
280
+ overflow-x: auto;
281
+ font-family: var(--ld-font-mono);
282
+ font-size: 0.8125rem;
283
+ line-height: 1.7;
284
+ background-color: var(--ld-code-bg);
285
+ color: var(--ld-code-text);
286
+ border: 1px solid var(--ld-border-subtle);
287
+ }
288
+
289
+ .boltdocs-page pre > code {
290
+ display: grid;
291
+ padding: 1rem 1rem;
292
+ background-color: transparent;
293
+ border: none;
294
+ color: inherit;
295
+ font-size: inherit;
296
+ }
297
+
298
+ .boltdocs-page pre > code .line {
299
+ padding: 0 1.25rem;
300
+ }
301
+
302
+ .boltdocs-page pre > code .line.highlighted {
303
+ background-color: var(--ld-color-primary-muted);
304
+ border-left: 2px solid var(--ld-color-primary);
305
+ }
306
+
307
+ /* ─── Header Anchors ─────────────────────────────────────── */
308
+ .header-anchor {
309
+ margin-left: 0.5rem;
310
+ color: var(--ld-text-dim);
311
+ opacity: 0;
312
+ transition: opacity 0.2s;
313
+ text-decoration: none;
314
+ font-weight: 400;
315
+ }
316
+
317
+ .boltdocs-page h2:hover .header-anchor,
318
+ .boltdocs-page h3:hover .header-anchor {
319
+ opacity: 1;
320
+ }
321
+
322
+ .header-anchor:hover {
323
+ color: var(--ld-color-primary);
324
+ }
325
+
326
+ .boltdocs-heading {
327
+ display: flex;
328
+ align-items: center;
329
+ }
330
+
331
+ .boltdocs-heading .header-anchor {
332
+ display: inline-flex;
333
+ align-items: center;
334
+ margin-left: 0.5rem;
335
+ color: var(--ld-text-dim);
336
+ opacity: 0;
337
+ transition: opacity 0.2s;
338
+ text-decoration: none;
339
+ }
340
+
341
+ .boltdocs-heading:hover .header-anchor {
342
+ opacity: 1;
343
+ }