@wpmoo/ui 1.0.0 → 1.1.0-dev.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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Moo UI v1.0.0 (https://wpmoo.org/)
2
+ * Moo UI v1.1.0-dev.1 (https://wpmoo.org/)
3
3
  * Copyright 2026 WPMoo Authors
4
4
  * Licensed under MIT (https://github.com/wpmoo-org/ui/blob/main/LICENSE)
5
5
  *
@@ -4826,6 +4826,53 @@ label.btn {
4826
4826
  border-color: var(--moo-primary);
4827
4827
  }
4828
4828
 
4829
+ /* Table of contents */
4830
+ [data-toc] > .fw-semibold {
4831
+ padding-inline-start: calc(0.75rem - var(--bs-border-width));
4832
+ }
4833
+ [data-toc]:has(> .nav) {
4834
+ position: relative;
4835
+ border-inline-start: calc(var(--bs-border-width) * 0.5) solid var(--bs-border-color);
4836
+ }
4837
+ [data-toc][data-toc-marker]::after {
4838
+ content: "";
4839
+ position: absolute;
4840
+ inset-block-start: 0;
4841
+ inset-inline-start: calc(var(--bs-border-width) * -1);
4842
+ block-size: var(--moo-toc-marker-height);
4843
+ border-inline-start: calc(var(--bs-border-width) * 3) solid var(--moo-primary);
4844
+ transform: translateY(var(--moo-toc-marker-offset));
4845
+ pointer-events: none;
4846
+ transition: all 0.2s ease-in-out;
4847
+ }
4848
+ @media (prefers-reduced-motion: reduce) {
4849
+ [data-toc][data-toc-marker]::after {
4850
+ transition: none;
4851
+ }
4852
+ }
4853
+ [data-toc] > .nav .nav-link {
4854
+ display: flex;
4855
+ position: relative;
4856
+ margin-inline-start: calc(var(--bs-border-width) * -1);
4857
+ color: var(--moo-muted-foreground);
4858
+ }
4859
+ [data-toc] > .nav .nav-link::before {
4860
+ content: "";
4861
+ position: absolute;
4862
+ inset-block: var(--bs-nav-link-padding-y);
4863
+ inset-inline-start: 0;
4864
+ border-inline-start: calc(var(--bs-border-width) * 3) solid transparent;
4865
+ }
4866
+ [data-toc] > .nav .nav-link.active {
4867
+ color: var(--moo-foreground);
4868
+ }
4869
+ [data-toc] > .nav .nav-link.active::before {
4870
+ border-inline-start-color: var(--moo-primary);
4871
+ }
4872
+ [data-toc][data-toc-marker] > .nav .nav-link.active::before {
4873
+ border-inline-start-color: transparent;
4874
+ }
4875
+
4829
4876
  /* Skeleton */
4830
4877
  .skeleton {
4831
4878
  color: var(--moo-border);
@@ -8024,6 +8071,14 @@ label.btn {
8024
8071
  --moo-scroll-fade-e: var(--moo-scroll-fade-e-size);
8025
8072
  }
8026
8073
  }
8074
+ .scroll-smooth {
8075
+ scroll-behavior: smooth;
8076
+ }
8077
+ @media (prefers-reduced-motion: reduce) {
8078
+ .scroll-smooth {
8079
+ scroll-behavior: auto;
8080
+ }
8081
+ }
8027
8082
 
8028
8083
  /* Application layout */
8029
8084
  .sidebar {
@@ -8058,9 +8113,6 @@ label.btn {
8058
8113
  background: transparent;
8059
8114
  transition: background 0.15s ease;
8060
8115
  }
8061
- .sidebar-rail:hover::after {
8062
- background: var(--moo-sidebar-border);
8063
- }
8064
8116
  .wrapper[data-layout="app"][data-shell-mode="contained"] .sidebar-inner {
8065
8117
  position: relative;
8066
8118
  height: 100%;