@livetemplate/client 0.3.0 → 0.4.0

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.
@@ -8,6 +8,7 @@ export interface EventDelegationContext {
8
8
  openModal(modalId: string): void;
9
9
  closeModal(modalId: string): void;
10
10
  getWebSocketReadyState(): number | undefined;
11
+ triggerPendingUploads(uploadName: string): void;
11
12
  }
12
13
  /**
13
14
  * Handles all DOM event delegation concerns for LiveTemplateClient.
@@ -1 +1 @@
1
- {"version":3,"file":"event-delegation.d.ts","sourceRoot":"","sources":["../../dom/event-delegation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,IAAI,OAAO,GAAG,IAAI,CAAC;IACpC,sBAAsB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClE,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;IACzB,mBAAmB,CACjB,IAAI,EAAE,eAAe,GAAG,IAAI,EAC5B,MAAM,EAAE,iBAAiB,GAAG,IAAI,EAChC,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAChC,IAAI,CAAC;IACR,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAAC;CAC9C;AAED;;GAEG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,OAAO,EAAE,sBAAsB,EAC/B,MAAM,EAAE,MAAM;IAGjC,oBAAoB,IAAI,IAAI;IAmR5B,0BAA0B,IAAI,IAAI;IAoGlC,wBAAwB,IAAI,IAAI;IAgDhC,oBAAoB,IAAI,IAAI;CAkG7B"}
1
+ {"version":3,"file":"event-delegation.d.ts","sourceRoot":"","sources":["../../dom/event-delegation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,IAAI,OAAO,GAAG,IAAI,CAAC;IACpC,sBAAsB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClE,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;IACzB,mBAAmB,CACjB,IAAI,EAAE,eAAe,GAAG,IAAI,EAC5B,MAAM,EAAE,iBAAiB,GAAG,IAAI,EAChC,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAChC,IAAI,CAAC;IACR,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAAC;IAC7C,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACjD;AAED;;GAEG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,OAAO,EAAE,sBAAsB,EAC/B,MAAM,EAAE,MAAM;IAGjC,oBAAoB,IAAI,IAAI;IA+R5B,0BAA0B,IAAI,IAAI;IAoGlC,wBAAwB,IAAI,IAAI;IAgDhC,oBAAoB,IAAI,IAAI;CAkG7B"}
@@ -167,6 +167,15 @@ class EventDelegator {
167
167
  this.logger.debug("Disabled submit button");
168
168
  }
169
169
  this.context.setActiveSubmission(targetElement, submitButton || null, originalButtonText);
170
+ // Trigger pending uploads for any file inputs in the form
171
+ const fileInputs = targetElement.querySelectorAll('input[type="file"][lvt-upload]');
172
+ fileInputs.forEach((input) => {
173
+ const uploadName = input.getAttribute("lvt-upload");
174
+ if (uploadName) {
175
+ this.logger.debug("Triggering pending uploads for:", uploadName);
176
+ this.context.triggerPendingUploads(uploadName);
177
+ }
178
+ });
170
179
  targetElement.dispatchEvent(new CustomEvent("lvt:pending", { detail: message }));
171
180
  this.logger.debug("Emitted lvt:pending event");
172
181
  }
@@ -1 +1 @@
1
- {"version":3,"file":"event-delegation.js","sourceRoot":"","sources":["../../dom/event-delegation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-delegation.js","sourceRoot":"","sources":["../../dom/event-delegation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";var LiveTemplateClient=(()=>{var ae=Object.defineProperty;var Ue=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var Re=Object.prototype.hasOwnProperty;var Oe=(a,e)=>{for(var t in e)ae(a,t,{get:e[t],enumerable:!0})},He=(a,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ce(e))!Re.call(a,r)&&r!==t&&ae(a,r,{get:()=>e[r],enumerable:!(n=Ue(e,r))||n.enumerable});return a};var Ie=a=>He(ae({},"__esModule",{value:!0}),a);var Qe={};Oe(Qe,{LiveTemplateClient:()=>re,compareHTML:()=>Fe,loadAndApplyUpdate:()=>xe});var ve=11;function De(a,e){var t=e.attributes,n,r,s,o,i;if(!(e.nodeType===ve||a.nodeType===ve)){for(var l=t.length-1;l>=0;l--)n=t[l],r=n.name,s=n.namespaceURI,o=n.value,s?(r=n.localName||r,i=a.getAttributeNS(s,r),i!==o&&(n.prefix==="xmlns"&&(r=n.name),a.setAttributeNS(s,r,o))):(i=a.getAttribute(r),i!==o&&a.setAttribute(r,o));for(var c=a.attributes,d=c.length-1;d>=0;d--)n=c[d],r=n.name,s=n.namespaceURI,s?(r=n.localName||r,e.hasAttributeNS(s,r)||a.removeAttributeNS(s,r)):e.hasAttribute(r)||a.removeAttribute(r)}}var K,We="http://www.w3.org/1999/xhtml",C=typeof document=="undefined"?void 0:document,Ne=!!C&&"content"in C.createElement("template"),$e=!!C&&C.createRange&&"createContextualFragment"in C.createRange();function Pe(a){var e=C.createElement("template");return e.innerHTML=a,e.content.childNodes[0]}function Be(a){K||(K=C.createRange(),K.selectNode(C.body));var e=K.createContextualFragment(a);return e.childNodes[0]}function Ve(a){var e=C.createElement("body");return e.innerHTML=a,e.childNodes[0]}function Ke(a){return a=a.trim(),Ne?Pe(a):$e?Be(a):Ve(a)}function j(a,e){var t=a.nodeName,n=e.nodeName,r,s;return t===n?!0:(r=t.charCodeAt(0),s=n.charCodeAt(0),r<=90&&s>=97?t===n.toUpperCase():s<=90&&r>=97?n===t.toUpperCase():!1)}function je(a,e){return!e||e===We?C.createElement(a):C.createElementNS(e,a)}function ze(a,e){for(var t=a.firstChild;t;){var n=t.nextSibling;e.appendChild(t),t=n}return e}function le(a,e,t){a[t]!==e[t]&&(a[t]=e[t],a[t]?a.setAttribute(t,""):a.removeAttribute(t))}var be={OPTION:function(a,e){var t=a.parentNode;if(t){var n=t.nodeName.toUpperCase();n==="OPTGROUP"&&(t=t.parentNode,n=t&&t.nodeName.toUpperCase()),n==="SELECT"&&!t.hasAttribute("multiple")&&(a.hasAttribute("selected")&&!e.selected&&(a.setAttribute("selected","selected"),a.removeAttribute("selected")),t.selectedIndex=-1)}le(a,e,"selected")},INPUT:function(a,e){le(a,e,"checked"),le(a,e,"disabled"),a.value!==e.value&&(a.value=e.value),e.hasAttribute("value")||a.removeAttribute("value")},TEXTAREA:function(a,e){var t=e.value;a.value!==t&&(a.value=t);var n=a.firstChild;if(n){var r=n.nodeValue;if(r==t||!t&&r==a.placeholder)return;n.nodeValue=t}},SELECT:function(a,e){if(!e.hasAttribute("multiple")){for(var t=-1,n=0,r=a.firstChild,s,o;r;)if(o=r.nodeName&&r.nodeName.toUpperCase(),o==="OPTGROUP")s=r,r=s.firstChild,r||(r=s.nextSibling,s=null);else{if(o==="OPTION"){if(r.hasAttribute("selected")){t=n;break}n++}r=r.nextSibling,!r&&s&&(r=s.nextSibling,s=null)}a.selectedIndex=t}}},$=1,ye=11,Ee=3,we=8;function I(){}function qe(a){if(a)return a.getAttribute&&a.getAttribute("id")||a.id}function Ge(a){return function(t,n,r){if(r||(r={}),typeof n=="string")if(t.nodeName==="#document"||t.nodeName==="HTML"||t.nodeName==="BODY"){var s=n;n=C.createElement("html"),n.innerHTML=s}else n=Ke(n);else n.nodeType===ye&&(n=n.firstElementChild);var o=r.getNodeKey||qe,i=r.onBeforeNodeAdded||I,l=r.onNodeAdded||I,c=r.onBeforeElUpdated||I,d=r.onElUpdated||I,M=r.onBeforeNodeDiscarded||I,f=r.onNodeDiscarded||I,m=r.onBeforeElChildrenUpdated||I,F=r.skipFromChildren||I,L=r.addChild||function(p,g){return p.appendChild(g)},b=r.childrenOnly===!0,h=Object.create(null),u=[];function y(p){u.push(p)}function _(p,g){if(p.nodeType===$)for(var A=p.firstChild;A;){var v=void 0;g&&(v=o(A))?y(v):(f(A),A.firstChild&&_(A,g)),A=A.nextSibling}}function x(p,g,A){M(p)!==!1&&(g&&g.removeChild(p),f(p),_(p,A))}function w(p){if(p.nodeType===$||p.nodeType===ye)for(var g=p.firstChild;g;){var A=o(g);A&&(h[A]=g),w(g),g=g.nextSibling}}w(t);function S(p){l(p);for(var g=p.firstChild;g;){var A=g.nextSibling,v=o(g);if(v){var E=h[v];E&&j(g,E)?(g.parentNode.replaceChild(E,g),U(E,g)):S(g)}else S(g);g=A}}function k(p,g,A){for(;g;){var v=g.nextSibling;(A=o(g))?y(A):x(g,p,!0),g=v}}function U(p,g,A){var v=o(g);if(v&&delete h[v],!A){var E=c(p,g);if(E===!1||(E instanceof HTMLElement&&(p=E,w(p)),a(p,g),d(p),m(p,g)===!1))return}p.nodeName!=="TEXTAREA"?D(p,g):be.TEXTAREA(p,g)}function D(p,g){var A=F(p,g),v=g.firstChild,E=p.firstChild,W,R,N,B,O;e:for(;v;){for(B=v.nextSibling,W=o(v);!A&&E;){if(N=E.nextSibling,v.isSameNode&&v.isSameNode(E)){v=B,E=N;continue e}R=o(E);var V=E.nodeType,H=void 0;if(V===v.nodeType&&(V===$?(W?W!==R&&((O=h[W])?N===O?H=!1:(p.insertBefore(O,E),R?y(R):x(E,p,!0),E=O,R=o(E)):H=!1):R&&(H=!1),H=H!==!1&&j(E,v),H&&U(E,v)):(V===Ee||V==we)&&(H=!0,E.nodeValue!==v.nodeValue&&(E.nodeValue=v.nodeValue))),H){v=B,E=N;continue e}R?y(R):x(E,p,!0),E=N}if(W&&(O=h[W])&&j(O,v))A||L(p,O),U(O,v);else{var oe=i(v);oe!==!1&&(oe&&(v=oe),v.actualize&&(v=v.actualize(p.ownerDocument||C)),L(p,v),S(v))}v=B,E=N}k(p,E,R);var fe=be[p.nodeName];fe&&fe(p,g)}var T=t,P=T.nodeType,me=n.nodeType;if(!b){if(P===$)me===$?j(t,n)||(f(t),T=ze(t,je(n.nodeName,n.namespaceURI))):T=n;else if(P===Ee||P===we){if(me===P)return T.nodeValue!==n.nodeValue&&(T.nodeValue=n.nodeValue),T;T=n}}if(T===n)f(t);else{if(n.isSameNode&&n.isSameNode(T))return;if(U(T,n,b),u)for(var se=0,_e=u.length;se<_e;se++){var ie=h[u[se]];ie&&x(ie,ie.parentNode,!1)}}return!b&&T!==t&&t.parentNode&&(T.actualize&&(T=T.actualize(t.ownerDocument||C)),t.parentNode.replaceChild(T,t)),T}}var Je=Ge(De),Se=Je;var ce=["text","textarea","number","email","password","search","tel","url","date","time","datetime-local","color","range"];var z=class{constructor(e){this.logger=e;this.wrapperElement=null;this.focusableElements=[];this.lastFocusedElement=null;this.lastFocusedSelectionStart=null;this.lastFocusedSelectionEnd=null}attach(e){this.wrapperElement=e,e&&(this.updateFocusableElements(),this.setupFocusTracking())}reset(){this.wrapperElement=null,this.focusableElements=[],this.lastFocusedElement=null,this.lastFocusedSelectionStart=null,this.lastFocusedSelectionEnd=null}updateFocusableElements(){if(!this.wrapperElement)return;let n=`${ce.map(r=>r==="textarea"?"textarea:not([disabled])":`input[type="${r}"]:not([disabled])`).join(", ")}, select:not([disabled]), button:not([disabled]), [contenteditable="true"], [tabindex]:not([tabindex="-1"])`;this.focusableElements=Array.from(this.wrapperElement.querySelectorAll(n))}setupFocusTracking(){if(!this.wrapperElement)return;let e=this.wrapperElement.getAttribute("data-lvt-id"),t=`__lvt_focus_tracker_${e}`,n=`__lvt_blur_tracker_${e}`,r=o=>{var l;let i=o.target;!i||!((l=this.wrapperElement)!=null&&l.contains(i))||(this.isTextualInput(i)||i instanceof HTMLSelectElement)&&(this.lastFocusedElement=i,this.logger.debug("[Focus] Tracked focus on:",i.tagName,i.id||i.getAttribute("name")),this.isTextualInput(i)&&(this.lastFocusedSelectionStart=i.selectionStart,this.lastFocusedSelectionEnd=i.selectionEnd))},s=o=>{var l;let i=o.target;!i||!((l=this.wrapperElement)!=null&&l.contains(i))||this.isTextualInput(i)&&i===this.lastFocusedElement&&(this.lastFocusedSelectionStart=i.selectionStart,this.lastFocusedSelectionEnd=i.selectionEnd,this.logger.debug("[Focus] Saved cursor on blur:",this.lastFocusedSelectionStart,"-",this.lastFocusedSelectionEnd))};document[t]&&document.removeEventListener("focus",document[t],!0),document[n]&&document.removeEventListener("blur",document[n],!0),document[t]=r,document[n]=s,document.addEventListener("focus",r,!0),document.addEventListener("blur",s,!0),this.logger.debug("[Focus] Focus tracking set up")}restoreFocusedElement(){var r,s,o;if(this.logger.debug("[Focus] restoreFocusedElement - lastFocusedElement:",(r=this.lastFocusedElement)==null?void 0:r.tagName,((s=this.lastFocusedElement)==null?void 0:s.id)||((o=this.lastFocusedElement)==null?void 0:o.getAttribute("name"))),!this.lastFocusedElement||!this.wrapperElement){this.logger.debug("[Focus] No element to restore");return}let e=this.getElementSelector(this.lastFocusedElement);if(this.logger.debug("[Focus] Selector for last focused:",e),!e){this.logger.debug("[Focus] Could not generate selector");return}let t=null;if(e.startsWith("data-focus-index-")){this.updateFocusableElements();let i=parseInt(e.replace("data-focus-index-",""),10);t=this.focusableElements[i]||null,this.logger.debug("[Focus] Found by index:",i,t==null?void 0:t.tagName)}else t=this.wrapperElement.querySelector(e),this.logger.debug("[Focus] Found by selector:",e,t==null?void 0:t.tagName);if(!t){this.logger.debug("[Focus] Element not found in updated DOM");return}let n=t.matches(":focus");this.logger.debug("[Focus] Already focused:",n),n||(t.focus(),this.logger.debug("[Focus] Restored focus")),this.isTextualInput(t)&&this.lastFocusedSelectionStart!==null&&this.lastFocusedSelectionEnd!==null&&(t.setSelectionRange(this.lastFocusedSelectionStart,this.lastFocusedSelectionEnd),this.logger.debug("[Focus] Restored cursor:",this.lastFocusedSelectionStart,"-",this.lastFocusedSelectionEnd))}isTextualInput(e){return e instanceof HTMLTextAreaElement?!0:e instanceof HTMLInputElement?ce.indexOf(e.type)>=0:!1}getLastFocusedElement(){return this.lastFocusedElement}getElementSelector(e){if(e.id)return`#${e.id}`;if(e.name)return`[name="${e.name}"]`;if(e.getAttribute("data-key"))return`[data-key="${e.getAttribute("data-key")}"]`;let t=this.focusableElements.indexOf(e);return t>=0?`data-focus-index-${t}`:null}};function Me(a){a.querySelectorAll("[lvt-scroll]").forEach(t=>{let n=t,r=n.getAttribute("lvt-scroll"),s=n.getAttribute("lvt-scroll-behavior")||"auto",o=parseInt(n.getAttribute("lvt-scroll-threshold")||"100",10);if(r)switch(r){case"bottom":n.scrollTo({top:n.scrollHeight,behavior:s});break;case"bottom-sticky":{n.scrollHeight-n.scrollTop-n.clientHeight<=o&&n.scrollTo({top:n.scrollHeight,behavior:s});break}case"top":n.scrollTo({top:0,behavior:s});break;case"preserve":break;default:console.warn(`Unknown lvt-scroll mode: ${r}`)}})}function ke(a){a.querySelectorAll("[lvt-highlight]").forEach(t=>{let n=t.getAttribute("lvt-highlight"),r=parseInt(t.getAttribute("lvt-highlight-duration")||"500",10),s=t.getAttribute("lvt-highlight-color")||"#ffc107";if(!n)return;let o=t,i=o.style.backgroundColor,l=o.style.transition;o.style.transition=`background-color ${r}ms ease-out`,o.style.backgroundColor=s,setTimeout(()=>{o.style.backgroundColor=i,setTimeout(()=>{o.style.transition=l},r)},50)})}function Ae(a){if(a.querySelectorAll("[lvt-animate]").forEach(t=>{let n=t.getAttribute("lvt-animate"),r=parseInt(t.getAttribute("lvt-animate-duration")||"300",10);if(!n)return;let s=t;switch(s.style.setProperty("--lvt-animate-duration",`${r}ms`),n){case"fade":s.style.animation="lvt-fade-in var(--lvt-animate-duration) ease-out";break;case"slide":s.style.animation="lvt-slide-in var(--lvt-animate-duration) ease-out";break;case"scale":s.style.animation="lvt-scale-in var(--lvt-animate-duration) ease-out";break;default:console.warn(`Unknown lvt-animate mode: ${n}`)}s.addEventListener("animationend",()=>{s.style.animation=""},{once:!0})}),!document.getElementById("lvt-animate-styles")){let t=document.createElement("style");t.id="lvt-animate-styles",t.textContent=`
1
+ "use strict";var LiveTemplateClient=(()=>{var ae=Object.defineProperty;var _e=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var Re=Object.prototype.hasOwnProperty;var He=(a,e)=>{for(var t in e)ae(a,t,{get:e[t],enumerable:!0})},Oe=(a,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ce(e))!Re.call(a,r)&&r!==t&&ae(a,r,{get:()=>e[r],enumerable:!(n=_e(e,r))||n.enumerable});return a};var Ie=a=>Oe(ae({},"__esModule",{value:!0}),a);var Qe={};He(Qe,{LiveTemplateClient:()=>re,compareHTML:()=>Fe,loadAndApplyUpdate:()=>xe});var ve=11;function De(a,e){var t=e.attributes,n,r,s,o,i;if(!(e.nodeType===ve||a.nodeType===ve)){for(var l=t.length-1;l>=0;l--)n=t[l],r=n.name,s=n.namespaceURI,o=n.value,s?(r=n.localName||r,i=a.getAttributeNS(s,r),i!==o&&(n.prefix==="xmlns"&&(r=n.name),a.setAttributeNS(s,r,o))):(i=a.getAttribute(r),i!==o&&a.setAttribute(r,o));for(var c=a.attributes,d=c.length-1;d>=0;d--)n=c[d],r=n.name,s=n.namespaceURI,s?(r=n.localName||r,e.hasAttributeNS(s,r)||a.removeAttributeNS(s,r)):e.hasAttribute(r)||a.removeAttribute(r)}}var K,Ne="http://www.w3.org/1999/xhtml",C=typeof document=="undefined"?void 0:document,We=!!C&&"content"in C.createElement("template"),$e=!!C&&C.createRange&&"createContextualFragment"in C.createRange();function Pe(a){var e=C.createElement("template");return e.innerHTML=a,e.content.childNodes[0]}function Be(a){K||(K=C.createRange(),K.selectNode(C.body));var e=K.createContextualFragment(a);return e.childNodes[0]}function Ve(a){var e=C.createElement("body");return e.innerHTML=a,e.childNodes[0]}function Ke(a){return a=a.trim(),We?Pe(a):$e?Be(a):Ve(a)}function j(a,e){var t=a.nodeName,n=e.nodeName,r,s;return t===n?!0:(r=t.charCodeAt(0),s=n.charCodeAt(0),r<=90&&s>=97?t===n.toUpperCase():s<=90&&r>=97?n===t.toUpperCase():!1)}function je(a,e){return!e||e===Ne?C.createElement(a):C.createElementNS(e,a)}function ze(a,e){for(var t=a.firstChild;t;){var n=t.nextSibling;e.appendChild(t),t=n}return e}function le(a,e,t){a[t]!==e[t]&&(a[t]=e[t],a[t]?a.setAttribute(t,""):a.removeAttribute(t))}var be={OPTION:function(a,e){var t=a.parentNode;if(t){var n=t.nodeName.toUpperCase();n==="OPTGROUP"&&(t=t.parentNode,n=t&&t.nodeName.toUpperCase()),n==="SELECT"&&!t.hasAttribute("multiple")&&(a.hasAttribute("selected")&&!e.selected&&(a.setAttribute("selected","selected"),a.removeAttribute("selected")),t.selectedIndex=-1)}le(a,e,"selected")},INPUT:function(a,e){le(a,e,"checked"),le(a,e,"disabled"),a.value!==e.value&&(a.value=e.value),e.hasAttribute("value")||a.removeAttribute("value")},TEXTAREA:function(a,e){var t=e.value;a.value!==t&&(a.value=t);var n=a.firstChild;if(n){var r=n.nodeValue;if(r==t||!t&&r==a.placeholder)return;n.nodeValue=t}},SELECT:function(a,e){if(!e.hasAttribute("multiple")){for(var t=-1,n=0,r=a.firstChild,s,o;r;)if(o=r.nodeName&&r.nodeName.toUpperCase(),o==="OPTGROUP")s=r,r=s.firstChild,r||(r=s.nextSibling,s=null);else{if(o==="OPTION"){if(r.hasAttribute("selected")){t=n;break}n++}r=r.nextSibling,!r&&s&&(r=s.nextSibling,s=null)}a.selectedIndex=t}}},P=1,ye=11,Ee=3,we=8;function N(){}function qe(a){if(a)return a.getAttribute&&a.getAttribute("id")||a.id}function Ge(a){return function(t,n,r){if(r||(r={}),typeof n=="string")if(t.nodeName==="#document"||t.nodeName==="HTML"||t.nodeName==="BODY"){var s=n;n=C.createElement("html"),n.innerHTML=s}else n=Ke(n);else n.nodeType===ye&&(n=n.firstElementChild);var o=r.getNodeKey||qe,i=r.onBeforeNodeAdded||N,l=r.onNodeAdded||N,c=r.onBeforeElUpdated||N,d=r.onElUpdated||N,M=r.onBeforeNodeDiscarded||N,m=r.onNodeDiscarded||N,f=r.onBeforeElChildrenUpdated||N,F=r.skipFromChildren||N,L=r.addChild||function(p,g){return p.appendChild(g)},b=r.childrenOnly===!0,h=Object.create(null),u=[];function y(p){u.push(p)}function U(p,g){if(p.nodeType===P)for(var T=p.firstChild;T;){var v=void 0;g&&(v=o(T))?y(v):(m(T),T.firstChild&&U(T,g)),T=T.nextSibling}}function x(p,g,T){M(p)!==!1&&(g&&g.removeChild(p),m(p),U(p,T))}function w(p){if(p.nodeType===P||p.nodeType===ye)for(var g=p.firstChild;g;){var T=o(g);T&&(h[T]=g),w(g),g=g.nextSibling}}w(t);function S(p){l(p);for(var g=p.firstChild;g;){var T=g.nextSibling,v=o(g);if(v){var E=h[v];E&&j(g,E)?(g.parentNode.replaceChild(E,g),_(E,g)):S(g)}else S(g);g=T}}function k(p,g,T){for(;g;){var v=g.nextSibling;(T=o(g))?y(T):x(g,p,!0),g=v}}function _(p,g,T){var v=o(g);if(v&&delete h[v],!T){var E=c(p,g);if(E===!1||(E instanceof HTMLElement&&(p=E,w(p)),a(p,g),d(p),f(p,g)===!1))return}p.nodeName!=="TEXTAREA"?H(p,g):be.TEXTAREA(p,g)}function H(p,g){var T=F(p,g),v=g.firstChild,E=p.firstChild,W,R,$,B,I;e:for(;v;){for(B=v.nextSibling,W=o(v);!T&&E;){if($=E.nextSibling,v.isSameNode&&v.isSameNode(E)){v=B,E=$;continue e}R=o(E);var V=E.nodeType,D=void 0;if(V===v.nodeType&&(V===P?(W?W!==R&&((I=h[W])?$===I?D=!1:(p.insertBefore(I,E),R?y(R):x(E,p,!0),E=I,R=o(E)):D=!1):R&&(D=!1),D=D!==!1&&j(E,v),D&&_(E,v)):(V===Ee||V==we)&&(D=!0,E.nodeValue!==v.nodeValue&&(E.nodeValue=v.nodeValue))),D){v=B,E=$;continue e}R?y(R):x(E,p,!0),E=$}if(W&&(I=h[W])&&j(I,v))T||L(p,I),_(I,v);else{var oe=i(v);oe!==!1&&(oe&&(v=oe),v.actualize&&(v=v.actualize(p.ownerDocument||C)),L(p,v),S(v))}v=B,E=$}k(p,E,R);var me=be[p.nodeName];me&&me(p,g)}var A=t,O=A.nodeType,fe=n.nodeType;if(!b){if(O===P)fe===P?j(t,n)||(m(t),A=ze(t,je(n.nodeName,n.namespaceURI))):A=n;else if(O===Ee||O===we){if(fe===O)return A.nodeValue!==n.nodeValue&&(A.nodeValue=n.nodeValue),A;A=n}}if(A===n)m(t);else{if(n.isSameNode&&n.isSameNode(A))return;if(_(A,n,b),u)for(var se=0,Ue=u.length;se<Ue;se++){var ie=h[u[se]];ie&&x(ie,ie.parentNode,!1)}}return!b&&A!==t&&t.parentNode&&(A.actualize&&(A=A.actualize(t.ownerDocument||C)),t.parentNode.replaceChild(A,t)),A}}var Je=Ge(De),Se=Je;var ce=["text","textarea","number","email","password","search","tel","url","date","time","datetime-local","color","range"];var z=class{constructor(e){this.logger=e;this.wrapperElement=null;this.focusableElements=[];this.lastFocusedElement=null;this.lastFocusedSelectionStart=null;this.lastFocusedSelectionEnd=null}attach(e){this.wrapperElement=e,e&&(this.updateFocusableElements(),this.setupFocusTracking())}reset(){this.wrapperElement=null,this.focusableElements=[],this.lastFocusedElement=null,this.lastFocusedSelectionStart=null,this.lastFocusedSelectionEnd=null}updateFocusableElements(){if(!this.wrapperElement)return;let n=`${ce.map(r=>r==="textarea"?"textarea:not([disabled])":`input[type="${r}"]:not([disabled])`).join(", ")}, select:not([disabled]), button:not([disabled]), [contenteditable="true"], [tabindex]:not([tabindex="-1"])`;this.focusableElements=Array.from(this.wrapperElement.querySelectorAll(n))}setupFocusTracking(){if(!this.wrapperElement)return;let e=this.wrapperElement.getAttribute("data-lvt-id"),t=`__lvt_focus_tracker_${e}`,n=`__lvt_blur_tracker_${e}`,r=o=>{var l;let i=o.target;!i||!((l=this.wrapperElement)!=null&&l.contains(i))||(this.isTextualInput(i)||i instanceof HTMLSelectElement)&&(this.lastFocusedElement=i,this.logger.debug("[Focus] Tracked focus on:",i.tagName,i.id||i.getAttribute("name")),this.isTextualInput(i)&&(this.lastFocusedSelectionStart=i.selectionStart,this.lastFocusedSelectionEnd=i.selectionEnd))},s=o=>{var l;let i=o.target;!i||!((l=this.wrapperElement)!=null&&l.contains(i))||this.isTextualInput(i)&&i===this.lastFocusedElement&&(this.lastFocusedSelectionStart=i.selectionStart,this.lastFocusedSelectionEnd=i.selectionEnd,this.logger.debug("[Focus] Saved cursor on blur:",this.lastFocusedSelectionStart,"-",this.lastFocusedSelectionEnd))};document[t]&&document.removeEventListener("focus",document[t],!0),document[n]&&document.removeEventListener("blur",document[n],!0),document[t]=r,document[n]=s,document.addEventListener("focus",r,!0),document.addEventListener("blur",s,!0),this.logger.debug("[Focus] Focus tracking set up")}restoreFocusedElement(){var r,s,o;if(this.logger.debug("[Focus] restoreFocusedElement - lastFocusedElement:",(r=this.lastFocusedElement)==null?void 0:r.tagName,((s=this.lastFocusedElement)==null?void 0:s.id)||((o=this.lastFocusedElement)==null?void 0:o.getAttribute("name"))),!this.lastFocusedElement||!this.wrapperElement){this.logger.debug("[Focus] No element to restore");return}let e=this.getElementSelector(this.lastFocusedElement);if(this.logger.debug("[Focus] Selector for last focused:",e),!e){this.logger.debug("[Focus] Could not generate selector");return}let t=null;if(e.startsWith("data-focus-index-")){this.updateFocusableElements();let i=parseInt(e.replace("data-focus-index-",""),10);t=this.focusableElements[i]||null,this.logger.debug("[Focus] Found by index:",i,t==null?void 0:t.tagName)}else t=this.wrapperElement.querySelector(e),this.logger.debug("[Focus] Found by selector:",e,t==null?void 0:t.tagName);if(!t){this.logger.debug("[Focus] Element not found in updated DOM");return}let n=t.matches(":focus");this.logger.debug("[Focus] Already focused:",n),n||(t.focus(),this.logger.debug("[Focus] Restored focus")),this.isTextualInput(t)&&this.lastFocusedSelectionStart!==null&&this.lastFocusedSelectionEnd!==null&&(t.setSelectionRange(this.lastFocusedSelectionStart,this.lastFocusedSelectionEnd),this.logger.debug("[Focus] Restored cursor:",this.lastFocusedSelectionStart,"-",this.lastFocusedSelectionEnd))}isTextualInput(e){return e instanceof HTMLTextAreaElement?!0:e instanceof HTMLInputElement?ce.indexOf(e.type)>=0:!1}getLastFocusedElement(){return this.lastFocusedElement}getElementSelector(e){if(e.id)return`#${e.id}`;if(e.name)return`[name="${e.name}"]`;if(e.getAttribute("data-key"))return`[data-key="${e.getAttribute("data-key")}"]`;let t=this.focusableElements.indexOf(e);return t>=0?`data-focus-index-${t}`:null}};function Me(a){a.querySelectorAll("[lvt-scroll]").forEach(t=>{let n=t,r=n.getAttribute("lvt-scroll"),s=n.getAttribute("lvt-scroll-behavior")||"auto",o=parseInt(n.getAttribute("lvt-scroll-threshold")||"100",10);if(r)switch(r){case"bottom":n.scrollTo({top:n.scrollHeight,behavior:s});break;case"bottom-sticky":{n.scrollHeight-n.scrollTop-n.clientHeight<=o&&n.scrollTo({top:n.scrollHeight,behavior:s});break}case"top":n.scrollTo({top:0,behavior:s});break;case"preserve":break;default:console.warn(`Unknown lvt-scroll mode: ${r}`)}})}function ke(a){a.querySelectorAll("[lvt-highlight]").forEach(t=>{let n=t.getAttribute("lvt-highlight"),r=parseInt(t.getAttribute("lvt-highlight-duration")||"500",10),s=t.getAttribute("lvt-highlight-color")||"#ffc107";if(!n)return;let o=t,i=o.style.backgroundColor,l=o.style.transition;o.style.transition=`background-color ${r}ms ease-out`,o.style.backgroundColor=s,setTimeout(()=>{o.style.backgroundColor=i,setTimeout(()=>{o.style.transition=l},r)},50)})}function Ae(a){if(a.querySelectorAll("[lvt-animate]").forEach(t=>{let n=t.getAttribute("lvt-animate"),r=parseInt(t.getAttribute("lvt-animate-duration")||"300",10);if(!n)return;let s=t;switch(s.style.setProperty("--lvt-animate-duration",`${r}ms`),n){case"fade":s.style.animation="lvt-fade-in var(--lvt-animate-duration) ease-out";break;case"slide":s.style.animation="lvt-slide-in var(--lvt-animate-duration) ease-out";break;case"scale":s.style.animation="lvt-scale-in var(--lvt-animate-duration) ease-out";break;default:console.warn(`Unknown lvt-animate mode: ${n}`)}s.addEventListener("animationend",()=>{s.style.animation=""},{once:!0})}),!document.getElementById("lvt-animate-styles")){let t=document.createElement("style");t.id="lvt-animate-styles",t.textContent=`
2
2
  @keyframes lvt-fade-in {
3
3
  from { opacity: 0; }
4
4
  to { opacity: 1; }
@@ -23,7 +23,7 @@
23
23
  transform: scale(1);
24
24
  }
25
25
  }
26
- `,document.head.appendChild(t)}}function de(a,e){let t=null;return function(...r){let s=this;t!==null&&clearTimeout(t),t=window.setTimeout(()=>{a.apply(s,r)},e)}}function ue(a,e){let t=!1;return function(...r){let s=this;t||(a.apply(s,r),t=!0,setTimeout(()=>{t=!1},e))}}var q=class{constructor(e,t){this.context=e;this.logger=t}setupEventDelegation(){let e=this.context.getWrapperElement();if(!e)return;let t=["click","submit","change","input","keydown","keyup","focus","blur","mouseenter","mouseleave"],n=e.getAttribute("data-lvt-id"),r=this.context.getRateLimitedHandlers();t.forEach(s=>{let o=`__lvt_delegated_${s}_${n}`,i=document[o];i&&document.removeEventListener(s,i,!1);let l=c=>{var L;let d=this.context.getWrapperElement();if(!d)return;s==="submit"&&(window.__lvtSubmitListenerTriggered=!0,window.__lvtSubmitEventTarget=(L=c.target)==null?void 0:L.tagName),this.logger.debug("Event listener triggered:",s,c.target);let M=c.target;if(!M)return;let f=M,m=!1;for(;f;){if(f===d){m=!0;break}f=f.parentElement}if(s==="submit"&&(window.__lvtInWrapper=m,window.__lvtWrapperElement=d.getAttribute("data-lvt-id")),!m)return;let F=`lvt-${s}`;for(f=M;f&&f!==d.parentElement;){let b=f.getAttribute(F),h=f;if(!b&&(s==="change"||s==="input")){let u=f.closest("form");u&&u.hasAttribute("lvt-change")&&(b=u.getAttribute("lvt-change"),h=u)}if(b&&h){if(s==="submit"&&(window.__lvtActionFound=b,window.__lvtActionElement=h.tagName),s==="submit"&&c.preventDefault(),(s==="keydown"||s==="keyup")&&h.hasAttribute("lvt-key")){let w=h.getAttribute("lvt-key");if(w&&c.key!==w){f=f.parentElement;continue}}let u=h,y=()=>{if(this.logger.debug("handleAction called",{action:b,eventType:s,targetElement:u}),b==="delete"&&u.hasAttribute("lvt-confirm")){let S=u.getAttribute("lvt-confirm")||"Are you sure you want to delete this item?";if(!confirm(S)){this.logger.debug("Delete action cancelled by user");return}}let w={action:b,data:{}};if(u instanceof HTMLFormElement){this.logger.debug("Processing form element");let S=new FormData(u),k=Array.from(u.querySelectorAll('input[type="checkbox"][name]')),U=new Set(k.map(D=>D.name));U.forEach(D=>{w.data[D]=!1}),S.forEach((D,T)=>{U.has(T)?(w.data[T]=!0,this.logger.debug("Converted checkbox",T,"to true")):w.data[T]=this.context.parseValue(D)}),this.logger.debug("Form data collected:",w.data)}else if(s==="change"||s==="input"){if(u instanceof HTMLInputElement){let S=u.name||"value";w.data[S]=this.context.parseValue(u.value)}else if(u instanceof HTMLSelectElement){let S=u.name||"value";w.data[S]=this.context.parseValue(u.value)}else if(u instanceof HTMLTextAreaElement){let S=u.name||"value";w.data[S]=this.context.parseValue(u.value)}}if(Array.from(u.attributes).forEach(S=>{if(S.name.startsWith("lvt-data-")){let k=S.name.replace("lvt-data-","");w.data[k]=this.context.parseValue(S.value)}}),Array.from(u.attributes).forEach(S=>{if(S.name.startsWith("lvt-value-")){let k=S.name.replace("lvt-value-","");w.data[k]=this.context.parseValue(S.value)}}),s==="submit"&&u instanceof HTMLFormElement){let k=c.submitter,U=null;k&&k.hasAttribute("lvt-disable-with")&&(U=k.textContent,k.disabled=!0,k.textContent=k.getAttribute("lvt-disable-with"),this.logger.debug("Disabled submit button")),this.context.setActiveSubmission(u,k||null,U),u.dispatchEvent(new CustomEvent("lvt:pending",{detail:w})),this.logger.debug("Emitted lvt:pending event")}this.logger.debug("About to send message:",w),this.logger.debug("WebSocket state:",this.context.getWebSocketReadyState()),this.context.send(w),this.logger.debug("send() called")},_=h.getAttribute("lvt-throttle"),x=h.getAttribute("lvt-debounce");if(_||x){r.has(h)||r.set(h,new Map);let w=r.get(h),S=`${s}:${b}`,k=w.get(S);if(!k){if(_){let U=parseInt(_,10);k=ue(y,U)}else if(x){let U=parseInt(x,10);k=de(y,U)}k&&w.set(S,k)}k&&k()}else s==="submit"&&(window.__lvtBeforeHandleAction=!0),y(),s==="submit"&&(window.__lvtAfterHandleAction=!0);return}f=f.parentElement}};document[o]=l,document.addEventListener(s,l,!1),this.logger.debug("Registered event listener:",s,"with key:",o)})}setupWindowEventDelegation(){let e=this.context.getWrapperElement();if(!e)return;let t=["keydown","keyup","scroll","resize","focus","blur"],n=e.getAttribute("data-lvt-id"),r=this.context.getRateLimitedHandlers();t.forEach(s=>{let o=`__lvt_window_${s}_${n}`,i=window[o];i&&window.removeEventListener(s,i);let l=c=>{let d=this.context.getWrapperElement();if(!d)return;let M=`lvt-window-${s}`;d.querySelectorAll(`[${M}]`).forEach(m=>{let F=m.getAttribute(M);if(!F)return;if((s==="keydown"||s==="keyup")&&m.hasAttribute("lvt-key")){let y=m.getAttribute("lvt-key");if(y&&c.key!==y)return}let L={action:F,data:{}};Array.from(m.attributes).forEach(y=>{if(y.name.startsWith("lvt-data-")){let _=y.name.replace("lvt-data-","");L.data[_]=this.context.parseValue(y.value)}}),Array.from(m.attributes).forEach(y=>{if(y.name.startsWith("lvt-value-")){let _=y.name.replace("lvt-value-","");L.data[_]=this.context.parseValue(y.value)}});let b=m.getAttribute("lvt-throttle"),h=m.getAttribute("lvt-debounce"),u=()=>this.context.send(L);if(b||h){r.has(m)||r.set(m,new Map);let y=r.get(m),_=`window-${s}:${F}`,x=y.get(_);if(!x){if(b){let w=parseInt(b,10);x=ue(u,w)}else if(h){let w=parseInt(h,10);x=de(u,w)}x&&y.set(_,x)}x&&x()}else u()})};window[o]=l,window.addEventListener(s,l)})}setupClickAwayDelegation(){let e=this.context.getWrapperElement();if(!e)return;let n=`__lvt_click_away_${e.getAttribute("data-lvt-id")}`,r=document[n];r&&document.removeEventListener("click",r);let s=o=>{let i=this.context.getWrapperElement();if(!i)return;let l=o.target;i.querySelectorAll("[lvt-click-away]").forEach(d=>{if(!d.contains(l)){let M=d.getAttribute("lvt-click-away");if(!M)return;let f={action:M,data:{}};Array.from(d.attributes).forEach(m=>{if(m.name.startsWith("lvt-data-")){let F=m.name.replace("lvt-data-","");f.data[F]=this.context.parseValue(m.value)}}),Array.from(d.attributes).forEach(m=>{if(m.name.startsWith("lvt-value-")){let F=m.name.replace("lvt-value-","");f.data[F]=this.context.parseValue(m.value)}}),this.context.send(f)}})};document[n]=s,document.addEventListener("click",s)}setupModalDelegation(){let e=this.context.getWrapperElement();if(!e)return;let t=e.getAttribute("data-lvt-id"),n=`__lvt_modal_open_${t}`,r=document[n];r&&document.removeEventListener("click",r);let s=L=>{var y;let b=this.context.getWrapperElement();if(!b)return;let h=(y=L.target)==null?void 0:y.closest("[lvt-modal-open]");if(!h||!b.contains(h))return;let u=h.getAttribute("lvt-modal-open");u&&(L.preventDefault(),this.context.openModal(u))};document[n]=s,document.addEventListener("click",s);let o=`__lvt_modal_close_${t}`,i=document[o];i&&document.removeEventListener("click",i);let l=L=>{var y;let b=this.context.getWrapperElement();if(!b)return;let h=(y=L.target)==null?void 0:y.closest("[lvt-modal-close]");if(!h||!b.contains(h))return;let u=h.getAttribute("lvt-modal-close");u&&(L.preventDefault(),this.context.closeModal(u))};document[o]=l,document.addEventListener("click",l);let c=`__lvt_modal_backdrop_${t}`,d=document[c];d&&document.removeEventListener("click",d);let M=L=>{let b=L.target;if(!b.hasAttribute("data-modal-backdrop"))return;let h=b.getAttribute("data-modal-id");h&&this.context.closeModal(h)};document[c]=M,document.addEventListener("click",M);let f=`__lvt_modal_escape_${t}`,m=document[f];m&&document.removeEventListener("keydown",m);let F=L=>{if(L.key!=="Escape")return;let b=this.context.getWrapperElement();if(!b)return;let h=b.querySelectorAll('[role="dialog"]:not([hidden])');if(h.length>0){let u=h[h.length-1];u.id&&this.context.closeModal(u.id)}};document[f]=F,document.addEventListener("keydown",F)}};var G=class{constructor(e,t){this.context=e;this.logger=t;this.infiniteScrollObserver=null;this.mutationObserver=null}setupInfiniteScrollObserver(){if(!this.context.getWrapperElement())return;let t=document.getElementById("scroll-sentinel");t&&(this.infiniteScrollObserver&&this.infiniteScrollObserver.disconnect(),this.infiniteScrollObserver=new IntersectionObserver(n=>{n[0].isIntersecting&&(this.logger.debug("Sentinel visible, sending load_more action"),this.context.send({action:"load_more"}))},{rootMargin:"200px"}),this.infiniteScrollObserver.observe(t),this.logger.debug("Observer set up successfully"))}setupInfiniteScrollMutationObserver(){let e=this.context.getWrapperElement();e&&(this.mutationObserver&&this.mutationObserver.disconnect(),this.mutationObserver=new MutationObserver(()=>{this.setupInfiniteScrollObserver()}),this.mutationObserver.observe(e,{childList:!0,subtree:!0}),this.logger.debug("MutationObserver set up successfully"))}teardown(){this.infiniteScrollObserver&&(this.infiniteScrollObserver.disconnect(),this.infiniteScrollObserver=null),this.mutationObserver&&(this.mutationObserver.disconnect(),this.mutationObserver=null)}};var J=class{constructor(e){this.logger=e}open(e){let t=document.getElementById(e);if(!t){this.logger.warn(`Modal with id="${e}" not found`);return}t.removeAttribute("hidden"),t.style.display="flex",t.setAttribute("aria-hidden","false"),t.dispatchEvent(new CustomEvent("lvt:modal-opened",{bubbles:!0})),this.logger.info(`Opened modal: ${e}`);let n=t.querySelector("input, textarea, select");n&&setTimeout(()=>{let r=document.activeElement,s=i=>i?i===document.body||i.offsetParent!==null?!0:i.getClientRects().length>0:!1;(!r||!t.contains(r)||!s(r))&&n.focus()},100)}close(e){let t=document.getElementById(e);if(!t){this.logger.warn(`Modal with id="${e}" not found`);return}t.setAttribute("hidden",""),t.style.display="none",t.setAttribute("aria-hidden","true"),t.dispatchEvent(new CustomEvent("lvt:modal-closed",{bubbles:!0})),this.logger.info(`Closed modal: ${e}`)}};var X=class{constructor(){this.bar=null}show(){if(this.bar)return;let e=document.createElement("div");if(e.style.cssText=`
26
+ `,document.head.appendChild(t)}}function de(a,e){let t=null;return function(...r){let s=this;t!==null&&clearTimeout(t),t=window.setTimeout(()=>{a.apply(s,r)},e)}}function ue(a,e){let t=!1;return function(...r){let s=this;t||(a.apply(s,r),t=!0,setTimeout(()=>{t=!1},e))}}var q=class{constructor(e,t){this.context=e;this.logger=t}setupEventDelegation(){let e=this.context.getWrapperElement();if(!e)return;let t=["click","submit","change","input","keydown","keyup","focus","blur","mouseenter","mouseleave"],n=e.getAttribute("data-lvt-id"),r=this.context.getRateLimitedHandlers();t.forEach(s=>{let o=`__lvt_delegated_${s}_${n}`,i=document[o];i&&document.removeEventListener(s,i,!1);let l=c=>{var L;let d=this.context.getWrapperElement();if(!d)return;s==="submit"&&(window.__lvtSubmitListenerTriggered=!0,window.__lvtSubmitEventTarget=(L=c.target)==null?void 0:L.tagName),this.logger.debug("Event listener triggered:",s,c.target);let M=c.target;if(!M)return;let m=M,f=!1;for(;m;){if(m===d){f=!0;break}m=m.parentElement}if(s==="submit"&&(window.__lvtInWrapper=f,window.__lvtWrapperElement=d.getAttribute("data-lvt-id")),!f)return;let F=`lvt-${s}`;for(m=M;m&&m!==d.parentElement;){let b=m.getAttribute(F),h=m;if(!b&&(s==="change"||s==="input")){let u=m.closest("form");u&&u.hasAttribute("lvt-change")&&(b=u.getAttribute("lvt-change"),h=u)}if(b&&h){if(s==="submit"&&(window.__lvtActionFound=b,window.__lvtActionElement=h.tagName),s==="submit"&&c.preventDefault(),(s==="keydown"||s==="keyup")&&h.hasAttribute("lvt-key")){let w=h.getAttribute("lvt-key");if(w&&c.key!==w){m=m.parentElement;continue}}let u=h,y=()=>{if(this.logger.debug("handleAction called",{action:b,eventType:s,targetElement:u}),b==="delete"&&u.hasAttribute("lvt-confirm")){let S=u.getAttribute("lvt-confirm")||"Are you sure you want to delete this item?";if(!confirm(S)){this.logger.debug("Delete action cancelled by user");return}}let w={action:b,data:{}};if(u instanceof HTMLFormElement){this.logger.debug("Processing form element");let S=new FormData(u),k=Array.from(u.querySelectorAll('input[type="checkbox"][name]')),_=new Set(k.map(H=>H.name));_.forEach(H=>{w.data[H]=!1}),S.forEach((H,A)=>{_.has(A)?(w.data[A]=!0,this.logger.debug("Converted checkbox",A,"to true")):w.data[A]=this.context.parseValue(H)}),this.logger.debug("Form data collected:",w.data)}else if(s==="change"||s==="input"){if(u instanceof HTMLInputElement){let S=u.name||"value";w.data[S]=this.context.parseValue(u.value)}else if(u instanceof HTMLSelectElement){let S=u.name||"value";w.data[S]=this.context.parseValue(u.value)}else if(u instanceof HTMLTextAreaElement){let S=u.name||"value";w.data[S]=this.context.parseValue(u.value)}}if(Array.from(u.attributes).forEach(S=>{if(S.name.startsWith("lvt-data-")){let k=S.name.replace("lvt-data-","");w.data[k]=this.context.parseValue(S.value)}}),Array.from(u.attributes).forEach(S=>{if(S.name.startsWith("lvt-value-")){let k=S.name.replace("lvt-value-","");w.data[k]=this.context.parseValue(S.value)}}),s==="submit"&&u instanceof HTMLFormElement){let k=c.submitter,_=null;k&&k.hasAttribute("lvt-disable-with")&&(_=k.textContent,k.disabled=!0,k.textContent=k.getAttribute("lvt-disable-with"),this.logger.debug("Disabled submit button")),this.context.setActiveSubmission(u,k||null,_),u.querySelectorAll('input[type="file"][lvt-upload]').forEach(A=>{let O=A.getAttribute("lvt-upload");O&&(this.logger.debug("Triggering pending uploads for:",O),this.context.triggerPendingUploads(O))}),u.dispatchEvent(new CustomEvent("lvt:pending",{detail:w})),this.logger.debug("Emitted lvt:pending event")}this.logger.debug("About to send message:",w),this.logger.debug("WebSocket state:",this.context.getWebSocketReadyState()),this.context.send(w),this.logger.debug("send() called")},U=h.getAttribute("lvt-throttle"),x=h.getAttribute("lvt-debounce");if(U||x){r.has(h)||r.set(h,new Map);let w=r.get(h),S=`${s}:${b}`,k=w.get(S);if(!k){if(U){let _=parseInt(U,10);k=ue(y,_)}else if(x){let _=parseInt(x,10);k=de(y,_)}k&&w.set(S,k)}k&&k()}else s==="submit"&&(window.__lvtBeforeHandleAction=!0),y(),s==="submit"&&(window.__lvtAfterHandleAction=!0);return}m=m.parentElement}};document[o]=l,document.addEventListener(s,l,!1),this.logger.debug("Registered event listener:",s,"with key:",o)})}setupWindowEventDelegation(){let e=this.context.getWrapperElement();if(!e)return;let t=["keydown","keyup","scroll","resize","focus","blur"],n=e.getAttribute("data-lvt-id"),r=this.context.getRateLimitedHandlers();t.forEach(s=>{let o=`__lvt_window_${s}_${n}`,i=window[o];i&&window.removeEventListener(s,i);let l=c=>{let d=this.context.getWrapperElement();if(!d)return;let M=`lvt-window-${s}`;d.querySelectorAll(`[${M}]`).forEach(f=>{let F=f.getAttribute(M);if(!F)return;if((s==="keydown"||s==="keyup")&&f.hasAttribute("lvt-key")){let y=f.getAttribute("lvt-key");if(y&&c.key!==y)return}let L={action:F,data:{}};Array.from(f.attributes).forEach(y=>{if(y.name.startsWith("lvt-data-")){let U=y.name.replace("lvt-data-","");L.data[U]=this.context.parseValue(y.value)}}),Array.from(f.attributes).forEach(y=>{if(y.name.startsWith("lvt-value-")){let U=y.name.replace("lvt-value-","");L.data[U]=this.context.parseValue(y.value)}});let b=f.getAttribute("lvt-throttle"),h=f.getAttribute("lvt-debounce"),u=()=>this.context.send(L);if(b||h){r.has(f)||r.set(f,new Map);let y=r.get(f),U=`window-${s}:${F}`,x=y.get(U);if(!x){if(b){let w=parseInt(b,10);x=ue(u,w)}else if(h){let w=parseInt(h,10);x=de(u,w)}x&&y.set(U,x)}x&&x()}else u()})};window[o]=l,window.addEventListener(s,l)})}setupClickAwayDelegation(){let e=this.context.getWrapperElement();if(!e)return;let n=`__lvt_click_away_${e.getAttribute("data-lvt-id")}`,r=document[n];r&&document.removeEventListener("click",r);let s=o=>{let i=this.context.getWrapperElement();if(!i)return;let l=o.target;i.querySelectorAll("[lvt-click-away]").forEach(d=>{if(!d.contains(l)){let M=d.getAttribute("lvt-click-away");if(!M)return;let m={action:M,data:{}};Array.from(d.attributes).forEach(f=>{if(f.name.startsWith("lvt-data-")){let F=f.name.replace("lvt-data-","");m.data[F]=this.context.parseValue(f.value)}}),Array.from(d.attributes).forEach(f=>{if(f.name.startsWith("lvt-value-")){let F=f.name.replace("lvt-value-","");m.data[F]=this.context.parseValue(f.value)}}),this.context.send(m)}})};document[n]=s,document.addEventListener("click",s)}setupModalDelegation(){let e=this.context.getWrapperElement();if(!e)return;let t=e.getAttribute("data-lvt-id"),n=`__lvt_modal_open_${t}`,r=document[n];r&&document.removeEventListener("click",r);let s=L=>{var y;let b=this.context.getWrapperElement();if(!b)return;let h=(y=L.target)==null?void 0:y.closest("[lvt-modal-open]");if(!h||!b.contains(h))return;let u=h.getAttribute("lvt-modal-open");u&&(L.preventDefault(),this.context.openModal(u))};document[n]=s,document.addEventListener("click",s);let o=`__lvt_modal_close_${t}`,i=document[o];i&&document.removeEventListener("click",i);let l=L=>{var y;let b=this.context.getWrapperElement();if(!b)return;let h=(y=L.target)==null?void 0:y.closest("[lvt-modal-close]");if(!h||!b.contains(h))return;let u=h.getAttribute("lvt-modal-close");u&&(L.preventDefault(),this.context.closeModal(u))};document[o]=l,document.addEventListener("click",l);let c=`__lvt_modal_backdrop_${t}`,d=document[c];d&&document.removeEventListener("click",d);let M=L=>{let b=L.target;if(!b.hasAttribute("data-modal-backdrop"))return;let h=b.getAttribute("data-modal-id");h&&this.context.closeModal(h)};document[c]=M,document.addEventListener("click",M);let m=`__lvt_modal_escape_${t}`,f=document[m];f&&document.removeEventListener("keydown",f);let F=L=>{if(L.key!=="Escape")return;let b=this.context.getWrapperElement();if(!b)return;let h=b.querySelectorAll('[role="dialog"]:not([hidden])');if(h.length>0){let u=h[h.length-1];u.id&&this.context.closeModal(u.id)}};document[m]=F,document.addEventListener("keydown",F)}};var G=class{constructor(e,t){this.context=e;this.logger=t;this.infiniteScrollObserver=null;this.mutationObserver=null}setupInfiniteScrollObserver(){if(!this.context.getWrapperElement())return;let t=document.getElementById("scroll-sentinel");t&&(this.infiniteScrollObserver&&this.infiniteScrollObserver.disconnect(),this.infiniteScrollObserver=new IntersectionObserver(n=>{n[0].isIntersecting&&(this.logger.debug("Sentinel visible, sending load_more action"),this.context.send({action:"load_more"}))},{rootMargin:"200px"}),this.infiniteScrollObserver.observe(t),this.logger.debug("Observer set up successfully"))}setupInfiniteScrollMutationObserver(){let e=this.context.getWrapperElement();e&&(this.mutationObserver&&this.mutationObserver.disconnect(),this.mutationObserver=new MutationObserver(()=>{this.setupInfiniteScrollObserver()}),this.mutationObserver.observe(e,{childList:!0,subtree:!0}),this.logger.debug("MutationObserver set up successfully"))}teardown(){this.infiniteScrollObserver&&(this.infiniteScrollObserver.disconnect(),this.infiniteScrollObserver=null),this.mutationObserver&&(this.mutationObserver.disconnect(),this.mutationObserver=null)}};var J=class{constructor(e){this.logger=e}open(e){let t=document.getElementById(e);if(!t){this.logger.warn(`Modal with id="${e}" not found`);return}t.removeAttribute("hidden"),t.style.display="flex",t.setAttribute("aria-hidden","false"),t.dispatchEvent(new CustomEvent("lvt:modal-opened",{bubbles:!0})),this.logger.info(`Opened modal: ${e}`);let n=t.querySelector("input, textarea, select");n&&setTimeout(()=>{let r=document.activeElement,s=i=>i?i===document.body||i.offsetParent!==null?!0:i.getClientRects().length>0:!1;(!r||!t.contains(r)||!s(r))&&n.focus()},100)}close(e){let t=document.getElementById(e);if(!t){this.logger.warn(`Modal with id="${e}" not found`);return}t.setAttribute("hidden",""),t.style.display="none",t.setAttribute("aria-hidden","true"),t.dispatchEvent(new CustomEvent("lvt:modal-closed",{bubbles:!0})),this.logger.info(`Closed modal: ${e}`)}};var X=class{constructor(){this.bar=null}show(){if(this.bar)return;let e=document.createElement("div");if(e.style.cssText=`
27
27
  position: fixed;
28
28
  top: 0;
29
29
  left: 0;
@@ -38,7 +38,7 @@
38
38
  0% { background-position: 200% 0; }
39
39
  100% { background-position: -200% 0; }
40
40
  }
41
- `,document.head.appendChild(t)}document.body.insertBefore(e,document.body.firstChild),this.bar=e}hide(){this.bar&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.bar=null)}};var Y=class{disable(e){if(!e)return;e.querySelectorAll("form").forEach(n=>{n.querySelectorAll("input, textarea, select, button").forEach(s=>{s.disabled=!0})})}enable(e){if(!e)return;e.querySelectorAll("form").forEach(n=>{n.querySelectorAll("input, textarea, select, button").forEach(s=>{s.disabled=!1})})}};var Q=class{constructor(e){this.logger=e;this.treeState={};this.rangeState={};this.rangeIdKeys={}}applyUpdate(e){let t=!1;for(let[r,s]of Object.entries(e))if(Array.isArray(s)&&s.length>0&&Array.isArray(s[0])&&typeof s[0][0]=="string")this.treeState[r]=s,t=!0;else{let i=this.treeState[r],l=typeof s=="object"&&s!==null&&!Array.isArray(s)?this.deepMergeTreeNodes(i,s):s;JSON.stringify(i)!==JSON.stringify(l)&&(this.treeState[r]=l,t=!0)}return{html:this.reconstructFromTree(this.treeState,""),changed:t}}reset(){this.treeState={},this.rangeState={},this.rangeIdKeys={}}getTreeState(){return{...this.treeState}}getStaticStructure(){return this.treeState.s||null}deepMergeTreeNodes(e,t){if(typeof t!="object"||t===null||Array.isArray(t)||typeof e!="object"||e===null||Array.isArray(e))return t;let n={...e};for(let[r,s]of Object.entries(t))typeof s=="object"&&s!==null&&!Array.isArray(s)&&typeof n[r]=="object"&&n[r]!==null&&!Array.isArray(n[r])?n[r]=this.deepMergeTreeNodes(n[r],s):n[r]=s;return n}reconstructFromTree(e,t){if(e.s&&Array.isArray(e.s)){let n="";for(let r=0;r<e.s.length;r++){let s=e.s[r];if(n+=s,r<e.s.length-1){let o=r.toString();if(e[o]!==void 0){let i=t?`${t}.${o}`:o;n+=this.renderValue(e[o],o,i)}}}return n=n.replace(/<root>/g,"").replace(/<\/root>/g,""),n}return this.renderValue(e,"",t)}renderValue(e,t,n){if(e==null||typeof e=="string"&&e.startsWith("{{")&&e.endsWith("}}"))return"";if(typeof e=="object"&&!Array.isArray(e)){if(e.d&&Array.isArray(e.d)&&e.s&&Array.isArray(e.s)){let r=n||t||"";return r&&(this.rangeState[r]={items:e.d,statics:e.s},e.m&&typeof e.m=="object"&&typeof e.m.idKey=="string"&&(this.rangeIdKeys[r]=e.m.idKey)),this.renderRangeStructure(e,t,n)}if("s"in e&&Array.isArray(e.s))return this.reconstructFromTree(e,n||"")}return Array.isArray(e)?e.length>0&&Array.isArray(e[0])&&typeof e[0][0]=="string"?this.applyDifferentialOperations(e,n):e.map((r,s)=>{let o=s.toString(),i=n?`${n}.${o}`:o;return typeof r=="object"&&r&&r.s?this.reconstructFromTree(r,i):this.renderValue(r,o,i)}).join(""):(typeof e=="object"&&(this.logger.error("Object value reached string conversion; this will render as [object Object]."),this.logger.isDebugEnabled()&&this.logger.debug("Value diagnostics:",{valueType:typeof e,isArray:Array.isArray(e),keys:Object.keys(e),hasStatics:!!e.s,hasDynamics:!!e.d,value:e})),String(e))}renderRangeStructure(e,t,n){let{d:r,s}=e;if(!r||!Array.isArray(r))return"";if(r.length===0){if(e.else){let o="else",i=n?`${n}.else`:"else";return this.renderValue(e.else,o,i)}return""}return s&&Array.isArray(s)?r.map((o,i)=>{let l="";for(let c=0;c<s.length;c++)if(l+=s[c],c<s.length-1){let d=c.toString();if(o[d]!==void 0){let M=n?`${n}.${i}.${d}`:`${i}.${d}`;l+=this.renderValue(o[d],d,M)}}return l}).join(""):r.map((o,i)=>{let l=i.toString(),c=n?`${n}.${l}`:l;return this.renderValue(o,l,c)}).join("")}applyDifferentialOperations(e,t){if(!t||!this.rangeState[t])return"";let n=this.rangeState[t],r=[...n.items],s=n.statics;for(let i of e){if(!Array.isArray(i)||i.length<2)continue;switch(i[0]){case"r":{let c=this.findItemIndexByKey(r,i[1],s,t);c>=0&&r.splice(c,1);break}case"u":{let c=this.findItemIndexByKey(r,i[1],s,t),d=i[2];c>=0&&d&&(r[c]={...r[c],...d});break}case"a":{this.addItemsToRange(r,i[1],i[2],n,!1),i[3]&&typeof i[3]=="object"&&i[3].idKey&&(this.rangeIdKeys[t||""]=i[3].idKey);break}case"p":{this.addItemsToRange(r,i[1],i[2],n,!0);break}case"i":{let c=this.findItemIndexByKey(r,i[1],s,t);if(c>=0){let d=Array.isArray(i[2])?i[2]:[i[2]];r.splice(c+1,0,...d)}break}case"o":{let c=i[1],d=[],M=new Map;for(let f of r){let m=this.getItemKey(f,s,t);m&&M.set(m,f)}for(let f of c){let m=M.get(f);m&&d.push(m)}r.length=0,r.push(...d);break}default:break}}this.rangeState[t]={items:r,statics:n.statics},this.treeState[t]={d:r,s:n.statics};let o=this.getCurrentRangeStructure(t);return o&&o.s?this.renderItemsWithStatics(r,o.s):r.map(i=>this.renderValue(i)).join("")}getCurrentRangeStructure(e){if(this.rangeState[e])return{d:this.rangeState[e].items,s:this.rangeState[e].statics};let t=this.treeState[e];return t&&typeof t=="object"&&t.s?t:null}renderItemsWithStatics(e,t){let n=e.map(r=>{let s="";for(let o=0;o<t.length;o++)if(s+=t[o],o<t.length-1){let i=o.toString();r[i]!==void 0&&(s+=this.renderValue(r[i]))}return s}).join("");return this.logger.isDebugEnabled()&&(this.logger.debug("[renderItemsWithStatics] statics:",t),this.logger.debug("[renderItemsWithStatics] items count:",e.length),this.logger.debug("[renderItemsWithStatics] result snippet:",n.substring(0,200))),n}addItemsToRange(e,t,n,r,s){if(n&&(r.statics=n),!t)return;let o=Array.isArray(t)?t:[t];s?e.unshift(...o):e.push(...o)}getItemKey(e,t,n){if(!n||!this.rangeIdKeys[n])return null;let r=this.rangeIdKeys[n];return e[r]||null}findItemIndexByKey(e,t,n,r){return e.findIndex(s=>this.getItemKey(s,n,r)===t)}};var Z=class{constructor(e){this.modalManager=e;this.activeForm=null;this.activeButton=null;this.originalButtonText=null}setActiveSubmission(e,t,n){this.activeForm=e,this.activeButton=t,this.originalButtonText=n}handleResponse(e){this.activeForm&&this.activeForm.dispatchEvent(new CustomEvent("lvt:done",{detail:e})),e.success?this.handleSuccess(e):this.handleError(e),this.restoreFormState()}reset(){this.restoreFormState()}handleSuccess(e){if(!this.activeForm)return;this.activeForm.dispatchEvent(new CustomEvent("lvt:success",{detail:e}));let t=this.activeForm.closest('[role="dialog"]');t&&t.id&&this.modalManager.close(t.id),this.activeForm.hasAttribute("lvt-preserve")||this.activeForm.reset()}handleError(e){this.activeForm&&this.activeForm.dispatchEvent(new CustomEvent("lvt:error",{detail:e}))}restoreFormState(){this.activeButton&&this.originalButtonText!==null&&(this.activeButton.disabled=!1,this.activeButton.textContent=this.originalButtonText),this.activeForm=null,this.activeButton=null,this.originalButtonText=null}};var pe=class{constructor(e){this.options=e;this.socket=null;this.reconnectTimer=null;this.manuallyClosed=!1;this.reconnectAttempts=0}connect(){this.manuallyClosed=!1,this.clearReconnectTimer(),this.socket=new WebSocket(this.options.url);let e=this.socket;e.onopen=()=>{var t,n;this.reconnectAttempts=0,(n=(t=this.options).onOpen)==null||n.call(t,e)},e.onmessage=t=>{var n,r;(r=(n=this.options).onMessage)==null||r.call(n,t)},e.onclose=t=>{var n,r;(r=(n=this.options).onClose)==null||r.call(n,t),!this.manuallyClosed&&this.options.autoReconnect&&this.scheduleReconnect()},e.onerror=t=>{var n,r;(r=(n=this.options).onError)==null||r.call(n,t)}}send(e){this.socket&&this.socket.readyState===WebSocket.OPEN&&this.socket.send(e)}disconnect(){this.manuallyClosed=!0,this.clearReconnectTimer(),this.socket&&(this.socket.close(),this.socket=null)}getSocket(){return this.socket}scheduleReconnect(){var i,l,c,d,M;this.clearReconnectTimer();let e=(i=this.options.maxReconnectAttempts)!=null?i:10;if(e>0&&this.reconnectAttempts>=e){(c=(l=this.options).onReconnectFailed)==null||c.call(l);return}this.reconnectAttempts++;let t=(d=this.options.reconnectDelay)!=null?d:1e3,n=(M=this.options.maxReconnectDelay)!=null?M:16e3,r=t*Math.pow(2,this.reconnectAttempts-1),s=Math.random()*1e3,o=Math.min(r+s,n);this.reconnectTimer=window.setTimeout(()=>{var f,m;(m=(f=this.options).onReconnectAttempt)==null||m.call(f,this.reconnectAttempts,o),this.connect()},o)}clearReconnectTimer(){this.reconnectTimer!==null&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}},ee=class{constructor(e){this.config=e;this.transport=null}async connect(){let e=this.getLiveUrl();return await Xe(e,this.config.logger)?(this.transport=new pe({url:this.getWebSocketUrl(),autoReconnect:this.config.options.autoReconnect,reconnectDelay:this.config.options.reconnectDelay,maxReconnectDelay:16e3,maxReconnectAttempts:10,onOpen:()=>{this.config.onConnected()},onMessage:n=>{try{let r=JSON.parse(n.data);this.config.onMessage(r,n)}catch(r){this.config.logger.error("Failed to parse WebSocket message:",r)}},onClose:()=>{this.config.onDisconnected()},onReconnectAttempt:(n,r)=>{var s,o;(o=(s=this.config).onReconnectAttempt)==null||o.call(s,n,r)},onReconnectFailed:()=>{var n,r;(r=(n=this.config).onReconnectFailed)==null||r.call(n)},onError:n=>{var r,s;(s=(r=this.config).onError)==null||s.call(r,n)}}),this.transport.connect(),{usingWebSocket:!0}):{usingWebSocket:!1,initialState:await Ye(e,this.config.logger)}}disconnect(){var e;(e=this.transport)==null||e.disconnect(),this.transport=null}send(e){var t;(t=this.transport)==null||t.send(e)}getReadyState(){var e,t;return(t=(e=this.transport)==null?void 0:e.getSocket())==null?void 0:t.readyState}getSocket(){var e,t;return(t=(e=this.transport)==null?void 0:e.getSocket())!=null?t:null}getWebSocketUrl(){let e=this.config.options.liveUrl||"/live",t=this.config.options.wsUrl;return t||`ws://${window.location.host}${e}`}getLiveUrl(){return this.config.options.liveUrl||window.location.pathname}};async function Xe(a,e){try{let n=(await fetch(a,{method:"HEAD"})).headers.get("X-LiveTemplate-WebSocket");return n?n==="enabled":!0}catch(t){return e==null||e.warn("Failed to check WebSocket availability:",t),!0}}async function Ye(a,e){try{let t=await fetch(a,{method:"GET",credentials:"include",headers:{Accept:"application/json"}});if(!t.ok)throw new Error(`Failed to fetch initial state: ${t.status}`);return await t.json()}catch(t){return e==null||e.warn("Failed to fetch initial state:",t),null}}var te=class{async upload(e,t,n){let{file:r}=e;e.abortController=new AbortController;try{let s=new XMLHttpRequest;s.upload.addEventListener("progress",i=>{i.lengthComputable&&(e.bytesUploaded=i.loaded,e.progress=Math.round(i.loaded/i.total*100),n&&n(e))}),e.abortController.signal.addEventListener("abort",()=>{s.abort()});let o=new Promise((i,l)=>{s.addEventListener("load",()=>{s.status>=200&&s.status<300?(e.done=!0,e.progress=100,i()):l(new Error(`S3 upload failed with status ${s.status}: ${s.statusText}`))}),s.addEventListener("error",()=>{l(new Error("S3 upload failed: Network error"))}),s.addEventListener("abort",()=>{l(new Error("S3 upload cancelled"))})});if(s.open("PUT",t.url),t.headers)for(let[i,l]of Object.entries(t.headers))s.setRequestHeader(i,l);s.send(r),await o}catch(s){throw e.error=s instanceof Error?s.message:String(s),s}}};var ne=class{constructor(e,t={}){this.sendMessage=e;this.entries=new Map;this.pendingFiles=new Map;this.uploaders=new Map;this.inputHandlers=new WeakMap;this.chunkSize=t.chunkSize||256*1024,this.onProgress=t.onProgress,this.onComplete=t.onComplete,this.onError=t.onError,this.uploaders.set("s3",new te)}initializeFileInputs(e){e.querySelectorAll('input[type="file"][lvt-upload]').forEach(n=>{let r=n.getAttribute("lvt-upload");if(!r)return;let s=this.inputHandlers.get(n);s&&n.removeEventListener("change",s);let o=i=>{let l=i.target.files;!l||l.length===0||this.startUpload(r,Array.from(l))};n.addEventListener("change",o),this.inputHandlers.set(n,o)})}async startUpload(e,t){this.pendingFiles.set(e,t);let n=t.map(s=>({name:s.name,type:s.type||"application/octet-stream",size:s.size})),r={action:"upload_start",upload_name:e,files:n};this.sendMessage(r)}async handleUploadStartResponse(e){let{upload_name:t,entries:n}=e,r=this.pendingFiles.get(t);if(!r){console.error(`No pending files found for upload: ${t}`);return}this.pendingFiles.delete(t);let s=new Map;for(let i of r)s.set(i.name,i);let o=[];for(let i of n){let l=s.get(i.client_name);if(!l){console.warn(`No file found for entry ${i.entry_id} (client_name: ${i.client_name})`);continue}let c={id:i.entry_id,file:l,uploadName:t,progress:0,bytesUploaded:0,valid:i.valid,done:!1,error:i.error,external:i.external};if(this.entries.set(c.id,c),o.push(c),!i.valid){this.onError&&i.error&&this.onError(c,i.error);continue}i.external?this.uploadExternal(c,i.external):this.uploadChunked(c)}}async uploadExternal(e,t){try{let n=this.uploaders.get(t.uploader);if(!n)throw new Error(`Unknown uploader: ${t.uploader}`);await n.upload(e,t,this.onProgress);let r={action:"upload_complete",upload_name:e.uploadName,entry_ids:[e.id]};this.sendMessage(r),this.onComplete&&this.onComplete(e.uploadName,[e]),this.cleanupEntries(e.uploadName)}catch(n){let r=n instanceof Error?n.message:String(n);e.error=r,this.onError&&this.onError(e,r),this.cleanupEntries(e.uploadName)}}async uploadChunked(e){let{file:t,id:n}=e,r=0;e.abortController=new AbortController;try{for(;r<t.size;){if(e.abortController.signal.aborted)throw new Error("Upload cancelled");let o=Math.min(r+this.chunkSize,t.size),i=t.slice(r,o),l=await this.fileToBase64(i),c={action:"upload_chunk",entry_id:n,chunk_base64:l,offset:r,total:t.size};this.sendMessage(c),r=o,e.bytesUploaded=r,e.progress=Math.round(r/t.size*100),this.onProgress&&this.onProgress(e)}e.done=!0;let s={action:"upload_complete",upload_name:e.uploadName,entry_ids:[n]};this.sendMessage(s),this.onComplete&&this.onComplete(e.uploadName,[e]),this.cleanupEntries(e.uploadName)}catch(s){let o=s instanceof Error?s.message:String(s);e.error=o,this.onError&&this.onError(e,o),this.cleanupEntries(e.uploadName)}}handleProgressMessage(e){let t=this.entries.get(e.entry_id);t&&(t.progress=e.progress,t.bytesUploaded=e.bytes_recv,this.onProgress&&this.onProgress(t))}cancelUpload(e){let t=this.entries.get(e);t&&(t.abortController&&t.abortController.abort(),this.sendMessage({action:"cancel_upload",entry_id:e}),this.entries.delete(e))}getEntries(e){let t=[];for(let n of this.entries.values())n.uploadName===e&&t.push(n);return t}registerUploader(e,t){this.uploaders.set(e,t)}cleanupEntries(e,t=5e3){setTimeout(()=>{let n=[];for(let[r,s]of this.entries)e&&s.uploadName!==e||(s.done||s.error)&&n.push(r);for(let r of n)this.entries.delete(r)},t)}fileToBase64(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let o=r.result.split(",")[1];t(o)},r.onerror=n,r.readAsDataURL(e)})}};var Te={silent:0,error:1,warn:2,info:3,debug:4},Le="LiveTemplate",ge=class a{constructor(e,t=[],n=console){this.state=e;this.scope=t;this.sink=n}setLevel(e){this.state.level=e}getLevel(){return this.state.level}child(e){return new a(this.state,[...this.scope,e],this.sink)}isDebugEnabled(){return this.shouldLog("debug")}error(...e){this.log("error","error",e)}warn(...e){this.log("warn","warn",e)}info(...e){this.log("info","info",e)}debug(...e){this.log("debug","debug",e)}log(e,t,n){if(!this.shouldLog(e))return;(this.sink[t]||console[t]||console.log).apply(this.sink,[this.formatPrefix(),...n])}shouldLog(e){return Te[e]<=Te[this.state.level]}formatPrefix(){return this.scope.length===0?`[${Le}]`:`[${Le}:${this.scope.join(":")}]`}};function he(a={}){var n,r;let e={level:(n=a.level)!=null?n:"info"},t=Array.isArray(a.scope)?a.scope:a.scope?[a.scope]:[];return new ge(e,t,(r=a.sink)!=null?r:console)}async function xe(a,e){try{let t=globalThis==null?void 0:globalThis.require;if(typeof t=="function"){let s=t("fs"),o=JSON.parse(s.readFileSync(e,"utf8"));return a.applyUpdate(o)}let r=await(await fetch(e)).json();return a.applyUpdate(r)}catch(t){throw new Error(`Failed to load update from ${e}: ${t}`)}}function Fe(a,e){let t=[],n=c=>c.replace(/\s+/g," ").replace(/>\s+</g,"><").trim(),r=n(a),s=n(e);if(r===s)return{match:!0,differences:[]};let o=r.split(`
41
+ `,document.head.appendChild(t)}document.body.insertBefore(e,document.body.firstChild),this.bar=e}hide(){this.bar&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.bar=null)}};var Y=class{disable(e){if(!e)return;e.querySelectorAll("form").forEach(n=>{n.querySelectorAll("input, textarea, select, button").forEach(s=>{s.disabled=!0})})}enable(e){if(!e)return;e.querySelectorAll("form").forEach(n=>{n.querySelectorAll("input, textarea, select, button").forEach(s=>{s.disabled=!1})})}};var Q=class{constructor(e){this.logger=e;this.treeState={};this.rangeState={};this.rangeIdKeys={}}applyUpdate(e){let t=!1;for(let[r,s]of Object.entries(e))if(Array.isArray(s)&&s.length>0&&Array.isArray(s[0])&&typeof s[0][0]=="string")this.treeState[r]=s,t=!0;else{let i=this.treeState[r],l=typeof s=="object"&&s!==null&&!Array.isArray(s)?this.deepMergeTreeNodes(i,s):s;JSON.stringify(i)!==JSON.stringify(l)&&(this.treeState[r]=l,t=!0)}return{html:this.reconstructFromTree(this.treeState,""),changed:t}}reset(){this.treeState={},this.rangeState={},this.rangeIdKeys={}}getTreeState(){return{...this.treeState}}getStaticStructure(){return this.treeState.s||null}deepMergeTreeNodes(e,t){if(typeof t!="object"||t===null||Array.isArray(t)||typeof e!="object"||e===null||Array.isArray(e))return t;let n={...e};for(let[r,s]of Object.entries(t))typeof s=="object"&&s!==null&&!Array.isArray(s)&&typeof n[r]=="object"&&n[r]!==null&&!Array.isArray(n[r])?n[r]=this.deepMergeTreeNodes(n[r],s):n[r]=s;return n}reconstructFromTree(e,t){if(e.s&&Array.isArray(e.s)){let n="";for(let r=0;r<e.s.length;r++){let s=e.s[r];if(n+=s,r<e.s.length-1){let o=r.toString();if(e[o]!==void 0){let i=t?`${t}.${o}`:o;n+=this.renderValue(e[o],o,i)}}}return n=n.replace(/<root>/g,"").replace(/<\/root>/g,""),n}return this.renderValue(e,"",t)}renderValue(e,t,n){if(e==null||typeof e=="string"&&e.startsWith("{{")&&e.endsWith("}}"))return"";if(typeof e=="object"&&!Array.isArray(e)){if(e.d&&Array.isArray(e.d)&&e.s&&Array.isArray(e.s)){let r=n||t||"";return r&&(this.rangeState[r]={items:e.d,statics:e.s},e.m&&typeof e.m=="object"&&typeof e.m.idKey=="string"&&(this.rangeIdKeys[r]=e.m.idKey)),this.renderRangeStructure(e,t,n)}if("s"in e&&Array.isArray(e.s))return this.reconstructFromTree(e,n||"")}return Array.isArray(e)?e.length>0&&Array.isArray(e[0])&&typeof e[0][0]=="string"?this.applyDifferentialOperations(e,n):e.map((r,s)=>{let o=s.toString(),i=n?`${n}.${o}`:o;return typeof r=="object"&&r&&r.s?this.reconstructFromTree(r,i):this.renderValue(r,o,i)}).join(""):(typeof e=="object"&&(this.logger.error("Object value reached string conversion; this will render as [object Object]."),this.logger.isDebugEnabled()&&this.logger.debug("Value diagnostics:",{valueType:typeof e,isArray:Array.isArray(e),keys:Object.keys(e),hasStatics:!!e.s,hasDynamics:!!e.d,value:e})),String(e))}renderRangeStructure(e,t,n){let{d:r,s}=e;if(!r||!Array.isArray(r))return"";if(r.length===0){if(e.else){let o="else",i=n?`${n}.else`:"else";return this.renderValue(e.else,o,i)}return""}return s&&Array.isArray(s)?r.map((o,i)=>{let l="";for(let c=0;c<s.length;c++)if(l+=s[c],c<s.length-1){let d=c.toString();if(o[d]!==void 0){let M=n?`${n}.${i}.${d}`:`${i}.${d}`;l+=this.renderValue(o[d],d,M)}}return l}).join(""):r.map((o,i)=>{let l=i.toString(),c=n?`${n}.${l}`:l;return this.renderValue(o,l,c)}).join("")}applyDifferentialOperations(e,t){if(!t||!this.rangeState[t])return"";let n=this.rangeState[t],r=[...n.items],s=n.statics;for(let i of e){if(!Array.isArray(i)||i.length<2)continue;switch(i[0]){case"r":{let c=this.findItemIndexByKey(r,i[1],s,t);c>=0&&r.splice(c,1);break}case"u":{let c=this.findItemIndexByKey(r,i[1],s,t),d=i[2];c>=0&&d&&(r[c]={...r[c],...d});break}case"a":{this.addItemsToRange(r,i[1],i[2],n,!1),i[3]&&typeof i[3]=="object"&&i[3].idKey&&(this.rangeIdKeys[t||""]=i[3].idKey);break}case"p":{this.addItemsToRange(r,i[1],i[2],n,!0);break}case"i":{let c=this.findItemIndexByKey(r,i[1],s,t);if(c>=0){let d=Array.isArray(i[2])?i[2]:[i[2]];r.splice(c+1,0,...d)}break}case"o":{let c=i[1],d=[],M=new Map;for(let m of r){let f=this.getItemKey(m,s,t);f&&M.set(f,m)}for(let m of c){let f=M.get(m);f&&d.push(f)}r.length=0,r.push(...d);break}default:break}}this.rangeState[t]={items:r,statics:n.statics},this.treeState[t]={d:r,s:n.statics};let o=this.getCurrentRangeStructure(t);return o&&o.s?this.renderItemsWithStatics(r,o.s):r.map(i=>this.renderValue(i)).join("")}getCurrentRangeStructure(e){if(this.rangeState[e])return{d:this.rangeState[e].items,s:this.rangeState[e].statics};let t=this.treeState[e];return t&&typeof t=="object"&&t.s?t:null}renderItemsWithStatics(e,t){let n=e.map(r=>{let s="";for(let o=0;o<t.length;o++)if(s+=t[o],o<t.length-1){let i=o.toString();r[i]!==void 0&&(s+=this.renderValue(r[i]))}return s}).join("");return this.logger.isDebugEnabled()&&(this.logger.debug("[renderItemsWithStatics] statics:",t),this.logger.debug("[renderItemsWithStatics] items count:",e.length),this.logger.debug("[renderItemsWithStatics] result snippet:",n.substring(0,200))),n}addItemsToRange(e,t,n,r,s){if(n&&(r.statics=n),!t)return;let o=Array.isArray(t)?t:[t];s?e.unshift(...o):e.push(...o)}getItemKey(e,t,n){if(!n||!this.rangeIdKeys[n])return null;let r=this.rangeIdKeys[n];return e[r]||null}findItemIndexByKey(e,t,n,r){return e.findIndex(s=>this.getItemKey(s,n,r)===t)}};var Z=class{constructor(e){this.modalManager=e;this.activeForm=null;this.activeButton=null;this.originalButtonText=null}setActiveSubmission(e,t,n){this.activeForm=e,this.activeButton=t,this.originalButtonText=n}handleResponse(e){this.activeForm&&this.activeForm.dispatchEvent(new CustomEvent("lvt:done",{detail:e})),e.success?this.handleSuccess(e):this.handleError(e),this.restoreFormState()}reset(){this.restoreFormState()}handleSuccess(e){if(!this.activeForm)return;this.activeForm.dispatchEvent(new CustomEvent("lvt:success",{detail:e}));let t=this.activeForm.closest('[role="dialog"]');t&&t.id&&this.modalManager.close(t.id),this.activeForm.hasAttribute("lvt-preserve")||this.activeForm.reset()}handleError(e){this.activeForm&&this.activeForm.dispatchEvent(new CustomEvent("lvt:error",{detail:e}))}restoreFormState(){this.activeButton&&this.originalButtonText!==null&&(this.activeButton.disabled=!1,this.activeButton.textContent=this.originalButtonText),this.activeForm=null,this.activeButton=null,this.originalButtonText=null}};var pe=class{constructor(e){this.options=e;this.socket=null;this.reconnectTimer=null;this.manuallyClosed=!1;this.reconnectAttempts=0}connect(){this.manuallyClosed=!1,this.clearReconnectTimer(),this.socket=new WebSocket(this.options.url);let e=this.socket;e.onopen=()=>{var t,n;this.reconnectAttempts=0,(n=(t=this.options).onOpen)==null||n.call(t,e)},e.onmessage=t=>{var n,r;(r=(n=this.options).onMessage)==null||r.call(n,t)},e.onclose=t=>{var n,r;(r=(n=this.options).onClose)==null||r.call(n,t),!this.manuallyClosed&&this.options.autoReconnect&&this.scheduleReconnect()},e.onerror=t=>{var n,r;(r=(n=this.options).onError)==null||r.call(n,t)}}send(e){this.socket&&this.socket.readyState===1&&this.socket.send(e)}disconnect(){this.manuallyClosed=!0,this.clearReconnectTimer(),this.socket&&(this.socket.close(),this.socket=null)}getSocket(){return this.socket}scheduleReconnect(){var i,l,c,d,M;this.clearReconnectTimer();let e=(i=this.options.maxReconnectAttempts)!=null?i:10;if(e>0&&this.reconnectAttempts>=e){(c=(l=this.options).onReconnectFailed)==null||c.call(l);return}this.reconnectAttempts++;let t=(d=this.options.reconnectDelay)!=null?d:1e3,n=(M=this.options.maxReconnectDelay)!=null?M:16e3,r=t*Math.pow(2,this.reconnectAttempts-1),s=Math.random()*1e3,o=Math.min(r+s,n);this.reconnectTimer=window.setTimeout(()=>{var m,f;(f=(m=this.options).onReconnectAttempt)==null||f.call(m,this.reconnectAttempts,o),this.connect()},o)}clearReconnectTimer(){this.reconnectTimer!==null&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}},ee=class{constructor(e){this.config=e;this.transport=null}async connect(){let e=this.getLiveUrl();return await Xe(e,this.config.logger)?(this.transport=new pe({url:this.getWebSocketUrl(),autoReconnect:this.config.options.autoReconnect,reconnectDelay:this.config.options.reconnectDelay,maxReconnectDelay:16e3,maxReconnectAttempts:10,onOpen:()=>{this.config.onConnected()},onMessage:n=>{try{let r=JSON.parse(n.data);this.config.onMessage(r,n)}catch(r){this.config.logger.error("Failed to parse WebSocket message:",r)}},onClose:()=>{this.config.onDisconnected()},onReconnectAttempt:(n,r)=>{var s,o;(o=(s=this.config).onReconnectAttempt)==null||o.call(s,n,r)},onReconnectFailed:()=>{var n,r;(r=(n=this.config).onReconnectFailed)==null||r.call(n)},onError:n=>{var r,s;(s=(r=this.config).onError)==null||s.call(r,n)}}),this.transport.connect(),{usingWebSocket:!0}):{usingWebSocket:!1,initialState:await Ye(e,this.config.logger)}}disconnect(){var e;(e=this.transport)==null||e.disconnect(),this.transport=null}send(e){var t;(t=this.transport)==null||t.send(e)}getReadyState(){var e,t;return(t=(e=this.transport)==null?void 0:e.getSocket())==null?void 0:t.readyState}getSocket(){var e,t;return(t=(e=this.transport)==null?void 0:e.getSocket())!=null?t:null}getWebSocketUrl(){let e=this.config.options.liveUrl||"/live",t=this.config.options.wsUrl;return t||`ws://${window.location.host}${e}`}getLiveUrl(){return this.config.options.liveUrl||window.location.pathname}};async function Xe(a,e){try{let n=(await fetch(a,{method:"HEAD"})).headers.get("X-LiveTemplate-WebSocket");return n?n==="enabled":!0}catch(t){return e==null||e.warn("Failed to check WebSocket availability:",t),!0}}async function Ye(a,e){try{let t=await fetch(a,{method:"GET",credentials:"include",headers:{Accept:"application/json"}});if(!t.ok)throw new Error(`Failed to fetch initial state: ${t.status}`);return await t.json()}catch(t){return e==null||e.warn("Failed to fetch initial state:",t),null}}var te=class{async upload(e,t,n){let{file:r}=e;e.abortController=new AbortController;try{let s=new XMLHttpRequest;s.upload.addEventListener("progress",i=>{i.lengthComputable&&(e.bytesUploaded=i.loaded,e.progress=Math.round(i.loaded/i.total*100),n&&n(e))}),e.abortController.signal.addEventListener("abort",()=>{s.abort()});let o=new Promise((i,l)=>{s.addEventListener("load",()=>{s.status>=200&&s.status<300?(e.done=!0,e.progress=100,i()):l(new Error(`S3 upload failed with status ${s.status}: ${s.statusText}`))}),s.addEventListener("error",()=>{l(new Error("S3 upload failed: Network error"))}),s.addEventListener("abort",()=>{l(new Error("S3 upload cancelled"))})});if(s.open("PUT",t.url),t.headers)for(let[i,l]of Object.entries(t.headers))s.setRequestHeader(i,l);s.send(r),await o}catch(s){throw e.error=s instanceof Error?s.message:String(s),s}}};var ne=class{constructor(e,t={}){this.sendMessage=e;this.entries=new Map;this.pendingFiles=new Map;this.autoUploadConfig=new Map;this.uploaders=new Map;this.inputHandlers=new WeakMap;this.chunkSize=t.chunkSize||256*1024,this.onProgress=t.onProgress,this.onComplete=t.onComplete,this.onError=t.onError,this.uploaders.set("s3",new te)}initializeFileInputs(e){e.querySelectorAll('input[type="file"][lvt-upload]').forEach(n=>{let r=n.getAttribute("lvt-upload");if(!r)return;let s=this.inputHandlers.get(n);s&&n.removeEventListener("change",s);let o=i=>{let l=i.target.files;!l||l.length===0||this.startUpload(r,Array.from(l))};n.addEventListener("change",o),this.inputHandlers.set(n,o)})}async startUpload(e,t){this.pendingFiles.set(e,t);let n=t.map(s=>({name:s.name,type:s.type||"application/octet-stream",size:s.size})),r={action:"upload_start",upload_name:e,files:n};this.sendMessage(r)}async handleUploadStartResponse(e){let{upload_name:t,entries:n}=e;n.length>0&&this.autoUploadConfig.set(t,n[0].auto_upload);let r=this.pendingFiles.get(t);if(!r){console.error(`No pending files found for upload: ${t}`);return}this.pendingFiles.delete(t);let s=new Map;for(let i of r)s.set(i.name,i);let o=[];for(let i of n){let l=s.get(i.client_name);if(!l){console.warn(`No file found for entry ${i.entry_id} (client_name: ${i.client_name})`);continue}let c={id:i.entry_id,file:l,uploadName:t,progress:0,bytesUploaded:0,valid:i.valid,done:!1,error:i.error,external:i.external};if(this.entries.set(c.id,c),o.push(c),!i.valid){this.onError&&i.error&&this.onError(c,i.error);continue}i.auto_upload&&(i.external?this.uploadExternal(c,i.external):this.uploadChunked(c))}}async uploadExternal(e,t){try{let n=this.uploaders.get(t.uploader);if(!n)throw new Error(`Unknown uploader: ${t.uploader}`);await n.upload(e,t,this.onProgress);let r={action:"upload_complete",upload_name:e.uploadName,entry_ids:[e.id]};this.sendMessage(r),this.onComplete&&this.onComplete(e.uploadName,[e]),this.clearFileInput(e.uploadName),this.cleanupEntries(e.uploadName)}catch(n){let r=n instanceof Error?n.message:String(n);e.error=r,this.onError&&this.onError(e,r),this.cleanupEntries(e.uploadName)}}async uploadChunked(e){let{file:t,id:n}=e,r=0;e.abortController=new AbortController;try{for(;r<t.size;){if(e.abortController.signal.aborted)throw new Error("Upload cancelled");let o=Math.min(r+this.chunkSize,t.size),i=t.slice(r,o),l=await this.fileToBase64(i),c={action:"upload_chunk",entry_id:n,chunk_base64:l,offset:r,total:t.size};this.sendMessage(c),r=o,e.bytesUploaded=r,e.progress=Math.round(r/t.size*100),this.onProgress&&this.onProgress(e)}e.done=!0;let s={action:"upload_complete",upload_name:e.uploadName,entry_ids:[n]};this.sendMessage(s),this.onComplete&&this.onComplete(e.uploadName,[e]),this.clearFileInput(e.uploadName),this.cleanupEntries(e.uploadName)}catch(s){let o=s instanceof Error?s.message:String(s);e.error=o,this.onError&&this.onError(e,o),this.cleanupEntries(e.uploadName)}}handleProgressMessage(e){let t=this.entries.get(e.entry_id);t&&(t.progress=e.progress,t.bytesUploaded=e.bytes_recv,this.onProgress&&this.onProgress(t))}cancelUpload(e){let t=this.entries.get(e);t&&(t.abortController&&t.abortController.abort(),this.sendMessage({action:"cancel_upload",entry_id:e}),this.entries.delete(e))}getEntries(e){let t=[];for(let n of this.entries.values())n.uploadName===e&&t.push(n);return t}triggerPendingUploads(e){let t=[];for(let n of this.entries.values())n.uploadName===e&&n.progress===0&&!n.done&&!n.error&&t.push(n);for(let n of t)n.external?this.uploadExternal(n,n.external):this.uploadChunked(n)}registerUploader(e,t){this.uploaders.set(e,t)}clearFileInput(e){document.querySelectorAll(`input[type="file"][lvt-upload="${e}"]`).forEach(n=>{n.value=""})}cleanupEntries(e,t=5e3){setTimeout(()=>{let n=[];for(let[r,s]of this.entries)e&&s.uploadName!==e||(s.done||s.error)&&n.push(r);for(let r of n)this.entries.delete(r)},t)}fileToBase64(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let o=r.result.split(",")[1];t(o)},r.onerror=n,r.readAsDataURL(e)})}};var Te={silent:0,error:1,warn:2,info:3,debug:4},Le="LiveTemplate",ge=class a{constructor(e,t=[],n=console){this.state=e;this.scope=t;this.sink=n}setLevel(e){this.state.level=e}getLevel(){return this.state.level}child(e){return new a(this.state,[...this.scope,e],this.sink)}isDebugEnabled(){return this.shouldLog("debug")}error(...e){this.log("error","error",e)}warn(...e){this.log("warn","warn",e)}info(...e){this.log("info","info",e)}debug(...e){this.log("debug","debug",e)}log(e,t,n){if(!this.shouldLog(e))return;(this.sink[t]||console[t]||console.log).apply(this.sink,[this.formatPrefix(),...n])}shouldLog(e){return Te[e]<=Te[this.state.level]}formatPrefix(){return this.scope.length===0?`[${Le}]`:`[${Le}:${this.scope.join(":")}]`}};function he(a={}){var n,r;let e={level:(n=a.level)!=null?n:"info"},t=Array.isArray(a.scope)?a.scope:a.scope?[a.scope]:[];return new ge(e,t,(r=a.sink)!=null?r:console)}async function xe(a,e){try{let t=globalThis==null?void 0:globalThis.require;if(typeof t=="function"){let s=t("fs"),o=JSON.parse(s.readFileSync(e,"utf8"));return a.applyUpdate(o)}let r=await(await fetch(e)).json();return a.applyUpdate(r)}catch(t){throw new Error(`Failed to load update from ${e}: ${t}`)}}function Fe(a,e){let t=[],n=c=>c.replace(/\s+/g," ").replace(/>\s+</g,"><").trim(),r=n(a),s=n(e);if(r===s)return{match:!0,differences:[]};let o=r.split(`
42
42
  `),i=s.split(`
43
- `),l=Math.max(o.length,i.length);for(let c=0;c<l;c++){let d=o[c]||"",M=i[c]||"";d!==M&&(t.push(`Line ${c+1}:`),t.push(` Expected: ${d}`),t.push(` Actual: ${M}`))}return{match:!1,differences:t}}var re=class a{constructor(e={}){this.lvtId=null;this.ws=null;this.wrapperElement=null;this.useHTTP=!1;this.sessionCookie=null;this.rateLimitedHandlers=new WeakMap;this.isInitialized=!1;this.messageCount=0;let{logger:t,logLevel:n,debug:r,...s}=e,o=n!=null?n:r?"debug":"info",i=t!=null?t:he({level:o});t?n?t.setLevel(n):r&&t.setLevel("debug"):i.setLevel(o),this.logger=i.child("Client"),this.options={autoReconnect:!1,reconnectDelay:1e3,liveUrl:window.location.pathname,...s},this.treeRenderer=new Q(this.logger.child("TreeRenderer")),this.focusManager=new z(this.logger.child("FocusManager")),this.modalManager=new J(this.logger.child("ModalManager")),this.formLifecycleManager=new Z(this.modalManager),this.loadingIndicator=new X,this.formDisabler=new Y,this.uploadHandler=new ne(l=>this.send(l),{chunkSize:256*1024,onProgress:l=>{this.wrapperElement&&this.wrapperElement.dispatchEvent(new CustomEvent("lvt:upload:progress",{detail:{entry:l}}))},onComplete:(l,c)=>{this.logger.info(`Upload complete: ${l}`,c),this.wrapperElement&&this.wrapperElement.dispatchEvent(new CustomEvent("lvt:upload:complete",{detail:{uploadName:l,entries:c}}))},onError:(l,c)=>{this.logger.error(`Upload error for ${l.id}:`,c),this.wrapperElement&&this.wrapperElement.dispatchEvent(new CustomEvent("lvt:upload:error",{detail:{entry:l,error:c}}))}}),this.eventDelegator=new q({getWrapperElement:()=>this.wrapperElement,getRateLimitedHandlers:()=>this.rateLimitedHandlers,parseValue:l=>this.parseValue(l),send:l=>this.send(l),setActiveSubmission:(l,c,d)=>this.formLifecycleManager.setActiveSubmission(l,c,d),openModal:l=>this.modalManager.open(l),closeModal:l=>this.modalManager.close(l),getWebSocketReadyState:()=>this.webSocketManager.getReadyState()},this.logger.child("EventDelegator")),this.observerManager=new G({getWrapperElement:()=>this.wrapperElement,send:l=>this.send(l)},this.logger.child("ObserverManager")),this.webSocketManager=new ee({options:this.options,logger:this.logger.child("Transport"),onConnected:()=>{var l,c,d;this.ws=this.webSocketManager.getSocket(),this.logger.info("WebSocket connected"),(c=(l=this.options).onConnect)==null||c.call(l),(d=this.wrapperElement)==null||d.dispatchEvent(new Event("lvt:connected"))},onDisconnected:()=>{var l,c,d;this.ws=null,this.logger.info("WebSocket disconnected"),(c=(l=this.options).onDisconnect)==null||c.call(l),(d=this.wrapperElement)==null||d.dispatchEvent(new Event("lvt:disconnected"))},onMessage:(l,c)=>{this.handleWebSocketPayload(l,c)},onReconnectAttempt:()=>{this.logger.info("Attempting to reconnect...")},onError:l=>{var c,d;this.logger.error("WebSocket error:",l),(d=(c=this.options).onError)==null||d.call(c,l)}})}static autoInit(){let e=he({scope:"Client:autoInit"}),t=()=>{let n=document.querySelector("[data-lvt-id]");if(n){let r=new a;r.wrapperElement=n,n.getAttribute("data-lvt-loading")==="true"&&(r.loadingIndicator.show(),r.formDisabler.disable(r.wrapperElement)),r.connect().catch(o=>{e.error("Auto-initialization connect failed:",o)}),window.liveTemplateClient=r}};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}handleWebSocketPayload(e,t){var r,s;t&&(window.__lastWSMessage=t.data,window.__wsMessages||(window.__wsMessages=[]),window.__wsMessages.push(e));let n=e;if(n.type==="upload_progress"){this.uploadHandler.handleProgressMessage(n);return}if(n.upload_name&&n.entries){let o=n;try{this.handleUploadStartResponse(o)}catch(i){this.logger.error("Error handling upload start response:",i)}return}if(n.upload_name&&n.hasOwnProperty("success")){n.success?this.logger.info(`Upload complete: ${n.upload_name}`):this.logger.error(`Upload failed: ${n.upload_name}`,n.error);return}this.isInitialized||(this.loadingIndicator.hide(),this.formDisabler.enable(this.wrapperElement),this.wrapperElement&&this.wrapperElement.hasAttribute("data-lvt-loading")&&this.wrapperElement.removeAttribute("data-lvt-loading"),this.isInitialized=!0),this.wrapperElement&&(this.updateDOM(this.wrapperElement,e.tree,e.meta),this.messageCount++,window.__wsMessageCount=this.messageCount,this.wrapperElement.dispatchEvent(new CustomEvent("lvt:updated",{detail:{messageCount:this.messageCount,action:(r=e.meta)==null?void 0:r.action,success:(s=e.meta)==null?void 0:s.success}})))}async connect(e="[data-lvt-id]"){var n,r;if(this.wrapperElement=document.querySelector(e),!this.wrapperElement)throw new Error(`LiveTemplate wrapper not found with selector: ${e}`);this.webSocketManager.disconnect();let t=await this.webSocketManager.connect();this.useHTTP=!t.usingWebSocket,this.useHTTP&&(this.ws=null,this.logger.info("WebSocket not available, using HTTP mode"),(r=(n=this.options).onConnect)==null||r.call(n),t.initialState&&this.wrapperElement&&this.handleWebSocketPayload(t.initialState)),this.eventDelegator.setupEventDelegation(),this.eventDelegator.setupWindowEventDelegation(),this.eventDelegator.setupClickAwayDelegation(),this.eventDelegator.setupModalDelegation(),this.focusManager.attach(this.wrapperElement),this.observerManager.setupInfiniteScrollObserver(),this.observerManager.setupInfiniteScrollMutationObserver()}disconnect(){this.webSocketManager.disconnect(),this.ws=null,this.useHTTP=!1,this.observerManager.teardown(),this.formLifecycleManager.reset(),this.loadingIndicator.hide(),this.formDisabler.enable(this.wrapperElement)}isReady(){let e=this.wrapperElement;return!e||e.hasAttribute("data-lvt-loading")?!1:this.useHTTP?!0:this.webSocketManager.getReadyState()===WebSocket.OPEN}send(e){window.__lvtSendCalled=!0,window.__lvtMessageAction=e==null?void 0:e.action;let t=this.webSocketManager.getReadyState();this.logger.isDebugEnabled()&&this.logger.debug("send() invoked",{message:e,useHTTP:this.useHTTP,hasWebSocket:t!==void 0,readyState:t}),this.useHTTP?(this.logger.debug("Using HTTP mode for send"),window.__lvtSendPath="http",this.sendHTTP(e)):t===WebSocket.OPEN?(this.logger.debug("Sending via WebSocket"),window.__lvtSendPath="websocket",window.__lvtWSMessage=JSON.stringify(e),this.webSocketManager.send(JSON.stringify(e)),this.logger.debug("WebSocket send complete"),window.__lvtWSSendComplete=!0):t!==void 0?(this.logger.warn(`WebSocket not ready (state: ${t}), using HTTP fallback`),window.__lvtSendPath="http-fallback",this.sendHTTP(e)):(this.logger.error("No transport available"),window.__lvtSendPath="no-transport")}async sendHTTP(e){try{let t=this.options.liveUrl||"/live",n=await fetch(t,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(e)});if(!n.ok)throw new Error(`HTTP request failed: ${n.status}`);let r=await n.json();this.wrapperElement&&this.updateDOM(this.wrapperElement,r.tree,r.meta)}catch(t){this.logger.error("Failed to send HTTP request:",t)}}parseValue(e){let t=parseFloat(e);return!isNaN(t)&&e.trim()===t.toString()?t:e==="true"?!0:e==="false"?!1:e}applyUpdate(e){return this.treeRenderer.applyUpdate(e)}applyUpdateToHTML(e,t){let n=this.applyUpdate(t);if(!this.lvtId){let c=e.match(/data-lvt-id="([^"]+)"/);c&&(this.lvtId=c[1])}let r=n.html;if(!e.match(/<body>([\s\S]*?)<\/body>/))return e;let l=`<div data-lvt-id="${this.lvtId||"lvt-unknown"}">`+r+"</div>";return e.replace(/<body>[\s\S]*?<\/body>/,`<body>${l}</body>`)}updateDOM(e,t,n){let r=this.applyUpdate(t),s=i=>!i||typeof i!="object"?!1:i.s&&Array.isArray(i.s)?!0:Object.values(i).some(l=>s(l));if(!r.changed&&!s(t))return;let o=document.createElement(e.tagName);this.logger.isDebugEnabled()&&(this.logger.debug("[updateDOM] element.tagName:",e.tagName),this.logger.debug("[updateDOM] result.html (first 500 chars):",r.html.substring(0,500)),this.logger.debug("[updateDOM] Has <table> tag:",r.html.includes("<table>")),this.logger.debug("[updateDOM] Has <tbody> tag:",r.html.includes("<tbody>")),this.logger.debug("[updateDOM] Has <tr> tag:",r.html.includes("<tr"))),o.innerHTML=r.html,this.logger.isDebugEnabled()&&(this.logger.debug("[updateDOM] tempWrapper.innerHTML (first 500 chars):",o.innerHTML.substring(0,500)),this.logger.debug("[updateDOM] tempWrapper has <table>:",o.innerHTML.includes("<table>")),this.logger.debug("[updateDOM] tempWrapper has <tbody>:",o.innerHTML.includes("<tbody>")),this.logger.debug("[updateDOM] tempWrapper has <tr>:",o.innerHTML.includes("<tr"))),Se(e,o,{childrenOnly:!0,getNodeKey:i=>{if(i.nodeType===1)return i.getAttribute("data-key")||i.getAttribute("data-lvt-key")||void 0},onBeforeElUpdated:(i,l)=>{let c=this.focusManager.getLastFocusedElement();return c&&this.focusManager.isTextualInput(i)&&i===c&&(l.value=i.value),i.isEqualNode(l)?!1:(this.executeLifecycleHook(i,"lvt-updated"),!0)},onNodeAdded:i=>{i.nodeType===Node.ELEMENT_NODE&&this.executeLifecycleHook(i,"lvt-mounted")},onBeforeNodeDiscarded:i=>(i.nodeType===Node.ELEMENT_NODE&&this.executeLifecycleHook(i,"lvt-destroyed"),!0)}),this.focusManager.restoreFocusedElement(),Me(e),ke(e),Ae(e),this.uploadHandler.initializeFileInputs(e),n&&this.formLifecycleManager.handleResponse(n)}handleUploadStartResponse(e){this.uploadHandler.handleUploadStartResponse(e)}executeLifecycleHook(e,t){let n=e.getAttribute(t);if(n)try{new Function("element",n).call(e,e)}catch(r){this.logger.error(`Error executing ${t} hook:`,r)}}reset(){this.treeRenderer.reset(),this.focusManager.reset(),this.observerManager.teardown(),this.formLifecycleManager.reset(),this.loadingIndicator.hide(),this.formDisabler.enable(this.wrapperElement),this.lvtId=null}getTreeState(){return this.treeRenderer.getTreeState()}getStaticStructure(){return this.treeRenderer.getStaticStructure()}};typeof window!="undefined"&&re.autoInit();return Ie(Qe);})();
43
+ `),l=Math.max(o.length,i.length);for(let c=0;c<l;c++){let d=o[c]||"",M=i[c]||"";d!==M&&(t.push(`Line ${c+1}:`),t.push(` Expected: ${d}`),t.push(` Actual: ${M}`))}return{match:!1,differences:t}}var re=class a{constructor(e={}){this.lvtId=null;this.ws=null;this.wrapperElement=null;this.useHTTP=!1;this.sessionCookie=null;this.rateLimitedHandlers=new WeakMap;this.isInitialized=!1;this.messageCount=0;let{logger:t,logLevel:n,debug:r,...s}=e,o=n!=null?n:r?"debug":"info",i=t!=null?t:he({level:o});t?n?t.setLevel(n):r&&t.setLevel("debug"):i.setLevel(o),this.logger=i.child("Client"),this.options={autoReconnect:!1,reconnectDelay:1e3,liveUrl:window.location.pathname,...s},this.treeRenderer=new Q(this.logger.child("TreeRenderer")),this.focusManager=new z(this.logger.child("FocusManager")),this.modalManager=new J(this.logger.child("ModalManager")),this.formLifecycleManager=new Z(this.modalManager),this.loadingIndicator=new X,this.formDisabler=new Y,this.uploadHandler=new ne(l=>this.send(l),{chunkSize:256*1024,onProgress:l=>{this.wrapperElement&&this.wrapperElement.dispatchEvent(new CustomEvent("lvt:upload:progress",{detail:{entry:l}}))},onComplete:(l,c)=>{this.logger.info(`Upload complete: ${l}`,c),this.wrapperElement&&this.wrapperElement.dispatchEvent(new CustomEvent("lvt:upload:complete",{detail:{uploadName:l,entries:c}}))},onError:(l,c)=>{this.logger.error(`Upload error for ${l.id}:`,c),this.wrapperElement&&this.wrapperElement.dispatchEvent(new CustomEvent("lvt:upload:error",{detail:{entry:l,error:c}}))}}),this.eventDelegator=new q({getWrapperElement:()=>this.wrapperElement,getRateLimitedHandlers:()=>this.rateLimitedHandlers,parseValue:l=>this.parseValue(l),send:l=>this.send(l),setActiveSubmission:(l,c,d)=>this.formLifecycleManager.setActiveSubmission(l,c,d),openModal:l=>this.modalManager.open(l),closeModal:l=>this.modalManager.close(l),getWebSocketReadyState:()=>this.webSocketManager.getReadyState(),triggerPendingUploads:l=>this.uploadHandler.triggerPendingUploads(l)},this.logger.child("EventDelegator")),this.observerManager=new G({getWrapperElement:()=>this.wrapperElement,send:l=>this.send(l)},this.logger.child("ObserverManager")),this.webSocketManager=new ee({options:this.options,logger:this.logger.child("Transport"),onConnected:()=>{var l,c,d;this.ws=this.webSocketManager.getSocket(),this.logger.info("WebSocket connected"),(c=(l=this.options).onConnect)==null||c.call(l),(d=this.wrapperElement)==null||d.dispatchEvent(new Event("lvt:connected"))},onDisconnected:()=>{var l,c,d;this.ws=null,this.logger.info("WebSocket disconnected"),(c=(l=this.options).onDisconnect)==null||c.call(l),(d=this.wrapperElement)==null||d.dispatchEvent(new Event("lvt:disconnected"))},onMessage:(l,c)=>{this.handleWebSocketPayload(l,c)},onReconnectAttempt:()=>{this.logger.info("Attempting to reconnect...")},onError:l=>{var c,d;this.logger.error("WebSocket error:",l),(d=(c=this.options).onError)==null||d.call(c,l)}})}static autoInit(){let e=he({scope:"Client:autoInit"}),t=()=>{let n=document.querySelector("[data-lvt-id]");if(n){let r=new a;r.wrapperElement=n,n.getAttribute("data-lvt-loading")==="true"&&(r.loadingIndicator.show(),r.formDisabler.disable(r.wrapperElement)),r.connect().catch(o=>{e.error("Auto-initialization connect failed:",o)}),window.liveTemplateClient=r}};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}handleWebSocketPayload(e,t){var r,s;t&&(window.__lastWSMessage=t.data,window.__wsMessages||(window.__wsMessages=[]),window.__wsMessages.push(e));let n=e;if(n.type==="upload_progress"){this.uploadHandler.handleProgressMessage(n);return}if(n.upload_name&&n.entries){let o=n;try{this.handleUploadStartResponse(o)}catch(i){this.logger.error("Error handling upload start response:",i)}return}if(n.upload_name&&n.hasOwnProperty("success")){n.success?this.logger.info(`Upload complete: ${n.upload_name}`):this.logger.error(`Upload failed: ${n.upload_name}`,n.error);return}this.isInitialized||(this.loadingIndicator.hide(),this.formDisabler.enable(this.wrapperElement),this.wrapperElement&&this.wrapperElement.hasAttribute("data-lvt-loading")&&this.wrapperElement.removeAttribute("data-lvt-loading"),this.isInitialized=!0),this.wrapperElement&&(this.updateDOM(this.wrapperElement,e.tree,e.meta),this.messageCount++,window.__wsMessageCount=this.messageCount,this.wrapperElement.dispatchEvent(new CustomEvent("lvt:updated",{detail:{messageCount:this.messageCount,action:(r=e.meta)==null?void 0:r.action,success:(s=e.meta)==null?void 0:s.success}})))}async connect(e="[data-lvt-id]"){var n,r;if(this.wrapperElement=document.querySelector(e),!this.wrapperElement)throw new Error(`LiveTemplate wrapper not found with selector: ${e}`);this.webSocketManager.disconnect();let t=await this.webSocketManager.connect();this.useHTTP=!t.usingWebSocket,this.useHTTP&&(this.ws=null,this.logger.info("WebSocket not available, using HTTP mode"),(r=(n=this.options).onConnect)==null||r.call(n),t.initialState&&this.wrapperElement&&this.handleWebSocketPayload(t.initialState)),this.eventDelegator.setupEventDelegation(),this.eventDelegator.setupWindowEventDelegation(),this.eventDelegator.setupClickAwayDelegation(),this.eventDelegator.setupModalDelegation(),this.focusManager.attach(this.wrapperElement),this.observerManager.setupInfiniteScrollObserver(),this.observerManager.setupInfiniteScrollMutationObserver()}disconnect(){this.webSocketManager.disconnect(),this.ws=null,this.useHTTP=!1,this.observerManager.teardown(),this.formLifecycleManager.reset(),this.loadingIndicator.hide(),this.formDisabler.enable(this.wrapperElement)}isReady(){let e=this.wrapperElement;return!e||e.hasAttribute("data-lvt-loading")?!1:this.useHTTP?!0:this.webSocketManager.getReadyState()===1}send(e){window.__lvtSendCalled=!0,window.__lvtMessageAction=e==null?void 0:e.action;let t=this.webSocketManager.getReadyState();this.logger.isDebugEnabled()&&this.logger.debug("send() invoked",{message:e,useHTTP:this.useHTTP,hasWebSocket:t!==void 0,readyState:t}),this.useHTTP?(this.logger.debug("Using HTTP mode for send"),window.__lvtSendPath="http",this.sendHTTP(e)):t===1?(this.logger.debug("Sending via WebSocket"),window.__lvtSendPath="websocket",window.__lvtWSMessage=JSON.stringify(e),this.webSocketManager.send(JSON.stringify(e)),this.logger.debug("WebSocket send complete"),window.__lvtWSSendComplete=!0):t!==void 0?(this.logger.warn(`WebSocket not ready (state: ${t}), using HTTP fallback`),window.__lvtSendPath="http-fallback",this.sendHTTP(e)):(this.logger.error("No transport available"),window.__lvtSendPath="no-transport")}async sendHTTP(e){try{let t=this.options.liveUrl||"/live",n=await fetch(t,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(e)});if(!n.ok)throw new Error(`HTTP request failed: ${n.status}`);let r=await n.json();this.wrapperElement&&this.updateDOM(this.wrapperElement,r.tree,r.meta)}catch(t){this.logger.error("Failed to send HTTP request:",t)}}parseValue(e){let t=parseFloat(e);return!isNaN(t)&&e.trim()===t.toString()?t:e==="true"?!0:e==="false"?!1:e}applyUpdate(e){return this.treeRenderer.applyUpdate(e)}applyUpdateToHTML(e,t){let n=this.applyUpdate(t);if(!this.lvtId){let c=e.match(/data-lvt-id="([^"]+)"/);c&&(this.lvtId=c[1])}let r=n.html;if(!e.match(/<body>([\s\S]*?)<\/body>/))return e;let l=`<div data-lvt-id="${this.lvtId||"lvt-unknown"}">`+r+"</div>";return e.replace(/<body>[\s\S]*?<\/body>/,`<body>${l}</body>`)}updateDOM(e,t,n){let r=this.applyUpdate(t),s=i=>!i||typeof i!="object"?!1:i.s&&Array.isArray(i.s)?!0:Object.values(i).some(l=>s(l));if(!r.changed&&!s(t))return;let o=document.createElement(e.tagName);this.logger.isDebugEnabled()&&(this.logger.debug("[updateDOM] element.tagName:",e.tagName),this.logger.debug("[updateDOM] result.html (first 500 chars):",r.html.substring(0,500)),this.logger.debug("[updateDOM] Has <table> tag:",r.html.includes("<table>")),this.logger.debug("[updateDOM] Has <tbody> tag:",r.html.includes("<tbody>")),this.logger.debug("[updateDOM] Has <tr> tag:",r.html.includes("<tr"))),o.innerHTML=r.html,this.logger.isDebugEnabled()&&(this.logger.debug("[updateDOM] tempWrapper.innerHTML (first 500 chars):",o.innerHTML.substring(0,500)),this.logger.debug("[updateDOM] tempWrapper has <table>:",o.innerHTML.includes("<table>")),this.logger.debug("[updateDOM] tempWrapper has <tbody>:",o.innerHTML.includes("<tbody>")),this.logger.debug("[updateDOM] tempWrapper has <tr>:",o.innerHTML.includes("<tr"))),Se(e,o,{childrenOnly:!0,getNodeKey:i=>{if(i.nodeType===1)return i.getAttribute("data-key")||i.getAttribute("data-lvt-key")||void 0},onBeforeElUpdated:(i,l)=>{let c=this.focusManager.getLastFocusedElement();return c&&this.focusManager.isTextualInput(i)&&i===c&&(l.value=i.value),i.isEqualNode(l)?!1:(this.executeLifecycleHook(i,"lvt-updated"),!0)},onNodeAdded:i=>{i.nodeType===Node.ELEMENT_NODE&&this.executeLifecycleHook(i,"lvt-mounted")},onBeforeNodeDiscarded:i=>(i.nodeType===Node.ELEMENT_NODE&&this.executeLifecycleHook(i,"lvt-destroyed"),!0)}),this.focusManager.restoreFocusedElement(),Me(e),ke(e),Ae(e),this.uploadHandler.initializeFileInputs(e),n&&this.formLifecycleManager.handleResponse(n)}handleUploadStartResponse(e){this.uploadHandler.handleUploadStartResponse(e)}executeLifecycleHook(e,t){let n=e.getAttribute(t);if(n)try{new Function("element",n).call(e,e)}catch(r){this.logger.error(`Error executing ${t} hook:`,r)}}reset(){this.treeRenderer.reset(),this.focusManager.reset(),this.observerManager.teardown(),this.formLifecycleManager.reset(),this.loadingIndicator.hide(),this.formDisabler.enable(this.wrapperElement),this.lvtId=null}getTreeState(){return this.treeRenderer.getTreeState()}getStaticStructure(){return this.treeRenderer.getStaticStructure()}};typeof window!="undefined"&&re.autoInit();return Ie(Qe);})();
44
44
  //# sourceMappingURL=livetemplate-client.browser.js.map