From fe2e16d937e2b57fb2bb1d10dea47db7256a4a49 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Mon, 24 Mar 2025 01:08:07 +0000
Subject: [PATCH] fix: disallow user-select in popover

---
 quartz/components/styles/toc.scss |   74 ++++++++++++++++++++++++++++++-------
 1 files changed, 60 insertions(+), 14 deletions(-)

diff --git a/quartz/components/styles/toc.scss b/quartz/components/styles/toc.scss
index 33b9cca..bc0c749 100644
--- a/quartz/components/styles/toc.scss
+++ b/quartz/components/styles/toc.scss
@@ -1,25 +1,71 @@
-details.toc {
-  & summary {
-    cursor: pointer;
+@use "../../styles/variables.scss" as *;
 
-    &::marker {
-      color: var(--dark);
-    }
+.toc {
+  display: flex;
+  flex-direction: column;
 
-    & > * {
-      padding-left: 0.25rem;
-      display: inline-block;
-      margin: 0;
-    }
+  overflow-y: hidden;
+  min-height: 4rem;
+  flex: 0 1 auto;
+  &:has(button.toc-header.collapsed) {
+    flex: 0 1 1.2rem;
   }
-    
+}
+
+@media all and not ($mobile) {
+  .toc-header {
+    display: flex;
+  }
+}
+
+button.toc-header {
+  background-color: transparent;
+  border: none;
+  text-align: left;
+  cursor: pointer;
+  padding: 0;
+  color: var(--dark);
+  display: flex;
+  align-items: center;
+
+  & h3 {
+    font-size: 1rem;
+    display: inline-block;
+    margin: 0;
+  }
+
+  & .fold {
+    margin-left: 0.5rem;
+    transition: transform 0.3s ease;
+    opacity: 0.8;
+  }
+
+  &.collapsed .fold {
+    transform: rotateZ(-90deg);
+  }
+}
+
+.toc-content {
+  list-style: none;
+  position: relative;
+
   & ul {
     list-style: none;
-    margin: 0.5rem 1.25rem;
+    margin: 0.5rem 0;
     padding: 0;
+    & > li > a {
+      color: var(--dark);
+      opacity: 0.35;
+      transition:
+        0.5s ease opacity,
+        0.3s ease color;
+      &.in-view {
+        opacity: 0.75;
+      }
+    }
   }
 
-  @for $i from 1 through 6 {
+  @for $i from 0 through 6 {
     & .depth-#{$i} {
       padding-left: calc(1rem * #{$i});
     }

--
Gitblit v1.10.0