fix: fix sidebar animation weirdness in sidebar folders

This commit is contained in:
2026-08-24 14:04:08 +09:30
parent a411d646ae
commit dde5096d1c
5 changed files with 155 additions and 78 deletions
+31 -15
View File
@@ -722,6 +722,13 @@ html.bsplus-custom-title-pending #title > :not(#bsplus-title-root),
pointer-events: none !important;
}
/* Same locks keyed off `.drilling` so nested leaf clicks do not flicker when
SEQTA briefly strips `.active` from folder rows. */
> #bsplus-sidebar-root.drilling > li:not(.hasChildren),
> #bsplus-sidebar-root.drilling > li:not(.hasChildren) * {
pointer-events: none !important;
}
> #bsplus-sidebar-root .sub {
pointer-events: none;
}
@@ -742,13 +749,24 @@ html.bsplus-custom-title-pending #title > :not(#bsplus-title-root),
background-image: none !important;
}
/* One-shot enter — not tied to `.active` (SEQTA strips/restores that on every
nested click, which would restart the animation). */
> #bsplus-sidebar-root .sub.bsplus-sub-enter {
animation: bsplus-submenu-enter 0.32s cubic-bezier(0.22, 1, 0.36, 1);
> #bsplus-sidebar-root.drilling li.hasChildren > .sub:not(:has(.sub)) {
pointer-events: auto !important;
background: transparent !important;
background-image: none !important;
}
> #bsplus-sidebar-root > li.hasChildren.active > label {
> #bsplus-sidebar-root.drilling li.hasChildren > .sub:has(.sub) {
pointer-events: none !important;
}
> #bsplus-sidebar-root.drilling li.hasChildren > .sub .sub {
pointer-events: auto !important;
background: transparent !important;
background-image: none !important;
}
> #bsplus-sidebar-root > li.hasChildren.active > label,
> #bsplus-sidebar-root.drilling > li.hasChildren > label {
pointer-events: none !important;
}
@@ -764,6 +782,14 @@ html.bsplus-custom-title-pending #title > :not(#bsplus-title-root),
opacity: 0 !important;
}
> #bsplus-sidebar-root.drilling > li:not(.hasChildren)::before,
> #bsplus-sidebar-root.drilling > li:not(.hasChildren)::after {
content: none !important;
display: none !important;
animation: none !important;
opacity: 0 !important;
}
#bsplus-sidebar-root .sub .back {
display: flex;
align-items: center;
@@ -790,16 +816,6 @@ html.bsplus-custom-title-pending #title > :not(#bsplus-title-root),
}
}
@keyframes bsplus-submenu-enter {
from {
opacity: 0.35;
transform: translateX(28px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
#menu li > label > svg,
#menu section > label > svg {
margin: 0 10px 0 4px;