htmx.org 4.0.0-alpha1 → 4.0.0-alpha3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- var htmx=(()=>{class e{#e=null;#t=[];issue(e,t){return this.#e?"replace"===t?(this.#t.map(e=>e.status="dropped"),this.#t=[],this.#e&&this.#e.abort(),!0):("queue all"===t?(this.#t.push(e),e.status="queued"):"drop"===t?e.status="dropped":"queue last"===t?(this.#t.map(e=>e.status="dropped"),this.#t=[e],e.status="queued"):0===this.#t.length?(this.#t.push(e),e.status="queued"):e.status="dropped",!1):(this.#e=e,!0)}finish(){this.#e=null}next(){return this.#t.shift()}abort(){this.#e?.abort?.()}more(){return this.#t?.length}}return new class{#r=new Map;#i=new Set;#s;#n;#a="a,form";#o=["get","post","put","patch","delete"];#l;#h;#u;constructor(){this.#d(),this.#c(),this.#n=`[${this.#p("hx-action")}],[${this.#p("hx-get")}],[${this.#p("hx-post")}],[${this.#p("hx-put")}],[${this.#p("hx-patch")}],[${this.#p("hx-delete")}]`,this.#l=(new XPathEvaluator).createExpression(`.//*[@*[ starts-with(name(), "${this.#p("hx-on:")}")]]`),this.#s={attributeValue:this.#f.bind(this),parseTriggerSpecs:this.#m.bind(this),determineMethodAndAction:this.#g.bind(this),createRequestContext:this.#x.bind(this),collectFormData:this.#b.bind(this),handleHxVals:this.#y.bind(this)},document.addEventListener("DOMContentLoaded",()=>{this.#v(),this.process(document.body)})}#d(){this.config={logAll:!1,prefix:"",transitions:!0,history:!0,historyReload:!1,mode:"same-origin",defaultSwap:"innerHTML",indicatorClass:"htmx-indicator",requestClass:"htmx-request",includeIndicatorCSS:!0,defaultTimeout:6e4,extensions:"",streams:{mode:"once",maxRetries:1/0,initialDelay:500,maxDelay:3e4,pauseHidden:!1},morphIgnore:["data-htmx-powered"],noSwap:[204]};let e=document.querySelector('meta[name="htmx:config"]');if(e){let t=JSON.parse(e.content);for(let e in t){let r=t[e];r&&"object"==typeof r&&!Array.isArray(r)&&this.config[e]?Object.assign(this.config[e],r):this.config[e]=r}}this.#i=new Set(this.config.extensions.split(",").map(e=>e.trim()).filter(Boolean))}#c(){if(!1!==this.config.includeIndicatorCSS){let e="";this.config.inlineStyleNonce&&(e=` nonce="${this.config.inlineStyleNonce}"`);let t=this.config.indicatorClass,r=this.config.requestClass;document.head.insertAdjacentHTML("beforeend",`<style${e}>.${t}{opacity:0;visibility: hidden} .${r} .${t}, .${r}.${t}{opacity:1;visibility: visible;transition: opacity 200ms ease-in}</style>`)}}defineExtension(e,t){if(!this.#i.delete(e))return!1;t.init&&t.init(this.#s),Object.entries(t).forEach(([e,t])=>{this.#r.get(e)?.push(t)||this.#r.set(e,[t])})}#S(e){return!e.closest||null!=e.closest(`[${this.#p("hx-ignore")}]`)}#p(e){return this.config.prefix?e.replace("hx-",this.config.prefix):e}#E(e,t){let r=[...e.querySelectorAll(t)];return e.matches?.(t)&&r.unshift(e),r}#w(e){return"before"===e?"beforebegin":"after"===e?"afterend":"prepend"===e?"afterbegin":"append"===e?"beforeend":e}#f(e,t,r){let i=(t=this.#p(t))+":append",s=t+":inherited",n=t+":inherited:append";if(e.hasAttribute(t)||e.hasAttribute(s))return e.getAttribute(t)||e.getAttribute(s);if(e.hasAttribute(i)||e.hasAttribute(n)){let r=e.getAttribute(i)||e.getAttribute(n),a=e.parentNode?.closest?.(`[${CSS.escape(s)}],[${CSS.escape(n)}]`);if(a){let e=this.#f(a,t);return e?e+","+r:r}return r}let a=e.parentNode?.closest?.(`[${CSS.escape(s)}],[${CSS.escape(n)}]`);return a?this.#f(a,t):r}#q(e){let t=[],r=0;for(;r<e.length;){let i=e[r];if('"'===i||"'"===i){let s=i,n=i;for(r++;r<e.length;)if(i=e[r],n+=i,r++,"\\"===i&&r<e.length)n+=e[r],r++;else if(i===s)break;t.push(n)}else if(/\s/.test(i))for(;r<e.length&&/\s/.test(e[r]);)r++;else if(":"===i||","===i)t.push(i),r++;else{let i="";for(;r<e.length&&!/[\s"':,]/.test(e[r]);)i+=e[r++];t.push(i)}}return t}#m(e){let t=[],r=null,i=this.#q(e);for(let e=0;e<i.length;e++){let s=i[e];if(","===s)r=null;else if(r)":"===i[e+1]?r[s]=i[e+=2]:r[s]=!0;else{for(;s.includes("[")&&!s.includes("]")&&e+1<i.length;)s+=i[++e];if(s.includes("[")&&!s.includes("]"))throw"unterminated:"+s;r={name:s},t.push(r)}}return t}#g(e,t){if(this.#A(e))return this.#T(e,t);{let t=this.#f(e,"hx-method")||"get",r=this.#f(e,"hx-action");if(!r)for(let i of this.#o){let s=this.#f(e,"hx-"+i);if(s){r=s,t=i;break}}return t=t.toUpperCase(),{action:r,method:t}}}#T(e,t){if(e.matches("a"))return{action:e.getAttribute("href"),method:"GET"};return{action:t.submitter?.getAttribute?.("formAction")||e.getAttribute("action"),method:t.submitter?.getAttribute?.("formMethod")||e.getAttribute("method")||"GET"}}#C(e){this.#N(e)&&this.#H(e,"htmx:before:init",{},!0)&&(e._htmx={eventHandler:this.#M(e)},e.setAttribute("data-htmx-powered","true"),this.#O(e),this.#I(e),this.#k(e),this.#H(e,"htmx:after:init",{},!0),this.#H(e,"load",{},!1))}#M(e){return async t=>{try{let r=this.#x(e,t);await this.#_(r)}catch(e){console.error(e)}}}#x(e,t){let{action:r,method:i}=this.#g(e,t),s={sourceElement:e,sourceEvent:t,status:"created",select:this.#f(e,"hx-select"),selectOOB:this.#f(e,"hx-select-oob"),target:this.#f(e,"hx-target"),swap:this.#f(e,"hx-swap",this.config.defaultSwap),push:this.#f(e,"hx-push-url"),replace:this.#f(e,"hx-replace-url"),transition:this.config.transitions,request:{validate:"true"===this.#f(e,"hx-validate",e.matches("form")?"true":"false"),action:r,method:i,headers:this.#L(e)}},n=this.#f(e,"hx-config");if(n){let e=JSON.parse(n),t=s.request;for(let r in e)if(r.startsWith("+")){let i=r.substring(1);t[i]&&"object"==typeof s[i]?Object.assign(s[i],e[r]):t[i]=e[r]}else t[r]=e[r]}return s}#L(e){let t={"HX-Request":"true",Accept:"text/html, text/event-stream"};this.#A(e)&&(t["HX-Boosted"]="true");let r=this.#f(e,"hx-headers");return r&&Object.assign(t,JSON.parse(r)),t}#V(e,t){return t instanceof Element?t:"this"===t?e.hasAttribute(this.#p("hx-target"))?e:e.closest(`[${this.#p("hx-target")}\\:inherited='this']`):null!=t?this.find(e,t):this.#A(e)?document.body:e}#A(e){return e._htmx?.boosted}async __handleTriggerEvent(e){let t=e.sourceElement,r=e.sourceEvent;if(!t.isConnected)return;if(this.#D(r))return;this.#R(r)&&r.preventDefault(),e.target=this.#V(t,e.target);let i=t.form||t.closest("form"),s=this.#b(t,i,r.submitter);if(this.#y(t,s),e.values)for(let t in e.values)s.delete(t),s.append(t,e.values[t]);let n=new AbortController,a=e.request.action.replace?.(/#.*$/,"");if(Object.assign(e.request,{originalAction:e.request.action,action:a,form:i,submitter:r.submitter,abort:n.abort.bind(n),body:s,credentials:"same-origin",signal:n.signal,mode:this.config.mode}),!this.#H(t,"htmx:config:request",{ctx:e}))return;if(!this.#o.includes(e.request.method.toLowerCase()))return;if(e.request.validate&&e.request.form&&!e.request.form.reportValidity())return;let o=this.#B(e.request.action);if(o){let t=Object.fromEntries(e.request.body);return void await this.#j(e.sourceElement,t,o,!1)}if(/GET|DELETE/.test(e.request.method)){let t=new URLSearchParams(e.request.body);t.size&&(e.request.action+=(/\?/.test(e.request.action)?"&":"?")+t),e.request.body=null}else"multipart/form-data"!==this.#f(t,"hx-encoding")&&(e.request.body=new URLSearchParams(e.request.body));await this.#$(e)}async __issueRequest(e){let t=e.sourceElement,r=this.#z(t),i=this.#P(t);if(!i.issue(e,r))return;e.status="issuing",this.#F(e);let s=this.#f(t,"hx-indicator"),n=this.#Q(t,s),a=this.#f(t,"hx-disable"),o=this.#U(t,a);try{let r=this.#f(t,"hx-confirm");if(r){let t=this.#B(r);if(t){if(!await this.#j(e.elt,{},t,!0))return}else if(!window.confirm(r))return}if(e.fetch||=window.fetch,!this.#H(t,"htmx:before:request",{ctx:e}))return;let i=await(e.fetchOverride||e.fetch(e.request.action,e.request));if(e.response={raw:i,status:i.status,headers:i.headers},this.#W(e),!this.#H(t,"htmx:after:request",{ctx:e}))return;if(this.#J(e))return;let s=i.headers.get("Content-Type")?.includes("text/event-stream");s?await this.#G(e,t,i):(e.text=await i.text(),"issuing"===e.status&&(e.hx.retarget&&(e.target=this.#V(t,e.hx.retarget)),e.hx.reswap&&(e.swap=e.hx.reswap),e.hx.reselect&&(e.select=e.hx.reselect),e.status="response received",this.#K(e),this.#X(e),await this.swap(e),this.#Y(e),e.status="swapped"))}catch(r){e.status="error: "+r,this.#H(t,"htmx:error",{ctx:e,error:r})}finally{this.#Z(n),this.#ee(o),this.#H(t,"htmx:finally:request",{ctx:e}),i.finish(),i.more()&&this.#$(i.next())}}#W(e,t){e.hx={};for(let[t,r]of e.response.raw.headers)t.toLowerCase().startsWith("hx-")&&(e.hx[t.slice(3).toLowerCase().replace(/-/g,"")]=r)}#J(e){if(e.hx.trigger&&this.#te(e.hx.trigger,e.sourceElement),"true"===e.hx.refresh)return location.reload(),!0;if(e.hx.redirect)return location.href=e.hx.redirect,!0;if(e.hx.location){let t=e.hx.location,r={};return"{"===t[0]&&(r=JSON.parse(t),t=r.path,delete r.path),r.push=r.push||"true",this.ajax("GET",t,r),!0}}async __handleSSE(e,t,r){let i=t._htmx?.streamConfig||{...this.config.streams},s=()=>new Promise(e=>{let t=()=>!document.hidden&&(document.removeEventListener("visibilitychange",t),e());document.addEventListener("visibilitychange",t)}),n=null,a=0,o=r;for(;t.isConnected;){if(a>0){if("continuous"!==i.mode||a>i.maxRetries)break;if(i.pauseHidden&&document.hidden&&(await s(),!t.isConnected))break;let r={attempt:a,delay:Math.min(i.initialDelay*Math.pow(2,a-1),i.maxDelay),lastEventId:n,cancelled:!1};if(e.status="reconnecting to stream",!this.#H(t,"htmx:before:sse:reconnect",{ctx:e,reconnect:r})||r.cancelled)break;if(await new Promise(e=>setTimeout(e,r.delay)),!t.isConnected)break;try{n&&((e.request.headers=e.request.headers||{})["Last-Event-ID"]=n),o=await fetch(e.request.action,e.request)}catch(r){e.status="stream error",this.#H(t,"htmx:error",{ctx:e,error:r}),a++;continue}}if(!this.#H(t,"htmx:before:sse:stream",{ctx:e}))break;e.status="streaming",a=0;try{for await(const r of this.#re(o)){if(!t.isConnected)break;if(i.pauseHidden&&document.hidden&&(await s(),!t.isConnected))break;let a={data:r.data,event:r.event,id:r.id,cancelled:!1};this.#H(t,"htmx:before:sse:message",{ctx:e,message:a})&&!a.cancelled&&(r.id&&(n=r.id),r.event?(this.#H(t,r.event,{data:r.data,id:r.id}),this.#H(t,"htmx:after:sse:message",{ctx:e,message:a})):(e.text=r.data,e.status="stream message received",e.response.cancelled||(this.#X(e),await this.swap(e),this.#Y(e),e.status="swapped"),this.#H(t,"htmx:after:sse:message",{ctx:e,message:a})))}}catch(r){e.status="stream error",this.#H(t,"htmx:error",{ctx:e,error:r})}if(!t.isConnected)break;this.#H(t,"htmx:after:sse:stream",{ctx:e}),a++}}async*__parseSSE(e){let t,r,i,s,n,a=e.body.getReader(),o=new TextDecoder,l="",h={data:"",event:"",id:"",retry:null};try{for(;;){let{done:e,value:u}=await a.read();if(e)break;for(let e of(l+=o.decode(u,{stream:1}),t=l.split("\n"),l=t.pop()||"",t))e&&"\r"!==e?(r=e.indexOf(":"))>0&&(s=e.slice(0,r),n=e.slice(r+1).trimStart(),"data"===s?h.data+=(h.data?"\n":"")+n:"event"===s?h.event=n:"id"===s?h.id=n:"retry"===s&&(i=parseInt(n,10),!isNaN(i))&&(h.retry=i)):h.data&&(yield h,h={data:"",event:"",id:"",retry:null})}}finally{a.releaseLock()}}#F(e){let t;t=e.request.timeout?"string"==typeof e.request.timeout?this.parseInterval(e.request.timeout):e.request.timeout:this.config.defaultTimeout,e.requestTimeout=setTimeout(()=>e.abort?.(),t)}#z(e){let t=this.#f(e,"hx-sync");return t?.split(":")[1]||"queue first"}#P(t){let r=this.#f(t,"hx-sync"),i=t;if(r&&r.includes(":")){let e=r.split(":")[0];i=this.#ie(e)}return i._htmxRequestQueue||=new e}#D(e){return"click"===e.type&&(e.ctrlKey||e.metaKey||e.shiftKey)}#R(e){let t=e.currentTarget;if("submit"===e.type&&"FORM"===t?.tagName)return!0;if(!("click"===e.type&&0===e.button))return!1;let r=t?.closest?.('button, input[type="submit"], input[type="image"]'),i=r?.form||r?.closest("form");if(r&&!r.disabled&&i&&("submit"===r.type||"image"===r.type||!r.type&&"BUTTON"===r.tagName))return!0;let s=t?.closest?.("a");if(!s||!s.href)return!1;let n=s.getAttribute("href");return!(n&&n.startsWith("#")&&n.length>1)}#O(e,t=e._htmx.eventHandler){let r=this.#f(e,"hx-trigger");r||(r=e.matches("form")?"submit":e.matches("input:not([type=button]),select,textarea")?"change":"click"),e._htmx.triggerSpecs=this.#m(r),e._htmx.listeners=[];for(let r of e._htmx.triggerSpecs){r.handler=t,r.listeners=[],r.values={};let[i,s]=this.#se(r.name);if(r.once){let e=r.handler;r.handler=t=>{e(t);for(let e of r.listeners)e.fromElt.removeEventListener(e.eventName,e.handler)}}if("intersect"===i||"revealed"===i){let t={};r.opts?.root&&(t.root=this.#ie(e,r.opts.root)),r.opts?.threshold&&(t.threshold=parseFloat(r.opts.threshold));let s="revealed"===i;r.observer=new IntersectionObserver(t=>{for(let i=0;i<t.length;i++){if(t[i].isIntersecting){this.trigger(e,"intersect",{},!1),s&&r.observer.disconnect();break}}},t),i="intersect",r.observer.observe(e)}if(r.delay){let e=r.handler;r.handler=t=>{clearTimeout(r.timeout),r.timeout=setTimeout(()=>e(t),this.parseInterval(r.delay))}}if(r.throttle){let e=r.handler;r.handler=t=>{r.throttled?r.throttledEvent=t:(r.throttled=!0,e(t),r.throttleTimeout=setTimeout(()=>{if(r.throttled=!1,r.throttledEvent){let e=r.throttledEvent;r.throttledEvent=null,r.handler(e)}},this.parseInterval(r.throttle)))}}if(r.target){let e=r.handler;r.handler=t=>{t.target?.matches?.(r.target)&&e(t)}}if("every"===i){let t=Object.keys(r).find(e=>"name"!==e);r.interval=setInterval(()=>{e.isConnected?this.#H(e,"every",{},!1):clearInterval(r.interval)},this.parseInterval(t))}if(s){let t=r.handler;r.handler=r=>{this.#R(r)&&r.preventDefault(),this.#ne(e,r,s)&&t(r)}}let n=[e];if(r.from&&(n=this.#ae(e,r.from)),r.consume){let e=r.handler;r.handler=t=>{t.stopPropagation(),e(t)}}if(r.changed){let e=r.handler;r.handler=t=>{let i=!1;for(let e of n)r.values[e]!==e.value&&(i=!0,r.values[e]=e.value);i&&e(t)}}for(let t of n){let s={fromElt:t,eventName:i,handler:r.handler};e._htmx.listeners.push(s),r.listeners.push(s),t.addEventListener(i,r.handler)}}}#I(e){let t=this.#f(e,"hx-stream");if(!t)return;let r={...this.config.streams},i=this.#q(t);for(let e=0;e<i.length;e++){let t=i[e];if("once"===t||"continuous"===t)r.mode=t;else if("pauseHidden"===t)r.pauseHidden=!0;else if(":"===i[e+1]){let s=t,n=i[e+2];"mode"===s?r.mode=n:"maxRetries"===s?r.maxRetries=parseInt(n):"initialDelay"===s?r.initialDelay=this.parseInterval(n):"maxDelay"===s?r.maxDelay=this.parseInterval(n):"pauseHidden"===s&&(r.pauseHidden="true"===n),e+=2}}e._htmx||(e._htmx={}),e._htmx.streamConfig=r}#se(e){let t=e.match(/^([^\[]*)\[([^\]]*)]/);return t?[t[1],t[2]]:[e,null]}#te(e,t){if("{"===e[0]){let r=JSON.parse(e);for(let e in r){let i=r[e];i?.target&&(t=this.find(i.target)||t),this.trigger(t,e,"object"==typeof i?i:{value:i})}}else e.split(",").forEach(e=>this.trigger(t,e.trim(),{}))}#oe(e){let t={},r=Object.getPrototypeOf(this);for(let i of Object.getOwnPropertyNames(r))"constructor"!==i&&"function"==typeof this[i]&&(["find","findAll"].includes(i)?t[i]=(t,r)=>void 0===r?this[i](e,t):this[i](t,r):t[i]=this[i].bind(this));return t}async __executeJavaScriptAsync(e,t,r,i=!0){let s={};Object.assign(s,this.#oe(e)),Object.assign(s,t);let n=Object.keys(s),a=Object.values(s),o=new(0,Object.getPrototypeOf(async function(){}).constructor)(...n,i?`return (${r})`:r);return await o.call(e,...a)}#ne(e,t,r){let i={};Object.assign(i,this.#oe(e));for(let e in t)i[e]=t[e];let s=Object.keys(i),n=Object.values(i);return new Function(...s,`return (${r})`).call(e,...n)}process(e){if(!e||this.#S(e))return;if(!this.#H(e,"htmx:before:process"))return;for(let t of this.#E(e,this.#n))this.#C(t);for(let t of this.#E(e,this.#a))this.#le(t);this.#he(e);let t=this.#l.evaluate(e),r=null;for(;r=t.iterateNext();)this.#he(r);this.#H(e,"htmx:after:process")}#le(e){"true"===this.#f(e,"hx-boost")&&this.#N(e)&&(e._htmx={eventHandler:this.#M(e),requests:[],boosted:!0},e.setAttribute("data-htmx-powered","true"),e.matches("a")&&!e.hasAttribute("target")?e.addEventListener("click",t=>{e._htmx.eventHandler(t)}):e.addEventListener("submit",t=>{e._htmx.eventHandler(t)}))}#N(e){return!e._htmx&&!this.#S(e)}#ue(e){if(e._htmx){this.#H(e,"htmx:before:cleanup"),e._htmx.interval&&clearInterval(e._htmx.interval);for(let t of e._htmx.triggerSpecs||[])t.interval&&clearInterval(t.interval),t.timeout&&clearTimeout(t.timeout);for(let t of e._htmx.listeners||[])t.fromElt.removeEventListener(t.eventName,t.handler);this.#H(e,"htmx:after:cleanup")}for(let t of e.querySelectorAll("[data-htmx-powered]"))this.#ue(t)}#de(e){let t=document.createElement("div");t.style.display="none",document.body.appendChild(t);let r=e.querySelectorAll?.(`[${this.#p("hx-preserve")}]`)||[];for(let e of r){let r=document.getElementById(e.id);t.moveBefore?t.moveBefore(r,null):t.appendChild(r)}return t}#ce(e){for(let t of e.children){let e=document.getElementById(t.id);e.parentNode.moveBefore?e.parentNode.moveBefore(t,e):e.replaceWith(t),this.#ue(e),e.remove()}e.remove()}#pe(e){return Document.parseHTMLUnsafe?.(e)||(new DOMParser).parseFromString(e,"text/html")}#fe(e){let t,r,i=e.replace(/<partial(\s+|>)/gi,"<template partial$1").replace(/<\/partial>/gi,"</template>"),s=i.replace(/<head(\s[^>]*)?>[\s\S]*?<\/head>/i,""),n=s.match(/<([a-z][^\/>\x20\t\r\n\f]*)/i)?.[1]?.toLowerCase();return"html"===n?(t=this.#pe(i),r=t.body):"body"===n?(t=this.#pe(s),r=t.body):(t=this.#pe(`<template>${s}</template>`),r=t.querySelector("template").content),{fragment:r,title:t.title}}#me(e,t,r,i){let s=t.id?"#"+CSS.escape(t.id):null;if("true"!==r&&r&&!r.includes(" ")){let e=r.indexOf(":");-1!==e&&(s=r.substring(e+1),r=r.substring(0,e))}"true"!==r&&r||(r="outerHTML");let n=this.#ge(r);n.target&&(s=n.target);let a,o=t.cloneNode(!0);void 0===n.strip&&"outerHTML"!==n.style&&(n.strip=!0),n.strip?a=o.content||o:(a=document.createDocumentFragment(),a.appendChild(o)),t.remove(),(s||r.includes("target:"))&&e.push({type:"oob",fragment:a,target:s,swapSpec:n,sourceElement:i})}#xe(e,t,r){let i=[];if(r)for(let s of r.split(",")){let[r,...n]=s.split(":"),a=n.length?n.join(":"):"true";for(let s of e.querySelectorAll(r))this.#me(i,s,a,t)}for(let r of e.querySelectorAll(`[${this.#p("hx-swap-oob")}]`)){let e=r.getAttribute(this.#p("hx-swap-oob"));r.removeAttribute(this.#p("hx-swap-oob")),this.#me(i,r,e,t)}return i}#be(e,t,r){t?t.before(...r.childNodes):e.append(...r.childNodes)}#ge(e){let t=this.#q(e),r={style:":"===t[1]?this.config.defaultSwap:t[0]||this.config.defaultSwap};r.style=this.#w(r.style);for(let e=":"===t[1]?0:1;e<t.length;e++)if(":"===t[e+1]){let i=t[e],s=t[e+=2];if("swap"===i)r.swapDelay=this.parseInterval(s);else if("transition"===i||"ignoreTitle"===i||"strip"===i)r[i]="true"===s;else if("focus-scroll"===i)r.focusScroll="true"===s;else if("scroll"===i||"show"===i){let n=[s];for(;":"===t[e+1];)n.push(t[e+2]),e+=2;r[i]=1===n.length?n[0]:n.pop(),n.length>1&&(r[i+"Target"]=n.join(":"))}else if("target"===i){let n=[s];for(;e+1<t.length&&":"!==t[e+1]&&":"!==t[e+2];)n.push(t[e+1]),e++;r[i]=n.join(" ")}}return r}#ye(e,t){let r=[];for(let i of e.querySelectorAll("template[partial]")){let e=this.#ge(i.getAttribute(this.#p("hx-swap"))||this.config.defaultSwap);r.push({type:"partial",fragment:i.content.cloneNode(!0),target:i.getAttribute(this.#p("hx-target")),swapSpec:e,sourceElement:t}),i.remove()}return r}#ve(e,t){"top"===t?e.scrollTop=0:"bottom"===t&&(e.scrollTop=e.scrollHeight)}#Y(e){let t=e.request.originalAction?.split("#")[1];t&&document.getElementById(t)?.scrollIntoView({block:"start",behavior:"auto"})}#Se(e){let t=this.#E(e,"script");for(let e of t){let t=document.createElement("script");for(let r of e.attributes)t.setAttribute(r.name,r.value);this.config.inlineScriptNonce&&(t.nonce=this.config.inlineScriptNonce),t.textContent=e.textContent,e.replaceWith(t)}}async swap(e){let{fragment:t,title:r}=this.#fe(e.text),i=[],s=this.#xe(t,e.sourceElement,e.selectOOB),n=this.#ye(t,e.sourceElement);i.push(...s,...n);let a=this.#Ee(e,t,n,r);if(a&&i.push(a),0===i.length)return;let o=i.filter(e=>e.transition),l=i.filter(e=>!e.transition);if(this.#H(document,"htmx:before:swap",{ctx:e,tasks:i})){for(let e of l)e.swapSpec?.swapDelay?setTimeout(()=>this.#we(e),e.swapSpec.swapDelay):this.#we(e);if(o.length>0){let e=()=>{for(let e of o)this.#we(e)};await this.#qe(e)}this.#H(document,"htmx:after:swap",{ctx:e}),a?.title&&(document.title=a.title),await this.timeout(1);for(let e of i)for(let t of e.restoreTasks||[])t();this.#H(document,"htmx:after:restore",{ctx:e})}}#Ee(e,t,r,i){let s=this.#ge(e.swap||this.config.defaultSwap);if("delete"===s.style||/\S/.test(t.innerHTML||"")||!r.length){let r=document.createDocumentFragment();if(e.select){let i=t.querySelector(e.select);i&&(!1===s.strip?r.append(i):r.append(...i.childNodes))}else r.append(...t.childNodes);return{type:"main",fragment:r,target:s.target||e.target,swapSpec:s,sourceElement:e.sourceElement,transition:!1!==e.transition&&!1!==s.transition,title:i}}}#we(e){let{target:t,swapSpec:r,fragment:i}=e;if("string"==typeof t&&(t=document.querySelector(t)),!t)return;let s=this.#de(i);this.#Se(i);let n=t.parentNode,a=[...i.childNodes];if("innerHTML"===r.style){this.#Ae(e,t);for(const e of t.children)this.#ue(e);t.replaceChildren(...i.childNodes)}else if("outerHTML"===r.style)n&&(this.#Ae(e,n),this.#be(n,t,i),this.#ue(t),n.removeChild(t));else if("innerMorph"===r.style)this.#Te(t,i,!0);else if("outerMorph"===r.style)this.#Te(t,i,!1);else if("beforebegin"===r.style)n&&this.#be(n,t,i);else if("afterbegin"===r.style)this.#be(t,t.firstChild,i);else if("beforeend"===r.style)this.#be(t,null,i);else{if("afterend"!==r.style){if("delete"===r.style)return void(n&&(this.#ue(t),n.removeChild(t)));if("none"===r.style)return;if(this.#Ce(t,"htmx:handle:swap",e))throw new Error(`Unknown swap style: ${r.style}`);return}n&&this.#be(n,t.nextSibling,i)}this.#ce(s);for(const e of a)this.process(e);r.scroll&&this.#ve(t,r.scroll)}#H(e,t,r={},i=!0){return this.config.logAll&&console.log(t,r,e),this.trigger(e,t,r,i)}#Ce(e,t,r={}){let i=this.#r.get(t.replace(/:/g,"_"));if(i){r.cancelled=!1;for(const t of i)if(!1===t(e,r)||r.cancelled)return r.cancelled=!0,!1}return!0}timeout(e){if("string"==typeof e&&(e=this.parseInterval(e)),e>0)return new Promise(t=>setTimeout(t,e))}forEvent(e,t,r=document){return new Promise((i,s)=>{let n=e=>{clearTimeout(a),i(e)},a=t&&setTimeout(()=>{r.removeEventListener(e,n),i(null)},t);r.addEventListener(e,n,{once:!0})})}on(e,t,r){let i,s=document;return void 0===r?(i=e,r=t):(s=this.#Ne(e),i=t),s.addEventListener(i,r),r}find(e,t){return this.#ie(e,t)}findAll(e,t){return this.#ae(e,t)}parseInterval(e){let[,t,r]=e?.match(/^([\d.]+)(ms|s|m)?$/)||[],i=parseFloat(t)*({ms:1,s:1e3,m:6e4}[r]||1);return isNaN(i)?void 0:i}trigger(e,t,r={},i=!0){e=this.#Ne(e),this.#Ce(e,t,r);let s=new CustomEvent(t,{detail:r,cancelable:!0,bubbles:i,composed:!0,originalTarget:e}),n=e.isConnected?e:document;return!r.cancelled&&n.dispatchEvent(s)}ajax(e,t,r){(!r||r instanceof Element||"string"==typeof r)&&(r={target:r});let i="string"==typeof r.source?document.querySelector(r.source):r.source,s=r.target?this.#V(i||document.body,r.target):i;if(r.target&&!s||r.source&&!i)return Promise.reject(new Error("Element not found"));i=i||s||document.body;let n=this.#x(i,r.event||{});return Object.assign(n,r,{target:s}),Object.assign(n.request,{action:t,method:e.toUpperCase()}),r.headers&&Object.assign(n.request.headers,r.headers),this.#_(n)}#v(){this.config.history&&window.addEventListener("popstate",e=>{e.state&&e.state.htmx&&this.#He()})}#Me(e){this.config.history&&(history.pushState({htmx:!0},"",e),this.#H(document,"htmx:after:push:into:history",{path:e}))}#Oe(e){this.config.history&&(history.replaceState({htmx:!0},"",e),this.#H(document,"htmx:after:replace:into:history",{path:e}))}#He(e){e=e||location.pathname+location.search,this.#H(document,"htmx:before:restore:history",{path:e,cacheMiss:!0})&&(this.config.historyReload?location.reload():this.ajax("GET",e,{target:"body",swap:"outerHTML",request:{headers:{"HX-History-Restore-Request":"true"}}}))}#X(e){let{sourceElement:t,push:r,replace:i,hx:s,response:n}=e;(s?.push||s?.pushurl||s?.replaceurl)&&(r=s.push||s.pushurl,i=s.replaceurl),r||i||!this.#A(t)||(r="true");let a=r||i;if(!a||"false"===a)return;"true"===a&&(a=e.request.originalAction);let o=r?"push":"replace",l={history:{type:o,path:a},sourceElement:t,response:n};this.#H(document,"htmx:before:history:update",l)&&("push"===o?this.#Me(a):this.#Oe(a),this.#H(document,"htmx:after:history:update",l))}#he(e){for(let t of e.getAttributeNames())if(t.startsWith(this.#p("hx-on:"))){let r=t.substring(this.#p("hx-on:").length),i=e.getAttribute(t);e.addEventListener(r,async t=>{try{await this.#j(e,{event:t},i,!1)}catch(e){console.log(e)}})}}#Q(e,t){let r=[];if(t){r=[e,...this.#E(e,t)];for(const e of r)e._htmxReqCount||=0,e._htmxReqCount++,e.classList.add(this.config.requestClass)}return r}#Z(e){for(let t of e)t._htmxReqCount&&(t._htmxReqCount--,t._htmxReqCount<=0&&(t.classList.remove(this.config.requestClass),delete t._htmxReqCount))}#U(e,t){let r=[];if(t){r=this.#E(e,t);for(let e of r)e._htmxDisableCount||=0,e._htmxDisableCount++,e.disabled=!0}return r}#ee(e){for(const t of e)t._htmxDisableCount&&(t._htmxDisableCount--,t._htmxDisableCount<=0&&(t.disabled=!1,delete t._htmxDisableCount))}#b(e,t,r){let i=new FormData,s=new Set;t?this.#Ie(t,s,i):e.name&&(i.append(e.name,e.value),s.add(e)),r&&r.name&&(i.append(r.name,r.value),s.add(r));let n=this.#f(e,"hx-include");if(n){let t=this.#ae(e,n);for(let e of t)this.#Ie(e,s,i)}return i}#Ie(e,t,r){let i=this.#E(e,"input:not([disabled]), select:not([disabled]), textarea:not([disabled])");for(let e of i)if(e.name&&!t.has(e))if(t.add(e),e.matches("input[type=checkbox], input[type=radio]"))e.checked&&r.append(e.name,e.value);else if(e.matches("input[type=file]"))for(let t of e.files)r.append(e.name,t);else if(e.matches("select[multiple]"))for(let t of e.selectedOptions)r.append(e.name,t.value);else e.matches("select, textarea, input")&&r.append(e.name,e.value)}#y(e,t){let r=this.#f(e,"hx-vals");if(r){r.includes("{")||(r=`{${r}}`);let e=JSON.parse(r);for(let r in e)t.append(r,e[r])}}#ke(e){let t=e.trim();return t.startsWith("<")&&t.endsWith("/>")?t.slice(1,-2):t}#ae(e,t,r){let[i,s]=this.#_e(e,t);if(s.startsWith("global "))return this.#ae(i,s.slice(7),!0);let n=this.#Le(s),a=[],o=[];for(const e of n){let t,s=this.#ke(e);s.startsWith("closest ")?t=i.closest(s.slice(8)):s.startsWith("find ")?t=document.querySelector(i,s.slice(5)):"next"===s||"nextElementSibling"===s?t=i.nextElementSibling:s.startsWith("next ")?t=this.#Ve(i,s.slice(5),!!r):"previous"===s||"previousElementSibling"===s?t=i.previousElementSibling:s.startsWith("previous ")?t=this.#De(i,s.slice(9),!!r):"document"===s?t=document:"window"===s?t=window:"body"===s?t=document.body:"root"===s?t=this.#Re(i,!!r):"host"===s?t=i.getRootNode().host:o.push(s),t&&a.push(t)}if(o.length>0){let e=o.join(","),t=this.#Re(i,!!r);a.push(...t.querySelectorAll(e))}return a}#_e(e,t){return void 0===t?[document,e]:[this.#Ne(e),t]}#Le(e){let t=[],r=0,i=0;for(let s=0;s<=e.length;s++){let n=e[s];"<"===n?r++:"/"===n&&">"===e[s+1]?r--:(","===n&&!r||s===e.length)&&(s>i&&t.push(e.substring(i,s)),i=s+1)}return t}#Ve(e,t,r){return this.#Be(this.#Re(e,r).querySelectorAll(t),e,Node.DOCUMENT_POSITION_PRECEDING)}#De(e,t,r){let i=[...this.#Re(e,r).querySelectorAll(t)].reverse();return this.#Be(i,e,Node.DOCUMENT_POSITION_FOLLOWING)}#Be(e,t,r){for(const i of e)if(i.compareDocumentPosition(t)===r)return i}#Re(e,t){return e.isConnected&&e.getRootNode?e.getRootNode?.({composed:t}):document}#ie(e,t){return this.#ae(e,t)[0]}#B(e){if(null!=e){if(e.startsWith("js:"))return e.substring(3);if(e.startsWith("javascript:"))return e.substring(11)}}#k(e){e.addEventListener("htmx:abort",()=>{this.#P(e).abort()})}#Te(e,t,r){let{persistentIds:i,idMap:s}=this.#je(e,t),n=document.createElement("div");n.hidden=!0,document.body.after(n);let a={target:e,idMap:s,persistentIds:i,pantry:n};r?this.#$e(a,e,t):this.#$e(a,e.parentNode,t,e,e.nextSibling),this.#ue(n),n.remove()}#$e(e,t,r,i=null,s=null){t instanceof HTMLTemplateElement&&r instanceof HTMLTemplateElement&&(t=t.content,r=r.content),i||=t.firstChild;for(const n of r.childNodes){if(i&&i!=s){let t=this.#ze(e,n,i,s);if(t){if(t!==i){let r=i;for(;r&&r!==t;){let t=r;r=r.nextSibling,this.#Pe(e,t)}}this.#Fe(t,n,e),i=t.nextSibling;continue}}if(n instanceof Element&&e.persistentIds.has(n.id)){let r=e.target.id===n.id&&e.target||e.target.querySelector(`[id="${n.id}"]`)||e.pantry.querySelector(`[id="${n.id}"]`),s=r.id,a=r;for(;a=a.parentNode;){let t=e.idMap.get(a);t&&(t.delete(s),t.size||e.idMap.delete(a))}this.#Qe(t,r,i),this.#Fe(r,n,e),i=r.nextSibling;continue}let r;e.idMap.has(n)?(r=document.createElement(n.tagName),t.insertBefore(r,i),this.#Fe(r,n,e)):(r=document.importNode(n,!0),t.insertBefore(r,i)),i=r.nextSibling}for(;i&&i!=s;){let t=i;i=i.nextSibling,this.#Pe(e,t)}}#ze(e,t,r,i){let s=null,n=t.nextSibling,a=0,o=0,l=e.idMap.get(t),h=l?.size||0,u=r;for(;u&&u!=i;){let r=e.idMap.get(u);if(this.#Ue(u,t)){if(r&&l&&[...r].some(e=>l.has(e)))return u;if(null===s&&!r){if(!h)return u;s=u}}if(o+=r?.size||0,o>h)break;if(null===s&&n&&this.#Ue(u,n)&&(a++,n=n.nextSibling,a>=2&&(s=void 0)),u.contains(document.activeElement))break;u=u.nextSibling}return s||null}#Ue(e,t){return e.nodeType===t.nodeType&&e.tagName===t.tagName&&(!e.id||e.id===t.id)}#Pe(e,t){e.idMap.has(t)?this.#Qe(e.pantry,t,null):(this.#ue(t),t.remove())}#Qe(e,t,r){if(e.moveBefore)try{return void e.moveBefore(t,r)}catch(e){}e.insertBefore(t,r)}#Fe(e,t,r){let i=t.nodeType;if(1===i){let r=this.config.morphIgnore||[];this.#We(e,t,r),e instanceof HTMLTextAreaElement&&e.defaultValue!=t.defaultValue&&(e.value=t.value)}8!==i&&3!==i||e.nodeValue===t.nodeValue||(e.nodeValue=t.nodeValue),e.isEqualNode(t)||this.#$e(r,e,t)}#We(e,t,r=[]){for(const i of t.attributes)r.includes(i.name)||e.getAttribute(i.name)===i.value||(e.setAttribute(i.name,i.value),"value"===i.name&&e instanceof HTMLInputElement&&"file"!==e.type&&(e.value=i.value));for(let i=e.attributes.length-1;i>=0;i--){let s=e.attributes[i];!s||t.hasAttribute(s.name)||r.includes(s.name)||e.removeAttribute(s.name)}}#Je(e,t,r,i){for(const s of i)if(t.has(s.id)){let t=s;for(;t&&t!==r;){let r=e.get(t);null==r&&(r=new Set,e.set(t,r)),r.add(s.id),t=t.parentElement}}}#je(e,t){let r=this.#E(e,"[id]"),i=t.querySelectorAll("[id]"),s=this.#Ge(r,i),n=new Map;return this.#Je(n,s,e.parentElement,r),this.#Je(n,s,t,i),{persistentIds:s,idMap:n}}#Ge(e,t){let r=new Set,i=new Map;for(const{id:t,tagName:s}of e)i.has(t)?r.add(t):i.set(t,s);let s=new Set;for(const{id:e,tagName:n}of t)s.has(e)?r.add(e):i.get(e)===n&&s.add(e);for(const e of r)s.delete(e);return s}#K(e){let t=e.response.raw.status;this.config.noSwap.includes(t)&&(e.swap="none");let r=t+"";for(let t of[r,r.slice(0,2)+"x",r[0]+"xx"]){let r=this.#f(e.sourceElement,"hx-status:"+t);if(r)return void(e.swap=r)}}#qe(e){return new Promise(t=>{this.#h||=[],this.#h.push({task:e,resolve:t}),this.#u||this.#Ke()})}async __processTransitionQueue(){if(0===this.#h.length||this.#u)return;this.#u=!0;let{task:e,resolve:t}=this.#h.shift();try{if(document.startViewTransition){let t=document.startViewTransition(e).finished;this.#H(document,"htmx:before:viewTransition",{task:e,finished:t}),await t,this.#H(document,"htmx:after:viewTransition",{task:e})}else e()}catch(e){}finally{this.#u=!1,t(),this.#Ke()}}#Ae(e,t){let r=t.querySelectorAll("[id]"),i=Object.fromEntries([...r].map(e=>[e.id,e])),s=e.fragment.querySelectorAll("[id]");e.restoreTasks=[];for(let t of s){let r=i[t.id];if(r?.tagName===t.tagName){let i=t.cloneNode(!1);this.#We(t,r,this.config.morphIgnore),e.restoreTasks.push(()=>{this.#We(t,i,this.config.morphIgnore)})}}}#Ne(e){return"string"==typeof e?this.find(e):e}}})();export default htmx;
1
+ var htmx=(()=>{class e{#e=null;#t=[];issue(e,t){return this.#e?"replace"===t?(this.#t.map(e=>e.status="dropped"),this.#t=[],this.#e&&this.#e.abort(),!0):("queue all"===t?(this.#t.push(e),e.status="queued"):"drop"===t?e.status="dropped":"queue last"===t?(this.#t.map(e=>e.status="dropped"),this.#t=[e],e.status="queued"):0===this.#t.length?(this.#t.push(e),e.status="queued"):e.status="dropped",!1):(this.#e=e,!0)}finish(){this.#e=null}next(){return this.#t.shift()}abort(){this.#e?.abort?.()}more(){return this.#t?.length}}return new class{#r=new Map;#i="";#s=new Set;#n;#a;#o="a,form";#l=["get","post","put","patch","delete"];#h;#c;#u;constructor(){this.#d(),this.#p(),this.#a=`[${this.#f("hx-action")}],[${this.#f("hx-get")}],[${this.#f("hx-post")}],[${this.#f("hx-put")}],[${this.#f("hx-patch")}],[${this.#f("hx-delete")}]`,this.#h=(new XPathEvaluator).createExpression(`.//*[@*[ starts-with(name(), "${this.#f("hx-on")}")]]`),this.#n={attributeValue:this.#m.bind(this),parseTriggerSpecs:this.#g.bind(this),determineMethodAndAction:this.#x.bind(this),createRequestContext:this.#b.bind(this),collectFormData:this.#y.bind(this),handleHxVals:this.#v.bind(this)},document.addEventListener("DOMContentLoaded",()=>{this.#S(),this.process(document.body)})}#d(){this.config={version:"4.0.0-alpha3",logAll:!1,prefix:"",transitions:!0,history:!0,historyReload:!1,mode:"same-origin",defaultSwap:"innerHTML",indicatorClass:"htmx-indicator",requestClass:"htmx-request",includeIndicatorCSS:!0,defaultTimeout:6e4,extensions:"",sse:{mode:"once",maxRetries:1/0,initialDelay:500,maxDelay:3e4,pauseHidden:!1},morphIgnore:["data-htmx-powered"],noSwap:[204,304],implicitInheritance:!1};let e=document.querySelector('meta[name="htmx:config"]');if(e){let t=e.content,r=this.#E(t);for(let e in r){let t=r[e];t&&"object"==typeof t&&!Array.isArray(t)&&this.config[e]?Object.assign(this.config[e],t):this.config[e]=t}}this.#i=this.config.extensions}#p(){if(!1!==this.config.includeIndicatorCSS){let e="";this.config.inlineStyleNonce&&(e=` nonce="${this.config.inlineStyleNonce}"`);let t=this.config.indicatorClass,r=this.config.requestClass;document.head.insertAdjacentHTML("beforeend",`<style${e}>.${t}{opacity:0;visibility: hidden} .${r} .${t}, .${r}.${t}{opacity:1;visibility: visible;transition: opacity 200ms ease-in}</style>`)}}defineExtension(e,t){return!(this.#i&&!this.#i.split(/,\s*/).includes(e))&&(!this.#s.has(e)&&(this.#s.add(e),t.init&&t.init(this.#n),void Object.entries(t).forEach(([e,t])=>{this.#r.get(e)?.push(t)||this.#r.set(e,[t])})))}#w(e){return!e.closest||null!=e.closest(`[${this.#f("hx-ignore")}]`)}#f(e){return this.config.prefix?e.replace("hx-",this.config.prefix):e}#C(e,t){let r=[...e.querySelectorAll(t)];return e.matches?.(t)&&r.unshift(e),r}#A(e){return"before"===e?"beforebegin":"after"===e?"afterend":"prepend"===e?"afterbegin":"append"===e?"beforeend":e}#m(e,t,r,i){let s=(t=this.#f(t))+this.#q(":append"),n=t+(this.config.implicitInheritance?"":this.#q(":inherited")),a=t+this.#q(":inherited:append");if(e.hasAttribute(t))return i?e:e.getAttribute(t);if(e.hasAttribute(n))return i?e:e.getAttribute(n);if(e.hasAttribute(s)||e.hasAttribute(a)){let r=e.getAttribute(s)||e.getAttribute(a),o=e.parentNode?.closest?.(`[${CSS.escape(n)}],[${CSS.escape(a)}]`);if(o){let e=this.#m(o,t,void 0,i);return i?e:e?e+","+r:r}return i?e:r}let o=e.parentNode?.closest?.(`[${CSS.escape(n)}],[${CSS.escape(a)}]`);if(o){let r=this.#m(o,t,void 0,i);return!i&&r&&this.config.implicitInheritance&&this.#T(e,"htmx:after:implicitInheritance",{elt:e,parent:o}),r}return i?e:r}#E(e){if("{"===e[0])return JSON.parse(e);return[...e.matchAll(/([^\s,]+?)(?:\s*:\s*(?:"([^"]*)"|'([^']*)'|<([^>]+)\/>|([^\s,]+)))?(?=\s|,|$)/g)].reduce((e,t)=>{let r=t[1].split("."),i=(t[2]??t[3]??t[4]??t[5]??"true").trim();return"true"===i?i=!0:"false"===i?i=!1:/^\d+$/.test(i)&&(i=parseInt(i)),r.slice(0,-1).reduce((e,t)=>e[t]??={},e)[r.at(-1)]=i,e},{})}#g(e){return e.split(",").map(e=>{let t=e.match(/^\s*(\S+\[[^\]]*\]|\S+)\s*(.*?)\s*$/);if(!t||!t[1])return null;if(t[1].includes("[")&&!t[1].includes("]"))throw"unterminated:"+t[1];let r=t[2]?this.#E(t[2]):{};return r.name=t[1],r}).filter(e=>e)}#x(e,t){if(this.#M(e))return this.#N(e,t);{let t=this.#m(e,"hx-method")||"GET",r=this.#m(e,"hx-action");if(!r)for(let i of this.#l){let s=this.#m(e,"hx-"+i);if(s){r=s,t=i;break}}return t=t.toUpperCase(),{action:r,method:t}}}#N(e,t){if(e.matches("a"))return{action:e.getAttribute("href"),method:"GET"};return{action:t.submitter?.getAttribute?.("formAction")||e.getAttribute("action"),method:t.submitter?.getAttribute?.("formMethod")||e.getAttribute("method")||"GET"}}#I(e){this.#H(e)&&this.#O(e,"htmx:before:init",{},!0)&&(e._htmx={eventHandler:this.#L(e)},e.setAttribute("data-htmx-powered","true"),this.#R(e),this.#k(e),this.#O(e,"htmx:after:init",{},!0),this.#O(e,"load",{},!1))}#L(e){return async t=>{try{let r=this.#b(e,t);await this.#V(r)}catch(e){console.error(e)}}}#b(e,t){let{action:r,method:i}=this.#x(e,t),s={sourceElement:e,sourceEvent:t,status:"created",select:this.#m(e,"hx-select"),selectOOB:this.#m(e,"hx-select-oob"),target:this.#j(e,this.#m(e,"hx-target")),swap:this.#m(e,"hx-swap",this.config.defaultSwap),push:this.#m(e,"hx-push-url"),replace:this.#m(e,"hx-replace-url"),transition:this.config.transitions,confirm:this.#m(e,"hx-confirm"),request:{validate:"true"===this.#m(e,"hx-validate",e.matches("form")?"true":"false"),action:r,method:i,headers:this.#_(e)}},n=this.#m(e,"hx-config");if(n){let t=this.#E(n),r=s.request;for(let e in t)if(e.startsWith("+")){let i=e.substring(1);r[i]&&"object"==typeof r[i]?Object.assign(r[i],t[e]):r[i]=t[e]}else r[e]=t[e];r.etag&&((e._htmx||={}).etag||=r.etag)}return e._htmx?.etag&&(s.request.headers["If-none-match"]=e._htmx.etag),s}#_(e){let t={"HX-Request":"true","HX-Source":e.id||e.name,"HX-Current-URL":location.href,Accept:"text/html, text/event-stream"};this.#M(e)&&(t["HX-Boosted"]="true");let r=this.#m(e,"hx-headers");return r&&Object.assign(t,this.#E(r)),t}#j(e,t){return t instanceof Element?t:"this"===t?this.#m(e,"hx-target",void 0,!0):null!=t?this.find(e,t):this.#M(e)?document.body:e}#M(e){return e?._htmx?.boosted}async#V(e){let t=e.sourceElement,r=e.sourceEvent;if(!t.isConnected)return;if(this.#D(r))return;this.#B(r)&&r.preventDefault();let i=t.form||t.closest("form"),s=this.#y(t,i,r.submitter),n=this.#v(t,s);if(n&&await n,e.values)for(let t in e.values)s.delete(t),s.append(t,e.values[t]);let a=new AbortController,o=e.request.action.replace?.(/#.*$/,"");if(Object.assign(e.request,{originalAction:e.request.action,action:o,form:i,submitter:r.submitter,abort:a.abort.bind(a),body:s,credentials:"same-origin",signal:a.signal,mode:this.config.mode}),!this.#O(t,"htmx:config:request",{ctx:e}))return;if(!this.#l.includes(e.request.method.toLowerCase()))return;if(e.request.validate&&e.request.form&&!e.request.form.reportValidity())return;let l=this.#$(e.request.action);if(l){let t=Object.fromEntries(e.request.body);return void await this.#P(e.sourceElement,t,l,!1)}if(/GET|DELETE/.test(e.request.method)){let t=new URLSearchParams(e.request.body);t.size&&(e.request.action+=(/\?/.test(e.request.action)?"&":"?")+t),e.request.body=null}else"multipart/form-data"!==this.#m(t,"hx-encoding")&&(e.request.body=new URLSearchParams(e.request.body));await this.#F(e)}async#F(e){let t=e.sourceElement,r=this.#z(t),i=this.#W(t);if(!i.issue(e,r))return;e.status="issuing",this.#U(e);let s=this.#m(t,"hx-indicator"),n=this.#Q(t,s),a=this.#m(t,"hx-disable"),o=this.#J(t,a);try{if(e.confirm){let r=null;if(!await new Promise(i=>{if(r=i,this.#O(t,"htmx:confirm",{ctx:e,issueRequest:e=>r?.(!1!==e)})){let r=this.#$(e.confirm);i(r?this.#P(t,{},r,!0):window.confirm(e.confirm))}}))return}if(e.fetch||=window.fetch.bind(window),!this.#O(t,"htmx:before:request",{ctx:e}))return;let r=await e.fetch(e.request.action,e.request);if(e.response={raw:r,status:r.status,headers:r.headers},this.#G(e),e.isSSE=r.headers.get("Content-Type")?.includes("text/event-stream"),e.isSSE||(e.text=await r.text()),!this.#O(t,"htmx:after:request",{ctx:e}))return;if(this.#X(e))return;let i=r.headers.get("Content-Type")?.includes("text/event-stream");i?await this.#K(e,t,r):"issuing"===e.status&&(e.hx.retarget&&(e.target=e.hx.retarget),e.hx.reswap&&(e.swap=e.hx.reswap),e.hx.reselect&&(e.select=e.hx.reselect),e.status="response received",this.#Y(e),await this.swap(e),e.status="swapped")}catch(r){e.status="error: "+r,this.#O(t,"htmx:error",{ctx:e,error:r})}finally{this.#Z(n),this.#ee(o),this.#O(t,"htmx:finally:request",{ctx:e}),i.finish(),i.more()&&this.#F(i.next())}}#G(e){e.hx={};for(let[t,r]of e.response.raw.headers)t.toLowerCase().startsWith("hx-")&&(e.hx[t.slice(3).toLowerCase().replace(/-/g,"")]=r)}#X(e){if(e.hx.trigger&&this.#te(e.hx.trigger,e.sourceElement),"true"===e.hx.refresh)return location.reload(),!0;if(e.hx.redirect)return location.href=e.hx.redirect,!0;if(e.hx.location){let t=e.hx.location,r={};return("{"===t[0]||/[\s,]/.test(t))&&(r=this.#E(t),t=r.path,delete r.path),r.push=r.push||"true",this.ajax("GET",t,r),!0}e.response?.headers?.get?.("Etag")&&(e.sourceElement._htmx||={},e.sourceElement._htmx.etag=e.response.headers.get("Etag"))}async#K(e,t,r){let i={...this.config.sse,...e.request.sse};i.once&&(i.mode="once"),i.continuous&&(i.mode="continuous");let s=()=>new Promise(e=>{let t=()=>!document.hidden&&(document.removeEventListener("visibilitychange",t),e());document.addEventListener("visibilitychange",t)}),n=null,a=0,o=r;for(;t.isConnected;){if(a>0){if("continuous"!==i.mode||a>i.maxRetries)break;if(i.pauseHidden&&document.hidden&&(await s(),!t.isConnected))break;let r={attempt:a,delay:Math.min(this.parseInterval(i.initialDelay)*Math.pow(2,a-1),this.parseInterval(i.maxDelay)),lastEventId:n,cancelled:!1};if(e.status="reconnecting to stream",!this.#O(t,"htmx:before:sse:reconnect",{ctx:e,reconnect:r})||r.cancelled)break;if(await new Promise(e=>setTimeout(e,r.delay)),!t.isConnected)break;try{n&&((e.request.headers=e.request.headers||{})["Last-Event-ID"]=n),o=await fetch(e.request.action,e.request)}catch(r){e.status="stream error",this.#O(t,"htmx:error",{ctx:e,error:r}),a++;continue}}if(!this.#O(t,"htmx:before:sse:stream",{ctx:e}))break;e.status="streaming",a=0;try{for await(const r of this.#re(o)){if(!t.isConnected)break;if(i.pauseHidden&&document.hidden&&(await s(),!t.isConnected))break;let a={data:r.data,event:r.event,id:r.id,cancelled:!1};this.#O(t,"htmx:before:sse:message",{ctx:e,message:a})&&!a.cancelled&&(r.id&&(n=r.id),r.event?(this.#O(t,r.event,{data:r.data,id:r.id}),this.#O(t,"htmx:after:sse:message",{ctx:e,message:a})):(e.text=r.data,e.status="stream message received",e.response.cancelled||(await this.swap(e),e.status="swapped"),this.#O(t,"htmx:after:sse:message",{ctx:e,message:a})))}}catch(r){e.status="stream error",this.#O(t,"htmx:error",{ctx:e,error:r})}if(!t.isConnected)break;this.#O(t,"htmx:after:sse:stream",{ctx:e}),a++}}async*#re(e){let t=e.body.getReader(),r=new TextDecoder,i="",s={data:"",event:"",id:"",retry:null};try{for(;;){let{done:e,value:n}=await t.read();if(e)break;i+=r.decode(n,{stream:!0});let a=i.split("\n");i=a.pop()||"";for(let e of a){if(!e||"\r"===e){s.data&&(yield s,s={data:"",event:"",id:"",retry:null});continue}let t=e.indexOf(":");if(t<=0)continue;let r=e.slice(0,t),i=e.slice(t+1).trimStart();if("data"===r)s.data+=(s.data?"\n":"")+i;else if("event"===r)s.event=i;else if("id"===r)s.id=i;else if("retry"===r){let e=parseInt(i,10);isNaN(e)||(s.retry=e)}}}}finally{t.releaseLock()}}#U(e){let t;t=e.request.timeout?this.parseInterval(e.request.timeout):this.config.defaultTimeout,e.requestTimeout=setTimeout(()=>e.abort?.(),t)}#z(e){let t=this.#m(e,"hx-sync");return t?.split(":")[1]||"queue first"}#W(t){let r=this.#m(t,"hx-sync"),i=t;if(r&&r.includes(":")){let e=r.split(":")[0];i=this.#ie(e)}return i._htmxRequestQueue||=new e}#D(e){return"click"===e.type&&(e.ctrlKey||e.metaKey||e.shiftKey)}#B(e){let t=e.currentTarget;if("submit"===e.type&&"FORM"===t?.tagName)return!0;if(!("click"===e.type&&0===e.button))return!1;let r=t?.closest?.('button, input[type="submit"], input[type="image"]'),i=r?.form||r?.closest("form");if(r&&!r.disabled&&i&&("submit"===r.type||"image"===r.type||!r.type&&"BUTTON"===r.tagName))return!0;let s=t?.closest?.("a");if(!s||!s.href)return!1;let n=s.getAttribute("href");return!(n&&n.startsWith("#")&&n.length>1)}#R(e,t=e._htmx.eventHandler){let r=this.#m(e,"hx-trigger");r||(r=e.matches("form")?"submit":e.matches("input:not([type=button]),select,textarea")?"change":"click"),e._htmx.triggerSpecs=this.#g(r),e._htmx.listeners=[];for(let r of e._htmx.triggerSpecs){r.handler=t,r.listeners=[],r.values={};let[i,s]=this.#se(r.name);if(r.once){let e=r.handler;r.handler=t=>{e(t);for(let e of r.listeners)e.fromElt.removeEventListener(e.eventName,e.handler)}}if("intersect"===i||"revealed"===i){let t={};r.opts?.root&&(t.root=this.#ie(e,r.opts.root)),r.opts?.threshold&&(t.threshold=parseFloat(r.opts.threshold));let s="revealed"===i;r.observer=new IntersectionObserver(t=>{for(let i=0;i<t.length;i++){if(t[i].isIntersecting){this.trigger(e,"intersect",{},!1),s&&r.observer.disconnect();break}}},t),i="intersect",r.observer.observe(e)}if(r.delay){let e=r.handler;r.handler=t=>{clearTimeout(r.timeout),r.timeout=setTimeout(()=>e(t),this.parseInterval(r.delay))}}if(r.throttle){let e=r.handler;r.handler=t=>{r.throttled?r.throttledEvent=t:(r.throttled=!0,e(t),r.throttleTimeout=setTimeout(()=>{if(r.throttled=!1,r.throttledEvent){let e=r.throttledEvent;r.throttledEvent=null,r.handler(e)}},this.parseInterval(r.throttle)))}}if(r.target){let e=r.handler;r.handler=t=>{t.target?.matches?.(r.target)&&e(t)}}if("every"===i){let t=Object.keys(r).find(e=>"name"!==e);r.interval=setInterval(()=>{e.isConnected?this.#O(e,"every",{},!1):clearInterval(r.interval)},this.parseInterval(t))}if(s){let t=r.handler;r.handler=r=>{this.#B(r)&&r.preventDefault(),this.#ne(e,r,s)&&t(r)}}let n=[e];if(r.from&&(n=this.#ae(e,r.from)),r.consume){let e=r.handler;r.handler=t=>{t.stopPropagation(),e(t)}}if(r.changed){let e=r.handler;r.handler=t=>{let i=!1;for(let e of n)r.values[e]!==e.value&&(i=!0,r.values[e]=e.value);i&&e(t)}}for(let t of n){let s={fromElt:t,eventName:i,handler:r.handler};e._htmx.listeners.push(s),r.listeners.push(s),t.addEventListener(i,r.handler)}}}#se(e){let t=e.match(/^([^\[]*)\[([^\]]*)]/);return t?[t[1],t[2]]:[e,null]}#te(e,t){if("{"===e[0]){let r=this.#E(e);for(let e in r){let i=r[e];i?.target&&(t=this.find(i.target)||t),this.trigger(t,e,"object"==typeof i?i:{value:i})}}else e.split(",").forEach(e=>this.trigger(t,e.trim(),{}))}#oe(e){let t={},r=Object.getPrototypeOf(this);for(let i of Object.getOwnPropertyNames(r))"constructor"!==i&&"function"==typeof this[i]&&(["find","findAll"].includes(i)?t[i]=(t,r)=>void 0===r?this[i](e,t):this[i](t,r):t[i]=this[i].bind(this));return t}async#P(e,t,r,i=!0){let s={};Object.assign(s,this.#oe(e)),Object.assign(s,t);let n=Object.keys(s),a=Object.values(s),o=new(0,Object.getPrototypeOf(async function(){}).constructor)(...n,i?`return (${r})`:r);return await o.call(e,...a)}#ne(e,t,r){let i={};Object.assign(i,this.#oe(e));for(let e in t)i[e]=t[e];let s=Object.keys(i),n=Object.values(i);return new Function(...s,`return (${r})`).call(e,...n)}process(e){if(!e||this.#w(e))return;if(!this.#O(e,"htmx:before:process"))return;for(let t of this.#C(e,this.#a))this.#I(t);for(let t of this.#C(e,this.#o))this.#le(t);this.#he(e);let t=this.#h.evaluate(e),r=null;for(;r=t.iterateNext();)this.#he(r);this.#O(e,"htmx:after:process")}#le(e){"true"===this.#m(e,"hx-boost")&&this.#ce(e)&&(e._htmx={eventHandler:this.#L(e),requests:[],boosted:!0},e.setAttribute("data-htmx-powered","true"),e.matches("a")&&!e.hasAttribute("target")?e.addEventListener("click",t=>{e._htmx.eventHandler(t)}):e.addEventListener("submit",t=>{e._htmx.eventHandler(t)}),this.#O(e,"htmx:after:init",{},!0))}#ce(e){if(this.#H(e))if("A"===e.tagName){if(""===e.target||"_self"===e.target)return!e.getAttribute("href")?.startsWith?.("#")&&this.#ue(e.href)}else if("FORM"===e.tagName)return"dialog"!==e.method&&this.#ue(e.action)}#ue(e){try{return new URL(e,window.location.href).origin===window.location.origin}catch(e){return!1}}#H(e){return!e._htmx&&!this.#w(e)}#de(e){if(e._htmx){this.#O(e,"htmx:before:cleanup"),e._htmx.interval&&clearInterval(e._htmx.interval);for(let t of e._htmx.triggerSpecs||[])t.interval&&clearInterval(t.interval),t.timeout&&clearTimeout(t.timeout);for(let t of e._htmx.listeners||[])t.fromElt.removeEventListener(t.eventName,t.handler);this.#O(e,"htmx:after:cleanup")}for(let t of e.querySelectorAll("[data-htmx-powered]"))this.#de(t)}#pe(e){let t=document.createElement("div");t.style.display="none",document.body.appendChild(t);let r=e.querySelectorAll?.(`[${this.#f("hx-preserve")}]`)||[];for(let e of r){let r=document.getElementById(e.id);t.moveBefore?t.moveBefore(r,null):t.appendChild(r)}return t}#fe(e){for(let t of e.children){let e=document.getElementById(t.id);e.parentNode.moveBefore?e.parentNode.moveBefore(t,e):e.replaceWith(t),this.#de(e),e.remove()}e.remove()}#me(e){return Document.parseHTMLUnsafe?.(e)||(new DOMParser).parseFromString(e,"text/html")}#ge(e){let t=e.replace(/<hx-([a-z]+)(\s+|>)/gi,'<template hx type="$1"$2').replace(/<\/hx-[a-z]+>/gi,"</template>"),r="";t=t.replace(/<title[^>]*>[\s\S]*?<\/title>/i,e=>(r=this.#me(e).title,""));let i,s,n=t.replace(/<head(\s[^>]*)?>[\s\S]*?<\/head>/i,""),a=n.match(/<([a-z][^\/>\x20\t\r\n\f]*)/i)?.[1]?.toLowerCase();return"html"===a?(i=this.#me(t),s=i.body):"body"===a?(i=this.#me(n),s=i.body):(i=this.#me(`<template>${n}</template>`),s=i.querySelector("template").content),this.#xe(s),{fragment:s,title:r}}#be(e,t,r,i){let s=t.id?"#"+CSS.escape(t.id):null;"true"!==r&&r&&!r.includes(" ")&&([r,s=s]=r.split(/:(.*)/)),"true"!==r&&r||(r="outerHTML");let n=this.#ye(r);if(s=n.target||s,n.strip??=!n.style.startsWith("outer"),!s)return;let a=document.createDocumentFragment();a.append(t),e.push({type:"oob",fragment:a,target:s,swapSpec:n,sourceElement:i})}#ve(e,t,r){let i=[];if(r)for(let s of r.split(",")){let[r,n="true"]=s.split(/:(.*)/);for(let s of e.querySelectorAll(r))this.#be(i,s,n,t)}for(let r of e.querySelectorAll(`[${this.#f("hx-swap-oob")}]`)){let e=r.getAttribute(this.#f("hx-swap-oob"));r.removeAttribute(this.#f("hx-swap-oob")),this.#be(i,r,e,t)}return i}#Se(e,t,r){t?t.before(...r.childNodes):e.append(...r.childNodes)}#ye(e){e=e.trim();let t=this.config.defaultSwap;if(e&&!/^\S*:/.test(e)){let r=e.match(/^(\S+)\s*(.*)$/);t=r[1],e=r[2]}return{style:this.#A(t),...this.#E(e)}}#Ee(e,t){let r=[];for(let i of e.querySelectorAll("template[hx]")){let e=i.getAttribute("type");if("partial"===e){let e=this.#ye(i.getAttribute(this.#f("hx-swap"))||this.config.defaultSwap);r.push({type:"partial",fragment:i.content.cloneNode(!0),target:i.getAttribute(this.#f("hx-target")),swapSpec:e,sourceElement:t.sourceElement})}else this.#T(i,"htmx:process:"+e,{ctx:t,tasks:r});i.remove()}return r}#we(e){let t=this.find(e,"[autofocus]");t?.focus?.()}#Ce(e){if(e.swapSpec.scroll){let t=e.swapSpec.scrollTarget?this.#ie(e.swapSpec.scrollTarget):e.target;"top"===e.swapSpec.scroll?t.scrollTop=0:"bottom"===e.swapSpec.scroll&&(t.scrollTop=t.scrollHeight)}if(e.swapSpec.show){(e.swapSpec.showTarget?this.#ie(e.swapSpec.showTarget):e.target).scrollIntoView("top"===e.swapSpec.show)}}#Ae(e){let t=e.request?.originalAction?.split("#")[1];t&&document.getElementById(t)?.scrollIntoView({block:"start",behavior:"auto"})}#xe(e){let t=this.#C(e,"script");for(let e of t){let t=document.createElement("script");for(let r of e.attributes)t.setAttribute(r.name,r.value);this.config.inlineScriptNonce&&(t.nonce=this.config.inlineScriptNonce),t.textContent=e.textContent,e.replaceWith(t)}}async swap(e){this.#qe(e);let{fragment:t,title:r}=this.#ge(e.text);e.title=r;let i=[],s=this.#ve(t,e.sourceElement,e.selectOOB),n=this.#Ee(t,e);i.push(...s,...n);let a=this.#Te(e,t,n);if(a&&i.push(a),0===i.length)return;let o=i.filter(e=>e.transition),l=i.filter(e=>!e.transition);if(this.#O(document,"htmx:before:swap",{ctx:e,tasks:i})){for(let e of l)e.swapSpec?.swap?setTimeout(()=>this.#Me(e),this.parseInterval(e.swapSpec.swap)):this.#Me(e);if(o.length>0){let e=()=>{for(let e of o)this.#Me(e)};await this.#Ne(e)}this.#O(document,"htmx:after:swap",{ctx:e}),e.title&&!a?.swapSpec?.ignoreTitle&&(document.title=e.title),await this.timeout(1);for(let e of i)for(let t of e.restoreTasks||[])t();this.#O(document,"htmx:after:restore",{ctx:e}),this.#Ae(e)}}#Te(e,t,r){let i=this.#ye(e.swap||this.config.defaultSwap);if("delete"===i.style||/\S/.test(t.innerHTML||"")||!r.length){if(e.select){let r=t.querySelectorAll(e.select);(t=document.createDocumentFragment()).append(...r)}return this.#M(e.sourceElement)&&(i.show||="top"),{type:"main",fragment:t,target:this.#j(e.sourceElement||document.body,i.target||e.target),swapSpec:i,sourceElement:e.sourceElement,transition:!1!==e.transition&&!1!==i.transition}}}#Me(e){let{target:t,swapSpec:r,fragment:i}=e;if("string"==typeof t&&(t=document.querySelector(t)),!t)return;r.strip&&i.firstElementChild&&(e.unstripped=i,i=document.createDocumentFragment(),i.append(...(e.fragment.firstElementChild.content||e.fragment.firstElementChild).childNodes));let s=this.#pe(i),n=t.parentNode,a=[...i.childNodes];if("innerHTML"===r.style){this.#Ie(e,t);for(const e of t.children)this.#de(e);t.replaceChildren(...i.childNodes)}else if("outerHTML"===r.style)n&&(this.#Ie(e,n),this.#Se(n,t,i),this.#de(t),n.removeChild(t));else if("innerMorph"===r.style)this.#He(t,i,!0);else if("outerMorph"===r.style)this.#He(t,i,!1);else if("beforebegin"===r.style)n&&this.#Se(n,t,i);else if("afterbegin"===r.style)this.#Se(t,t.firstChild,i);else if("beforeend"===r.style)this.#Se(t,null,i);else{if("afterend"!==r.style){if("delete"===r.style)return void(n&&(this.#de(t),n.removeChild(t)));if("none"===r.style)return;if(e.target=t,e.fragment=i,!this.#T(t,"htmx:handle:swap",e))return;throw new Error(`Unknown swap style: ${r.style}`)}n&&this.#Se(n,t.nextSibling,i)}this.#fe(s);for(const e of a)this.process(e),this.#we(e);this.#Ce(e)}#O(e,t,r={},i=!0){return this.config.logAll&&console.log(t,r,e),e=this.#Oe(e),this.#T(e,this.#q(t),r),this.trigger(e,t,r,i)}#T(e,t,r={}){let i=this.#r.get(t.replace(/:/g,"_"));if(i){r.cancelled=!1;for(const t of i)if(!1===t(e,r)||r.cancelled)return r.cancelled=!0,!1}return!0}timeout(e){if((e=this.parseInterval(e))>0)return new Promise(t=>setTimeout(t,e))}forEvent(e,t,r=document){return new Promise((i,s)=>{let n=e=>{clearTimeout(a),i(e)},a=t&&setTimeout(()=>{r.removeEventListener(e,n),i(null)},t);r.addEventListener(e,n,{once:!0})})}onLoad(e){this.on("htmx:after:init",t=>{e(t.target)})}takeClass(e,t,r=e.parentElement){for(let e of this.findAll(this.#Oe(r),"."+t))e.classList.remove(t);e.classList.add(t)}on(e,t,r){let i,s=document;return void 0===r?(i=e,r=t):(s=this.#Oe(e),i=t),s.addEventListener(i,r),r}find(e,t){return this.#ie(e,t)}findAll(e,t){return this.#ae(e,t)}parseInterval(e){if("number"==typeof e)return e;let[,t,r]=e?.match(/^([\d.]+)(ms|s|m)?$/)||[],i=parseFloat(t)*({ms:1,s:1e3,m:6e4}[r]||1);return isNaN(i)?void 0:i}trigger(e,t,r={},i=!0){e=this.#Oe(e);let s=new CustomEvent(t,{detail:r,cancelable:!0,bubbles:i,composed:!0,originalTarget:e}),n=e.isConnected?e:document;return!r.cancelled&&n.dispatchEvent(s)}ajax(e,t,r){(!r||r instanceof Element||"string"==typeof r)&&(r={target:r});let i="string"==typeof r.source?document.querySelector(r.source):r.source;if("string"==typeof r.source&&!i)return Promise.reject(new Error("Source not found"));let s=this.#j(document.body,r.target||i);if(!s)return Promise.reject(new Error("Target not found"));i||=s;let n=this.#b(i,r.event||{});return Object.assign(n,r,{target:s}),Object.assign(n.request,{action:t,method:e.toUpperCase()}),r.headers&&Object.assign(n.request.headers,r.headers),this.#V(n)}#S(){this.config.history&&(history.state||history.replaceState({htmx:!0},"",location.pathname+location.search),window.addEventListener("popstate",e=>{e.state&&e.state.htmx&&this.#Le()}))}#Re(e){this.config.history&&(history.pushState({htmx:!0},"",e),this.#O(document,"htmx:after:push:into:history",{path:e}))}#ke(e){this.config.history&&(history.replaceState({htmx:!0},"",e),this.#O(document,"htmx:after:replace:into:history",{path:e}))}#Le(e){if(e=e||location.pathname+location.search,this.#O(document,"htmx:before:restore:history",{path:e,cacheMiss:!0}))this.config.historyReload?location.reload():this.ajax("GET",e,{target:"body",request:{headers:{"HX-History-Restore-Request":"true"}}});else if("FORM"===elt.tagName)return"dialog"!==elt.method&&this.#ue(elt.action)}#qe(e){let{sourceElement:t,push:r,replace:i,hx:s,response:n}=e;(s?.push||s?.pushurl||s?.replaceurl)&&(r=s.push||s.pushurl,i=s.replaceurl),r||i||!this.#M(t)||(r="true");let a=r||i;if(!a||"false"===a||!1===a)return;"true"===a&&(a=e.request.originalAction);let o=r?"push":"replace",l={history:{type:o,path:a},sourceElement:t,response:n};this.#O(document,"htmx:before:history:update",l)&&("push"===o?this.#Re(a):this.#ke(a),this.#O(document,"htmx:after:history:update",l))}#he(e){for(let r of e.getAttributeNames()){var t=this.#q(this.#f("hx-on:"));if(r.startsWith(t)){let i=r.substring(t.length),s=e.getAttribute(r);e.addEventListener(i,async t=>{try{await this.#P(e,{event:t},s,!1)}catch(e){console.log(e)}})}}}#Q(e,t){let r=[];if(t){r=[e,...this.#C(e,t)];for(const e of r)e._htmxReqCount||=0,e._htmxReqCount++,e.classList.add(this.config.requestClass)}return r}#Z(e){for(let t of e)t._htmxReqCount&&(t._htmxReqCount--,t._htmxReqCount<=0&&(t.classList.remove(this.config.requestClass),delete t._htmxReqCount))}#J(e,t){let r=[];if(t){r=this.#C(e,t);for(let e of r)e._htmxDisableCount||=0,e._htmxDisableCount++,e.disabled=!0}return r}#ee(e){for(const t of e)t._htmxDisableCount&&(t._htmxDisableCount--,t._htmxDisableCount<=0&&(t.disabled=!1,delete t._htmxDisableCount))}#y(e,t,r){let i=t?new FormData(t):new FormData,s=t?new Set(t.elements):new Set;!t&&e.name&&(i.append(e.name,e.value),s.add(e)),r&&r.name&&(i.append(r.name,r.value),s.add(r));let n=this.#m(e,"hx-include");if(n){let t=this.#ae(e,n);for(let e of t)this.#Ve(e,s,i)}return i}#Ve(e,t,r){let i=this.#C(e,"input:not([disabled]), select:not([disabled]), textarea:not([disabled])");for(let e of i){if(!e.name||t.has(e))continue;t.add(e);let i=e.type;if("checkbox"===i||"radio"===i)e.checked&&r.append(e.name,e.value);else if("file"===i)for(let t of e.files)r.append(e.name,t);else if("select-multiple"===i)for(let t of e.selectedOptions)r.append(e.name,t.value);else e.matches("select, textarea, input")&&r.append(e.name,e.value)}}#v(e,t){let r=this.#m(e,"hx-vals");if(r){let i=this.#$(r);if(i)return this.#P(e,{},i,!0).then(e=>{for(let r in e)t.append(r,e[r])});{let e=this.#E(r);for(let r in e)t.append(r,e[r])}}}#je(e){let t=e.trim();return t.startsWith("<")&&t.endsWith("/>")?t.slice(1,-2):t}#ae(e,t,r){let i=t??e,s=t?this.#Oe(e):document;if(i.startsWith("global "))return this.#ae(s,i.slice(7),!0);let n=i?i.replace(/<[^>]+\/>/g,e=>e.replace(/,/g,"%2C")).split(",").map(e=>e.replace(/%2C/g,",")):[],a=[],o=[];for(const e of n){let t,i=this.#je(e);i.startsWith("closest ")?t=s.closest(i.slice(8)):i.startsWith("find ")?t=document.querySelector(s,i.slice(5)):"next"===i||"nextElementSibling"===i?t=s.nextElementSibling:i.startsWith("next ")?t=this.#_e(s,i.slice(5),!!r):"previous"===i||"previousElementSibling"===i?t=s.previousElementSibling:i.startsWith("previous ")?t=this.#De(s,i.slice(9),!!r):"document"===i?t=document:"window"===i?t=window:"body"===i?t=document.body:"root"===i?t=this.#Be(s,!!r):"host"===i?t=s.getRootNode().host:o.push(i),t&&a.push(t)}if(o.length>0){let e=o.join(","),t=this.#Be(s,!!r);a.push(...t.querySelectorAll(e))}return a}#_e(e,t,r){return this.#$e(this.#Be(e,r).querySelectorAll(t),e,Node.DOCUMENT_POSITION_PRECEDING)}#De(e,t,r){let i=[...this.#Be(e,r).querySelectorAll(t)].reverse();return this.#$e(i,e,Node.DOCUMENT_POSITION_FOLLOWING)}#$e(e,t,r){for(const i of e)if(i.compareDocumentPosition(t)===r)return i}#Be(e,t){return e.isConnected&&e.getRootNode?e.getRootNode?.({composed:t}):document}#ie(e,t){return this.#ae(e,t)[0]}#$(e){if(null!=e){if(e.startsWith("js:"))return e.substring(3);if(e.startsWith("javascript:"))return e.substring(11)}}#k(e){e.addEventListener("htmx:abort",()=>{this.#W(e).abort()})}#He(e,t,r){let{persistentIds:i,idMap:s}=this.#Pe(e,t),n=document.createElement("div");n.hidden=!0,document.body.after(n);let a={target:e,idMap:s,persistentIds:i,pantry:n};r?this.#Fe(a,e,t):this.#Fe(a,e.parentNode,t,e,e.nextSibling),this.#de(n),n.remove()}#Fe(e,t,r,i=null,s=null){t instanceof HTMLTemplateElement&&r instanceof HTMLTemplateElement&&(t=t.content,r=r.content),i||=t.firstChild;for(const n of r.childNodes){if(i&&i!=s){let t=this.#ze(e,n,i,s);if(t){if(t!==i){let r=i;for(;r&&r!==t;){let t=r;r=r.nextSibling,this.#We(e,t)}}this.#Ue(t,n,e),i=t.nextSibling;continue}}if(n instanceof Element&&e.persistentIds.has(n.id)){let r=e.target.id===n.id&&e.target||e.target.querySelector(`[id="${n.id}"]`)||e.pantry.querySelector(`[id="${n.id}"]`),s=r.id,a=r;for(;a=a.parentNode;){let t=e.idMap.get(a);t&&(t.delete(s),t.size||e.idMap.delete(a))}this.#Qe(t,r,i),this.#Ue(r,n,e),i=r.nextSibling;continue}let r;e.idMap.has(n)?(r=document.createElement(n.tagName),t.insertBefore(r,i),this.#Ue(r,n,e)):(r=document.importNode(n,!0),t.insertBefore(r,i)),i=r.nextSibling}for(;i&&i!=s;){let t=i;i=i.nextSibling,this.#We(e,t)}}#ze(e,t,r,i){let s=null,n=t.nextSibling,a=0,o=0,l=e.idMap.get(t),h=l?.size||0,c=r;for(;c&&c!=i;){let r=e.idMap.get(c);if(this.#Je(c,t)){if(r&&l&&[...r].some(e=>l.has(e)))return c;if(null===s&&!r){if(!h)return c;s=c}}if(o+=r?.size||0,o>h)break;if(null===s&&n&&this.#Je(c,n)&&(a++,n=n.nextSibling,a>=2&&(s=void 0)),c.contains(document.activeElement))break;c=c.nextSibling}return s||null}#Je(e,t){return e.nodeType===t.nodeType&&e.tagName===t.tagName&&(!e.id||e.id===t.id)}#We(e,t){e.idMap.has(t)?this.#Qe(e.pantry,t,null):(this.#de(t),t.remove())}#Qe(e,t,r){if(e.moveBefore)try{return void e.moveBefore(t,r)}catch(e){}e.insertBefore(t,r)}#Ue(e,t,r){let i=t.nodeType;if(1===i){let r=this.config.morphIgnore||[];this.#Ge(e,t,r),e instanceof HTMLTextAreaElement&&e.defaultValue!=t.defaultValue&&(e.value=t.value)}8!==i&&3!==i||e.nodeValue===t.nodeValue||(e.nodeValue=t.nodeValue),e.isEqualNode(t)||this.#Fe(r,e,t)}#Ge(e,t,r=[]){for(const i of t.attributes)r.includes(i.name)||e.getAttribute(i.name)===i.value||(e.setAttribute(i.name,i.value),"value"===i.name&&e instanceof HTMLInputElement&&"file"!==e.type&&(e.value=i.value));for(let i=e.attributes.length-1;i>=0;i--){let s=e.attributes[i];!s||t.hasAttribute(s.name)||r.includes(s.name)||e.removeAttribute(s.name)}}#Xe(e,t,r,i){for(const s of i)if(t.has(s.id)){let t=s;for(;t&&t!==r;){let r=e.get(t);null==r&&(r=new Set,e.set(t,r)),r.add(s.id),t=t.parentElement}}}#Pe(e,t){let r=this.#C(e,"[id]"),i=t.querySelectorAll("[id]"),s=this.#Ke(r,i),n=new Map;return this.#Xe(n,s,e.parentElement,r),this.#Xe(n,s,t,i),{persistentIds:s,idMap:n}}#Ke(e,t){let r=new Set,i=new Map;for(const{id:t,tagName:s}of e)i.has(t)?r.add(t):i.set(t,s);let s=new Set;for(const{id:e,tagName:n}of t)s.has(e)?r.add(e):i.get(e)===n&&s.add(e);for(const e of r)s.delete(e);return s}#Y(e){let t=e.response.raw.status,r=this.config.noSwap.map(e=>e+""),i=t+"";for(let t of[i,i.slice(0,2)+"x",i[0]+"xx"]){if(r.includes(t))return void(e.swap="none");let i=this.#m(e.sourceElement,"hx-status:"+t);if(i)return void Object.assign(e,this.#E(i))}}#Ne(e){return new Promise(t=>{this.#c||=[],this.#c.push({task:e,resolve:t}),this.#u||this.#Ye()})}async#Ye(){if(0===this.#c.length||this.#u)return;this.#u=!0;let{task:e,resolve:t}=this.#c.shift();try{document.startViewTransition?(this.#O(document,"htmx:before:viewTransition",{task:e}),await document.startViewTransition(e).finished,this.#O(document,"htmx:after:viewTransition",{task:e})):e()}catch(e){}finally{this.#u=!1,t(),this.#Ye()}}#Ie(e,t){let r=t.querySelectorAll("[id]"),i=Object.fromEntries([...r].map(e=>[e.id,e])),s=e.fragment.querySelectorAll("[id]");e.restoreTasks=[];for(let t of s){let r=i[t.id];if(r?.tagName===t.tagName){let i=t.cloneNode(!1);this.#Ge(t,r,this.config.morphIgnore),e.restoreTasks.push(()=>{this.#Ge(t,i,this.config.morphIgnore)})}}}#Oe(e){return"string"==typeof e?this.find(e):e}#q(e){return this.config.metaCharacter?e.replace(/:/g,this.config.metaCharacter):e}}})();export default htmx;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["htmx","ReqQ","c","q","issue","ctx","queueStrategy","this","map","value","status","abort","push","length","finish","next","shift","more","extMethods","Map","approvedExt","registeredExt","Set","internalAPI","actionSelector","boostSelector","verbs","hxOnQuery","transitionQueue","processingTransition","constructor","initHtmxConfig","initRequestIndicatorCss","prefix","XPathEvaluator","createExpression","attributeValue","bind","parseTriggerSpecs","determineMethodAndAction","createRequestContext","collectFormData","handleHxVals","document","addEventListener","initHistoryHandling","process","body","config","version","logAll","transitions","history","historyReload","mode","defaultSwap","indicatorClass","requestClass","includeIndicatorCSS","defaultTimeout","extensions","sse","maxRetries","Infinity","initialDelay","maxDelay","pauseHidden","morphIgnore","noSwap","implicitInheritance","metaConfig","querySelector","content","overrides","parseConfig","key","val","Array","isArray","Object","assign","nonceAttribute","inlineStyleNonce","indicator","request","head","insertAdjacentHTML","defineExtension","name","extension","split","includes","has","add","init","entries","forEach","get","set","ignore","elt","closest","s","replace","queryEltAndDescendants","selector","results","querySelectorAll","matches","unshift","normalizeSwapStyle","style","defaultVal","returnElt","appendName","maybeAdjustMetaCharacter","inheritName","inheritAppendName","hasAttribute","getAttribute","appendValue","parent","parentNode","CSS","escape","inherited","undefined","triggerExtensions","configString","JSON","parse","matchAll","reduce","result","match","keyPath","trim","test","parseInt","slice","obj","at","spec","m","filter","evt","isBoosted","boostedMethodAndAction","method","action","verb","verbAction","toUpperCase","submitter","initializeElement","shouldInitialize","trigger","_htmx","eventHandler","createHtmxEventHandler","setAttribute","initializeTriggers","initializeAbortListener","async","handleTriggerEvent","e","console","error","sourceElement","sourceEvent","select","selectOOB","target","resolveTarget","swap","transition","confirm","validate","headers","determineHeaders","configAttr","configOverrides","req","startsWith","actualKey","substring","etag","id","location","href","Accept","headersAttribute","Element","find","boosted","isConnected","isModifierKeyClick","shouldCancel","preventDefault","form","valsResult","values","k","delete","append","ac","AbortController","originalAction","credentials","signal","toLowerCase","reportValidity","javascriptContent","extractJavascriptContent","data","fromEntries","executeJavaScriptAsync","params","URLSearchParams","size","issueRequest","syncStrategy","determineSyncStrategy","requestQueue","getRequestQueue","initTimeout","indicatorsSelector","indicators","showIndicators","disableSelector","disableElements","Promise","resolve","skip","js","window","fetch","response","raw","extractHxHeaders","isSSE","text","handleHeadersAndMaybeReturnEarly","handleSSE","hx","retarget","reswap","reselect","handleStatusCodes","hideIndicators","enableElements","v","handleTriggerHeader","refresh","reload","redirect","path","opts","ajax","once","continuous","waitForVisible","r","onVisible","hidden","removeEventListener","lastEventId","attempt","currentResponse","reconnect","delay","Math","min","parseInterval","pow","cancelled","setTimeout","sseMessage","parseSSE","msg","event","message","reader","getReader","decoder","TextDecoder","buffer","retry","done","read","decode","stream","lines","pop","line","colonIndex","indexOf","field","trimStart","retryValue","isNaN","releaseLock","timeoutInterval","timeout","requestTimeout","syncValue","syncElt","findExt","_htmxRequestQueue","type","ctrlKey","metaKey","shiftKey","currentTarget","tagName","button","btn","disabled","link","initialHandler","specString","triggerSpecs","listeners","handler","eventName","extractFilter","original","listenerInfo","fromElt","observerOptions","root","threshold","parseFloat","isRevealed","observer","IntersectionObserver","i","isIntersecting","disconnect","observe","clearTimeout","throttle","throttled","throttledEvent","throttleTimeout","interval","keys","setInterval","clearInterval","executeFilter","fromElts","from","findAllExt","consume","stopPropagation","changed","str","triggers","detail","apiMethods","thisArg","bound","proto","getPrototypeOf","getOwnPropertyNames","arg1","arg2","code","expression","args","func","AsyncFunction","call","Function","child","maybeBoost","handleHxOnAttributes","iter","evaluate","node","iterateNext","shouldBoost","requests","click","submit","isSameOrigin","url","URL","origin","cleanup","handlePreservedElements","fragment","pantry","createElement","display","appendChild","newPreservedElts","preservedElt","currentElt","getElementById","moveBefore","restorePreservedElements","children","newElt","replaceWith","remove","parseHTML","resp","Document","parseHTMLUnsafe","DOMParser","parseFromString","makeFragment","title","doc","responseWithNoHead","startTag","processScripts","createOOBTask","tasks","oobValue","swapSpec","parseSwapSpec","strip","createDocumentFragment","processOOB","oobElt","removeAttribute","insertNodes","before","childNodes","swapStr","processPartials","templateElt","cloneNode","handleAutoFocus","autofocus","focus","handleScroll","task","scroll","scrollTarget","scrollTop","scrollHeight","show","showTarget","scrollIntoView","handleAnchorScroll","anchor","block","behavior","container","scripts","oldScript","newScript","attr","attributes","inlineScriptNonce","nonce","textContent","handleHistoryUpdate","oobTasks","partialTasks","mainSwap","processMainSwap","transitionTasks","t","nonTransitionTasks","insertContent","tasksWrapper","submitTransitionTask","ignoreTitle","restore","restoreTasks","innerHTML","selected","firstElementChild","unstripped","newContent","captureCSSTransitions","replaceChildren","removeChild","morph","firstChild","Error","nextSibling","on","bubbles","log","normalizeElement","methods","fn","time","forEvent","reject","timeoutId","onLoad","callback","takeClass","element","className","parentElement","findAll","classList","eventOrElt","eventOrCallback","selectorOrElt","n","u","ms","CustomEvent","cancelable","composed","originalTarget","dispatchEvent","context","sourceElt","source","state","replaceState","pathname","search","restoreHistory","pushUrlIntoHistory","pushState","replaceUrlInHistory","cacheMiss","pushurl","replaceurl","historyDetail","getAttributeNames","searchString","evtName","indicatorElements","_htmxReqCount","disabledSelector","disabledElements","_htmxDisableCount","formData","FormData","included","elements","includeSelector","includeNodes","addInputValues","inputs","input","checked","file","files","option","selectedOptions","hxValsValue","then","stringHyperscriptStyleSelector","endsWith","eltOrSelector","maybeSelector","global","parts","p","unprocessedParts","part","item","nextElementSibling","scanForwardQuery","previousElementSibling","scanBackwardsQuery","getRootNode","host","standardSelector","join","rootNode","start","scanUntilComparison","Node","DOCUMENT_POSITION_PRECEDING","reverse","DOCUMENT_POSITION_FOLLOWING","comparison","compareDocumentPosition","string","oldNode","persistentIds","idMap","createIdMaps","after","morphChildren","oldParent","newParent","insertionPoint","endPoint","HTMLTemplateElement","newChild","bestMatch","findBestMatch","cursor","tempNode","removeNode","morphNode","elementId","idSet","tempChild","insertBefore","importNode","startPoint","softMatch","siblingSoftMatchCount","displaceMatchCount","newSet","nodeMatchCount","oldSet","isSoftMatch","some","contains","activeElement","newNode","nodeType","noMorph","copyAttributes","HTMLTextAreaElement","defaultValue","nodeValue","isEqualNode","destination","attributesToIgnore","HTMLInputElement","populateIdMapWithTree","current","oldIdElements","newIdElements","createPersistentIds","duplicateIds","oldIdTagNameMap","noSwapStrings","x","pattern","statusValue","processTransitionQueue","startViewTransition","finished","idElements","existingElementsById","newElementsWithIds","existing","clone","cssOrElement","metaCharacter"],"sources":["dist/htmx.esm.js"],"mappings":"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","ignoreList":[]}