(function (e, t) {
if (typeof define === "function" && define.amd) {
define([], t);
} else if (typeof module === "object" && module.exports) {
module.exports = t();
} else {
e.htmx = e.htmx || t();
}
})(typeof self !== "undefined" ? self : this, function () {
return (function () {
"use strict";
var G = {
onLoad: t,
process: Nt,
on: le,
off: ue,
trigger: oe,
ajax: xr,
find: b,
findAll: f,
closest: d,
values: function (e, t) {
var r = er(e, t || "post");
return r.values;
},
remove: U,
addClass: B,
removeClass: n,
toggleClass: V,
takeClass: j,
defineExtension: Cr,
removeExtension: Rr,
logAll: X,
logNone: F,
logger: null,
config: {
historyEnabled: true,
historyCacheSize: 10,
refreshOnHistoryMiss: false,
defaultSwapStyle: "innerHTML",
defaultSwapDelay: 0,
defaultSettleDelay: 20,
includeIndicatorStyles: true,
indicatorClass: "htmx-indicator",
requestClass: "htmx-request",
addedClass: "htmx-added",
settlingClass: "htmx-settling",
swappingClass: "htmx-swapping",
allowEval: true,
inlineScriptNonce: "",
attributesToSettle: ["class", "style", "width", "height"],
withCredentials: false,
timeout: 0,
wsReconnectDelay: "full-jitter",
wsBinaryType: "blob",
disableSelector: "[hx-disable], [data-hx-disable]",
useTemplateFragments: false,
scrollBehavior: "smooth",
defaultFocusScroll: false,
getCacheBusterParam: false,
globalViewTransitions: false,
methodsThatUseUrlParams: ["get"],
},
parseInterval: v,
_: e,
createEventSource: function (e) {
return new EventSource(e, { withCredentials: true });
},
createWebSocket: function (e) {
var t = new WebSocket(e, []);
t.binaryType = G.config.wsBinaryType;
return t;
},
version: "1.9.4",
};
var C = {
addTriggerHandler: bt,
bodyContains: re,
canAccessLocalStorage: M,
findThisElement: he,
filterValues: ar,
hasAttribute: o,
getAttributeValue: Z,
getClosestAttributeValue: Y,
getClosestMatch: c,
getExpressionVars: gr,
getHeaders: ir,
getInputValues: er,
getInternalData: ee,
getSwapSpecification: sr,
getTriggerSpecs: Ge,
getTarget: de,
makeFragment: l,
mergeObjects: ne,
makeSettleInfo: S,
oobSwap: me,
querySelectorExt: ie,
selectAndSwap: De,
settleImmediately: Wt,
shouldCancel: Qe,
triggerEvent: oe,
triggerErrorEvent: ae,
withExtensions: w,
};
var R = ["get", "post", "put", "delete", "patch"];
var O = R.map(function (e) {
return "[hx-" + e + "], [data-hx-" + e + "]";
}).join(", ");
function v(e) {
if (e == undefined) {
return undefined;
}
if (e.slice(-2) == "ms") {
return parseFloat(e.slice(0, -2)) || undefined;
}
if (e.slice(-1) == "s") {
return parseFloat(e.slice(0, -1)) * 1e3 || undefined;
}
if (e.slice(-1) == "m") {
return parseFloat(e.slice(0, -1)) * 1e3 * 60 || undefined;
}
return parseFloat(e) || undefined;
}
function J(e, t) {
return e.getAttribute && e.getAttribute(t);
}
function o(e, t) {
return (
e.hasAttribute && (e.hasAttribute(t) || e.hasAttribute("data-" + t))
);
}
function Z(e, t) {
return J(e, t) || J(e, "data-" + t);
}
function u(e) {
return e.parentElement;
}
function K() {
return document;
}
function c(e, t) {
while (e && !t(e)) {
e = u(e);
}
return e ? e : null;
}
function T(e, t, r) {
var n = Z(t, r);
var i = Z(t, "hx-disinherit");
if (e !== t && i && (i === "*" || i.split(" ").indexOf(r) >= 0)) {
return "unset";
} else {
return n;
}
}
function Y(t, r) {
var n = null;
c(t, function (e) {
return (n = T(t, e, r));
});
if (n !== "unset") {
return n;
}
}
function h(e, t) {
var r =
e.matches ||
e.matchesSelector ||
e.msMatchesSelector ||
e.mozMatchesSelector ||
e.webkitMatchesSelector ||
e.oMatchesSelector;
return r && r.call(e, t);
}
function q(e) {
var t = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i;
var r = t.exec(e);
if (r) {
return r[1].toLowerCase();
} else {
return "";
}
}
function i(e, t) {
var r = new DOMParser();
var n = r.parseFromString(e, "text/html");
var i = n.body;
while (t > 0) {
t--;
i = i.firstChild;
}
if (i == null) {
i = K().createDocumentFragment();
}
return i;
}
function H(e) {
return e.match(/
" + e + "", 0);
return r.querySelector("template").content;
} else {
var n = q(e);
switch (n) {
case "thead":
case "tbody":
case "tfoot":
case "colgroup":
case "caption":
return i("
" + e + "
", 1);
case "col":
return i("
" + e + "
", 2);
case "tr":
return i("
" + e + "
", 2);
case "td":
case "th":
return i("
" + e + "
", 3);
case "script":
return i("
" + e + "
", 1);
default:
return i(e, 0);
}
}
}
function Q(e) {
if (e) {
e();
}
}
function L(e, t) {
return Object.prototype.toString.call(e) === "[object " + t + "]";
}
function A(e) {
return L(e, "Function");
}
function N(e) {
return L(e, "Object");
}
function ee(e) {
var t = "htmx-internal-data";
var r = e[t];
if (!r) {
r = e[t] = {};
}
return r;
}
function I(e) {
var t = [];
if (e) {
for (var r = 0; r < e.length; r++) {
t.push(e[r]);
}
}
return t;
}
function te(e, t) {
if (e) {
for (var r = 0; r < e.length; r++) {
t(e[r]);
}
}
}
function k(e) {
var t = e.getBoundingClientRect();
var r = t.top;
var n = t.bottom;
return r < window.innerHeight && n >= 0;
}
function re(e) {
if (e.getRootNode && e.getRootNode() instanceof window.ShadowRoot) {
return K().body.contains(e.getRootNode().host);
} else {
return K().body.contains(e);
}
}
function P(e) {
return e.trim().split(/\s+/);
}
function ne(e, t) {
for (var r in t) {
if (t.hasOwnProperty(r)) {
e[r] = t[r];
}
}
return e;
}
function y(e) {
try {
return JSON.parse(e);
} catch (e) {
x(e);
return null;
}
}
function M() {
var e = "htmx:localStorageTest";
try {
localStorage.setItem(e, e);
localStorage.removeItem(e);
return true;
} catch (e) {
return false;
}
}
function D(t) {
try {
var e = new URL(t);
if (e) {
t = e.pathname + e.search;
}
if (!t.match("^/$")) {
t = t.replace(/\/+$/, "");
}
return t;
} catch (e) {
return t;
}
}
function e(e) {
return hr(K().body, function () {
return eval(e);
});
}
function t(t) {
var e = G.on("htmx:load", function (e) {
t(e.detail.elt);
});
return e;
}
function X() {
G.logger = function (e, t, r) {
if (console) {
console.log(t, e, r);
}
};
}
function F() {
G.logger = null;
}
function b(e, t) {
if (t) {
return e.querySelector(t);
} else {
return b(K(), e);
}
}
function f(e, t) {
if (t) {
return e.querySelectorAll(t);
} else {
return f(K(), e);
}
}
function U(e, t) {
e = s(e);
if (t) {
setTimeout(function () {
U(e);
e = null;
}, t);
} else {
e.parentElement.removeChild(e);
}
}
function B(e, t, r) {
e = s(e);
if (r) {
setTimeout(function () {
B(e, t);
e = null;
}, r);
} else {
e.classList && e.classList.add(t);
}
}
function n(e, t, r) {
e = s(e);
if (r) {
setTimeout(function () {
n(e, t);
e = null;
}, r);
} else {
if (e.classList) {
e.classList.remove(t);
if (e.classList.length === 0) {
e.removeAttribute("class");
}
}
}
}
function V(e, t) {
e = s(e);
e.classList.toggle(t);
}
function j(e, t) {
e = s(e);
te(e.parentElement.children, function (e) {
n(e, t);
});
B(e, t);
}
function d(e, t) {
e = s(e);
if (e.closest) {
return e.closest(t);
} else {
do {
if (e == null || h(e, t)) {
return e;
}
} while ((e = e && u(e)));
return null;
}
}
function r(e) {
var t = e.trim();
if (t.startsWith("<") && t.endsWith("/>")) {
return t.substring(1, t.length - 2);
} else {
return t;
}
}
function W(e, t) {
if (t.indexOf("closest ") === 0) {
return [d(e, r(t.substr(8)))];
} else if (t.indexOf("find ") === 0) {
return [b(e, r(t.substr(5)))];
} else if (t.indexOf("next ") === 0) {
return [_(e, r(t.substr(5)))];
} else if (t.indexOf("previous ") === 0) {
return [z(e, r(t.substr(9)))];
} else if (t === "document") {
return [document];
} else if (t === "window") {
return [window];
} else {
return K().querySelectorAll(r(t));
}
}
var _ = function (e, t) {
var r = K().querySelectorAll(t);
for (var n = 0; n < r.length; n++) {
var i = r[n];
if (i.compareDocumentPosition(e) === Node.DOCUMENT_POSITION_PRECEDING) {
return i;
}
}
};
var z = function (e, t) {
var r = K().querySelectorAll(t);
for (var n = r.length - 1; n >= 0; n--) {
var i = r[n];
if (i.compareDocumentPosition(e) === Node.DOCUMENT_POSITION_FOLLOWING) {
return i;
}
}
};
function ie(e, t) {
if (t) {
return W(e, t)[0];
} else {
return W(K().body, e)[0];
}
}
function s(e) {
if (L(e, "String")) {
return b(e);
} else {
return e;
}
}
function $(e, t, r) {
if (A(t)) {
return { target: K().body, event: e, listener: t };
} else {
return { target: s(e), event: t, listener: r };
}
}
function le(t, r, n) {
Tr(function () {
var e = $(t, r, n);
e.target.addEventListener(e.event, e.listener);
});
var e = A(r);
return e ? r : n;
}
function ue(t, r, n) {
Tr(function () {
var e = $(t, r, n);
e.target.removeEventListener(e.event, e.listener);
});
return A(r) ? r : n;
}
var fe = K().createElement("output");
function ce(e, t) {
var r = Y(e, t);
if (r) {
if (r === "this") {
return [he(e, t)];
} else {
var n = W(e, r);
if (n.length === 0) {
x('The selector "' + r + '" on ' + t + " returned no matches!");
return [fe];
} else {
return n;
}
}
}
}
function he(e, t) {
return c(e, function (e) {
return Z(e, t) != null;
});
}
function de(e) {
var t = Y(e, "hx-target");
if (t) {
if (t === "this") {
return he(e, "hx-target");
} else {
return ie(e, t);
}
} else {
var r = ee(e);
if (r.boosted) {
return K().body;
} else {
return e;
}
}
}
function ve(e) {
var t = G.config.attributesToSettle;
for (var r = 0; r < t.length; r++) {
if (e === t[r]) {
return true;
}
}
return false;
}
function ge(t, r) {
te(t.attributes, function (e) {
if (!r.hasAttribute(e.name) && ve(e.name)) {
t.removeAttribute(e.name);
}
});
te(r.attributes, function (e) {
if (ve(e.name)) {
t.setAttribute(e.name, e.value);
}
});
}
function pe(e, t) {
var r = Or(t);
for (var n = 0; n < r.length; n++) {
var i = r[n];
try {
if (i.isInlineSwap(e)) {
return true;
}
} catch (e) {
x(e);
}
}
return e === "outerHTML";
}
function me(e, i, a) {
var t = "#" + J(i, "id");
var o = "outerHTML";
if (e === "true") {
} else if (e.indexOf(":") > 0) {
o = e.substr(0, e.indexOf(":"));
t = e.substr(e.indexOf(":") + 1, e.length);
} else {
o = e;
}
var r = K().querySelectorAll(t);
if (r) {
te(r, function (e) {
var t;
var r = i.cloneNode(true);
t = K().createDocumentFragment();
t.appendChild(r);
if (!pe(o, e)) {
t = r;
}
var n = { shouldSwap: true, target: e, fragment: t };
if (!oe(e, "htmx:oobBeforeSwap", n)) return;
e = n.target;
if (n["shouldSwap"]) {
Pe(o, e, e, t, a);
}
te(a.elts, function (e) {
oe(e, "htmx:oobAfterSwap", n);
});
});
i.parentNode.removeChild(i);
} else {
i.parentNode.removeChild(i);
ae(K().body, "htmx:oobErrorNoTarget", { content: i });
}
return e;
}
function xe(e, t, r) {
var n = Y(e, "hx-select-oob");
if (n) {
var i = n.split(",");
for (let e = 0; e < i.length; e++) {
var a = i[e].split(":", 2);
var o = a[0].trim();
if (o.indexOf("#") === 0) {
o = o.substring(1);
}
var s = a[1] || "true";
var l = t.querySelector("#" + o);
if (l) {
me(s, l, r);
}
}
}
te(f(t, "[hx-swap-oob], [data-hx-swap-oob]"), function (e) {
var t = Z(e, "hx-swap-oob");
if (t != null) {
me(t, e, r);
}
});
}
function ye(e) {
te(f(e, "[hx-preserve], [data-hx-preserve]"), function (e) {
var t = Z(e, "id");
var r = K().getElementById(t);
if (r != null) {
e.parentNode.replaceChild(r, e);
}
});
}
function be(o, e, s) {
te(e.querySelectorAll("[id]"), function (e) {
var t = J(e, "id");
if (t && t.length > 0) {
var r = t.replace("'", "\\'");
var n = e.tagName.replace(":", "\\:");
var i = o.querySelector(n + "[id='" + r + "']");
if (i && i !== o) {
var a = e.cloneNode();
ge(e, i);
s.tasks.push(function () {
ge(e, a);
});
}
}
});
}
function we(e) {
return function () {
n(e, G.config.addedClass);
Nt(e);
St(e);
Se(e);
oe(e, "htmx:load");
};
}
function Se(e) {
var t = "[autofocus]";
var r = h(e, t) ? e : e.querySelector(t);
if (r != null) {
r.focus();
}
}
function a(e, t, r, n) {
be(e, r, n);
while (r.childNodes.length > 0) {
var i = r.firstChild;
B(i, G.config.addedClass);
e.insertBefore(i, t);
if (i.nodeType !== Node.TEXT_NODE && i.nodeType !== Node.COMMENT_NODE) {
n.tasks.push(we(i));
}
}
}
function Ee(e, t) {
var r = 0;
while (r < e.length) {
t = ((t << 5) - t + e.charCodeAt(r++)) | 0;
}
return t;
}
function Ce(e) {
var t = 0;
if (e.attributes) {
for (var r = 0; r < e.attributes.length; r++) {
var n = e.attributes[r];
if (n.value) {
t = Ee(n.name, t);
t = Ee(n.value, t);
}
}
}
return t;
}
function Re(t) {
var r = ee(t);
if (r.onHandlers) {
for (let e = 0; e < r.onHandlers.length; e++) {
const n = r.onHandlers[e];
t.removeEventListener(n.event, n.listener);
}
delete r.onHandlers;
}
}
function Oe(e) {
var t = ee(e);
if (t.timeout) {
clearTimeout(t.timeout);
}
if (t.webSocket) {
t.webSocket.close();
}
if (t.sseEventSource) {
t.sseEventSource.close();
}
if (t.listenerInfos) {
te(t.listenerInfos, function (e) {
if (e.on) {
e.on.removeEventListener(e.trigger, e.listener);
}
});
}
if (t.initHash) {
t.initHash = null;
}
Re(e);
}
function g(e) {
oe(e, "htmx:beforeCleanupElement");
Oe(e);
if (e.children) {
te(e.children, function (e) {
g(e);
});
}
}
function Te(t, e, r) {
if (t.tagName === "BODY") {
return Ie(t, e, r);
} else {
var n;
var i = t.previousSibling;
a(u(t), t, e, r);
if (i == null) {
n = u(t).firstChild;
} else {
n = i.nextSibling;
}
ee(t).replacedWith = n;
r.elts = r.elts.filter(function (e) {
return e != t;
});
while (n && n !== t) {
if (n.nodeType === Node.ELEMENT_NODE) {
r.elts.push(n);
}
n = n.nextElementSibling;
}
g(t);
u(t).removeChild(t);
}
}
function qe(e, t, r) {
return a(e, e.firstChild, t, r);
}
function He(e, t, r) {
return a(u(e), e, t, r);
}
function Le(e, t, r) {
return a(e, null, t, r);
}
function Ae(e, t, r) {
return a(u(e), e.nextSibling, t, r);
}
function Ne(e, t, r) {
g(e);
return u(e).removeChild(e);
}
function Ie(e, t, r) {
var n = e.firstChild;
a(e, n, t, r);
if (n) {
while (n.nextSibling) {
g(n.nextSibling);
e.removeChild(n.nextSibling);
}
g(n);
e.removeChild(n);
}
}
function ke(e, t, r) {
var n = r || Y(e, "hx-select");
if (n) {
var i = K().createDocumentFragment();
te(t.querySelectorAll(n), function (e) {
i.appendChild(e);
});
t = i;
}
return t;
}
function Pe(e, t, r, n, i) {
switch (e) {
case "none":
return;
case "outerHTML":
Te(r, n, i);
return;
case "afterbegin":
qe(r, n, i);
return;
case "beforebegin":
He(r, n, i);
return;
case "beforeend":
Le(r, n, i);
return;
case "afterend":
Ae(r, n, i);
return;
case "delete":
Ne(r, n, i);
return;
default:
var a = Or(t);
for (var o = 0; o < a.length; o++) {
var s = a[o];
try {
var l = s.handleSwap(e, r, n, i);
if (l) {
if (typeof l.length !== "undefined") {
for (var u = 0; u < l.length; u++) {
var f = l[u];
if (
f.nodeType !== Node.TEXT_NODE &&
f.nodeType !== Node.COMMENT_NODE
) {
i.tasks.push(we(f));
}
}
}
return;
}
} catch (e) {
x(e);
}
}
if (e === "innerHTML") {
Ie(r, n, i);
} else {
Pe(G.config.defaultSwapStyle, t, r, n, i);
}
}
}
function Me(e) {
if (e.indexOf(" -1) {
var t = e.replace(/