fix nested callout folding

This commit is contained in:
Jacky Zhao 2023-08-12 10:33:57 -07:00
parent 0c0f56d222
commit 619be0e153
3 changed files with 17 additions and 1 deletions

View File

@ -4,7 +4,6 @@ draft: true
## todo ## todo
- blockquote with link in first child broken
- 404 using base url - 404 using base url
- back button with anchors / popovers + spa is broken - back button with anchors / popovers + spa is broken
- search should be fast for large repos - search should be fast for large repos

View File

@ -4,6 +4,22 @@ function toggleCallout(this: HTMLElement) {
const collapsed = outerBlock.classList.contains(`is-collapsed`) const collapsed = outerBlock.classList.contains(`is-collapsed`)
const height = collapsed ? this.scrollHeight : outerBlock.scrollHeight const height = collapsed ? this.scrollHeight : outerBlock.scrollHeight
outerBlock.style.maxHeight = height + `px` outerBlock.style.maxHeight = height + `px`
// walk and adjust height of all parents
let current = outerBlock
let parent = outerBlock.parentElement
while (parent) {
if (!parent.classList.contains(`callout`)) {
return
}
const collapsed = parent.classList.contains(`is-collapsed`)
const height = collapsed ? parent.scrollHeight : parent.scrollHeight + current.scrollHeight
parent.style.maxHeight = height + `px`
current = parent
parent = parent.parentElement
}
} }
function setupCallout() { function setupCallout() {

View File

@ -7,6 +7,7 @@
padding: 0 1rem; padding: 0 1rem;
overflow-y: hidden; overflow-y: hidden;
transition: max-height 0.3s ease; transition: max-height 0.3s ease;
box-sizing: border-box;
& > *:nth-child(2) { & > *:nth-child(2) {
margin-top: 0; margin-top: 0;