Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo-mod-jslibs-dist.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'alpinejs/packages/collapse/dist/module.cjs.js')
-rw-r--r--alpinejs/packages/collapse/dist/module.cjs.js31
1 files changed, 24 insertions, 7 deletions
diff --git a/alpinejs/packages/collapse/dist/module.cjs.js b/alpinejs/packages/collapse/dist/module.cjs.js
index 63e04a0..6e593d1 100644
--- a/alpinejs/packages/collapse/dist/module.cjs.js
+++ b/alpinejs/packages/collapse/dist/module.cjs.js
@@ -13,12 +13,22 @@ __export(exports, {
// packages/collapse/src/index.js
function src_default(Alpine) {
- Alpine.directive("collapse", (el, {expression, modifiers}, {effect, evaluateLater}) => {
+ Alpine.directive("collapse", collapse);
+ collapse.inline = (el, {modifiers}) => {
+ if (!modifiers.includes("min"))
+ return;
+ el._x_doShow = () => {
+ };
+ el._x_doHide = () => {
+ };
+ };
+ function collapse(el, {modifiers}) {
let duration = modifierValue(modifiers, "duration", 250) / 1e3;
- let floor = 0;
+ let floor = modifierValue(modifiers, "min", 0);
+ let fullyHide = !modifiers.includes("min");
if (!el._x_isShown)
el.style.height = `${floor}px`;
- if (!el._x_isShown)
+ if (!el._x_isShown && fullyHide)
el.hidden = true;
if (!el._x_isShown)
el.style.overflow = "hidden";
@@ -36,8 +46,10 @@ function src_default(Alpine) {
in(before = () => {
}, after = () => {
}) {
- el.hidden = false;
- el.style.display = null;
+ if (fullyHide)
+ el.hidden = false;
+ if (fullyHide)
+ el.style.display = null;
let current = el.getBoundingClientRect().height;
el.style.height = "auto";
let full = el.getBoundingClientRect().height;
@@ -64,14 +76,14 @@ function src_default(Alpine) {
end: {height: floor + "px"}
}, () => el.style.overflow = "hidden", () => {
el._x_isShown = false;
- if (el.style.height == `${floor}px`) {
+ if (el.style.height == `${floor}px` && fullyHide) {
el.style.display = "none";
el.hidden = true;
}
});
}
};
- });
+ }
}
function modifierValue(modifiers, key, fallback) {
if (modifiers.indexOf(key) === -1)
@@ -84,6 +96,11 @@ function modifierValue(modifiers, key, fallback) {
if (match)
return match[1];
}
+ if (key === "min") {
+ let match = rawValue.match(/([0-9]+)px/);
+ if (match)
+ return match[1];
+ }
return rawValue;
}