cosmos-docusaurus-theme 1.1.8 → 1.2.1

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/CHANGELOG.md CHANGED
@@ -7,6 +7,21 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
7
7
 
8
8
  ---
9
9
 
10
+ ## [1.2.0] — 2026-03-10
11
+
12
+ ### Changed — Rackscope design system alignment
13
+
14
+ 6 axes inspired by the `templates/default` component library:
15
+
16
+ - **Border radius**: Cards `16px` (rounded-2xl), code `12px`, inline code `6px`, pagination `12px`
17
+ - **Admonitions**: AlertBanner style — `rounded-2xl`, all-around border at semantic opacity, `padding: 16px 20px`
18
+ - **Dark shadows**: shadow-card pattern on cards + code blocks (heavier on dark surfaces)
19
+ - **Details/summary**: SectionCard style — `rounded-2xl`, chevron that rotates, dark bg-gray-900
20
+ - **TOC active**: bg pill `rgb(70,95,255,0.08)` + border-radius + padding (mirrors sidebar active)
21
+ - **Sidebar labels**: `10px` + `letter-spacing: 0.12em` — exact Rackscope LayoutLabel
22
+ - **Typography**: `h1 font-weight: 800`, tight letter-spacing (`-0.04em` → `-0.01em`)
23
+ - **Scrollbar**: `4px` (was 5px) — matches Rackscope index.css
24
+
10
25
  ## [1.1.6] — 2026-03-10
11
26
 
12
27
  ### Changed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cosmos-docusaurus-theme",
3
- "version": "1.1.8",
3
+ "version": "1.2.1",
4
4
  "description": "A clean, dark-first Docusaurus CSS theme based on TailAdmin design system with Outfit typography",
5
5
  "keywords": [
6
6
  "docusaurus",
package/src/css/theme.css CHANGED
@@ -325,60 +325,87 @@ button[aria-label*="dark and light mode"]:hover::before {
325
325
  background: rgb(255,255,255,0.05);
326
326
  }
327
327
 
328
- /* Sidebar section separator — uppercase label */
328
+ /* Sidebar section separator — exact Rackscope LayoutLabel pattern */
329
329
  .sidebar_menu_section_title {
330
- font-size: 0.6875rem;
330
+ font-size: 0.625rem; /* 10px — matches text-[10px] */
331
331
  font-weight: 700;
332
- letter-spacing: 0.08em;
332
+ letter-spacing: 0.12em; /* tracking-wider */
333
333
  text-transform: uppercase;
334
- color: #a3a3a3; /* neutral gray-400 */
334
+ color: #a3a3a3;
335
335
  padding: 12px 12px 4px;
336
336
  }
337
337
 
338
338
  /* ── Code blocks ─────────────────────────────────────────────────────────── */
339
339
  .prism-code {
340
- border-radius: 10px;
340
+ border-radius: 12px; /* rounded-xl — matches Rackscope input/button radius */
341
341
  font-size: 0.8625rem;
342
342
  line-height: 1.65;
343
343
  }
344
344
 
345
- /* Inline code — subtle bordered style */
345
+ [data-theme='dark'] .prism-code {
346
+ /* Heavier shadow in dark — matches Rackscope shadow-card pattern */
347
+ box-shadow: 0 1px 3px rgb(0, 0, 0, 0.4), 0 1px 2px rgb(0, 0, 0, 0.3);
348
+ }
349
+
350
+ /* Code block title bar */
351
+ .codeBlockTitle_Ktv7 {
352
+ border-radius: 12px 12px 0 0;
353
+ }
354
+
355
+ /* Inline code — rounded-md, subtle bordered style */
346
356
  code {
347
- border-radius: 5px;
348
- padding: 2px 6px;
357
+ border-radius: 6px;
358
+ padding: 2px 7px;
349
359
  font-size: 0.875em;
350
360
  border: 1px solid var(--ifm-toc-border-color);
351
361
  background: var(--ifm-code-background);
352
362
  }
353
363
 
354
- /* ── Content headings ─────────────────────────────────────────────────────── */
355
- .markdown h1,
356
- .markdown h2,
357
- .markdown h3,
358
- .markdown h4 {
359
- font-weight: 700;
360
- letter-spacing: -0.3px;
364
+ /* ── Content headings tight letter-spacing (Rackscope -0.03em / -0.04em) ── */
365
+ .markdown h1 {
366
+ font-weight: 800;
367
+ letter-spacing: -0.04em;
368
+ font-size: 2.2rem;
361
369
  }
362
370
 
363
- .markdown h1 { font-size: 2.2rem; }
364
-
365
371
  .markdown h2 {
372
+ font-weight: 700;
373
+ letter-spacing: -0.03em;
366
374
  font-size: 1.6rem;
367
375
  padding-bottom: 8px;
368
376
  border-bottom: 1px solid var(--ifm-toc-border-color);
369
377
  margin-top: 2.5rem;
370
378
  }
371
379
 
380
+ .markdown h3 {
381
+ font-weight: 700;
382
+ letter-spacing: -0.02em;
383
+ font-size: 1.25rem;
384
+ }
385
+
386
+ .markdown h4,
387
+ .markdown h5,
388
+ .markdown h6 {
389
+ font-weight: 600;
390
+ letter-spacing: -0.01em;
391
+ }
392
+
372
393
  /* ── Tables — direct overrides (CSS variables not reliably cascaded) ─────── */
373
394
 
374
- /* Dark mode: Void gray-800 borders, gray-900 header */
395
+ /* Dark mode Infima applies --ifm-table-head-background directly on th,
396
+ so we must target th explicitly (higher specificity than thead). */
375
397
  [data-theme='dark'] table {
376
- border-color: #1f2937;
398
+ border-color: #374151; /* gray-700 — slightly more visible than gray-800 */
399
+ }
400
+
401
+ [data-theme='dark'] th {
402
+ background-color: #111827; /* Void gray-900 */
403
+ color: #e5e5e5;
404
+ border-color: #374151;
377
405
  }
378
406
 
379
- [data-theme='dark'] th,
380
407
  [data-theme='dark'] td {
381
- border-color: #1f2937;
408
+ border-color: #374151;
382
409
  }
383
410
 
384
411
  [data-theme='dark'] thead,
@@ -390,12 +417,16 @@ code {
390
417
  background-color: rgb(255, 255, 255, 0.03);
391
418
  }
392
419
 
393
- /* Light mode: Slate gray-200 borders, gray-50 header */
420
+ /* Light mode Slate gray-200 borders, gray-50 header */
394
421
  [data-theme='light'] table {
395
422
  border-color: #e5e7eb;
396
423
  }
397
424
 
398
- [data-theme='light'] th,
425
+ [data-theme='light'] th {
426
+ background-color: #f9fafb;
427
+ border-color: #e5e7eb;
428
+ }
429
+
399
430
  [data-theme='light'] td {
400
431
  border-color: #e5e7eb;
401
432
  }
@@ -415,6 +446,8 @@ code {
415
446
  .breadcrumbs__link--active,
416
447
  .breadcrumbs__item--active .breadcrumbs__link {
417
448
  color: var(--ifm-color-primary);
449
+ /* No background on active breadcrumb — avoids computed #080d25 artifact */
450
+ background: none;
418
451
  }
419
452
 
420
453
  [data-theme='dark'] .breadcrumbs__item + .breadcrumbs__item::before {
@@ -422,7 +455,7 @@ code {
422
455
  }
423
456
 
424
457
  [data-theme='dark'] .breadcrumbs__link:not(.breadcrumbs__link--active) {
425
- color: #a3a3a3;
458
+ color: #9ca3af; /* gray-400 — readable on Void dark without being dominant */
426
459
  }
427
460
 
428
461
  /* ── Right navbar — unified ghost button style ───────────────────────────── */
@@ -471,52 +504,177 @@ button[aria-label*="dark and light mode"]:hover {
471
504
  }
472
505
 
473
506
  /* ── Table of contents (right panel) ─────────────────────────────────────── */
507
+
508
+ /* Left border line — matches Void gray-800 in dark, gray-200 in light */
509
+ .table-of-contents {
510
+ border-left: 1px solid var(--ifm-toc-border-color) !important;
511
+ }
512
+
474
513
  .table-of-contents__link {
475
514
  font-size: 0.8125rem;
515
+ transition: color 0.12s, background 0.12s;
516
+ border-radius: 5px;
517
+ padding: 2px 6px;
518
+ margin-left: -7px;
519
+ display: block;
520
+ }
521
+
522
+ /* H2-level TOC items (direct children) — more prominent */
523
+ .table-of-contents > ul > li > .table-of-contents__link {
524
+ font-weight: 500;
525
+ color: var(--ifm-font-color-base);
526
+ font-size: 0.8125rem;
527
+ }
528
+
529
+ [data-theme='dark'] .table-of-contents > ul > li > .table-of-contents__link {
530
+ color: #d1d5db; /* gray-300 — matches Rackscope sidebar label prominence */
531
+ }
532
+
533
+ /* H3-level TOC items (nested) — muted secondary */
534
+ .table-of-contents > ul > li > ul .table-of-contents__link {
476
535
  color: var(--ifm-font-color-secondary);
477
- transition: color 0.12s;
536
+ font-size: 0.8rem;
478
537
  }
479
538
 
480
- .table-of-contents__link:hover,
539
+ [data-theme='dark'] .table-of-contents > ul > li > ul .table-of-contents__link {
540
+ color: #71717a; /* zinc-500 — subtle */
541
+ }
542
+
543
+ /* Hover state */
544
+ .table-of-contents__link:hover {
545
+ color: var(--ifm-color-primary);
546
+ background: rgb(70, 95, 255, 0.06);
547
+ }
548
+
549
+ [data-theme='dark'] .table-of-contents__link:hover {
550
+ background: rgb(117, 146, 255, 0.08);
551
+ }
552
+
553
+ /* Active — bg pill, brand color */
481
554
  .table-of-contents__link--active {
555
+ color: var(--ifm-color-primary) !important;
556
+ font-weight: 600;
557
+ background: rgb(70, 95, 255, 0.08);
558
+ }
559
+
560
+ [data-theme='dark'] .table-of-contents__link--active {
561
+ background: rgb(117, 146, 255, 0.1);
562
+ }
563
+
564
+ /* ── Details / Summary — SectionCard style ───────────────────────────────── */
565
+ /* Matches Rackscope: rounded-2xl border border-gray-200 bg-white p-6
566
+ dark:border-gray-800 dark:bg-gray-900 */
567
+ details {
568
+ border: 1px solid var(--ifm-toc-border-color);
569
+ border-radius: 16px; /* rounded-2xl */
570
+ background: var(--ifm-background-surface-color);
571
+ margin-bottom: 1rem;
572
+ overflow: hidden;
573
+ transition: border-color 0.15s;
574
+ }
575
+
576
+ [data-theme='dark'] details {
577
+ background: #111827;
578
+ border-color: #1f2937;
579
+ box-shadow: 0 1px 3px rgb(0, 0, 0, 0.4), 0 1px 2px rgb(0, 0, 0, 0.3);
580
+ }
581
+
582
+ details > summary {
583
+ padding: 14px 20px;
584
+ cursor: pointer;
585
+ font-weight: 600;
586
+ font-size: 0.9375rem;
587
+ color: var(--ifm-font-color-base);
588
+ list-style: none;
589
+ display: flex;
590
+ align-items: center;
591
+ gap: 8px;
592
+ transition: background 0.12s;
593
+ }
594
+
595
+ details > summary:hover {
596
+ background: rgb(70, 95, 255, 0.04);
597
+ }
598
+
599
+ [data-theme='dark'] details > summary:hover {
600
+ background: rgb(255, 255, 255, 0.04);
601
+ }
602
+
603
+ details > summary::before {
604
+ content: '›';
605
+ font-size: 1.125rem;
482
606
  color: var(--ifm-color-primary);
483
- font-weight: 500;
607
+ transition: transform 0.2s;
608
+ display: inline-block;
609
+ line-height: 1;
610
+ }
611
+
612
+ details[open] > summary::before {
613
+ transform: rotate(90deg);
614
+ }
615
+
616
+ details > :not(summary) {
617
+ padding: 0 20px 16px;
618
+ border-top: 1px solid var(--ifm-toc-border-color);
619
+ margin-top: 0;
620
+ }
621
+
622
+ [data-theme='dark'] details > :not(summary) {
623
+ border-top-color: #1f2937;
624
+ }
625
+
626
+ /* ── Admonitions — AlertBanner style (Rackscope rounded-2xl full border) ─── */
627
+ /* Full all-around border with semantic opacity — matches Rackscope AlertBanner:
628
+ rounded-2xl border px-5 py-3.5 (border + bg at semantic opacity) */
629
+ .alert {
630
+ border-radius: 16px; /* rounded-2xl */
631
+ border-left-width: 3px; /* keep accent left stripe */
632
+ padding: 16px 20px;
484
633
  }
485
634
 
486
- /* ── AdmonitionsTailAdmin semantic color palette ──────────────────────── */
635
+ /* Light mode5% opacity bg, 25% opacity border */
487
636
  .alert--info {
637
+ border-color: rgb(70, 95, 255, 0.25);
488
638
  border-left-color: #465fff;
489
639
  background: rgb(70, 95, 255, 0.05);
490
640
  }
491
641
 
492
642
  .alert--success {
643
+ border-color: rgb(18, 183, 106, 0.25);
493
644
  border-left-color: #12b76a;
494
645
  background: rgb(18, 183, 106, 0.05);
495
646
  }
496
647
 
497
648
  .alert--warning {
649
+ border-color: rgb(247, 144, 9, 0.25);
498
650
  border-left-color: #f79009;
499
651
  background: rgb(247, 144, 9, 0.05);
500
652
  }
501
653
 
502
654
  .alert--danger {
655
+ border-color: rgb(240, 68, 56, 0.25);
503
656
  border-left-color: #f04438;
504
657
  background: rgb(240, 68, 56, 0.05);
505
658
  }
506
659
 
660
+ /* Dark mode — 8% opacity bg, 20% opacity border (subtle on dark surface) */
507
661
  [data-theme='dark'] .alert--info {
662
+ border-color: rgb(70, 95, 255, 0.2);
508
663
  background: rgb(70, 95, 255, 0.08);
509
664
  }
510
665
 
511
666
  [data-theme='dark'] .alert--success {
667
+ border-color: rgb(18, 183, 106, 0.2);
512
668
  background: rgb(18, 183, 106, 0.08);
513
669
  }
514
670
 
515
671
  [data-theme='dark'] .alert--warning {
672
+ border-color: rgb(247, 144, 9, 0.2);
516
673
  background: rgb(247, 144, 9, 0.08);
517
674
  }
518
675
 
519
676
  [data-theme='dark'] .alert--danger {
677
+ border-color: rgb(240, 68, 56, 0.2);
520
678
  background: rgb(240, 68, 56, 0.08);
521
679
  }
522
680
 
@@ -561,7 +719,7 @@ button[aria-label*="dark and light mode"]:hover {
561
719
  /* ── Pagination nav ───────────────────────────────────────────────────────── */
562
720
  .pagination-nav__link {
563
721
  border-color: var(--ifm-toc-border-color);
564
- border-radius: 10px;
722
+ border-radius: 12px; /* rounded-xl — matches Rackscope button radius */
565
723
  transition: border-color 0.15s, box-shadow 0.15s;
566
724
  }
567
725
 
@@ -570,6 +728,10 @@ button[aria-label*="dark and light mode"]:hover {
570
728
  box-shadow: 0 0 0 3px rgb(70, 95, 255, 0.12);
571
729
  }
572
730
 
731
+ [data-theme='dark'] .pagination-nav__link:hover {
732
+ box-shadow: 0 4px 12px rgb(0, 0, 0, 0.3), 0 0 0 2px rgb(117, 146, 255, 0.2);
733
+ }
734
+
573
735
  /* ── Progress bar (page loading indicator) ───────────────────────────────── */
574
736
  :root {
575
737
  --docusaurus-progress-bar-color: #465fff;
@@ -652,7 +814,7 @@ button[aria-label*="dark and light mode"]:hover {
652
814
  /* ── Cards ───────────────────────────────────────────────────────────────── */
653
815
  :root {
654
816
  --ifm-card-background-color: #fff;
655
- --ifm-card-border-radius: 12px;
817
+ --ifm-card-border-radius: 16px; /* rounded-2xl — matches Rackscope SectionCard */
656
818
  }
657
819
 
658
820
  [data-theme='dark'] {
@@ -666,11 +828,20 @@ button[aria-label*="dark and light mode"]:hover {
666
828
  transition: border-color 0.15s, box-shadow 0.15s;
667
829
  }
668
830
 
831
+ /* Dark mode: heavier shadow — matches Rackscope shadow-card pattern */
832
+ [data-theme='dark'] .card {
833
+ box-shadow: 0 1px 3px rgb(0, 0, 0, 0.4), 0 1px 2px rgb(0, 0, 0, 0.3);
834
+ }
835
+
669
836
  .card:hover {
670
837
  border-color: var(--ifm-color-primary);
671
838
  box-shadow: var(--ifm-global-shadow-md);
672
839
  }
673
840
 
841
+ [data-theme='dark'] .card:hover {
842
+ box-shadow: 0 10px 25px rgb(0, 0, 0, 0.5), 0 4px 6px rgb(0, 0, 0, 0.2);
843
+ }
844
+
674
845
  /* ── Tags ────────────────────────────────────────────────────────────────── */
675
846
  :root {
676
847
  --ifm-tag-background: rgb(70, 95, 255, 0.08);
@@ -749,10 +920,10 @@ button[aria-label*="dark and light mode"]:hover {
749
920
  --docsearch-logo-color: #7592ff;
750
921
  }
751
922
 
752
- /* ── Scrollbar — thin, TailAdmin style ───────────────────────────────────── */
923
+ /* ── Scrollbar — 4px, matches Rackscope index.css ───────────────────────── */
753
924
  ::-webkit-scrollbar {
754
- width: 5px;
755
- height: 5px;
925
+ width: 4px;
926
+ height: 4px;
756
927
  }
757
928
 
758
929
  ::-webkit-scrollbar-track {