htmx.org 4.0.0-alpha4 → 4.0.0-alpha6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- (()=>{let e;function t(t,n){let r=e.attributeValue(t,"hx-ws:"+n);if(null!=r)return r;let s=e.attributeValue(t,"hx-ws-"+n);if(null!=s)return s;if("send"===n){let n=e.attributeValue(t,"hx-ws");if(null!=n)return n}return null}function n(e,n){let r=t(e,n);return null!=r}function r(){return{reconnect:!0,reconnectDelay:1e3,reconnectMaxDelay:3e4,reconnectJitter:!0,autoConnect:!1,pauseInBackground:!0,...htmx.config.websockets||{}}}const s=new Map;function o(e,t){if(s.has(e)){let n=s.get(e);return n.refCount++,n.elements.add(t),n}let n={socket:null,refCount:1,elements:new Set([t]),reconnectAttempts:0,reconnectTimer:null,pendingRequests:new Map};return s.set(e,n),c(e,n),n}function c(t,n){let o=n.elements.values().next().value;if(!o||i(o,"htmx:before:ws:connect",{url:t}))try{n.socket=new WebSocket(t),n.socket.addEventListener("open",()=>{o&&i(o,"htmx:after:ws:connect",{url:t,socket:n.socket})}),n.socket.addEventListener("message",t=>{!function(t,n){let r;try{r=JSON.parse(n.data)}catch(e){let r=t.elements.values().next().value;return void(r&&i(r,"htmx:wsUnknownMessage",{data:n.data}))}r.channel=r.channel||"ui",r.format=r.format||"html";let s=null;r.request_id&&t.pendingRequests.has(r.request_id)?(s=t.pendingRequests.get(r.request_id).element,t.pendingRequests.delete(r.request_id)):s=t.elements.values().next().value;if(!i(s,"htmx:before:ws:message",{envelope:r,element:s}))return;"ui"===r.channel&&"html"===r.format?function(t,n){let r=(new DOMParser).parseFromString(n.payload,"text/html"),s=r.querySelectorAll("hx-partial");if(0===s.length){let r=function(t){let n=e.attributeValue(t,"hx-target");if(n)return"this"===n?t:document.querySelector(n);return t}(t);return void(r&&l(r,n.payload,t))}s.forEach(e=>{let n=e.getAttribute("id");if(!n)return;let r=document.getElementById(n);r&&l(r,e.innerHTML,t)})}(s,r):!r.channel||"audio"!==r.channel&&"json"!==r.channel&&"binary"!==r.channel?i(s,"htmx:wsUnknownMessage",{...r,element:s}):i(s,"htmx:wsMessage",{...r,element:s});i(s,"htmx:after:ws:message",{envelope:r,element:s})}(n,t)}),n.socket.addEventListener("close",()=>{if(o&&i(o,"htmx:ws:close",{url:t}),!s.has(t))return;r().reconnect&&n.refCount>0?function(e,t){let n=r(),s=t.reconnectAttempts;t.reconnectAttempts++;let o=Math.min((n.reconnectDelay||1e3)*Math.pow(2,s),n.reconnectMaxDelay||3e4);n.reconnectJitter&&(o*=.75+.5*Math.random());t.reconnectTimer=setTimeout(()=>{if(t.refCount>0){let n=t.elements.values().next().value;n&&i(n,"htmx:ws:reconnect",{url:e,attempts:s}),c(e,t)}},o)}(t,n):s.delete(t)}),n.socket.addEventListener("error",e=>{o&&i(o,"htmx:ws:error",{url:t,error:e})})}catch(e){o&&i(o,"htmx:ws:error",{url:t,error:e})}}function a(n,r){let o=t(n,"send");if(!o){let e=htmx.config.prefix||"",r=n.closest("["+e+"hx-ws\\:connect],["+e+"hx-ws-connect]");r&&(o=t(r,"connect"))}if(!o)return void console.error("No WebSocket connection found for hx-ws:send element",n);let c=s.get(o);if(!c||!c.socket||c.socket.readyState!==WebSocket.OPEN)return void i(n,"htmx:wsSendError",{url:o,error:"Connection not open"});let a=n.form||n.closest("form"),l=e.collectFormData(n,a,r.submitter);e.handleHxVals(n,l);let u={};for(let[e,t]of l)u[e]=t;let x="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}),m={type:"request",request_id:x,event:r.type,values:u,path:o};n.id&&(m.id=n.id);let h={message:m,element:n,url:o};if(i(n,"htmx:before:ws:send",h))try{c.socket.send(JSON.stringify(h.message)),c.pendingRequests.set(x,{element:n,timestamp:Date.now()}),i(n,"htmx:after:ws:send",{message:h.message,url:o})}catch(e){i(n,"htmx:wsSendError",{url:o,error:e})}}function l(t,n,r){let s=(e.attributeValue(r,"hx-swap")||htmx.config.defaultSwap).split(" ")[0];switch(s=function(e){return"before"===e?"beforebegin":"after"===e?"afterend":"prepend"===e?"afterbegin":"append"===e?"beforeend":e}(s),s){case"innerHTML":default:t.innerHTML=n;break;case"outerHTML":t.outerHTML=n;break;case"beforebegin":t.insertAdjacentHTML("beforebegin",n);break;case"afterbegin":t.insertAdjacentHTML("afterbegin",n);break;case"beforeend":t.insertAdjacentHTML("beforeend",n);break;case"afterend":t.insertAdjacentHTML("afterend",n);break;case"delete":t.remove();case"none":}htmx.process(t)}function i(e,t,n={}){return!e||htmx.trigger(e,t,n)}function u(e){e._htmx?.wsUrl&&function(e,t){if(!s.has(e))return;let n=s.get(e);n.elements.delete(t),n.refCount--,n.refCount<=0&&(n.reconnectTimer&&clearTimeout(n.reconnectTimer),n.socket&&n.socket.readyState===WebSocket.OPEN&&n.socket.close(),s.delete(e))}(e._htmx.wsUrl,e),e._htmx?.wsSendHandler&&e.removeEventListener(e._htmx.wsSendEvent,e._htmx.wsSendHandler)}htmx.registerExtension("ws",{init:t=>{e=t,htmx.config.websockets||(htmx.config.websockets={})},htmx_after_process:s=>{const c=s=>{!function(e){if(e.hasAttribute("ws-connect")||e.hasAttribute("ws-send")){if(console.warn("HTMX WebSocket: Legacy attributes ws-connect and ws-send are deprecated. Please use hx-ws:connect/hx-ws-connect and hx-ws:send/hx-ws-send instead."),e.hasAttribute("ws-connect")){let t=e.getAttribute("ws-connect");e.hasAttribute("hx-ws-connect")||e.setAttribute("hx-ws-connect",t)}e.hasAttribute("ws-send")&&(e.hasAttribute("hx-ws-send")||e.setAttribute("hx-ws-send",""))}}(s),n(s,"connect")&&function(n){if(n._htmx?.wsInitialized)return;let s=t(n,"connect");if(!s)return;n._htmx=n._htmx||{},n._htmx.wsInitialized=!0;let c=r(),a=e.attributeValue(n,"hx-trigger");if(a||!0!==c.autoConnect){if(a){let t=e.parseTriggerSpecs(a);if(t.length>0){let e=t[0];"load"===e.name?(o(s,n),n._htmx=n._htmx||{},n._htmx.wsUrl=s):n.addEventListener(e.name,()=>{n._htmx?.wsUrl||(o(s,n),n._htmx=n._htmx||{},n._htmx.wsUrl=s)},{once:!0})}}}else o(s,n),n._htmx=n._htmx||{},n._htmx.wsUrl=s}(s),n(s,"send")&&function(n){if(n._htmx?.wsSendInitialized)return;let r=t(n,"send"),s=e.attributeValue(n,"hx-trigger");s||(s=n.matches("form")?"submit":n.matches("input:not([type=button]),select,textarea")?"change":"click");let c=e.parseTriggerSpecs(s);if(c.length>0){let e=c[0],t=e=>{n.matches("form")&&"submit"===e.type&&e.preventDefault(),r&&(n._htmx?.wsUrl||(o(r,n),n._htmx=n._htmx||{},n._htmx.wsUrl=r)),a(n,e)};n.addEventListener(e.name,t),n._htmx=n._htmx||{},n._htmx.wsSendInitialized=!0,n._htmx.wsSendHandler=t,n._htmx.wsSendEvent=e.name}}(s)};c(s),s.querySelectorAll("[hx-ws\\:connect], [hx-ws-connect], [hx-ws\\:send], [hx-ws-send], [hx-ws], [ws-connect], [ws-send]").forEach(c)},htmx_before_cleanup:e=>{u(e)}}),"undefined"!=typeof window&&window.htmx&&(window.htmx.ext=window.htmx.ext||{},window.htmx.ext.ws={getRegistry:()=>({clear:()=>{let e=Array.from(s.values());s.clear(),e.forEach(e=>{e.refCount=0,e.reconnectTimer&&clearTimeout(e.reconnectTimer),e.socket&&e.socket.close(),e.elements.clear(),e.pendingRequests.clear()})},get:e=>s.get(e),has:e=>s.has(e),size:s.size})})})();
1
+ (()=>{let e;function t(e){return(htmx.config.prefix||"hx-")+"ws"+e}function n(t,n){let r=e.attributeValue(t,"hx-ws:"+n);if(null!=r)return r;let s=e.attributeValue(t,"hx-ws-"+n);if(null!=s)return s;if("send"===n){let n=e.attributeValue(t,"hx-ws");if(null!=n)return n}return null}function r(e,t){let r=n(e,t);return null!=r}function s(e){let n=t(":"+e),r=t("-"+e);return`[${n.replace(":","\\:")}],[${r}]`}function o(){return{reconnect:!0,reconnectDelay:1e3,reconnectMaxDelay:3e4,reconnectJitter:!0,pendingRequestTTL:3e4,...htmx.config.websockets||{}}}function l(e){if(e.startsWith("ws://")||e.startsWith("wss://"))return e;if(e.startsWith("http://"))return"ws://"+e.slice(7);if(e.startsWith("https://"))return"wss://"+e.slice(8);let t="https:"===window.location.protocol?"wss:":"ws:",n=window.location.host;return e.startsWith("//")?t+e:e.startsWith("/")?t+"//"+n+e:t+"//"+n+window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1)+e}const i=new Map;function a(e,t){let n=l(e);if(i.has(n)){let e=i.get(n);return e.refCount++,e.elements.add(t),e}let r={url:n,socket:null,refCount:1,elements:new Set([t]),reconnectAttempts:0,reconnectTimer:null,pendingRequests:new Map,listeners:{}};return x(t,"htmx:before:ws:connect",{url:n})?(i.set(n,r),c(n,r),r):null}function c(t,n){let r=n.elements.values().next().value;if(n.socket){let e=n.socket;n.socket=null,n.listeners.open&&e.removeEventListener("open",n.listeners.open),n.listeners.message&&e.removeEventListener("message",n.listeners.message),n.listeners.close&&e.removeEventListener("close",n.listeners.close),n.listeners.error&&e.removeEventListener("error",n.listeners.error);try{e.readyState!==WebSocket.OPEN&&e.readyState!==WebSocket.CONNECTING||e.close()}catch(e){}}try{n.socket=new WebSocket(t),n.listeners.open=()=>{n.reconnectAttempts=0,r&&x(r,"htmx:after:ws:connect",{url:t,socket:n.socket})},n.listeners.message=t=>{!function(t,n){let r;try{r=JSON.parse(n.data)}catch(e){let r=t.elements.values().next().value;return void(r&&x(r,"htmx:wsUnknownMessage",{data:n.data,parseError:e}))}r.channel=r.channel||"ui",r.format=r.format||"html";let s=null;r.request_id&&t.pendingRequests.has(r.request_id)?(s=t.pendingRequests.get(r.request_id).element,t.pendingRequests.delete(r.request_id)):s=t.elements.values().next().value;if(!x(s,"htmx:before:ws:message",{envelope:r,element:s}))return;"ui"===r.channel&&"html"===r.format?function(t,n){let r=(new DOMParser).parseFromString(n.payload||"","text/html"),s=r.querySelectorAll("hx-partial");if(0===s.length){let r=function(t,n){if(n)return"this"===n?t:document.querySelector(n);let r=e.attributeValue(t,"hx-target");if(r)return"this"===r?t:document.querySelector(r);return t}(t,n.target);return void(r&&d(r,n.payload,t,n.swap))}for(let e of s){let n=e.getAttribute("id");if(!n)continue;let r=document.getElementById(n);r&&d(r,e.innerHTML,t)}}(s,r):x(s,"htmx:wsMessage",{...r,element:s});x(s,"htmx:after:ws:message",{envelope:r,element:s})}(n,t)},n.listeners.close=e=>{if(e.target!==n.socket)return;if(r&&x(r,"htmx:ws:close",{url:t,code:e.code,reason:e.reason}),!i.has(t))return;o().reconnect&&n.refCount>0?function(e,t){let n=o();t.reconnectAttempts++;let r=t.reconnectAttempts,s=Math.min((n.reconnectDelay||1e3)*Math.pow(2,r-1),n.reconnectMaxDelay||3e4);n.reconnectJitter&&(s*=.75+.5*Math.random());t.reconnectTimer=setTimeout(()=>{if(t.refCount>0){let n=t.elements.values().next().value;n&&x(n,"htmx:ws:reconnect",{url:e,attempts:r}),c(e,t)}},s)}(t,n):(u(n),i.delete(t))},n.listeners.error=e=>{r&&x(r,"htmx:ws:error",{url:t,error:e})},n.socket.addEventListener("open",n.listeners.open),n.socket.addEventListener("message",n.listeners.message),n.socket.addEventListener("close",n.listeners.close),n.socket.addEventListener("error",n.listeners.error)}catch(e){r&&x(r,"htmx:ws:error",{url:t,error:e})}}function u(e){e.pendingRequests.clear()}function m(e){return!!e&&(e.startsWith("/")||e.startsWith(".")||e.startsWith("ws:")||e.startsWith("wss:")||e.startsWith("http:")||e.startsWith("https:")||e.startsWith("//"))}async function h(t,r){let a=n(t,"send");if(!m(a)){let e=s("connect"),r=t.closest(e);a=r?n(r,"connect"):null}if(!a)return void x(t,"htmx:wsSendError",{element:t,error:"No WebSocket connection found for element"});let c=l(a),u=i.get(c);if(!u||!u.socket||u.socket.readyState!==WebSocket.OPEN)return void x(t,"htmx:wsSendError",{url:c,error:"Connection not open"});!function(e){let t=o(),n=Date.now(),r=t.pendingRequestTTL||3e4;for(let[t,s]of e.pendingRequests)n-s.timestamp>r&&e.pendingRequests.delete(t)}(u);let h=t.form||t.closest("form"),d=e.collectFormData(t,h,r.submitter),f=e.handleHxVals(t,d);f&&await f;let w={};for(let[e,t]of d)e in w?(Array.isArray(w[e])||(w[e]=[w[e]]),w[e].push(t)):w[e]=t;let p={"HX-Request":"true","HX-Current-URL":window.location.href};t.id&&(p["HX-Trigger"]=t.id);let g=e.attributeValue(t,"hx-target");g&&(p["HX-Target"]=g);let b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}),v={type:"request",request_id:b,event:r.type,headers:p,values:w,path:c};t.id&&(v.id=t.id);let y={data:v,element:t,url:c};if(x(t,"htmx:before:ws:send",y))try{u.socket.send(JSON.stringify(y.data)),u.pendingRequests.set(b,{element:t,timestamp:Date.now()}),x(t,"htmx:after:ws:send",{data:y.data,url:c})}catch(e){x(t,"htmx:wsSendError",{url:c,error:e})}}function d(t,n,r,s){let o=s||e.attributeValue(r,"hx-swap")||htmx.config.defaultSwap,l=document.createElement("template");l.innerHTML=n||"";let i={target:t,swapSpec:o,fragment:l.content};e.insertContent(i)}function x(e,t,n={}){return!e||htmx.trigger(e,t,n)}function f(e){e._htmx?.wsUrl&&function(e,t){let n=l(e);if(!i.has(n))return;let r=i.get(n);r.elements.delete(t),r.refCount--,r.refCount<=0&&(r.reconnectTimer&&clearTimeout(r.reconnectTimer),u(r),r.socket&&r.socket.readyState===WebSocket.OPEN&&r.socket.close(),i.delete(n))}(e._htmx.wsUrl,e),e._htmx?.wsSendHandler&&e.removeEventListener(e._htmx.wsSendEvent,e._htmx.wsSendHandler)}htmx.registerExtension("ws",{init:t=>{e=t,htmx.config.websockets||(htmx.config.websockets={})},htmx_after_process:o=>{const l=s=>{!function(e){if(e.hasAttribute("ws-connect")||e.hasAttribute("ws-send")){if(console.warn("HTMX WebSocket: Legacy attributes ws-connect and ws-send are deprecated. Please use hx-ws:connect/hx-ws-connect and hx-ws:send/hx-ws-send instead."),e.hasAttribute("ws-connect")){let n=e.getAttribute("ws-connect"),r=t("-connect");e.hasAttribute(r)||e.setAttribute(r,n)}if(e.hasAttribute("ws-send")){let n=t("-send");e.hasAttribute(n)||e.setAttribute(n,"")}}}(s),r(s,"connect")&&function(t){if(t._htmx?.wsInitialized)return;let r=n(t,"connect");if(!r)return;t._htmx=t._htmx||{},t._htmx.wsInitialized=!0;let s=e.attributeValue(t,"hx-trigger");if(s){let n=e.parseTriggerSpecs(s);if(n.length>0){let e=n[0];if("load"===e.name){let e=a(r,t);e&&(t._htmx.wsUrl=e.url)}else t.addEventListener(e.name,()=>{if(!t._htmx?.wsUrl){let e=a(r,t);e&&(t._htmx.wsUrl=e.url)}},{once:!0})}}else{let e=a(r,t);e&&(t._htmx.wsUrl=e.url)}}(s),r(s,"send")&&function(t){if(t._htmx?.wsSendInitialized)return;let r=n(t,"send"),s=m(r)?r:null,o=e.attributeValue(t,"hx-trigger");o||(o=t.matches("form")?"submit":t.matches("input:not([type=button]),select,textarea")?"change":"click");let l=e.parseTriggerSpecs(o);if(l.length>0){let e=l[0],n=async e=>{if(t.matches("form")&&"submit"===e.type&&e.preventDefault(),s&&!t._htmx?.wsUrl){let e=a(s,t);e&&(t._htmx.wsUrl=e.url)}await h(t,e)};t.addEventListener(e.name,n),t._htmx=t._htmx||{},t._htmx.wsSendInitialized=!0,t._htmx.wsSendHandler=n,t._htmx.wsSendEvent=e.name}}(s)};l(o);let i=`${s("connect")},${s("send")},[${t("")}],[ws-connect],[ws-send]`;o.querySelectorAll(i).forEach(l)},htmx_before_cleanup:e=>{f(e)}}),"undefined"!=typeof window&&window.htmx&&(window.htmx.ext=window.htmx.ext||{},window.htmx.ext.ws={getRegistry:()=>({clear:()=>{let e=Array.from(i.values());i.clear(),e.forEach(e=>{e.refCount=0,e.reconnectTimer&&clearTimeout(e.reconnectTimer),e.socket&&e.socket.close(),e.elements.clear(),e.pendingRequests.clear()})},get:e=>i.get(l(e)),has:e=>i.has(l(e)),size:i.size})})})();
@@ -1 +1 @@
1
- {"version":3,"names":["api","getWsAttribute","element","attrName","colonValue","attributeValue","hyphenValue","plainValue","hasWsAttribute","value","getConfig","reconnect","reconnectDelay","reconnectMaxDelay","reconnectJitter","autoConnect","pauseInBackground","htmx","config","websockets","connectionRegistry","Map","getOrCreateConnection","url","has","entry","get","refCount","elements","add","socket","Set","reconnectAttempts","reconnectTimer","pendingRequests","set","createWebSocket","firstElement","values","next","triggerEvent","WebSocket","addEventListener","event","envelope","JSON","parse","data","e","channel","format","targetElement","request_id","delete","doc","DOMParser","parseFromString","payload","partials","querySelectorAll","length","target","targetSelector","document","querySelector","resolveTarget","swapContent","forEach","partial","targetId","getAttribute","getElementById","innerHTML","handleHtmlMessage","handleMessage","attempts","delay","Math","min","pow","random","setTimeout","scheduleReconnect","error","sendMessage","prefix","ancestor","closest","console","readyState","OPEN","form","body","collectFormData","submitter","handleHxVals","key","requestId","replace","c","r","toString","message","type","path","id","detail","send","stringify","timestamp","Date","now","content","sourceElement","style","defaultSwap","split","normalizeSwapStyle","outerHTML","insertAdjacentHTML","remove","process","eventName","trigger","cleanupElement","_htmx","wsUrl","clearTimeout","close","decrementRef","wsSendHandler","removeEventListener","wsSendEvent","registerExtension","init","internalAPI","htmx_after_process","processNode","node","hasAttribute","warn","setAttribute","checkLegacyAttributes","wsInitialized","connectUrl","triggerSpec","specs","parseTriggerSpecs","spec","name","once","initializeElement","wsSendInitialized","sendUrl","matches","handler","evt","preventDefault","initializeSendElement","htmx_before_cleanup","window","ext","ws","getRegistry","clear","entries","Array","from","size"],"sources":["dist/ext/hx-ws.js"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["api","buildAttrName","suffix","htmx","config","prefix","getWsAttribute","element","attrName","colonValue","attributeValue","hyphenValue","plainValue","hasWsAttribute","value","buildWsSelector","colonAttr","hyphenAttr","replace","getConfig","reconnect","reconnectDelay","reconnectMaxDelay","reconnectJitter","pendingRequestTTL","websockets","normalizeWebSocketUrl","url","startsWith","slice","protocol","window","location","host","pathname","substring","lastIndexOf","connectionRegistry","Map","getOrCreateConnection","normalizedUrl","has","entry","get","refCount","elements","add","socket","Set","reconnectAttempts","reconnectTimer","pendingRequests","listeners","triggerEvent","set","createWebSocket","firstElement","values","next","oldSocket","open","removeEventListener","message","close","error","readyState","WebSocket","OPEN","CONNECTING","e","event","envelope","JSON","parse","data","parseError","channel","format","targetElement","request_id","delete","doc","DOMParser","parseFromString","payload","partials","querySelectorAll","length","target","envelopeTarget","document","querySelector","targetSelector","resolveTarget","swapWithHtmx","swap","partial","targetId","getAttribute","getElementById","innerHTML","handleHtmlMessage","handleMessage","code","reason","attempts","delay","Math","min","pow","random","setTimeout","scheduleReconnect","cleanupPendingRequests","addEventListener","clear","looksLikeUrl","async","sendMessage","selector","ancestor","closest","now","Date","ttl","requestId","pending","timestamp","cleanupExpiredRequests","form","body","collectFormData","submitter","valsResult","handleHxVals","key","Array","isArray","push","headers","href","id","targetAttr","c","r","toString","type","path","detail","send","stringify","content","sourceElement","envelopeSwap","swapStyle","defaultSwap","template","createElement","task","swapSpec","fragment","insertContent","eventName","trigger","cleanupElement","_htmx","wsUrl","clearTimeout","decrementRef","wsSendHandler","wsSendEvent","registerExtension","init","internalAPI","htmx_after_process","processNode","node","hasAttribute","console","warn","setAttribute","checkLegacyAttributes","wsInitialized","connectUrl","triggerSpec","specs","parseTriggerSpecs","spec","name","once","initializeElement","wsSendInitialized","sendAttr","sendUrl","matches","handler","evt","preventDefault","initializeSendElement","fullSelector","forEach","htmx_before_cleanup","ext","ws","getRegistry","entries","from","size"],"sources":["dist/ext/hx-ws.js"],"mappings":"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","ignoreList":[]}