diff options
Diffstat (limited to 'alpinejs/packages/collapse/dist/module.cjs.js')
-rw-r--r-- | alpinejs/packages/collapse/dist/module.cjs.js | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/alpinejs/packages/collapse/dist/module.cjs.js b/alpinejs/packages/collapse/dist/module.cjs.js index 6aee128..419c1c5 100644 --- a/alpinejs/packages/collapse/dist/module.cjs.js +++ b/alpinejs/packages/collapse/dist/module.cjs.js @@ -16,11 +16,12 @@ function src_default(Alpine) { Alpine.directive("collapse", (el, {expression, modifiers}, {effect, evaluateLater}) => { let duration = modifierValue(modifiers, "duration", 250) / 1e3; let floor = 0; - el.style.overflow = "hidden"; if (!el._x_isShown) el.style.height = `${floor}px`; if (!el._x_isShown) el.style.removeProperty("display"); + if (!el._x_isShown) + el.style.overflow = "hidden"; let setFunction = (el2, styles) => { let revertFunction = Alpine.setStyles(el2, styles); return styles.height ? () => { @@ -41,6 +42,9 @@ function src_default(Alpine) { height: "auto" }); let full = el.getBoundingClientRect().height; + Alpine.setStyles(el, { + overflow: null + }); if (current === full) { current = floor; } @@ -60,7 +64,14 @@ function src_default(Alpine) { start: {height: full + "px"}, end: {height: floor + "px"} }, () => { - }, () => el._x_isShown = false); + }, () => { + el._x_isShown = false; + if (el.style.height == `${floor}px`) { + Alpine.nextTick(() => Alpine.setStyles(el, { + overflow: "hidden" + })); + } + }); } }; }); |