Emile Bangma
2026-01-20 b4fb0e66821b8a597fb14e31dc3f59c12fef00f3
quartz/components/styles/explorer.scss
@@ -6,6 +6,7 @@
    & > :not(.sidebar.left:has(.explorer)) {
      transition: transform 300ms ease-in-out;
    }
    &.lock-scroll > :not(.sidebar.left:has(.explorer)) {
      transform: translateX(100dvw);
      transition: transform 300ms ease-in-out;
@@ -33,8 +34,10 @@
  min-height: 1.2rem;
  flex: 0 1 auto;
  &.collapsed {
    flex: 0 1 1.2rem;
    & .fold {
      transform: rotateZ(-90deg);
    }
@@ -52,6 +55,8 @@
    overflow: hidden;
    flex-shrink: 0;
    align-self: flex-start;
    margin-top: auto;
    margin-bottom: auto;
  }
  button.mobile-explorer {
@@ -117,6 +122,10 @@
    margin: 0;
    padding: 0;
    &.explorer-ul {
      overscroll-behavior: contain;
    }
    & li > a {
      color: var(--dark);
      opacity: 0.75;
@@ -130,12 +139,16 @@
  }
  .folder-outer {
    visibility: collapse;
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease-in-out;
    transition-property: grid-template-rows, visibility;
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out;
  }
  .folder-outer.open {
    visibility: visible;
    grid-template-rows: 1fr;
  }
@@ -196,6 +209,7 @@
  cursor: pointer;
  transition: transform 0.3s ease;
  backface-visibility: visible;
  flex-shrink: 0;
}
li:has(> .folder-outer:not(.open)) > .folder-container > svg {
@@ -235,7 +249,7 @@
      margin-top: 0;
      background-color: var(--light);
      max-width: 100vw;
      width: 100%;
      width: 100vw;
      transform: translateX(-100vw);
      transition:
        transform 200ms ease,
@@ -259,22 +273,10 @@
  }
}
.no-scroll {
  opacity: 0;
  overflow: hidden;
}
html:has(.no-scroll) {
  overflow: hidden;
}
@media all and not ($mobile) {
  .no-scroll {
    opacity: 1 !important;
    overflow: auto !important;
  }
  html:has(.no-scroll) {
    overflow: auto !important;
.mobile-no-scroll {
  @media all and ($mobile) {
    .explorer-content > .explorer-ul {
      overscroll-behavior: contain;
    }
  }
}