@farming-labs/theme 0.2.99 → 0.2.102
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.
- package/dist/browser.d.mts +5 -2
- package/dist/browser.mjs +8 -1
- package/dist/docs-layout.mjs +0 -3
- package/dist/docs-page-client.d.mts +3 -3
- package/dist/docs-page-client.mjs +8 -8
- package/dist/pixel-border/index.d.mts +1 -1
- package/dist/pixel-border/index.mjs +12 -12
- package/dist/tanstack-layout.d.mts +3 -0
- package/dist/tanstack-layout.mjs +6 -4
- package/package.json +2 -2
- package/styles/pixel-border.css +89 -1098
package/styles/pixel-border.css
CHANGED
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
--scrollbar-track: transparent;
|
|
36
36
|
/* Sharp corners — no rounding */
|
|
37
37
|
--radius: 0px;
|
|
38
|
-
--fd-nav-height:
|
|
38
|
+
--fd-nav-height: 56px;
|
|
39
39
|
--fd-banner-height: 0px;
|
|
40
40
|
--fd-tocnav-height: 0px;
|
|
41
41
|
}
|
|
@@ -149,593 +149,98 @@ code:not(pre code) {
|
|
|
149
149
|
* Pixel-border theme — better-auth inspired sidebar, clean dark UI
|
|
150
150
|
* ═══════════════════════════════════════════════════════════════════ */
|
|
151
151
|
|
|
152
|
-
/* ───
|
|
152
|
+
/* ─── Wider content area on desktop ──────────────────────────────── */
|
|
153
153
|
|
|
154
154
|
@media (min-width: 1024px) {
|
|
155
155
|
:root {
|
|
156
156
|
--fd-layout-width: 1400px;
|
|
157
157
|
}
|
|
158
|
+
}
|
|
158
159
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
"sidebar main toc" 1fr /
|
|
164
|
-
var(--fd-sidebar-col) minmax(0, 1fr) var(--fd-toc-width) !important;
|
|
160
|
+
/* ─── Default docs: comfortable article gutters ─────────────────── */
|
|
161
|
+
@media (min-width: 768px) {
|
|
162
|
+
#nd-docs-layout:not([data-fd-framework]) article#nd-page {
|
|
163
|
+
padding-inline: 2rem;
|
|
165
164
|
}
|
|
165
|
+
}
|
|
166
166
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
z-index: 30;
|
|
171
|
-
display: flex !important;
|
|
172
|
-
grid-area: header;
|
|
173
|
-
grid-column: 2 / -1;
|
|
174
|
-
height: 44px;
|
|
175
|
-
padding: 0 105px 0 0;
|
|
176
|
-
border-bottom: 1px solid var(--color-fd-border);
|
|
177
|
-
background: color-mix(in srgb, var(--color-fd-background) 92%, transparent);
|
|
178
|
-
backdrop-filter: blur(12px);
|
|
167
|
+
@media (max-width: 1279px) {
|
|
168
|
+
#nd-docs-layout:not([data-fd-framework]) {
|
|
169
|
+
--fd-toc-popover-height: 0px !important;
|
|
179
170
|
}
|
|
180
171
|
|
|
181
|
-
#nd-docs-layout #nd-
|
|
182
|
-
#nd-docs-layout
|
|
172
|
+
#nd-docs-layout:not([data-fd-framework]) #nd-toc,
|
|
173
|
+
#nd-docs-layout:not([data-fd-framework]) [data-toc-popover] {
|
|
183
174
|
display: none !important;
|
|
184
175
|
}
|
|
176
|
+
}
|
|
185
177
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
padding: 0;
|
|
191
|
-
border-left: 1px solid var(--color-fd-border);
|
|
192
|
-
color: var(--color-fd-muted-foreground);
|
|
193
|
-
}
|
|
178
|
+
/* Keep the native Clerk bend from overpainting the straight rail segment. */
|
|
179
|
+
#nd-toc a > div.bottom-1\.5 {
|
|
180
|
+
bottom: 0.375rem;
|
|
181
|
+
}
|
|
194
182
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
display: none !important;
|
|
199
|
-
}
|
|
183
|
+
#nd-toc a > div.top-1\.5 {
|
|
184
|
+
top: 0.375rem;
|
|
185
|
+
}
|
|
200
186
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
align-items: center;
|
|
207
|
-
justify-content: center;
|
|
208
|
-
border: 1px solid var(--color-fd-border);
|
|
209
|
-
background: linear-gradient(
|
|
210
|
-
to right,
|
|
211
|
-
transparent calc(50% - 0.5px),
|
|
212
|
-
var(--color-fd-border) calc(50% - 0.5px),
|
|
213
|
-
var(--color-fd-border) calc(50% + 0.5px),
|
|
214
|
-
transparent calc(50% + 0.5px)
|
|
215
|
-
);
|
|
216
|
-
font-family: var(--fd-font-mono, ui-monospace, monospace);
|
|
217
|
-
font-size: 10px;
|
|
218
|
-
line-height: 1;
|
|
219
|
-
letter-spacing: 1px;
|
|
187
|
+
/* ─── Docs grid: sidebar (sticky left, full height) | content | TOC ─────── */
|
|
188
|
+
@media (min-width: 1024px) {
|
|
189
|
+
#nd-docs-layout:not([data-fd-framework]),
|
|
190
|
+
#nd-docs-layout:not([data-fd-framework]) [style*="fd-sidebar-col"] {
|
|
191
|
+
grid-template-columns: var(--fd-sidebar-col, 0px) 1fr min-content !important;
|
|
220
192
|
}
|
|
221
|
-
|
|
222
|
-
#nd-docs-layout aside#nd-sidebar {
|
|
193
|
+
/* Sidebar stretches to end and sticks on scroll; no max-height so content isn't clipped */
|
|
194
|
+
#nd-docs-layout:not([data-fd-framework]) aside#nd-sidebar {
|
|
223
195
|
position: sticky;
|
|
224
196
|
top: 0;
|
|
225
197
|
align-self: start;
|
|
226
198
|
min-height: 0;
|
|
227
199
|
height: 100vh;
|
|
228
200
|
}
|
|
229
|
-
|
|
230
|
-
#nd-docs-layout [data-sidebar-placeholder] {
|
|
231
|
-
justify-self: stretch;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
#nd-docs-layout article#nd-page {
|
|
235
|
-
width: min(100%, var(--fd-content-width));
|
|
236
|
-
max-width: none;
|
|
237
|
-
margin-inline: auto;
|
|
238
|
-
padding: 47px 40px 80px !important;
|
|
239
|
-
gap: 0;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
#nd-docs-layout article#nd-page > .prose {
|
|
243
|
-
max-width: none;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
#nd-docs-layout #nd-toc {
|
|
247
|
-
display: flex !important;
|
|
248
|
-
width: var(--fd-toc-width);
|
|
249
|
-
padding: 48px 16px 8px 0;
|
|
250
|
-
}
|
|
251
201
|
}
|
|
252
202
|
|
|
253
|
-
|
|
254
|
-
* Fumadocs' native mobile lifecycle so focus, scroll locking, Escape, and
|
|
255
|
-
* backdrop dismissal work consistently at every touch breakpoint. */
|
|
256
|
-
@media (max-width: 1023px) {
|
|
257
|
-
:root {
|
|
258
|
-
--fd-mobile-nav-height: 56px;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
/* Farm's server-rendered sidebar brand defaults to a 44px row followed by
|
|
262
|
-
* an 18px gap. On tablet, that puts its divider below the 56px mobile
|
|
263
|
-
* topbar. Give both sides of the shell one shared header edge instead. */
|
|
264
|
-
#nd-docs-layout aside#nd-sidebar > .sidebar-brand {
|
|
265
|
-
height: var(--fd-mobile-nav-height);
|
|
266
|
-
min-height: var(--fd-mobile-nav-height);
|
|
267
|
-
max-height: var(--fd-mobile-nav-height);
|
|
268
|
-
flex-basis: var(--fd-mobile-nav-height);
|
|
269
|
-
margin-bottom: 0;
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
body {
|
|
273
|
-
overflow-x: hidden;
|
|
274
|
-
}
|
|
275
|
-
|
|
203
|
+
@media (min-width: 1024px) {
|
|
276
204
|
#nd-docs-layout.grid:not([data-fd-framework]) {
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
#nd-docs-layout #nd-subnav {
|
|
284
|
-
position: fixed;
|
|
285
|
-
inset: 0 0 auto;
|
|
286
|
-
z-index: 80;
|
|
287
|
-
display: flex !important;
|
|
288
|
-
width: 100%;
|
|
289
|
-
height: 56px;
|
|
290
|
-
padding: 0 105px 0 0;
|
|
291
|
-
border-bottom: 1px solid var(--color-fd-border);
|
|
292
|
-
background: color-mix(in srgb, var(--color-fd-background) 94%, transparent);
|
|
293
|
-
backdrop-filter: blur(12px);
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
#nd-docs-layout #nd-subnav > a {
|
|
297
|
-
display: none;
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
#nd-docs-layout #nd-subnav > div.flex-1 {
|
|
301
|
-
order: 2;
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
#nd-docs-layout #nd-subnav button[aria-label="Open Sidebar"] {
|
|
305
|
-
order: 1;
|
|
306
|
-
width: 56px;
|
|
307
|
-
height: 56px;
|
|
308
|
-
padding: 0;
|
|
309
|
-
border-right: 1px solid var(--color-fd-border);
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
#nd-docs-layout #nd-subnav button[aria-label="Open Sidebar"] svg {
|
|
313
|
-
display: none;
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
#nd-docs-layout #nd-subnav button[aria-label="Open Sidebar"]::before {
|
|
317
|
-
content: "";
|
|
318
|
-
width: 18px;
|
|
319
|
-
height: 1.5px;
|
|
320
|
-
background: currentColor;
|
|
321
|
-
box-shadow:
|
|
322
|
-
0 -6px 0 currentColor,
|
|
323
|
-
0 6px 0 currentColor;
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
#nd-docs-layout #nd-subnav button[data-search] {
|
|
327
|
-
order: 3;
|
|
328
|
-
width: 44px;
|
|
329
|
-
height: 56px;
|
|
330
|
-
margin-left: auto;
|
|
331
|
-
padding: 0;
|
|
332
|
-
border-left: 1px solid var(--color-fd-border);
|
|
333
|
-
color: var(--color-fd-muted-foreground);
|
|
334
|
-
}
|
|
335
|
-
|
|
336
|
-
#nd-docs-layout [data-sidebar-placeholder],
|
|
337
|
-
#nd-docs-layout [data-sidebar-panel],
|
|
338
|
-
#nd-docs-layout [data-toc-popover],
|
|
339
|
-
#nd-docs-layout #nd-toc {
|
|
340
|
-
display: none !important;
|
|
205
|
+
grid-template:
|
|
206
|
+
"sidebar header toc"
|
|
207
|
+
"sidebar toc-popover toc"
|
|
208
|
+
"sidebar main toc" 1fr /
|
|
209
|
+
var(--fd-sidebar-col) minmax(0, 1fr) var(--fd-toc-width) !important;
|
|
341
210
|
}
|
|
342
211
|
|
|
343
|
-
#nd-docs-layout
|
|
344
|
-
|
|
345
|
-
max-width: none;
|
|
346
|
-
margin: 0;
|
|
347
|
-
padding: 34px 20px 64px !important;
|
|
348
|
-
gap: 0;
|
|
212
|
+
#nd-docs-layout:not([data-fd-framework]) [data-sidebar-placeholder] {
|
|
213
|
+
justify-self: stretch;
|
|
349
214
|
}
|
|
350
215
|
|
|
351
|
-
#nd-docs-layout article#nd-page
|
|
216
|
+
#nd-docs-layout:not([data-fd-framework]) article#nd-page {
|
|
352
217
|
max-width: none;
|
|
218
|
+
margin-inline: 0;
|
|
353
219
|
}
|
|
354
220
|
|
|
355
|
-
|
|
356
|
-
overflow: hidden;
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
#nd-docs-layout:has([data-fd-tablet-sidebar-state="open"])
|
|
360
|
-
[data-sidebar-placeholder] {
|
|
361
|
-
position: fixed;
|
|
362
|
-
inset: 0 auto 0 0;
|
|
363
|
-
z-index: 100;
|
|
364
|
-
display: block !important;
|
|
365
|
-
width: min(342px, calc(100vw - 42px));
|
|
366
|
-
height: 100dvh;
|
|
367
|
-
pointer-events: auto;
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
#nd-docs-layout:has([data-fd-tablet-sidebar-state="open"])
|
|
371
|
-
[data-sidebar-placeholder]
|
|
372
|
-
> aside {
|
|
373
|
-
position: absolute;
|
|
374
|
-
inset: 0;
|
|
375
|
-
width: 100% !important;
|
|
376
|
-
height: 100dvh;
|
|
377
|
-
max-height: none;
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
/* Fumadocs keeps the desktop sidebar's internal width on its direct
|
|
381
|
-
* children. The tablet drawer is wider, so the end-aligned children left a
|
|
382
|
-
* large empty gutter at the start of the panel. Let the header and tree use
|
|
383
|
-
* the full overlay width instead. */
|
|
384
|
-
#nd-docs-layout:has([data-fd-tablet-sidebar-state="open"])
|
|
385
|
-
[data-sidebar-placeholder]
|
|
386
|
-
> aside
|
|
387
|
-
> * {
|
|
388
|
-
width: 100% !important;
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
#nd-docs-layout:has([data-fd-tablet-sidebar-state="open"])
|
|
392
|
-
aside#nd-sidebar
|
|
393
|
-
> div:first-child {
|
|
394
|
-
height: 56px;
|
|
395
|
-
min-height: 56px;
|
|
396
|
-
max-height: 56px;
|
|
397
|
-
flex-basis: 56px;
|
|
398
|
-
padding-right: 58px;
|
|
399
|
-
}
|
|
400
|
-
|
|
401
|
-
.fd-tablet-sidebar-backdrop {
|
|
402
|
-
position: fixed;
|
|
403
|
-
inset: 0;
|
|
404
|
-
z-index: 95;
|
|
405
|
-
display: block;
|
|
406
|
-
border: 0;
|
|
407
|
-
background: color-mix(in srgb, var(--color-fd-background) 72%, transparent);
|
|
408
|
-
backdrop-filter: blur(2px);
|
|
409
|
-
}
|
|
410
|
-
|
|
411
|
-
.fd-tablet-sidebar-close {
|
|
412
|
-
position: fixed;
|
|
413
|
-
top: 6px;
|
|
414
|
-
left: calc(min(342px, calc(100vw - 42px)) - 50px);
|
|
415
|
-
z-index: 101;
|
|
416
|
-
display: inline-flex;
|
|
417
|
-
width: 44px;
|
|
418
|
-
height: 44px;
|
|
419
|
-
align-items: center;
|
|
420
|
-
justify-content: center;
|
|
421
|
-
border: 0;
|
|
422
|
-
color: var(--color-fd-muted-foreground);
|
|
423
|
-
background: transparent;
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
.fd-tablet-sidebar-close:hover,
|
|
427
|
-
.fd-tablet-sidebar-close:focus-visible {
|
|
428
|
-
color: var(--color-fd-foreground);
|
|
429
|
-
}
|
|
430
|
-
|
|
431
|
-
.fd-tablet-sidebar-close:focus-visible {
|
|
432
|
-
outline: 1px solid var(--color-fd-ring);
|
|
433
|
-
outline-offset: -1px;
|
|
434
|
-
}
|
|
435
|
-
|
|
436
|
-
.fd-tablet-sidebar-close > span,
|
|
437
|
-
.fd-tablet-sidebar-close > span::after {
|
|
438
|
-
display: block;
|
|
439
|
-
width: 18px;
|
|
440
|
-
height: 1px;
|
|
441
|
-
background: currentColor;
|
|
442
|
-
content: "";
|
|
443
|
-
}
|
|
444
|
-
|
|
445
|
-
.fd-tablet-sidebar-close > span {
|
|
446
|
-
transform: rotate(45deg);
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
.fd-tablet-sidebar-close > span::after {
|
|
450
|
-
transform: rotate(90deg);
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
#nd-docs-layout > div[data-state]:has(+ aside#nd-sidebar-mobile) {
|
|
454
|
-
z-index: 95;
|
|
455
|
-
background: color-mix(in srgb, var(--color-fd-background) 72%, transparent);
|
|
456
|
-
}
|
|
457
|
-
|
|
458
|
-
aside#nd-sidebar-mobile {
|
|
459
|
-
--fd-pixel-rail-width: 12px;
|
|
460
|
-
inset: 0 auto 0 0 !important;
|
|
461
|
-
z-index: 100;
|
|
462
|
-
width: min(342px, calc(100vw - 42px));
|
|
221
|
+
#nd-docs-layout:not([data-fd-framework]) article#nd-page > .prose {
|
|
463
222
|
max-width: none;
|
|
464
|
-
border-right: 1px solid var(--color-fd-border);
|
|
465
|
-
border-left: 0;
|
|
466
|
-
background-color: var(--color-fd-background);
|
|
467
|
-
background-image:
|
|
468
|
-
linear-gradient(var(--color-fd-border), var(--color-fd-border)),
|
|
469
|
-
linear-gradient(var(--color-fd-border), var(--color-fd-border)),
|
|
470
|
-
repeating-linear-gradient(
|
|
471
|
-
-45deg,
|
|
472
|
-
color-mix(in srgb, var(--color-fd-border) 2%, transparent),
|
|
473
|
-
color-mix(in srgb, var(--color-fd-foreground) 7%, transparent) 1px,
|
|
474
|
-
transparent 1px,
|
|
475
|
-
transparent 6px
|
|
476
|
-
),
|
|
477
|
-
repeating-linear-gradient(
|
|
478
|
-
-45deg,
|
|
479
|
-
color-mix(in srgb, var(--color-fd-border) 2%, transparent),
|
|
480
|
-
color-mix(in srgb, var(--color-fd-foreground) 7%, transparent) 1px,
|
|
481
|
-
transparent 1px,
|
|
482
|
-
transparent 6px
|
|
483
|
-
);
|
|
484
|
-
background-position:
|
|
485
|
-
var(--fd-pixel-rail-width) 0,
|
|
486
|
-
calc(100% - var(--fd-pixel-rail-width)) 0,
|
|
487
|
-
left top,
|
|
488
|
-
right top;
|
|
489
|
-
background-repeat: repeat-y;
|
|
490
|
-
background-size:
|
|
491
|
-
1px 100%,
|
|
492
|
-
1px 100%,
|
|
493
|
-
var(--fd-pixel-rail-width) 100%,
|
|
494
|
-
var(--fd-pixel-rail-width) 100%;
|
|
495
|
-
box-shadow: none;
|
|
496
|
-
}
|
|
497
|
-
|
|
498
|
-
aside#nd-sidebar-mobile[data-state="open"] {
|
|
499
|
-
animation: fd-pixel-sidebar-in 180ms ease-out both !important;
|
|
500
223
|
}
|
|
501
|
-
|
|
502
|
-
aside#nd-sidebar-mobile[data-state="closed"] {
|
|
503
|
-
animation: fd-pixel-sidebar-out 150ms ease-in both !important;
|
|
504
|
-
}
|
|
505
|
-
|
|
506
|
-
aside#nd-sidebar-mobile > div:first-child {
|
|
507
|
-
box-sizing: border-box;
|
|
508
|
-
min-height: 56px;
|
|
509
|
-
flex: 0 0 56px;
|
|
510
|
-
gap: 0;
|
|
511
|
-
padding: 0 calc(var(--fd-pixel-rail-width) + 8px);
|
|
512
|
-
border-bottom: 1px solid var(--color-fd-border);
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
aside#nd-sidebar-mobile > div:first-child > div {
|
|
516
|
-
height: 100%;
|
|
517
|
-
}
|
|
518
|
-
|
|
519
|
-
aside#nd-sidebar-mobile > div:first-child > div::before {
|
|
520
|
-
content: "/ DOCS";
|
|
521
|
-
flex: 0 0 auto;
|
|
522
|
-
color: var(--color-fd-foreground);
|
|
523
|
-
font-family: var(--fd-font-mono, ui-monospace, monospace);
|
|
524
|
-
font-size: 12px;
|
|
525
|
-
letter-spacing: 0.03em;
|
|
526
|
-
}
|
|
527
|
-
|
|
528
|
-
aside#nd-sidebar-mobile
|
|
529
|
-
> div:first-child
|
|
530
|
-
> div
|
|
531
|
-
> button[aria-label="Open Sidebar"]:last-child {
|
|
532
|
-
position: relative;
|
|
533
|
-
width: 44px;
|
|
534
|
-
height: 44px;
|
|
535
|
-
padding: 0;
|
|
536
|
-
}
|
|
537
|
-
|
|
538
|
-
aside#nd-sidebar-mobile
|
|
539
|
-
> div:first-child
|
|
540
|
-
> div
|
|
541
|
-
> button[aria-label="Open Sidebar"]:last-child
|
|
542
|
-
svg {
|
|
543
|
-
display: none;
|
|
544
|
-
}
|
|
545
|
-
|
|
546
|
-
aside#nd-sidebar-mobile
|
|
547
|
-
> div:first-child
|
|
548
|
-
> div
|
|
549
|
-
> button[aria-label="Open Sidebar"]:last-child::before,
|
|
550
|
-
aside#nd-sidebar-mobile
|
|
551
|
-
> div:first-child
|
|
552
|
-
> div
|
|
553
|
-
> button[aria-label="Open Sidebar"]:last-child::after {
|
|
554
|
-
position: absolute;
|
|
555
|
-
width: 18px;
|
|
556
|
-
height: 1px;
|
|
557
|
-
background: currentColor;
|
|
558
|
-
content: "";
|
|
559
|
-
}
|
|
560
|
-
|
|
561
|
-
aside#nd-sidebar-mobile
|
|
562
|
-
> div:first-child
|
|
563
|
-
> div
|
|
564
|
-
> button[aria-label="Open Sidebar"]:last-child::before {
|
|
565
|
-
transform: rotate(45deg);
|
|
566
|
-
}
|
|
567
|
-
|
|
568
|
-
aside#nd-sidebar-mobile
|
|
569
|
-
> div:first-child
|
|
570
|
-
> div
|
|
571
|
-
> button[aria-label="Open Sidebar"]:last-child::after {
|
|
572
|
-
transform: rotate(-45deg);
|
|
573
|
-
}
|
|
574
|
-
|
|
575
|
-
aside#nd-sidebar-mobile > div:nth-child(2) > div:last-child {
|
|
576
|
-
padding-inline: calc(var(--fd-pixel-rail-width) + 4px) !important;
|
|
577
|
-
}
|
|
578
|
-
}
|
|
579
|
-
|
|
580
|
-
@keyframes fd-pixel-sidebar-in {
|
|
581
|
-
from {
|
|
582
|
-
transform: translateX(-100%);
|
|
583
|
-
}
|
|
584
|
-
|
|
585
|
-
to {
|
|
586
|
-
transform: translateX(0);
|
|
587
|
-
}
|
|
588
|
-
}
|
|
589
|
-
|
|
590
|
-
@keyframes fd-pixel-sidebar-out {
|
|
591
|
-
from {
|
|
592
|
-
transform: translateX(0);
|
|
593
|
-
}
|
|
594
|
-
|
|
595
|
-
to {
|
|
596
|
-
transform: translateX(-100%);
|
|
597
|
-
}
|
|
598
|
-
}
|
|
599
|
-
|
|
600
|
-
@media (prefers-reduced-motion: reduce) {
|
|
601
|
-
aside#nd-sidebar-mobile[data-state] {
|
|
602
|
-
animation-duration: 1ms !important;
|
|
603
|
-
}
|
|
604
|
-
}
|
|
605
|
-
|
|
606
|
-
.fd-agent-llms-directive[data-visible-in-header="true"] {
|
|
607
|
-
position: fixed;
|
|
608
|
-
top: 0;
|
|
609
|
-
right: 0;
|
|
610
|
-
z-index: 90;
|
|
611
|
-
display: inline-flex;
|
|
612
|
-
width: 105px;
|
|
613
|
-
height: 44px;
|
|
614
|
-
align-items: center;
|
|
615
|
-
justify-content: center;
|
|
616
|
-
border-left: 1px solid var(--color-fd-border);
|
|
617
|
-
border-bottom: 1px solid var(--color-fd-border);
|
|
618
|
-
color: var(--color-fd-muted-foreground);
|
|
619
|
-
background: color-mix(in srgb, var(--color-fd-background) 94%, transparent);
|
|
620
|
-
font-family: var(--fd-font-mono, ui-monospace, monospace);
|
|
621
|
-
font-size: 12px;
|
|
622
|
-
letter-spacing: 0.03em;
|
|
623
|
-
text-decoration: none;
|
|
624
|
-
}
|
|
625
|
-
|
|
626
|
-
.fd-agent-llms-directive[data-visible-in-header="true"]:hover {
|
|
627
|
-
color: var(--color-fd-foreground);
|
|
628
224
|
}
|
|
629
225
|
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
226
|
+
/* ─── Mobile: ensure sidebar drawer/content isn't clipped ───────────────── */
|
|
227
|
+
@media (max-width: 767px) {
|
|
228
|
+
#nd-docs-layout:not([data-fd-framework]) aside#nd-sidebar {
|
|
229
|
+
max-height: none;
|
|
230
|
+
overflow-y: visible;
|
|
633
231
|
}
|
|
634
232
|
}
|
|
635
233
|
|
|
636
234
|
/* ─── Sidebar (better-auth style) — light + dark ───────────────────── */
|
|
637
235
|
/* Sidebar container: use theme variables for both modes */
|
|
638
236
|
aside#nd-sidebar {
|
|
639
|
-
--fd-pixel-rail-width: 12px;
|
|
640
237
|
background: var(--color-fd-background);
|
|
641
|
-
background-image:
|
|
642
|
-
linear-gradient(var(--color-fd-border), var(--color-fd-border)),
|
|
643
|
-
linear-gradient(var(--color-fd-border), var(--color-fd-border)),
|
|
644
|
-
repeating-linear-gradient(
|
|
645
|
-
-45deg,
|
|
646
|
-
color-mix(in srgb, var(--color-fd-border) 2%, transparent),
|
|
647
|
-
color-mix(in srgb, var(--color-fd-foreground) 7%, transparent) 1px,
|
|
648
|
-
transparent 1px,
|
|
649
|
-
transparent 6px
|
|
650
|
-
),
|
|
651
|
-
repeating-linear-gradient(
|
|
652
|
-
-45deg,
|
|
653
|
-
color-mix(in srgb, var(--color-fd-border) 2%, transparent),
|
|
654
|
-
color-mix(in srgb, var(--color-fd-foreground) 7%, transparent) 1px,
|
|
655
|
-
transparent 1px,
|
|
656
|
-
transparent 6px
|
|
657
|
-
);
|
|
658
|
-
background-position:
|
|
659
|
-
var(--fd-pixel-rail-width) 0,
|
|
660
|
-
calc(100% - var(--fd-pixel-rail-width)) 0,
|
|
661
|
-
left top,
|
|
662
|
-
right top;
|
|
663
|
-
background-repeat: repeat-y;
|
|
664
|
-
background-size:
|
|
665
|
-
1px 100%,
|
|
666
|
-
1px 100%,
|
|
667
|
-
var(--fd-pixel-rail-width) 100%,
|
|
668
|
-
var(--fd-pixel-rail-width) 100%;
|
|
669
|
-
border-left: 1px solid var(--color-fd-border);
|
|
670
238
|
border-color: var(--color-fd-border);
|
|
671
239
|
}
|
|
672
240
|
|
|
673
|
-
aside#nd-sidebar > div:first-child {
|
|
674
|
-
box-sizing: border-box;
|
|
675
|
-
height: 44px;
|
|
676
|
-
min-height: 44px;
|
|
677
|
-
max-height: 44px;
|
|
678
|
-
flex: 0 0 44px;
|
|
679
|
-
gap: 0;
|
|
680
|
-
justify-content: center;
|
|
681
|
-
padding: 0 calc(var(--fd-pixel-rail-width) + 12px);
|
|
682
|
-
border-bottom: 1px solid var(--color-fd-border);
|
|
683
|
-
}
|
|
684
|
-
|
|
685
|
-
aside#nd-sidebar > div:first-child > div:first-child {
|
|
686
|
-
width: 100%;
|
|
687
|
-
height: 100%;
|
|
688
|
-
align-items: center;
|
|
689
|
-
font-family: var(--fd-font-mono, ui-monospace, monospace);
|
|
690
|
-
font-size: 12px;
|
|
691
|
-
letter-spacing: 0.03em;
|
|
692
|
-
text-transform: uppercase;
|
|
693
|
-
}
|
|
694
|
-
|
|
695
|
-
aside#nd-sidebar > div:first-child > div:first-child::after {
|
|
696
|
-
content: "/ DOCS";
|
|
697
|
-
flex: 0 0 auto;
|
|
698
|
-
margin-left: auto;
|
|
699
|
-
color: var(--color-fd-foreground);
|
|
700
|
-
}
|
|
701
|
-
|
|
702
|
-
aside#nd-sidebar > div:first-child > div:first-child > a {
|
|
703
|
-
gap: 8px;
|
|
704
|
-
font-size: 12px;
|
|
705
|
-
font-weight: 500;
|
|
706
|
-
}
|
|
707
|
-
|
|
708
|
-
aside#nd-sidebar > div:first-child > div:first-child > a::before {
|
|
709
|
-
content: "";
|
|
710
|
-
width: 16px;
|
|
711
|
-
height: 16px;
|
|
712
|
-
flex: 0 0 16px;
|
|
713
|
-
background:
|
|
714
|
-
linear-gradient(currentColor 0 0) 0 0 / 6px 6px no-repeat,
|
|
715
|
-
linear-gradient(currentColor 0 0) 8px 0 / 8px 6px no-repeat,
|
|
716
|
-
linear-gradient(color-mix(in srgb, currentColor 64%, transparent) 0 0) 0 8px / 6px 6px
|
|
717
|
-
no-repeat,
|
|
718
|
-
linear-gradient(color-mix(in srgb, currentColor 64%, transparent) 0 0) 8px 8px / 8px 6px
|
|
719
|
-
no-repeat;
|
|
720
|
-
}
|
|
721
|
-
|
|
722
|
-
aside#nd-sidebar > div:first-child button[aria-label="Collapse Sidebar"],
|
|
723
|
-
aside#nd-sidebar > div:first-child button[data-search-full] {
|
|
724
|
-
display: none !important;
|
|
725
|
-
}
|
|
726
|
-
|
|
727
|
-
/* Production keeps the tree scrollable to the bottom without a pinned
|
|
728
|
-
* Fumadocs appearance switcher occupying the last row. Farm's server-rendered
|
|
729
|
-
* layout uses `.sidebar-scroll` as its last child, so never hide that tree. */
|
|
730
|
-
#nd-docs-layout:not([data-fd-framework])
|
|
731
|
-
aside#nd-sidebar
|
|
732
|
-
> div:last-child:not(.sidebar-scroll) {
|
|
733
|
-
display: none !important;
|
|
734
|
-
}
|
|
735
|
-
|
|
736
241
|
/* ── Full-width border separators between top-level items ─────────── */
|
|
737
242
|
aside .overscroll-contain > div {
|
|
738
|
-
margin-top:
|
|
243
|
+
margin-top: -22px;
|
|
739
244
|
}
|
|
740
245
|
|
|
741
246
|
aside .overscroll-contain > div > a[data-active] {
|
|
@@ -749,19 +254,13 @@ aside .overscroll-contain > div > a[data-active] {
|
|
|
749
254
|
|
|
750
255
|
aside .overscroll-contain > div > div {
|
|
751
256
|
border-top: 1px solid var(--color-fd-border);
|
|
752
|
-
margin-left: -
|
|
257
|
+
margin-left: -1rem;
|
|
753
258
|
margin-right: -1rem;
|
|
754
259
|
padding: 0 !important;
|
|
755
260
|
}
|
|
756
261
|
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
aside .overscroll-contain > div > div > button[aria-controls][aria-expanded] {
|
|
760
|
-
width: 100%;
|
|
761
|
-
border-bottom: 1px solid var(--color-fd-border);
|
|
762
|
-
}
|
|
763
|
-
|
|
764
|
-
aside .overscroll-contain > div > a[data-active]:first-child {
|
|
262
|
+
aside .overscroll-contain > div > a[data-active]:first-child,
|
|
263
|
+
aside .overscroll-contain > div > div:first-child {
|
|
765
264
|
border-top: none;
|
|
766
265
|
}
|
|
767
266
|
|
|
@@ -774,7 +273,10 @@ aside .overscroll-contain > div > div:last-child {
|
|
|
774
273
|
|
|
775
274
|
aside a[data-active],
|
|
776
275
|
aside button[aria-controls][aria-expanded] {
|
|
276
|
+
font-size: 0.875rem;
|
|
277
|
+
line-height: 1.6;
|
|
777
278
|
border-radius: 0 !important;
|
|
279
|
+
padding: 0.5rem 0.625rem !important;
|
|
778
280
|
transition: color 0.15s ease;
|
|
779
281
|
overflow: hidden;
|
|
780
282
|
background-color: transparent !important;
|
|
@@ -790,7 +292,7 @@ aside a[data-active="true"]:hover {
|
|
|
790
292
|
background: transparent !important;
|
|
791
293
|
background-color: transparent !important;
|
|
792
294
|
color: var(--color-fd-primary) !important;
|
|
793
|
-
font-weight:
|
|
295
|
+
font-weight: 600;
|
|
794
296
|
}
|
|
795
297
|
|
|
796
298
|
aside a[data-active="false"]:hover {
|
|
@@ -802,11 +304,10 @@ aside a[data-active="false"]:hover {
|
|
|
802
304
|
/* ── Child links inside collapsible folders ──────────────────────── */
|
|
803
305
|
|
|
804
306
|
aside div.overflow-hidden[data-state] a[data-active] {
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
padding:
|
|
808
|
-
|
|
809
|
-
line-height: 1.45 !important;
|
|
307
|
+
font-size: 0.785rem !important;
|
|
308
|
+
padding-left: 2rem !important;
|
|
309
|
+
padding-top: 0.25rem !important;
|
|
310
|
+
padding-bottom: 0.25rem !important;
|
|
810
311
|
color: var(--color-fd-muted-foreground) !important;
|
|
811
312
|
overflow: hidden;
|
|
812
313
|
}
|
|
@@ -814,7 +315,7 @@ aside div.overflow-hidden[data-state] a[data-active] {
|
|
|
814
315
|
aside div.overflow-hidden[data-state] a[data-active="true"],
|
|
815
316
|
aside div.overflow-hidden[data-state] a[data-active="true"]:hover {
|
|
816
317
|
color: var(--color-fd-primary) !important;
|
|
817
|
-
font-weight:
|
|
318
|
+
font-weight: 500 !important;
|
|
818
319
|
}
|
|
819
320
|
|
|
820
321
|
aside div.overflow-hidden[data-state] a[data-active="false"]:hover {
|
|
@@ -823,124 +324,31 @@ aside div.overflow-hidden[data-state] a[data-active="false"]:hover {
|
|
|
823
324
|
|
|
824
325
|
/* ── Folder toggle buttons (section headers) ─────────────────────── */
|
|
825
326
|
|
|
826
|
-
aside
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
padding: 8px 30px !important;
|
|
831
|
-
color: var(--color-fd-muted-foreground) !important;
|
|
832
|
-
font-size: 12px !important;
|
|
833
|
-
font-weight: 600 !important;
|
|
834
|
-
line-height: 18px !important;
|
|
327
|
+
aside button.text-fd-muted-foreground {
|
|
328
|
+
color: var(--color-fd-foreground);
|
|
329
|
+
font-size: 0.875rem;
|
|
330
|
+
font-weight: 500;
|
|
835
331
|
letter-spacing: normal;
|
|
836
332
|
text-transform: none;
|
|
837
333
|
}
|
|
838
334
|
|
|
839
|
-
aside
|
|
840
|
-
|
|
841
|
-
color: var(--color-fd-foreground) !important;
|
|
335
|
+
aside button.text-fd-muted-foreground:hover {
|
|
336
|
+
color: var(--color-fd-foreground);
|
|
842
337
|
}
|
|
843
338
|
|
|
844
339
|
aside a[data-active="true"]::before {
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
}
|
|
852
|
-
|
|
853
|
-
/* Nested folders keep their labels visible so the configured information
|
|
854
|
-
* architecture survives in adapters with deeper sidebar trees. */
|
|
855
|
-
aside div.overflow-hidden[data-state] > div > div[data-state] {
|
|
856
|
-
position: relative;
|
|
857
|
-
padding: 2px 0 4px;
|
|
858
|
-
}
|
|
859
|
-
|
|
860
|
-
aside div.overflow-hidden[data-state] > div > div[data-state]::before {
|
|
861
|
-
content: "";
|
|
862
|
-
position: absolute;
|
|
863
|
-
top: 17px;
|
|
864
|
-
bottom: 19px;
|
|
865
|
-
inset-inline-start: 75px;
|
|
866
|
-
width: 1px;
|
|
867
|
-
background: color-mix(in srgb, var(--color-fd-border) 88%, transparent);
|
|
868
|
-
}
|
|
869
|
-
|
|
870
|
-
aside#nd-sidebar div.overflow-hidden[data-state] button[aria-expanded],
|
|
871
|
-
aside#nd-sidebar-mobile div.overflow-hidden[data-state] button[aria-expanded] {
|
|
872
|
-
position: relative;
|
|
873
|
-
display: flex !important;
|
|
874
|
-
height: 31.5703125px;
|
|
875
|
-
min-height: 31.5703125px;
|
|
876
|
-
padding: 6px 30px 6px 68px !important;
|
|
877
|
-
color: var(--color-fd-muted-foreground) !important;
|
|
878
|
-
font-size: 13.5px !important;
|
|
879
|
-
font-weight: 500 !important;
|
|
880
|
-
line-height: 1.45 !important;
|
|
881
|
-
}
|
|
882
|
-
|
|
883
|
-
aside div.overflow-hidden[data-state] div.overflow-hidden[data-state] > div {
|
|
884
|
-
padding: 0 0 4px !important;
|
|
885
|
-
}
|
|
886
|
-
|
|
887
|
-
aside div.overflow-hidden[data-state] button[aria-expanded]::after {
|
|
888
|
-
content: "";
|
|
889
|
-
position: absolute;
|
|
890
|
-
top: calc(50% - 0.5px);
|
|
891
|
-
inset-inline-start: 46px;
|
|
892
|
-
width: 29px;
|
|
893
|
-
height: 1px;
|
|
894
|
-
background: color-mix(in srgb, var(--color-fd-border) 88%, transparent);
|
|
895
|
-
}
|
|
896
|
-
|
|
897
|
-
aside
|
|
898
|
-
div.overflow-hidden[data-state]
|
|
899
|
-
div.overflow-hidden[data-state]
|
|
900
|
-
a[data-active] {
|
|
901
|
-
padding-inline-start: 103px !important;
|
|
902
|
-
}
|
|
903
|
-
|
|
904
|
-
aside div.overflow-hidden[data-state] a[data-active]::after {
|
|
905
|
-
content: "";
|
|
906
|
-
position: absolute;
|
|
907
|
-
top: calc(50% - 0.5px);
|
|
908
|
-
inset-inline-start: 46px;
|
|
909
|
-
width: 22px;
|
|
910
|
-
height: 1px;
|
|
911
|
-
background: color-mix(in srgb, var(--color-fd-border) 88%, transparent);
|
|
912
|
-
}
|
|
913
|
-
|
|
914
|
-
aside div.overflow-hidden[data-state] a[data-active="true"]::after {
|
|
915
|
-
background: var(--color-fd-primary);
|
|
340
|
+
background-color: var(--color-fd-primary) !important;
|
|
341
|
+
width: 2px !important;
|
|
342
|
+
height: 40% !important;
|
|
343
|
+
margin-top: -1.5px !important;
|
|
344
|
+
margin-left: 0.6rem !important;
|
|
345
|
+
inset-inline-start: 0.5rem !important;
|
|
916
346
|
}
|
|
917
347
|
|
|
918
348
|
aside div.overflow-hidden[data-state]::before {
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
width: 1px !important;
|
|
923
|
-
height: auto !important;
|
|
924
|
-
margin: 0 !important;
|
|
925
|
-
}
|
|
926
|
-
|
|
927
|
-
aside
|
|
928
|
-
div.overflow-hidden[data-state]
|
|
929
|
-
div.overflow-hidden[data-state]
|
|
930
|
-
a[data-active]::after {
|
|
931
|
-
inset-inline-start: 75px;
|
|
932
|
-
width: 28px;
|
|
933
|
-
}
|
|
934
|
-
|
|
935
|
-
aside
|
|
936
|
-
div.overflow-hidden[data-state]
|
|
937
|
-
div.overflow-hidden[data-state]::before {
|
|
938
|
-
content: none !important;
|
|
939
|
-
}
|
|
940
|
-
|
|
941
|
-
aside button[aria-expanded] > .lucide-chevron-down,
|
|
942
|
-
aside button[aria-expanded] > .lucide-chevron-right {
|
|
943
|
-
display: none !important;
|
|
349
|
+
margin-left: 0.5rem !important;
|
|
350
|
+
height: calc(100% + 20px) !important;
|
|
351
|
+
margin-top: -25px !important;
|
|
944
352
|
}
|
|
945
353
|
|
|
946
354
|
aside div[data-state="open"] > :last-child {
|
|
@@ -978,100 +386,6 @@ aside button[class*="rounded-full"] {
|
|
|
978
386
|
|
|
979
387
|
/* ─── Tables: visible borders, rounded-none (light + dark) ─────────── */
|
|
980
388
|
|
|
981
|
-
/* ─── Page rhythm and typography ─────────────────────────────────── */
|
|
982
|
-
|
|
983
|
-
#nd-docs-layout {
|
|
984
|
-
background: var(--color-fd-background);
|
|
985
|
-
font-family: var(--fd-font-sans, ui-sans-serif, system-ui, sans-serif);
|
|
986
|
-
}
|
|
987
|
-
|
|
988
|
-
#nd-page > .prose h1 {
|
|
989
|
-
margin: 0 0 16px;
|
|
990
|
-
font-size: 36px;
|
|
991
|
-
font-weight: 400;
|
|
992
|
-
line-height: 1.14;
|
|
993
|
-
letter-spacing: -0.02em;
|
|
994
|
-
}
|
|
995
|
-
|
|
996
|
-
#nd-page > .prose h2 {
|
|
997
|
-
margin: 44px 0 14px;
|
|
998
|
-
padding-top: 26px;
|
|
999
|
-
border-top: 1px solid var(--color-fd-border);
|
|
1000
|
-
font-size: 24px;
|
|
1001
|
-
font-weight: 400;
|
|
1002
|
-
line-height: 1.24;
|
|
1003
|
-
letter-spacing: -0.01em;
|
|
1004
|
-
}
|
|
1005
|
-
|
|
1006
|
-
#nd-page > .prose h3 {
|
|
1007
|
-
margin: 30px 0 12px;
|
|
1008
|
-
font-size: 20px;
|
|
1009
|
-
font-weight: 400;
|
|
1010
|
-
line-height: 1.3;
|
|
1011
|
-
letter-spacing: 0;
|
|
1012
|
-
}
|
|
1013
|
-
|
|
1014
|
-
#nd-page > .prose h4,
|
|
1015
|
-
#nd-page > .prose h5,
|
|
1016
|
-
#nd-page > .prose h6 {
|
|
1017
|
-
margin: 24px 0 10px;
|
|
1018
|
-
font-weight: 400;
|
|
1019
|
-
letter-spacing: 0;
|
|
1020
|
-
}
|
|
1021
|
-
|
|
1022
|
-
#nd-page > .prose p {
|
|
1023
|
-
margin: 14px 0;
|
|
1024
|
-
color: color-mix(in srgb, var(--color-fd-foreground) 74%, transparent);
|
|
1025
|
-
font-size: 15.6px;
|
|
1026
|
-
line-height: 1.8;
|
|
1027
|
-
}
|
|
1028
|
-
|
|
1029
|
-
#nd-page > .prose ul,
|
|
1030
|
-
#nd-page > .prose ol {
|
|
1031
|
-
margin: 16px 0;
|
|
1032
|
-
padding-left: 24px;
|
|
1033
|
-
color: color-mix(in srgb, var(--color-fd-foreground) 78%, transparent);
|
|
1034
|
-
line-height: 1.75;
|
|
1035
|
-
}
|
|
1036
|
-
|
|
1037
|
-
#nd-page > .prose li {
|
|
1038
|
-
margin: 6px 0;
|
|
1039
|
-
}
|
|
1040
|
-
|
|
1041
|
-
#nd-docs-layout .fd-title-separator {
|
|
1042
|
-
display: none;
|
|
1043
|
-
}
|
|
1044
|
-
|
|
1045
|
-
/* The adapter portals title actions beside an MDX-owned h1. Removing the
|
|
1046
|
-
* portal wrapper from layout makes that block flow like the native page. */
|
|
1047
|
-
#nd-docs-layout .fd-title-decorations-host {
|
|
1048
|
-
display: contents;
|
|
1049
|
-
}
|
|
1050
|
-
|
|
1051
|
-
#nd-docs-layout .fd-below-title-block {
|
|
1052
|
-
display: flex;
|
|
1053
|
-
width: 100%;
|
|
1054
|
-
margin: 0 0 20px;
|
|
1055
|
-
}
|
|
1056
|
-
|
|
1057
|
-
#nd-docs-layout .fd-below-title-block .fd-actions-portal {
|
|
1058
|
-
width: 100%;
|
|
1059
|
-
}
|
|
1060
|
-
|
|
1061
|
-
@media (max-width: 1023px) {
|
|
1062
|
-
#nd-page > .prose h1 {
|
|
1063
|
-
font-size: 32px;
|
|
1064
|
-
line-height: 1.16;
|
|
1065
|
-
letter-spacing: 0;
|
|
1066
|
-
}
|
|
1067
|
-
|
|
1068
|
-
#nd-page > .prose h2 {
|
|
1069
|
-
margin-top: 34px;
|
|
1070
|
-
padding-top: 22px;
|
|
1071
|
-
font-size: 23px;
|
|
1072
|
-
}
|
|
1073
|
-
}
|
|
1074
|
-
|
|
1075
389
|
table {
|
|
1076
390
|
border: 1px solid var(--color-fd-border);
|
|
1077
391
|
border-radius: 0 !important;
|
|
@@ -1102,59 +416,10 @@ tr:last-child td {
|
|
|
1102
416
|
/* Target the fumadocs CodeBlock figure (shiki class) */
|
|
1103
417
|
figure.shiki,
|
|
1104
418
|
.fd-codeblock {
|
|
1105
|
-
--padding-left: 0px;
|
|
1106
|
-
--padding-right: 0px;
|
|
1107
419
|
border: 1px solid var(--color-fd-border) !important;
|
|
1108
420
|
border-radius: 0 !important;
|
|
1109
|
-
background: #141414 !important;
|
|
1110
421
|
overflow: hidden;
|
|
1111
|
-
box-shadow:
|
|
1112
|
-
}
|
|
1113
|
-
|
|
1114
|
-
@media (min-width: 1024px) {
|
|
1115
|
-
figure.shiki,
|
|
1116
|
-
.fd-codeblock {
|
|
1117
|
-
margin: 20px 0 !important;
|
|
1118
|
-
}
|
|
1119
|
-
|
|
1120
|
-
figure.shiki span[style*="--shiki-dark"],
|
|
1121
|
-
.fd-codeblock span[style*="--shiki-dark"] {
|
|
1122
|
-
color: color-mix(in srgb, var(--color-fd-foreground) 74%, transparent) !important;
|
|
1123
|
-
}
|
|
1124
|
-
}
|
|
1125
|
-
|
|
1126
|
-
figure.shiki pre,
|
|
1127
|
-
.fd-codeblock pre {
|
|
1128
|
-
margin: 0;
|
|
1129
|
-
padding: 18px 20px !important;
|
|
1130
|
-
font-family: var(--fd-font-mono, ui-monospace, monospace) !important;
|
|
1131
|
-
font-size: 13px;
|
|
1132
|
-
line-height: 1.6;
|
|
1133
|
-
}
|
|
1134
|
-
|
|
1135
|
-
figure.shiki > div[role="region"],
|
|
1136
|
-
.fd-codeblock > div[role="region"] {
|
|
1137
|
-
padding-block: 0 !important;
|
|
1138
|
-
}
|
|
1139
|
-
|
|
1140
|
-
figure.shiki code,
|
|
1141
|
-
.fd-codeblock code {
|
|
1142
|
-
font-family: inherit !important;
|
|
1143
|
-
}
|
|
1144
|
-
|
|
1145
|
-
@media (max-width: 1023px) {
|
|
1146
|
-
figure.shiki,
|
|
1147
|
-
.fd-codeblock {
|
|
1148
|
-
margin: 16px 0;
|
|
1149
|
-
box-shadow: 2px 2px 0 0 var(--color-fd-border) !important;
|
|
1150
|
-
}
|
|
1151
|
-
|
|
1152
|
-
figure.shiki pre,
|
|
1153
|
-
.fd-codeblock pre {
|
|
1154
|
-
padding: 12px 11px !important;
|
|
1155
|
-
font-size: 12px;
|
|
1156
|
-
line-height: 1.5;
|
|
1157
|
-
}
|
|
422
|
+
box-shadow: none !important;
|
|
1158
423
|
}
|
|
1159
424
|
|
|
1160
425
|
/* Copy button inside code blocks */
|
|
@@ -1163,12 +428,6 @@ figure.shiki button,
|
|
|
1163
428
|
border-radius: 0 !important;
|
|
1164
429
|
}
|
|
1165
430
|
|
|
1166
|
-
figure.shiki button[aria-label="Copy Text"],
|
|
1167
|
-
.fd-copy-btn {
|
|
1168
|
-
opacity: 1 !important;
|
|
1169
|
-
visibility: visible !important;
|
|
1170
|
-
}
|
|
1171
|
-
|
|
1172
431
|
/* Code block title bar */
|
|
1173
432
|
figure.shiki > div:first-child,
|
|
1174
433
|
.fd-codeblock-title {
|
|
@@ -1218,108 +477,16 @@ div:has(> [role="tablist"]) {
|
|
|
1218
477
|
border-color: var(--color-fd-border);
|
|
1219
478
|
}
|
|
1220
479
|
|
|
1221
|
-
/* ───
|
|
1222
|
-
|
|
1223
|
-
#nd-docs-layout .fd-page-footer > a {
|
|
1224
|
-
border-radius: 0 !important;
|
|
1225
|
-
}
|
|
1226
|
-
|
|
1227
|
-
#nd-docs-layout .fd-page-nav,
|
|
1228
|
-
#nd-docs-layout[data-fd-framework] .fd-page-nav {
|
|
1229
|
-
display: grid;
|
|
1230
|
-
width: 100%;
|
|
1231
|
-
max-width: 100%;
|
|
1232
|
-
grid-template-columns: 1fr;
|
|
1233
|
-
gap: 1rem;
|
|
1234
|
-
margin-top: 1rem;
|
|
1235
|
-
border-top: 0;
|
|
1236
|
-
padding-top: 0;
|
|
1237
|
-
}
|
|
1238
|
-
|
|
1239
|
-
#nd-docs-layout .fd-page-nav:has(.fd-page-nav-prev):has(.fd-page-nav-next),
|
|
1240
|
-
#nd-docs-layout[data-fd-framework]
|
|
1241
|
-
.fd-page-nav:has(.fd-page-nav-prev):has(.fd-page-nav-next) {
|
|
1242
|
-
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
1243
|
-
}
|
|
480
|
+
/* ─── Nav cards (prev/next): visible border, rounded-none ──────────── */
|
|
1244
481
|
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
display: flex;
|
|
1248
|
-
min-width: 0;
|
|
1249
|
-
min-height: 6.125rem;
|
|
1250
|
-
flex-direction: column;
|
|
1251
|
-
justify-content: flex-start;
|
|
1252
|
-
gap: 0.5rem;
|
|
1253
|
-
border: 1px solid var(--color-fd-border);
|
|
482
|
+
article a[class*="border"] {
|
|
483
|
+
border-color: var(--color-fd-border);
|
|
1254
484
|
border-radius: 0 !important;
|
|
1255
|
-
background: transparent;
|
|
1256
|
-
padding: 1rem;
|
|
1257
|
-
color: var(--color-fd-foreground);
|
|
1258
|
-
text-decoration: none;
|
|
1259
|
-
transition:
|
|
1260
|
-
background-color 150ms ease,
|
|
1261
|
-
border-color 150ms ease;
|
|
1262
|
-
}
|
|
1263
|
-
|
|
1264
|
-
#nd-docs-layout .fd-page-nav-card:hover,
|
|
1265
|
-
#nd-docs-layout[data-fd-framework] .fd-page-nav-card:hover {
|
|
1266
|
-
border-color: color-mix(in srgb, var(--color-fd-foreground) 28%, transparent);
|
|
1267
|
-
background: color-mix(in srgb, var(--color-fd-muted) 80%, transparent);
|
|
1268
|
-
}
|
|
1269
|
-
|
|
1270
|
-
#nd-docs-layout .fd-page-nav-next,
|
|
1271
|
-
#nd-docs-layout[data-fd-framework] .fd-page-nav-next {
|
|
1272
|
-
align-items: flex-end;
|
|
1273
|
-
text-align: right;
|
|
1274
|
-
}
|
|
1275
|
-
|
|
1276
|
-
#nd-docs-layout .fd-page-nav-title,
|
|
1277
|
-
#nd-docs-layout[data-fd-framework] .fd-page-nav-title {
|
|
1278
|
-
display: inline-flex;
|
|
1279
|
-
max-width: 100%;
|
|
1280
|
-
min-height: 0;
|
|
1281
|
-
align-items: center;
|
|
1282
|
-
gap: 0.375rem;
|
|
1283
|
-
overflow: hidden;
|
|
1284
|
-
color: var(--color-fd-foreground);
|
|
1285
|
-
font-size: 0.875rem;
|
|
1286
|
-
font-weight: 500;
|
|
1287
|
-
line-height: 1.5;
|
|
1288
|
-
overflow-wrap: anywhere;
|
|
1289
|
-
}
|
|
1290
|
-
|
|
1291
|
-
#nd-docs-layout .fd-page-nav-title svg,
|
|
1292
|
-
#nd-docs-layout[data-fd-framework] .fd-page-nav-title svg {
|
|
1293
|
-
width: 1rem;
|
|
1294
|
-
height: 1rem;
|
|
1295
|
-
flex-shrink: 0;
|
|
1296
|
-
}
|
|
1297
|
-
|
|
1298
|
-
#nd-docs-layout .fd-page-nav-description,
|
|
1299
|
-
#nd-docs-layout[data-fd-framework] .fd-page-nav-description {
|
|
1300
|
-
display: block;
|
|
1301
|
-
max-width: 100%;
|
|
1302
|
-
min-height: 0;
|
|
1303
|
-
overflow: hidden;
|
|
1304
|
-
color: var(--color-fd-muted-foreground);
|
|
1305
|
-
font-size: 0.975rem;
|
|
1306
|
-
font-weight: 400;
|
|
1307
|
-
line-height: 1.8;
|
|
1308
|
-
text-overflow: ellipsis;
|
|
1309
|
-
white-space: nowrap;
|
|
1310
485
|
}
|
|
1311
486
|
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
grid-template-columns: 1fr !important;
|
|
1316
|
-
}
|
|
1317
|
-
|
|
1318
|
-
#nd-docs-layout .fd-page-nav-next,
|
|
1319
|
-
#nd-docs-layout[data-fd-framework] .fd-page-nav-next {
|
|
1320
|
-
align-items: flex-start;
|
|
1321
|
-
text-align: left;
|
|
1322
|
-
}
|
|
487
|
+
article a[class*="border"]:hover {
|
|
488
|
+
background: var(--color-fd-muted);
|
|
489
|
+
border-color: var(--color-fd-ring);
|
|
1323
490
|
}
|
|
1324
491
|
|
|
1325
492
|
/* ─── Search dialog ───────────────────────────────────────────────── */
|
|
@@ -1329,13 +496,6 @@ div:has(> [role="tablist"]) {
|
|
|
1329
496
|
border-color: var(--fd-pixel-modal-border) !important;
|
|
1330
497
|
}
|
|
1331
498
|
|
|
1332
|
-
/* ─── TOC right panel (light + dark) ───────────────────────────────── */
|
|
1333
|
-
|
|
1334
|
-
nav[class*="toc"],
|
|
1335
|
-
[class*="fd-toc"] {
|
|
1336
|
-
border-color: var(--color-fd-border);
|
|
1337
|
-
}
|
|
1338
|
-
|
|
1339
499
|
/* ─── Separator/Divider (hr) — light + dark ─────────────────────────── */
|
|
1340
500
|
|
|
1341
501
|
hr {
|
|
@@ -1386,9 +546,6 @@ hr {
|
|
|
1386
546
|
|
|
1387
547
|
/* ─── Page Actions (pixel-border overrides) ───────────────────────── */
|
|
1388
548
|
.fd-page-action-btn {
|
|
1389
|
-
height: 34px;
|
|
1390
|
-
gap: 8px;
|
|
1391
|
-
padding: 0 12px;
|
|
1392
549
|
border-radius: 0 !important;
|
|
1393
550
|
font-size: 0.75rem;
|
|
1394
551
|
letter-spacing: 0.03em;
|
|
@@ -1822,158 +979,43 @@ hr {
|
|
|
1822
979
|
|
|
1823
980
|
/* ─── Omni Command Palette (pixel-border theme) ─────────────────── */
|
|
1824
981
|
|
|
1825
|
-
.omni-overlay {
|
|
1826
|
-
z-index: 200;
|
|
1827
|
-
background: color-mix(in srgb, var(--color-fd-background) 64%, transparent);
|
|
1828
|
-
backdrop-filter: blur(3px);
|
|
1829
|
-
}
|
|
1830
|
-
|
|
1831
982
|
.omni-content {
|
|
1832
|
-
--omni-content-top: clamp(72px, 14vh, 104px);
|
|
1833
|
-
z-index: 201;
|
|
1834
|
-
width: min(680px, calc(100% - 24px));
|
|
1835
|
-
overflow: hidden;
|
|
1836
983
|
border-radius: 0 !important;
|
|
1837
984
|
border: 1px solid var(--fd-pixel-modal-border);
|
|
1838
|
-
background: var(--color-fd-background);
|
|
1839
985
|
box-shadow:
|
|
1840
986
|
2px 2px 0 0 var(--fd-pixel-modal-shadow),
|
|
1841
987
|
0 0 0 1px color-mix(in srgb, var(--color-fd-foreground) 3%, transparent);
|
|
1842
988
|
}
|
|
1843
989
|
|
|
1844
|
-
.omni-
|
|
1845
|
-
|
|
1846
|
-
}
|
|
1847
|
-
|
|
1848
|
-
.omni-search-row {
|
|
1849
|
-
min-height: 54px;
|
|
1850
|
-
padding: 0 14px;
|
|
1851
|
-
}
|
|
1852
|
-
|
|
1853
|
-
.omni-search-icon svg {
|
|
1854
|
-
width: 18px;
|
|
1855
|
-
height: 18px;
|
|
990
|
+
.omni-item {
|
|
991
|
+
border-radius: 0 !important;
|
|
1856
992
|
}
|
|
1857
993
|
|
|
1858
|
-
.omni-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
994
|
+
.omni-kbd,
|
|
995
|
+
.omni-kbd-sm {
|
|
996
|
+
border-radius: 0 !important;
|
|
997
|
+
border: 1px solid var(--color-fd-border, hsl(0 0% 15%));
|
|
1862
998
|
}
|
|
1863
999
|
|
|
1864
1000
|
.omni-close-btn {
|
|
1865
|
-
min-width: 36px;
|
|
1866
|
-
height: 30px;
|
|
1867
|
-
padding: 0 8px;
|
|
1868
1001
|
border-radius: 0 !important;
|
|
1869
|
-
font-size: 10px;
|
|
1870
|
-
letter-spacing: 0.04em;
|
|
1871
1002
|
}
|
|
1872
1003
|
|
|
1873
|
-
.omni-
|
|
1874
|
-
|
|
1875
|
-
.omni-filter-option:focus-visible,
|
|
1876
|
-
.omni-item:focus-visible {
|
|
1877
|
-
outline: 1px solid var(--color-fd-ring, var(--color-fd-foreground));
|
|
1878
|
-
outline-offset: -2px;
|
|
1879
|
-
}
|
|
1880
|
-
|
|
1881
|
-
.omni-body {
|
|
1882
|
-
max-height: min(500px, calc(100dvh - var(--omni-content-top) - 112px));
|
|
1883
|
-
padding: 0;
|
|
1004
|
+
.omni-empty-icon {
|
|
1005
|
+
border-radius: 0 !important;
|
|
1884
1006
|
}
|
|
1885
1007
|
|
|
1886
|
-
.omni-
|
|
1887
|
-
|
|
1008
|
+
.omni-search-input {
|
|
1009
|
+
font-family: var(--fd-font-sans, system-ui, -apple-system, sans-serif);
|
|
1888
1010
|
}
|
|
1889
1011
|
|
|
1890
1012
|
.omni-group-label {
|
|
1891
|
-
display: block;
|
|
1892
|
-
padding: 8px 14px 6px;
|
|
1893
|
-
border-bottom: 1px solid var(--color-fd-border);
|
|
1894
|
-
color: var(--color-fd-muted-foreground);
|
|
1895
1013
|
font-family: var(--fd-font-mono, ui-monospace, monospace);
|
|
1896
|
-
font-size: 10px;
|
|
1897
|
-
line-height: 1.2;
|
|
1898
1014
|
letter-spacing: 0.08em;
|
|
1899
|
-
text-transform: uppercase;
|
|
1900
|
-
}
|
|
1901
|
-
|
|
1902
|
-
.omni-group-items {
|
|
1903
|
-
gap: 0;
|
|
1904
|
-
}
|
|
1905
|
-
|
|
1906
|
-
.omni-item {
|
|
1907
|
-
border-radius: 0 !important;
|
|
1908
|
-
padding: 11px 14px;
|
|
1909
|
-
border-bottom: 1px solid var(--color-fd-border);
|
|
1910
|
-
transition:
|
|
1911
|
-
color 80ms ease,
|
|
1912
|
-
background-color 80ms ease;
|
|
1913
|
-
}
|
|
1914
|
-
|
|
1915
|
-
.omni-group-items > .omni-item:last-child {
|
|
1916
|
-
border-bottom: 0;
|
|
1917
|
-
}
|
|
1918
|
-
|
|
1919
|
-
.omni-item:hover,
|
|
1920
|
-
.omni-item-active {
|
|
1921
|
-
background: color-mix(in srgb, var(--color-fd-foreground) 7%, transparent);
|
|
1922
|
-
}
|
|
1923
|
-
|
|
1924
|
-
.omni-item-active {
|
|
1925
|
-
box-shadow: inset 2px 0 0 var(--color-fd-foreground);
|
|
1926
|
-
}
|
|
1927
|
-
|
|
1928
|
-
.omni-item-subtitle {
|
|
1929
|
-
margin-bottom: 2px;
|
|
1930
|
-
font-family: var(--fd-font-mono, ui-monospace, monospace);
|
|
1931
|
-
font-size: 10.5px;
|
|
1932
|
-
line-height: 1.4;
|
|
1933
|
-
letter-spacing: 0.01em;
|
|
1934
|
-
}
|
|
1935
|
-
|
|
1936
|
-
.omni-item-label {
|
|
1937
|
-
font-size: 14px;
|
|
1938
|
-
line-height: 1.35;
|
|
1939
|
-
}
|
|
1940
|
-
|
|
1941
|
-
.omni-item-description {
|
|
1942
|
-
-webkit-line-clamp: 2;
|
|
1943
|
-
margin-top: 6px;
|
|
1944
|
-
padding-left: 0;
|
|
1945
|
-
border-left: 0;
|
|
1946
|
-
color: var(--color-fd-muted-foreground);
|
|
1947
|
-
font-size: 12.5px;
|
|
1948
|
-
line-height: 1.5;
|
|
1949
|
-
}
|
|
1950
|
-
|
|
1951
|
-
.omni-empty {
|
|
1952
|
-
display: flex;
|
|
1953
|
-
min-height: 132px;
|
|
1954
|
-
flex-direction: column;
|
|
1955
|
-
align-items: center;
|
|
1956
|
-
justify-content: center;
|
|
1957
|
-
padding: 24px 16px;
|
|
1958
|
-
}
|
|
1959
|
-
|
|
1960
|
-
.omni-empty-icon {
|
|
1961
|
-
border-radius: 0 !important;
|
|
1962
|
-
border: 1px solid var(--color-fd-border);
|
|
1963
|
-
background: transparent;
|
|
1964
|
-
}
|
|
1965
|
-
|
|
1966
|
-
.omni-kbd,
|
|
1967
|
-
.omni-kbd-sm {
|
|
1968
|
-
border-radius: 0 !important;
|
|
1969
|
-
border: 1px solid var(--color-fd-border, hsl(0 0% 15%));
|
|
1970
1015
|
}
|
|
1971
1016
|
|
|
1972
1017
|
.omni-footer-inner {
|
|
1973
|
-
min-height: 42px;
|
|
1974
|
-
padding: 8px 12px;
|
|
1975
1018
|
font-family: var(--fd-font-mono, ui-monospace, monospace);
|
|
1976
|
-
font-size: 10.5px;
|
|
1977
1019
|
}
|
|
1978
1020
|
|
|
1979
1021
|
.omni-footer-hint svg {
|
|
@@ -1988,57 +1030,6 @@ hr {
|
|
|
1988
1030
|
.omni-highlight {
|
|
1989
1031
|
background: color-mix(in srgb, var(--color-fd-primary, #6366f1) 25%, transparent);
|
|
1990
1032
|
border-radius: 0 !important;
|
|
1991
|
-
color: inherit;
|
|
1992
|
-
text-decoration: none;
|
|
1993
|
-
}
|
|
1994
|
-
|
|
1995
|
-
@media (max-width: 639px) {
|
|
1996
|
-
.omni-content {
|
|
1997
|
-
--omni-content-top: 8px;
|
|
1998
|
-
width: calc(100% - 16px);
|
|
1999
|
-
max-height: calc(100dvh - 16px);
|
|
2000
|
-
}
|
|
2001
|
-
|
|
2002
|
-
.omni-search-row {
|
|
2003
|
-
min-height: 52px;
|
|
2004
|
-
padding: 0 12px;
|
|
2005
|
-
}
|
|
2006
|
-
|
|
2007
|
-
.omni-search-input {
|
|
2008
|
-
font-size: 16px;
|
|
2009
|
-
}
|
|
2010
|
-
|
|
2011
|
-
.omni-body {
|
|
2012
|
-
max-height: min(500px, calc(100dvh - 108px));
|
|
2013
|
-
}
|
|
2014
|
-
|
|
2015
|
-
.omni-item {
|
|
2016
|
-
padding: 10px 12px;
|
|
2017
|
-
}
|
|
2018
|
-
|
|
2019
|
-
.omni-item-description {
|
|
2020
|
-
font-size: 12px;
|
|
2021
|
-
line-height: 1.45;
|
|
2022
|
-
}
|
|
2023
|
-
|
|
2024
|
-
.omni-footer-inner {
|
|
2025
|
-
min-height: 40px;
|
|
2026
|
-
gap: 8px;
|
|
2027
|
-
padding: 7px 10px;
|
|
2028
|
-
font-size: 10px;
|
|
2029
|
-
}
|
|
2030
|
-
|
|
2031
|
-
.omni-footer-hints {
|
|
2032
|
-
gap: 7px;
|
|
2033
|
-
}
|
|
2034
|
-
|
|
2035
|
-
.omni-footer-hint {
|
|
2036
|
-
gap: 3px;
|
|
2037
|
-
}
|
|
2038
|
-
|
|
2039
|
-
.omni-filter-label {
|
|
2040
|
-
display: none;
|
|
2041
|
-
}
|
|
2042
1033
|
}
|
|
2043
1034
|
|
|
2044
1035
|
/* ─── Feedback (pixel-border theme) ──────────────────────────────── */
|