@farming-labs/theme 0.2.43 → 0.2.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,18 @@
1
1
  /* @farming-labs/theme — greentree theme CSS
2
2
  * Mintlify-inspired design, emerald green accent, Inter font, clean & modern.
3
3
  */
4
- @import "./presets/neutral.css";
4
+ @import "./bundles/shared-framework.css";
5
+
6
+ #nd-docs-layout[data-fd-framework] {
7
+ --fd-framework-page-columns-with-toc: minmax(0, 1fr)
8
+ minmax(0, min(900px, calc(100% - var(--fd-toc-width, 268px))))
9
+ var(--fd-toc-width, 268px) minmax(0, 1fr);
10
+ --fd-framework-article-column: 2;
11
+ --fd-framework-toc-column: 3;
12
+ --fd-framework-article-width: min(900px, 100%);
13
+ --fd-framework-article-justify: center;
14
+ --fd-framework-article-padding: 56px 32px 24px;
15
+ }
5
16
 
6
17
  /* ─── GreenTree color overrides ────────────────────────────────── */
7
18
 
@@ -65,7 +76,8 @@ h3 {
65
76
  line-height: 1.3;
66
77
  }
67
78
 
68
- .fd-docs-content p {
79
+ .fd-docs-content p,
80
+ .fd-page-body p {
69
81
  font-size: 1rem;
70
82
  line-height: 1.7;
71
83
  }
@@ -219,7 +231,8 @@ nav[class*="header"] {
219
231
  * ═══════════════════════════════════════════════════════════════════ */
220
232
 
221
233
  /* Links in prose — green colored */
222
- .fd-docs-content a:not(.fd-page-nav-card):not([class]) {
234
+ .fd-docs-content a:not(.fd-page-nav-card):not([class]),
235
+ .fd-page-body a:not(.fd-page-nav-card):not([class]) {
223
236
  text-decoration: underline;
224
237
  text-underline-offset: 3px;
225
238
  text-decoration-color: rgba(13, 147, 115, 0.3);
@@ -229,12 +242,14 @@ nav[class*="header"] {
229
242
  transition: text-decoration-color 150ms;
230
243
  }
231
244
 
232
- .fd-docs-content a:not(.fd-page-nav-card):not([class]):hover {
245
+ .fd-docs-content a:not(.fd-page-nav-card):not([class]):hover,
246
+ .fd-page-body a:not(.fd-page-nav-card):not([class]):hover {
233
247
  text-decoration-color: var(--color-fd-primary);
234
248
  }
235
249
 
236
250
  /* Inline code */
237
- .fd-docs-content :not(pre) > code {
251
+ .fd-docs-content :not(pre) > code,
252
+ .fd-page-body :not(pre) > code {
238
253
  padding: 2px 5px;
239
254
  border: 1px solid var(--color-fd-border);
240
255
  font-size: 0.875rem;
@@ -245,7 +260,12 @@ nav[class*="header"] {
245
260
  }
246
261
 
247
262
  /* Tables */
248
- .fd-docs-content table {
263
+ .fd-table-wrapper {
264
+ border-radius: 8px;
265
+ overflow: hidden;
266
+ }
267
+
268
+ :is(.fd-docs-content, .prose, .fd-page-body) table {
249
269
  border-collapse: separate;
250
270
  border-spacing: 0;
251
271
  background: var(--color-fd-card);
@@ -255,7 +275,7 @@ nav[class*="header"] {
255
275
  width: 100%;
256
276
  }
257
277
 
258
- .fd-docs-content th {
278
+ :is(.fd-docs-content, .prose, .fd-page-body) th {
259
279
  background: var(--color-fd-muted);
260
280
  font-weight: 500;
261
281
  font-size: 0.8125rem;
@@ -264,19 +284,20 @@ nav[class*="header"] {
264
284
  letter-spacing: normal;
265
285
  }
266
286
 
267
- .fd-docs-content th,
268
- .fd-docs-content td {
287
+ :is(.fd-docs-content, .prose, .fd-page-body) th,
288
+ :is(.fd-docs-content, .prose, .fd-page-body) td {
269
289
  padding: 0.75rem 1rem;
270
290
  border-bottom: 1px solid var(--color-fd-border);
271
291
  font-size: 0.875rem;
272
292
  }
273
293
 
274
- .fd-docs-content tr:last-child td {
294
+ :is(.fd-docs-content, .prose, .fd-page-body) tr:last-child td {
275
295
  border-bottom: none;
276
296
  }
277
297
 
278
298
  /* Blockquotes */
279
- .fd-docs-content blockquote {
299
+ .fd-docs-content blockquote,
300
+ .fd-page-body blockquote {
280
301
  border-left: 3px solid var(--color-fd-primary);
281
302
  padding-left: 1rem;
282
303
  color: var(--color-fd-muted-foreground);
@@ -285,7 +306,8 @@ nav[class*="header"] {
285
306
  }
286
307
 
287
308
  /* Horizontal rule */
288
- .fd-docs-content hr {
309
+ .fd-docs-content hr,
310
+ .fd-page-body hr {
289
311
  border-color: var(--color-fd-border);
290
312
  }
291
313
 
@@ -358,7 +380,8 @@ nav[class*="header"] {
358
380
  * CODE BLOCKS
359
381
  * ═══════════════════════════════════════════════════════════════════ */
360
382
 
361
- figure.shiki {
383
+ figure.shiki,
384
+ .fd-codeblock {
362
385
  overflow: hidden;
363
386
  border: 1px solid var(--color-fd-border);
364
387
  }
@@ -367,11 +390,14 @@ figure.shiki {
367
390
  * TABS — bottom border indicator
368
391
  * ═══════════════════════════════════════════════════════════════════ */
369
392
 
370
- [role="tablist"] {
393
+ [role="tablist"],
394
+ .fd-tabs,
395
+ .fd-tabs-list {
371
396
  border-bottom: 1px solid var(--color-fd-border);
372
397
  }
373
398
 
374
- [role="tab"] {
399
+ [role="tab"],
400
+ .fd-tab-trigger {
375
401
  font-size: 0.875rem;
376
402
  font-weight: 400;
377
403
  padding: 0.5rem 0.75rem;
@@ -384,7 +410,8 @@ figure.shiki {
384
410
  }
385
411
 
386
412
  [role="tab"][aria-selected="true"],
387
- [role="tab"][data-state="active"] {
413
+ [role="tab"][data-state="active"],
414
+ .fd-tab-trigger.fd-tab-active {
388
415
  color: var(--color-fd-primary);
389
416
  border-bottom-color: var(--color-fd-primary);
390
417
  font-weight: 500;
@@ -394,7 +421,9 @@ figure.shiki {
394
421
  * CALLOUT, ACCORDION
395
422
  * ═══════════════════════════════════════════════════════════════════ */
396
423
 
397
- [style*="--callout-color"] {
424
+ [style*="--callout-color"],
425
+ .fd-callout,
426
+ [data-callout] {
398
427
  border-radius: 10px;
399
428
  border-width: 1px;
400
429
  }
@@ -433,21 +462,27 @@ details > :not(summary) {
433
462
  * TOC
434
463
  * ═══════════════════════════════════════════════════════════════════ */
435
464
 
436
- #nd-toc a[data-active="true"] {
465
+ #nd-toc a[data-active="true"],
466
+ .fd-toc-link-active,
467
+ .fd-toc-clerk .fd-toc-link[data-active="true"] {
437
468
  color: var(--color-fd-primary);
438
469
  font-weight: 500;
439
470
  }
440
471
 
441
- #nd-toc a[data-active="false"] {
472
+ #nd-toc a[data-active="false"],
473
+ .fd-toc-link {
442
474
  color: var(--color-fd-muted-foreground);
443
475
  }
444
476
 
445
- #nd-toc a {
477
+ #nd-toc a,
478
+ .fd-toc-link,
479
+ .fd-toc-clerk .fd-toc-link {
446
480
  font-size: 0.875rem;
447
481
  line-height: 1.3;
448
482
  }
449
483
 
450
- #nd-toc h3 {
484
+ #nd-toc h3,
485
+ .fd-toc-title {
451
486
  font-size: 0.875rem;
452
487
  font-weight: 500;
453
488
  }
@@ -1,5 +1,16 @@
1
1
  /* @farming-labs/theme - hardline theme CSS */
2
- @import "./presets/neutral.css";
2
+ @import "./bundles/shared-framework.css";
3
+
4
+ #nd-docs-layout[data-fd-framework] {
5
+ --fd-framework-page-columns-with-toc: minmax(0, 1fr)
6
+ minmax(0, min(956px, calc(100% - var(--fd-toc-width, 268px))))
7
+ var(--fd-toc-width, 268px) minmax(0, 1fr);
8
+ --fd-framework-article-column: 2;
9
+ --fd-framework-toc-column: 3;
10
+ --fd-framework-article-width: min(956px, 100%);
11
+ --fd-framework-article-justify: center;
12
+ --fd-framework-article-padding: 32px 48px 64px;
13
+ }
3
14
 
4
15
  :root {
5
16
  --color-fd-primary: #ffd335;
@@ -54,6 +65,20 @@
54
65
  }
55
66
 
56
67
  /* Hard-edge layout baseline */
68
+ body:has(#nd-docs-layout) {
69
+ font-family: var(--fd-font-sans, ui-sans-serif, system-ui, -apple-system, sans-serif);
70
+ font-size: var(--fd-body-size, 1rem);
71
+ font-weight: var(--fd-body-weight, 400);
72
+ line-height: var(--fd-body-line-height, 1.75);
73
+ }
74
+
75
+ #nd-docs-layout {
76
+ font-family: var(--fd-font-sans, ui-sans-serif, system-ui, -apple-system, sans-serif);
77
+ font-size: var(--fd-body-size, 1rem);
78
+ font-weight: var(--fd-body-weight, 400);
79
+ line-height: var(--fd-body-line-height, 1.75);
80
+ }
81
+
57
82
  #nd-docs-layout [class*="rounded-"],
58
83
  #nd-docs-layout [style*="border-radius"],
59
84
  #nd-docs-layout code:not(pre code) {
@@ -72,7 +97,7 @@
72
97
  }
73
98
 
74
99
  aside#nd-sidebar,
75
- #nd-docs-layout aside {
100
+ #nd-docs-layout .fd-sidebar {
76
101
  background: var(--color-fd-background);
77
102
  border-right: 2px solid var(--color-fd-border);
78
103
  }
@@ -107,6 +132,23 @@ aside a[data-active="true"]::before {
107
132
  display: none !important;
108
133
  }
109
134
 
135
+ #nd-docs-layout[data-fd-framework] .fd-sidebar-link {
136
+ border-radius: 0 !important;
137
+ }
138
+
139
+ #nd-docs-layout[data-fd-framework] .fd-sidebar-link-active,
140
+ #nd-docs-layout[data-fd-framework] .fd-sidebar-link[data-active="true"] {
141
+ font-weight: 800 !important;
142
+ background: var(--color-fd-primary) !important;
143
+ color: var(--color-fd-primary-foreground) !important;
144
+ border-color: var(--color-fd-border) !important;
145
+ }
146
+
147
+ #nd-docs-layout[data-fd-framework] .fd-sidebar-link-active::before,
148
+ #nd-docs-layout[data-fd-framework] .fd-sidebar-link[data-active="true"]::before {
149
+ display: none !important;
150
+ }
151
+
110
152
  aside button.text-fd-muted-foreground {
111
153
  font-size: 0.83rem;
112
154
  font-weight: 800;
@@ -253,11 +295,27 @@ aside button[class*="bg-fd-secondary"] {
253
295
  /* Top-level content width and spacing */
254
296
  @media (min-width: 1024px) {
255
297
  #nd-docs-layout article#nd-page {
256
- max-width: none;
298
+ max-width: calc(var(--fd-content-width, 860px) + 96px) !important;
257
299
  }
258
300
 
259
301
  #nd-docs-layout article#nd-page > .prose {
260
- max-width: none;
302
+ max-width: var(--fd-content-width, 860px) !important;
303
+ }
304
+ }
305
+
306
+ @media (min-width: 768px) {
307
+ #nd-docs-layout article#nd-page {
308
+ padding: 32px 48px 64px !important;
309
+ }
310
+
311
+ #nd-docs-layout[data-fd-framework] article#nd-page {
312
+ padding: var(--fd-framework-article-padding, 32px 48px 64px) !important;
313
+ }
314
+ }
315
+
316
+ @media (max-width: 767px) {
317
+ #nd-docs-layout article#nd-page {
318
+ padding: 24px 16px 48px !important;
261
319
  }
262
320
  }
263
321
 
@@ -266,8 +324,8 @@ aside button[class*="bg-fd-secondary"] {
266
324
  .fd-docs-content h2,
267
325
  .fd-docs-content h3,
268
326
  .fd-docs-content h4 {
269
- text-transform: uppercase;
270
327
  letter-spacing: 0.01em;
328
+ text-transform: uppercase;
271
329
  }
272
330
 
273
331
  .fd-docs-content h1 {
@@ -286,20 +344,56 @@ aside button[class*="bg-fd-secondary"] {
286
344
  text-decoration-color: var(--color-fd-primary);
287
345
  }
288
346
 
347
+ #nd-docs-layout[data-fd-framework] .fd-page-title,
348
+ #nd-docs-layout[data-fd-framework] .fd-page-body h2,
349
+ #nd-docs-layout[data-fd-framework] .fd-page-body h3,
350
+ #nd-docs-layout[data-fd-framework] .fd-page-body h4 {
351
+ display: table;
352
+ width: fit-content;
353
+ max-width: 100%;
354
+ padding: 0.04em 0.16em;
355
+ border: 2px solid var(--color-fd-border) !important;
356
+ border-radius: 0 !important;
357
+ background: var(--color-fd-card);
358
+ box-shadow: 4px 4px 0 var(--color-fd-border);
359
+ color: var(--color-fd-foreground);
360
+ text-transform: none;
361
+ }
362
+
363
+ #nd-docs-layout[data-fd-framework] .fd-page-title {
364
+ font-weight: var(--fd-h1-weight, 700);
365
+ }
366
+
367
+ #nd-docs-layout[data-fd-framework] .fd-page-body h2 {
368
+ padding-bottom: 0.04em;
369
+ }
370
+
371
+ .dark #nd-docs-layout[data-fd-framework] .fd-page-title,
372
+ .dark #nd-docs-layout[data-fd-framework] .fd-page-body h2,
373
+ .dark #nd-docs-layout[data-fd-framework] .fd-page-body h3,
374
+ .dark #nd-docs-layout[data-fd-framework] .fd-page-body h4 {
375
+ box-shadow: 4px 4px 0 color-mix(in srgb, var(--color-fd-primary) 35%, transparent);
376
+ }
377
+
289
378
  /* Cards, callouts, tabs, and generic surfaces */
290
379
  .fd-card,
291
380
  [data-card],
292
- [class*="fd-callout"],
381
+ .fd-callout,
382
+ [data-callout],
383
+ [style*="--callout-color"],
293
384
  .fd-page-action-menu,
294
385
  .fd-page-action-btn {
295
386
  border: 2px solid var(--color-fd-border) !important;
387
+ border-radius: 0 !important;
296
388
  background: var(--color-fd-card);
297
389
  box-shadow: 4px 4px 0 var(--color-fd-border);
298
390
  }
299
391
 
300
392
  .dark .fd-card,
301
393
  .dark [data-card],
302
- .dark [class*="fd-callout"],
394
+ .dark .fd-callout,
395
+ .dark [data-callout],
396
+ .dark [style*="--callout-color"],
303
397
  .dark .fd-page-action-menu,
304
398
  .dark .fd-page-action-btn {
305
399
  box-shadow: 4px 4px 0 color-mix(in srgb, var(--color-fd-primary) 40%, transparent);
@@ -370,37 +464,43 @@ aside button[class*="bg-fd-secondary"] {
370
464
  background: #121214 !important;
371
465
  }
372
466
 
373
- .fd-docs-content table {
374
- border-collapse: collapse;
375
- border: 2px solid var(--color-fd-border);
467
+ .fd-table-wrapper {
468
+ border: 0 !important;
469
+ border-radius: 0 !important;
470
+ background: transparent !important;
471
+ }
472
+
473
+ :is(.fd-docs-content, .prose) table {
474
+ border-collapse: collapse !important;
475
+ border: 2px solid var(--color-fd-border) !important;
476
+ border-radius: 0 !important;
376
477
  width: 100%;
377
- background: var(--color-fd-card);
478
+ background: var(--color-fd-card) !important;
378
479
  }
379
480
 
380
- .fd-docs-content th,
381
- .fd-docs-content td {
382
- border: 2px solid var(--color-fd-border);
383
- padding: 0.7rem 0.85rem;
481
+ :is(.fd-docs-content, .prose) th,
482
+ :is(.fd-docs-content, .prose) td {
483
+ border: 2px solid var(--color-fd-border) !important;
484
+ padding: 0.7rem 0.85rem !important;
384
485
  }
385
486
 
386
- .fd-docs-content th {
487
+ :is(.fd-docs-content, .prose) th {
387
488
  text-transform: uppercase;
388
489
  letter-spacing: 0.05em;
389
490
  font-size: 0.78rem;
390
- background: var(--color-fd-primary);
391
- color: var(--color-fd-primary-foreground);
491
+ background: var(--color-fd-primary) !important;
492
+ color: var(--color-fd-primary-foreground) !important;
392
493
  }
393
494
 
394
- .fd-docs-content tbody tr:nth-child(even) td {
395
- background: color-mix(in srgb, var(--color-fd-secondary) 85%, transparent);
495
+ :is(.fd-docs-content, .prose) tbody tr:nth-child(even) td {
496
+ background: color-mix(in srgb, var(--color-fd-secondary) 85%, transparent) !important;
396
497
  }
397
498
 
398
- .dark .fd-docs-content tbody tr:nth-child(even) td {
399
- background: #1a1a1d;
499
+ .dark :is(.fd-docs-content, .prose) tbody tr:nth-child(even) td {
500
+ background: #1a1a1d !important;
400
501
  }
401
502
 
402
503
  /* Prev/next cards */
403
- .fd-page-nav,
404
504
  .fd-page-nav-card,
405
505
  [class*="page-nav"] a {
406
506
  border: 2px solid var(--color-fd-border);
@@ -419,12 +519,207 @@ aside button[class*="bg-fd-secondary"] {
419
519
  letter-spacing: 0.03em;
420
520
  }
421
521
 
422
- .dark .fd-page-nav,
423
522
  .dark .fd-page-nav-card,
424
523
  .dark [class*="page-nav"] a {
425
524
  box-shadow: 4px 4px 0 color-mix(in srgb, var(--color-fd-primary) 35%, transparent);
426
525
  }
427
526
 
527
+ #nd-docs-layout[data-fd-framework] .fd-edit-on-github > a,
528
+ #nd-docs-layout[data-fd-framework] .fd-page-nav-card {
529
+ border-radius: 0 !important;
530
+ }
531
+
532
+ #nd-docs-layout[data-fd-framework] .fd-page-nav-card {
533
+ border-width: 1px !important;
534
+ box-shadow: none !important;
535
+ }
536
+
537
+ .dark #nd-docs-layout[data-fd-framework] .fd-page-nav-card {
538
+ box-shadow: none !important;
539
+ }
540
+
541
+ /* Framework code tabs: match the hard-edged Next CodeGroup treatment */
542
+ #nd-docs-layout[data-fd-framework] .fd-tabs {
543
+ border-radius: 0 !important;
544
+ box-shadow: none !important;
545
+ }
546
+
547
+ #nd-docs-layout[data-fd-framework] .fd-tabs-list {
548
+ border-bottom: 0 !important;
549
+ padding-inline: 8px;
550
+ }
551
+
552
+ #nd-docs-layout[data-fd-framework] .fd-tab-trigger {
553
+ position: relative;
554
+ display: inline-flex;
555
+ align-items: center;
556
+ gap: 8px;
557
+ padding: 6px 8px !important;
558
+ border: 0 !important;
559
+ font-size: 14px;
560
+ font-weight: 500;
561
+ line-height: 1.45;
562
+ }
563
+
564
+ #nd-docs-layout[data-fd-framework] .fd-tab-trigger::after {
565
+ content: "";
566
+ position: absolute;
567
+ right: 8px;
568
+ bottom: 0;
569
+ left: 8px;
570
+ height: 1px;
571
+ background: transparent;
572
+ }
573
+
574
+ #nd-docs-layout[data-fd-framework] .fd-tab-trigger.fd-tab-active {
575
+ color: var(--color-fd-foreground);
576
+ font-weight: 500;
577
+ }
578
+
579
+ #nd-docs-layout[data-fd-framework] .fd-tab-trigger.fd-tab-active::after {
580
+ background: var(--color-fd-primary);
581
+ }
582
+
583
+ #nd-docs-layout[data-fd-framework] .fd-tab-panel .fd-codeblock {
584
+ margin: 0 -1px -1px !important;
585
+ border-radius: 0 !important;
586
+ }
587
+
588
+ /* Code blocks: normalize React figure.shiki and framework-neutral .fd-codeblock */
589
+ .fd-docs-content figure.shiki,
590
+ #nd-docs-layout article#nd-page figure.shiki,
591
+ .fd-docs-content .fd-codeblock,
592
+ #nd-docs-layout[data-fd-framework] .fd-page-body .fd-codeblock {
593
+ border: 2px solid var(--color-fd-border) !important;
594
+ border-radius: 0 !important;
595
+ background: var(--color-fd-card) !important;
596
+ box-shadow: none !important;
597
+ overflow: hidden;
598
+ }
599
+
600
+ .fd-docs-content figure.shiki:has(figcaption) > div:first-child,
601
+ #nd-docs-layout article#nd-page figure.shiki:has(figcaption) > div:first-child,
602
+ .fd-docs-content figure.shiki figcaption,
603
+ #nd-docs-layout article#nd-page figure.shiki figcaption,
604
+ .fd-docs-content .fd-codeblock-title,
605
+ #nd-docs-layout[data-fd-framework] .fd-codeblock-title {
606
+ min-height: 40px;
607
+ padding: 8px 14px !important;
608
+ border: 0 !important;
609
+ border-bottom: 1px solid var(--color-fd-border) !important;
610
+ background: var(--color-fd-secondary) !important;
611
+ color: var(--color-fd-muted-foreground) !important;
612
+ font-family: var(--fd-font-mono, ui-monospace, monospace);
613
+ font-size: 13px;
614
+ font-weight: 500;
615
+ line-height: 1.45;
616
+ }
617
+
618
+ .fd-docs-content figure.shiki:has(figcaption) > div:first-child::before,
619
+ #nd-docs-layout article#nd-page figure.shiki:has(figcaption) > div:first-child::before {
620
+ display: none;
621
+ }
622
+
623
+ .fd-docs-content figure.shiki > div[role="region"],
624
+ #nd-docs-layout article#nd-page figure.shiki > div[role="region"],
625
+ .fd-docs-content .fd-codeblock-content,
626
+ #nd-docs-layout[data-fd-framework] .fd-codeblock-content {
627
+ padding: 0 !important;
628
+ background: var(--color-fd-card) !important;
629
+ }
630
+
631
+ .fd-docs-content figure.shiki pre,
632
+ #nd-docs-layout article#nd-page figure.shiki pre,
633
+ .fd-docs-content .fd-codeblock pre,
634
+ #nd-docs-layout[data-fd-framework] .fd-codeblock pre {
635
+ margin: 0 !important;
636
+ padding: 14px 16px !important;
637
+ border: 0 !important;
638
+ border-radius: 0 !important;
639
+ background: var(--color-fd-card) !important;
640
+ line-height: 1.45;
641
+ }
642
+
643
+ .dark .fd-docs-content figure.shiki,
644
+ .dark #nd-docs-layout article#nd-page figure.shiki,
645
+ .dark .fd-docs-content figure.shiki > div[role="region"],
646
+ .dark #nd-docs-layout article#nd-page figure.shiki > div[role="region"],
647
+ .dark .fd-docs-content figure.shiki pre,
648
+ .dark #nd-docs-layout article#nd-page figure.shiki pre,
649
+ .dark .fd-docs-content .fd-codeblock,
650
+ .dark .fd-docs-content .fd-codeblock-content,
651
+ .dark .fd-docs-content .fd-codeblock pre,
652
+ .dark #nd-docs-layout[data-fd-framework] .fd-page-body .fd-codeblock,
653
+ .dark #nd-docs-layout[data-fd-framework] .fd-codeblock-content,
654
+ .dark #nd-docs-layout[data-fd-framework] .fd-codeblock pre {
655
+ background: #121214 !important;
656
+ }
657
+
658
+ /* Framework callouts: keep the Next hardline rectangle, not the softer default card */
659
+ #nd-docs-layout[data-fd-framework] .fd-callout {
660
+ border: 2px solid var(--color-fd-border) !important;
661
+ border-radius: 0 !important;
662
+ box-shadow: none !important;
663
+ }
664
+
665
+ .dark #nd-docs-layout[data-fd-framework] .fd-callout {
666
+ box-shadow: none !important;
667
+ }
668
+
669
+ #nd-docs-layout[data-fd-framework] .fd-callout-indicator {
670
+ border-radius: 0 !important;
671
+ }
672
+
673
+ /* Framework TOC: mirror the thin Next track and active marker */
674
+ #nd-docs-layout[data-fd-framework] .fd-toc {
675
+ padding: 48px 16px 8px 0 !important;
676
+ border-right: 0 !important;
677
+ background: transparent !important;
678
+ overflow: visible !important;
679
+ }
680
+
681
+ #nd-docs-layout[data-fd-framework] .fd-toc-title {
682
+ gap: 6px;
683
+ margin-bottom: 12px;
684
+ color: var(--color-fd-muted-foreground);
685
+ font-size: 14px;
686
+ line-height: 1.45;
687
+ }
688
+
689
+ #nd-docs-layout[data-fd-framework] .fd-toc-list {
690
+ position: relative;
691
+ border-left-color: color-mix(in srgb, var(--color-fd-foreground) 10%, transparent) !important;
692
+ }
693
+
694
+ #nd-docs-layout[data-fd-framework] .fd-toc-link {
695
+ position: relative;
696
+ margin-left: 0 !important;
697
+ padding-top: 6px;
698
+ padding-right: 0;
699
+ padding-bottom: 6px;
700
+ border-left: 0 !important;
701
+ font-size: 14px;
702
+ line-height: 1.45;
703
+ }
704
+
705
+ #nd-docs-layout[data-fd-framework] .fd-toc-item:first-child .fd-toc-link {
706
+ padding-top: 0;
707
+ }
708
+
709
+ #nd-docs-layout[data-fd-framework] .fd-toc-item:last-child .fd-toc-link {
710
+ padding-bottom: 0;
711
+ }
712
+
713
+ #nd-docs-layout[data-fd-framework] .fd-toc-link-active::before {
714
+ content: "";
715
+ position: absolute;
716
+ top: 0;
717
+ bottom: 0;
718
+ left: -1px;
719
+ width: 1px;
720
+ background: var(--color-fd-primary);
721
+ }
722
+
428
723
  /* Ask AI and feedback - hardline treatment */
429
724
  .fd-ai-dialog,
430
725
  .fd-ai-tab,
package/styles/ledger.css CHANGED
@@ -1,7 +1,18 @@
1
1
  /* @farming-labs/theme - ledger theme CSS
2
2
  * Stripe Docs-inspired product documentation UI without Stripe branding.
3
3
  */
4
- @import "./presets/neutral.css";
4
+ @import "./bundles/shared-framework.css";
5
+
6
+ #nd-docs-layout[data-fd-framework] {
7
+ --fd-framework-page-columns-with-toc: minmax(0, 1fr)
8
+ minmax(0, min(900px, calc(100% - var(--fd-toc-width, 236px))))
9
+ var(--fd-toc-width, 236px) minmax(0, 1fr);
10
+ --fd-framework-article-column: 2;
11
+ --fd-framework-toc-column: 3;
12
+ --fd-framework-article-width: min(900px, 100%);
13
+ --fd-framework-article-justify: center;
14
+ --fd-framework-article-padding: 56px 32px 24px;
15
+ }
5
16
 
6
17
  :root {
7
18
  --color-fd-primary: #5f6cf6;
@@ -312,7 +323,7 @@ aside#nd-sidebar-mobile a[data-active="true"]:hover,
312
323
  .fd-page-description,
313
324
  .fd-docs-content p,
314
325
  .fd-docs-content li,
315
- .fd-docs-content td,
326
+ :is(.fd-docs-content, .prose) td,
316
327
  .fd-docs-content blockquote {
317
328
  color: var(--color-fd-muted-foreground);
318
329
  line-height: 1.7;
@@ -334,7 +345,9 @@ aside#nd-sidebar-mobile a[data-active="true"]:hover,
334
345
  .fd-hover-link-card,
335
346
  .fd-page-nav,
336
347
  .fd-page-nav-card,
337
- [class*="fd-callout"],
348
+ .fd-callout,
349
+ [data-callout],
350
+ [style*="--callout-color"],
338
351
  .fd-page-action-menu,
339
352
  .fd-ai-dialog,
340
353
  .fd-ai-fm-input-container,
@@ -423,6 +436,7 @@ aside#nd-sidebar-mobile a[data-active="true"]:hover,
423
436
 
424
437
  .fd-tabs-trigger[data-state="active"],
425
438
  .fd-tab-trigger[data-state="active"],
439
+ .fd-tab-trigger.fd-tab-active,
426
440
  [role="tab"][aria-selected="true"],
427
441
  [role="tab"][data-active="true"] {
428
442
  background: var(--color-fd-card) !important;
@@ -524,7 +538,7 @@ figure.shiki:has(figcaption) > div:first-child > div:last-child {
524
538
  }
525
539
 
526
540
  .fd-table-wrapper,
527
- .fd-docs-content table,
541
+ :is(.fd-docs-content, .prose) table,
528
542
  .prose table {
529
543
  border: 1px solid var(--fd-ledger-soft-border) !important;
530
544
  border-radius: 0.5rem !important;
@@ -540,7 +554,8 @@ figure.shiki:has(figcaption) > div:first-child > div:last-child {
540
554
  }
541
555
 
542
556
  .fd-callout,
543
- [class*="fd-callout"] {
557
+ [data-callout],
558
+ [style*="--callout-color"] {
544
559
  background: color-mix(in srgb, var(--color-fd-primary) 7%, var(--color-fd-card)) !important;
545
560
  }
546
561