defuss-morph 0.1.1 → 0.3.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.
package/dist/all.min.js CHANGED
@@ -1,2 +1,2 @@
1
- var e=Object.defineProperty,t=e=>e;function n(e,n){this[e]=t.bind(null,n)}var r=(t,r)=>{for(var i in r)e(t,i,{get:r[i],enumerable:!0,configurable:!0,set:n.bind(r,i)})},i={};r(i,{updateDomWithVdom:()=>K,resolveGlobals:()=>G,replaceDomWithVdom:()=>be,renderMarkup:()=>F,removeDelegatedEventByKey:()=>b,removeDelegatedEvent:()=>ie,registerDelegatedEvent:()=>h,queueCallback:()=>a,performTransition:()=>Z,parseEventPropName:()=>d,parseDOM:()=>j,observeUnmount:()=>D,nsMap:()=>E,morph:()=>$,isSVG:()=>M,isMarkup:()=>P,isHTML:()=>N,htmlStringToVNodes:()=>R,handleLifecycleEventsForOnMount:()=>O,getTransitionStyles:()=>q,getRenderer:()=>k,getRegisteredEventTypes:()=>v,getRegisteredEventKeys:()=>y,getMimeType:()=>I,domNodeToVNode:()=>L,clearDelegatedEventsDeep:()=>_,clearDelegatedEvents:()=>g,areDomNodesEqual:()=>z,applyStyles:()=>J,XMLNS_ATTRIBUTE_NAME:()=>C,XLINK_ATTRIBUTE_NAME:()=>S,REF_ATTRIBUTE_NAME:()=>w,FROM_DOM_MARKER:()=>A,DEFAULT_TRANSITION_CONFIG:()=>Y,DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE:()=>T,CLASS_ATTRIBUTE_NAME:()=>x,CAPTURE_ONLY_EVENTS:()=>o});var a=e=>(...t)=>queueMicrotask(()=>e(...t)),o=new Set([`focus`,`blur`,`scroll`,`mouseenter`,`mouseleave`]),s=new WeakMap,c=new WeakMap,l=new WeakMap,u=new WeakMap,d=e=>{if(!e.startsWith(`on`))return null;let t=e.slice(2);if(!t)return null;let n=t.toLowerCase(),r=n.endsWith(`capture`),i=r?n.slice(0,-7):n;return i?{eventType:i,capture:r}:null},ee=e=>{let t=s.get(e);if(t)return t;let n=new Map;return s.set(e,n),n},f=e=>{let t=e.composedPath?.();if(t&&t.length>0)return t;let n=[],r=e.target;for(;r;){n.push(r);let e=r;if(typeof e==`object`&&e&&`parentNode`in e){r=e.parentNode;continue}break}let i=e.target?.ownerDocument;i&&n[n.length-1]!==i&&n.push(i);let a=i?.defaultView;return a&&n[n.length-1]!==a&&n.push(a),n},p=(e,t)=>{let n=t===`capture`?l:c;return r=>{let i=f(r).filter(e=>typeof e==`object`&&!!e&&e.nodeType===1),a=t===`capture`?[...i].reverse():i;for(let i of a){let a=s.get(i);if(!a)continue;let o=a.get(e);if(!o)continue;let c=n.get(r);if(c?.has(i))continue;c||(c=new WeakSet,n.set(r,c)),c.add(i);let l=`${e}:${t}`,d=u.get(i);if(!d?.has(l)){d||(d=new Set,u.set(i,d)),d.add(l);try{if(t===`capture`){if(o.capture&&(o.capture.call(i,r),r.cancelBubble))return;if(o.captureSet){for(let e of o.captureSet)if(e.call(i,r),r.cancelBubble)return}}else{if(o.bubble&&(o.bubble.call(i,r),r.cancelBubble))return;if(o.bubbleSet){for(let e of o.bubbleSet)if(e.call(i,r),r.cancelBubble)return}}}finally{d.delete(l)}}}}},m=new WeakMap,te=(e,t)=>{let n=m.get(e)??new Set;m.set(e,n);let r=`${t}:capture`;n.has(r)||(e.addEventListener(t,p(t,`capture`),!0),n.add(r));let i=`${t}:bubble`;n.has(i)||(e.addEventListener(t,p(t,`bubble`),!1),n.add(i))},ne=e=>{let t=e.getRootNode();return t&&t.nodeType===9||t&&t.nodeType===11&&`host`in t?t:null},h=(e,t,n,r={})=>{let i=ne(e),a=r.capture||o.has(t);i?te(i,t):e.ownerDocument?te(e.ownerDocument,t):e.addEventListener(t,n,a);let s=ee(e),c=s.get(t)??{};s.set(t,c),r.multi?a?(c.captureSet||=new Set,c.captureSet.add(n)):(c.bubbleSet||=new Set,c.bubbleSet.add(n)):a?c.capture=n:c.bubble=n},re=e=>!e.capture&&!e.bubble&&(!e.captureSet||e.captureSet.size===0)&&(!e.bubbleSet||e.bubbleSet.size===0),ie=(e,t,n,r={})=>{let i=s.get(e);if(!i)return;let a=i.get(t);a&&(n?(a.captureSet&&a.captureSet.delete(n),a.bubbleSet&&a.bubbleSet.delete(n),a.capture===n&&(a.capture=void 0),a.bubble===n&&(a.bubble=void 0),e.removeEventListener(t,n,!0),e.removeEventListener(t,n,!1)):(a.capture=void 0,a.bubble=void 0,a.captureSet=void 0,a.bubbleSet=void 0),re(a)&&i.delete(t))},g=e=>{let t=s.get(e);t&&t.clear()},_=e=>{g(e);let t=e.ownerDocument;if(!t)return;let n=t.createTreeWalker(e,1),r=n.nextNode();for(;r;)g(r),r=n.nextNode()},v=e=>{let t=s.get(e);return t?new Set(t.keys()):new Set},y=e=>{let t=s.get(e);if(!t)return new Set;let n=new Set;for(let[e,r]of t)(r.bubble||r.bubbleSet?.size)&&n.add(`${e}:bubble`),(r.capture||r.captureSet?.size)&&n.add(`${e}:capture`);return n},b=(e,t,n)=>{let r=s.get(e);if(!r)return;let i=r.get(t);i&&(n===`capture`?(i.capture=void 0,i.captureSet=void 0):(i.bubble=void 0,i.bubbleSet=void 0),re(i)&&r.delete(t))},x=`class`,S=`xlink`,C=`xmlns`,w=`ref`,T=`dangerouslySetInnerHTML`,E={[C]:`http://www.w3.org/2000/xmlns/`,[S]:`http://www.w3.org/1999/xlink`,svg:`http://www.w3.org/2000/svg`},D=(e,t)=>{if(!e||typeof t!=`function`)throw Error(`Invalid arguments. Ensure domNode and onUnmount are valid.`);if(typeof MutationObserver>`u`)return;let n=e.parentNode;if(!n)throw Error(`The provided domNode does not have a parentNode.`);let r=new MutationObserver(i=>{for(let a of i)if(a.removedNodes.length>0){for(let i of a.removedNodes)if(i===e){queueMicrotask(()=>{if(!e.isConnected){t(),r.disconnect();return}let i=e.parentNode;i&&i!==n&&(n=i,r.disconnect(),r.observe(n,{childList:!0}))});return}}});r.observe(n,{childList:!0})},O=e=>{typeof e?.$onMount==`function`&&(e.$onMount(e),e.$onMount=null),typeof e?.$onUnmount==`function`&&D(e,e.$onUnmount)},k=e=>{let t={hasElNamespace:e=>e.namespaceURI===E.svg,hasSvgNamespace:(e,n)=>t.hasElNamespace(e)&&n!==`STYLE`&&n!==`SCRIPT`,createElementOrElements:(e,n)=>Array.isArray(e)?t.createChildElements(e,n):e===void 0?t.createTextNode(``,n):t.createElement(e,n),createElement:(n,r)=>{let i;try{if(typeof n==`function`&&n.constructor.name===`AsyncFunction`)i=e.createElement(`div`);else if(typeof n==`object`&&n&&`type`in n){let a=n;typeof a.type==`function`?(i=e.createElement(`div`),i.innerText=`FATAL ERROR: ${a.type._error}`):i=typeof a.type==`string`&&a.type.toUpperCase()===`SVG`||r&&t.hasSvgNamespace(r,typeof a.type==`string`?a.type.toUpperCase():``)?e.createElementNS(E.svg,a.type):e.createElement(a.type),a.attributes&&(t.setAttributes(a,i),a.attributes.dangerouslySetInnerHTML&&(i.innerHTML=a.attributes.dangerouslySetInnerHTML.__html)),a.children&&!a.attributes?.dangerouslySetInnerHTML&&t.createChildElements(a.children,i)}else(typeof n==`string`||typeof n==`number`)&&(i=e.createElement(String(n)));i&&r&&(r.appendChild(i),O(i))}catch(e){throw console.error(`Fatal error! Error happend while rendering the VDOM!`,e,n),e}return i},createTextNode:(t,n)=>{let r=e.createTextNode(t.toString());return n&&n.appendChild(r),r},createChildElements:(e,n)=>{let r=[];for(let i=0;i<e.length;i++){let a=e[i];typeof a!=`boolean`&&(a===null||typeof a!=`object`&&typeof a!=`function`?r.push(t.createTextNode((a??``).toString(),n)):r.push(t.createElement(a,n)))}return r},setAttribute:(e,n,r)=>{if(n===void 0||e===T)return;if(e===`key`){r._defussKey=String(n);return}if(e===w&&typeof n!=`function`){let e=n;e.current=r,r._defussRef=n,r.$onUnmount=a(()=>{}),r.parentNode?D(r,r.$onUnmount):queueMicrotask(()=>{r.parentNode&&D(r,r.$onUnmount)});return}let i=d(e);if(i&&typeof n==`function`){let{eventType:e,capture:t}=i;if(e===`mount`){r.$onMount=a(n);return}if(e===`unmount`){if(r.$onUnmount){let e=r.$onUnmount;r.$onUnmount=()=>{e(),n()}}else r.$onUnmount=a(n);return}h(r,e,n,{capture:t});return}e===`className`&&(e=x),e===x&&Array.isArray(n)&&(n=n.filter(e=>!!e).join(` `));let o=e.match(/[A-Z]/)?.index;if(t.hasElNamespace(r)&&o){let t=e.substring(0,o).toLowerCase(),i=e.substring(o,e.length).toLowerCase(),a=E[t]||null;r.setAttributeNS(a,t===S||t===C?`${t}:${i}`:e,String(n))}else if(e===`style`&&typeof n!=`string`){let e=n;for(let t of Object.keys(e))r.style[t]=String(e[t])}else typeof n==`boolean`?(r[e]=n,n?r.setAttribute(e,``):r.removeAttribute(e)):(e===`value`||e===`checked`||e===`selectedIndex`)&&(r.nodeName===`INPUT`||r.nodeName===`TEXTAREA`||r.nodeName===`SELECT`)?(r[e]=n,e===`checked`?n?r.setAttribute(`checked`,``):r.removeAttribute(`checked`):e===`value`&&r.setAttribute(`value`,String(n))):r.setAttribute(e,String(n))},setAttributes:(e,n)=>{let r=Object.keys(e.attributes??{});for(let i=0;i<r.length;i++)t.setAttribute(r[i],e.attributes[r[i]],n)}};return t},A=Symbol(`defuss-morph.from-dom`),ae=new Set([`allowfullscreen`,`async`,`autofocus`,`autoplay`,`checked`,`controls`,`default`,`defer`,`disabled`,`formnovalidate`,`hidden`,`inert`,`ismap`,`itemscope`,`loop`,`multiple`,`muted`,`nomodule`,`novalidate`,`open`,`playsinline`,`readonly`,`required`,`reversed`,`selected`]),oe=e=>ae.has(e.name.toLowerCase())?!0:e.value;function j(e,t,n){return new n().parseFromString(e,t)}function M(e,t){let n=j(e,`image/svg+xml`,t);return n.documentElement?n.documentElement.nodeName.toLowerCase()===`svg`:!1}function N(e,t){return j(e,`text/html`,t).documentElement.querySelectorAll(`*`).length>2}var P=(e,t)=>e.indexOf(`<`)>-1&&e.indexOf(`>`)>-1&&(N(e,t)||M(e,t));function F(e,t,n){let r=n||j(e,I(e,t),t);return r.body?Array.from(r.body.childNodes):r.documentElement?[r.documentElement]:[]}function I(e,t){return M(e,t)?`image/svg+xml`:`text/html`}function L(e){if(e.nodeType===3)return e.textContent||``;if(e.nodeType===1){let t=e,n={};for(let e=0;e<t.attributes.length;e++){let r=t.attributes[e];n[r.name]=oe(r)}let r=[];for(let e=0;e<t.childNodes.length;e++){let n=L(t.childNodes[e]);r.push(n)}return{type:t.tagName.toLowerCase(),attributes:{...n,[A]:!0},children:r}}return``}function R(e,t){let n=new t().parseFromString(e,`text/html`),r=[];for(let e=0;e<n.body.childNodes.length;e++){let t=L(n.body.childNodes[e]);t!==``&&r.push(t)}return r}var z=(e,t)=>{if(e===t)return!0;if(e.nodeType!==t.nodeType)return!1;if(e.nodeType===1){let n=e,r=t;if(n.tagName!==r.tagName)return!1;let i=n.attributes,a=r.attributes;if(i.length!==a.length)return!1;for(let e=0;e<i.length;e++){let t=i[e],n=r.getAttribute(t.name);if(t.value!==n)return!1}}return e.nodeType!==3||e.textContent===t.textContent};function se(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`}function B(e){return!!(e&&typeof e==`object`&&`type`in e)}function ce(e,t=!1){if(e==null||se(e)||B(e)||t&&e&&typeof e==`object`&&`attributes`in e)return e}function le(e,t=!1){let n=[],r=e=>{if(Array.isArray(e)){e.forEach(r);return}let i=ce(e,t);if(i!==void 0){if(B(i)&&(i.type===`fragment`||i.type===`Fragment`)){(Array.isArray(i.children)?i.children:[]).forEach(r);return}i!=null&&typeof i!=`boolean`&&n.push(i)}};r(e);let i=[],a=null,o=()=>{a!==null&&a.length>0&&i.push(a),a=null};for(let e of n){if(typeof e==`string`||typeof e==`number`||typeof e==`boolean`){a=(a??``)+String(e);continue}o(),i.push(e)}return o(),i}function V(e){if(!e||typeof e!=`object`)return null;let t=e.attributes?.key;if(typeof t==`string`||typeof t==`number`)return`k:${String(t)}`;let n=e.attributes?.id;return typeof n==`string`&&n.length>0?`id:${n}`:null}function ue(e){return e&&typeof e==`object`?`<${typeof e.type==`string`?e.type:`component`}>`:`plain text`}function de(e){if(e.nodeType!==1)return[];let t=e,n=[],r=t._defussKey;r&&n.push(`k:${r}`);let i=t.getAttribute(`key`);i&&n.push(`k:${i}`);let a=t.id;return a&&n.push(`id:${a}`),n}function fe(e,t){if(typeof t==`string`||typeof t==`number`||typeof t==`boolean`)return e.nodeType===3;if(t&&typeof t==`object`){if(e.nodeType!==1)return!1;let n=e.tagName.toLowerCase(),r=typeof t.type==`string`?t.type.toLowerCase():``;return!(!r||n!==r)}return!1}function H(e,t){let n=k(t.window.document);if(e==null)return;if(typeof e==`string`||typeof e==`number`||typeof e==`boolean`)return[t.window.document.createTextNode(String(e))];let r=n.createElementOrElements(e);return r?(Array.isArray(r)?r:[r]).filter(Boolean):void 0}function pe(e,t,n){let r=e.tagName.toLowerCase();return Object.hasOwn(n.attributes??{},t)?!1:r===`input`?t===`value`||t===`checked`:r===`textarea`||r===`select`?t===`value`:!1}function me(e,t,n,r=!1){let i=k(n.window.document),a=r?[]:Array.from(e.attributes),o=t.attributes??{};for(let n of a){let{name:r}=n;if(r!==`key`&&!r.startsWith(`on`)&&(r!==`class`||!Object.hasOwn(o,`class`)&&!Object.hasOwn(o,`className`))&&!Object.hasOwn(o,r)){if(pe(e,r,t))continue;e.removeAttribute(r)}}if(!(r||o[A])){let t=y(e),n=new Set;for(let e of Object.keys(o)){let t=d(e);if(t){let e=t.capture?`capture`:`bubble`;n.add(`${t.eventType}:${e}`)}}for(let r of t)if(!n.has(r)){let[t,n]=r.split(`:`);b(e,t,n)}}i.setAttributes(t,e),O(e);let s=t.attributes?.dangerouslySetInnerHTML;if(s&&typeof s==`object`&&typeof s.__html==`string`){e.innerHTML=s.__html;return}if(e.tagName.toLowerCase()===`textarea`){let t=Object.hasOwn(o,`value`);if(e.ownerDocument?.activeElement===e&&!t)return}r&&(t.children===void 0||t.children.length===0&&o[A])||ye(e,t.children??[],n)}function he(e,t,n,r=!1){if(typeof t==`string`||typeof t==`number`||typeof t==`boolean`){let r=String(t);if(e.nodeType===3)return e.nodeValue!==r&&(e.nodeValue=r),e;let i=n.window.document.createTextNode(r);return e.parentNode?.replaceChild(i,e),i}if(t&&typeof t==`object`){let i=typeof t.type==`string`?t.type:null;if(!i)return e;if(e.nodeType!==1){let r=H(t,n),i=Array.isArray(r)?r[0]:r;return i?(e.parentNode?.replaceChild(i,e),O(i),i):null}let a=e;if(a.tagName.toLowerCase()!==i.toLowerCase()){let e=H(t,n),r=Array.isArray(e)?e[0]:e;return r?(a.parentNode?.replaceChild(r,a),O(r),r):null}return me(a,t,n,r),a}return e.parentNode?.removeChild(e),null}var U=new WeakSet,W=new Map,G=(e,t)=>t||{window:e?.ownerDocument?.defaultView??globalThis};function ge(e){let t=e.parentElement;for(;t;){if(U.has(t))return!0;t=t.parentElement}return!1}function _e(){if(W.size===0)return;let e=[...W.entries()];W.clear();for(let[t,{vdom:n,globals:r,mode:i}]of e)t.isConnected&&K(t,n,r,i)}function K(e,t,n,r=`replace`){let i=G(e,n);if(U.has(e)||ge(e)){W.set(e,{vdom:t,globals:i,mode:r});return}U.add(e);try{ye(e,t,i,r)}finally{U.delete(e)}_e()}function ve(e,t,n){let r=new Map;for(let t of Array.from(e.childNodes))for(let e of de(t))r.has(e)||r.set(e,t);for(let i of t){if(typeof i==`string`&&i.trim()===``)continue;let t=V(i);if(!t)throw Error(`morph diff: patch items must be elements with a key or id attribute (got ${ue(i)})`);let a=r.get(t);if(a){he(a,i&&typeof i==`object`&&!i.type?{...i,type:a.tagName.toLowerCase()}:i,n,!0);continue}if(!i?.type)throw Error(`morph diff: new (unmatched) patch items must declare a tag (type), got key/id "${t}"`);let o=H(i,n)??[];for(let t of o)e.appendChild(t),O(t)}}function ye(e,t,n,r=`replace`){let i=e,a=i.tagName.includes(`-`),o=i.shadowRoot&&!a?i.shadowRoot:e,s=le(t,r===`diff`);if(r===`diff`){ve(o,s,n);return}let c=Array.from(o.childNodes),l=new Map,u=new WeakMap,d=[];for(let e of c){let t=de(e);if(t.length>0){u.set(e,t);let n=!1;for(let r of t)l.has(r)||(l.set(r,e),n=!0);n||d.push(e)}else d.push(e)}let ee=e=>{let t=u.get(e)??[];for(let e of t)l.delete(e)},f=e=>{for(let t=0;t<d.length;t++){let n=d[t];if(fe(n,e))return d.splice(t,1),n}},p=0;for(let e of s){let t=V(e),r;t?(r=l.get(t),r&&ee(r)):r=f(e);let i=o.childNodes[p]??null;if(r){r!==i&&o.insertBefore(r,i),he(r,e,n),p++;continue}let a=H(e,n);if(!a||Array.isArray(a)&&a.length===0)continue;let s=Array.isArray(a)?a:[a];for(let e of s)o.insertBefore(e,i),O(e),p++}let m=new Set;for(let e of d)m.add(e);for(let e of l.values())m.add(e);for(let e of m)e.parentNode===o&&(e.nodeType===1&&_(e),o.removeChild(e))}function be(e,t,n){let r=G(e,n);for(;e.firstChild;)e.removeChild(e.firstChild);let i=k(r.window.document).createElementOrElements(t);if(Array.isArray(i))for(let t of i)t&&(e.appendChild(t),O(t));else i&&(e.appendChild(i),O(i))}var xe=e=>{if(e&&!e.getElementById(`defuss-shake`)){let t=e.createElement(`style`);t.id=`defuss-shake`,t.textContent=`@keyframes shake{0%,100%{transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{transform:translate3d(-10px,0,0)}20%,40%,60%,80%{transform:translate3d(10px,0,0)}}`,e.head.appendChild(t)}},q=(e,t,n=`ease-in-out`)=>{let r=`transform ${t}ms ${n}, opacity ${t}ms ${n}`;return{fade:{enter:{opacity:`0`,transition:r,transform:`translate3d(0,0,0)`},enterActive:{opacity:`1`},exit:{opacity:`1`,transition:r,transform:`translate3d(0,0,0)`},exitActive:{opacity:`0`}},"slide-left":{enter:{transform:`translate3d(100%,0,0)`,opacity:`0.5`,transition:r},enterActive:{transform:`translate3d(0,0,0)`,opacity:`1`},exit:{transform:`translate3d(0,0,0)`,opacity:`1`,transition:r},exitActive:{transform:`translate3d(-100%,0,0)`,opacity:`0.5`}},"slide-right":{enter:{transform:`translate3d(-100%,0,0)`,opacity:`0.5`,transition:r},enterActive:{transform:`translate3d(0,0,0)`,opacity:`1`},exit:{transform:`translate3d(0,0,0)`,opacity:`1`,transition:r},exitActive:{transform:`translate3d(100%,0,0)`,opacity:`0.5`}},shake:(xe(typeof document<`u`?document:void 0),{enter:{transform:`translate3d(0,0,0)`,opacity:`1`,transition:`none`},enterActive:{transform:`translate3d(0,0,0)`,opacity:`1`,animation:`shake ${t}ms cubic-bezier(0.36,0.07,0.19,0.97)`},exit:{transform:`translate3d(0,0,0)`,opacity:`1`,transition:`none`},exitActive:{transform:`translate3d(0,0,0)`,opacity:`1`,animation:`shake ${t}ms cubic-bezier(0.36,0.07,0.19,0.97)`}})}[e]||{enter:{},enterActive:{},exit:{},exitActive:{}}},J=(e,t)=>Object.entries(t).forEach(([t,n])=>e.style.setProperty(t,String(n))),Y={type:`fade`,duration:300,easing:`ease-in-out`,delay:0,target:`parent`},X=e=>new Promise(t=>setTimeout(t,e)),Se=async(e,t,n,r)=>{let i=e.style.cssText,a=e.cloneNode(!0),o=e.ownerDocument;try{let i=e.getBoundingClientRect();a.style.cssText=`position:absolute;top:${i.top}px;left:${i.left}px;width:${i.width}px;height:${i.height}px;opacity:1;transition:opacity ${n}ms ${r};z-index:1000;`,e.style.opacity=`0`,e.style.transition=`opacity ${n}ms ${r}`,o.body.appendChild(a),await t(),e.offsetHeight,a.style.opacity=`0`,e.style.opacity=`1`,await X(n),o.body.removeChild(a)}catch(e){throw a.parentElement&&o.body.removeChild(a),e}finally{e.style.cssText=i}},Z=async(e,t,n={})=>{let{type:r=`fade`,duration:i=300,easing:a=`ease-in-out`,delay:o=0}={...Y,...n};if(r===`none`){await t();return}if(o>0&&await X(o),r===`fade`){await Se(e,t,i,a);return}let s=n.styles||q(r,i,a),c=e.style.transition,l=e.style.animation;try{r===`shake`&&(e.style.animation=`none`,e.offsetHeight),J(e,s.exit),e.offsetHeight,J(e,s.exitActive),await X(i),await t(),J(e,s.enter),e.offsetHeight,J(e,s.enterActive),await X(i),e.style.transition=c,e.style.animation=l}catch(t){throw e.style.transition=c,e.style.animation=l,t}},Q=new WeakMap,$=(e,t,n={})=>{let r=G(e),i=r.window,a=n.diff?`diff`:`replace`,o=t=>K(e,typeof t==`string`?R(t,i.DOMParser):t,r,a),s=n.transition;if(s&&s.type!==`none`){let n={...Y,...s},r=n.target===`self`?e:e.parentElement;if(!r){o(t);return}let i={content:t};return Q.set(e,i),Z(r,async()=>{Q.get(e)===i&&o(i.content)},n).finally(()=>{Q.get(e)===i&&Q.delete(e)})}let c=Q.get(e);c&&(c.content=t),o(t)};if(typeof globalThis<`u`){let e=globalThis,t=e.df$;(t===null||typeof t!=`object`&&typeof t!=`function`)&&(e.df$={}),Object.assign(e.df$,i)}export{K as updateDomWithVdom,G as resolveGlobals,be as replaceDomWithVdom,F as renderMarkup,b as removeDelegatedEventByKey,ie as removeDelegatedEvent,h as registerDelegatedEvent,a as queueCallback,Z as performTransition,d as parseEventPropName,j as parseDOM,D as observeUnmount,E as nsMap,$ as morph,M as isSVG,P as isMarkup,N as isHTML,R as htmlStringToVNodes,O as handleLifecycleEventsForOnMount,q as getTransitionStyles,k as getRenderer,v as getRegisteredEventTypes,y as getRegisteredEventKeys,I as getMimeType,L as domNodeToVNode,_ as clearDelegatedEventsDeep,g as clearDelegatedEvents,z as areDomNodesEqual,J as applyStyles,C as XMLNS_ATTRIBUTE_NAME,S as XLINK_ATTRIBUTE_NAME,w as REF_ATTRIBUTE_NAME,A as FROM_DOM_MARKER,Y as DEFAULT_TRANSITION_CONFIG,T as DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE,x as CLASS_ATTRIBUTE_NAME,o as CAPTURE_ONLY_EVENTS};
1
+ var e=Object.defineProperty,t=e=>e;function n(e,n){this[e]=t.bind(null,n)}var r=(t,r)=>{for(var i in r)e(t,i,{get:r[i],enumerable:!0,configurable:!0,set:n.bind(r,i)})},i={};r(i,{CAPTURE_ONLY_EVENTS:()=>o,CLASS_ATTRIBUTE_NAME:()=>j,COMMENT_TYPE:()=>C,DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE:()=>fe,DEFAULT_TRANSITION_CONFIG:()=>K,FROM_DOM_MARKER:()=>S,Fragment:()=>ze,REF_ATTRIBUTE_NAME:()=>de,Reactive:()=>Ye,XLINK_ATTRIBUTE_NAME:()=>M,XMLNS_ATTRIBUTE_NAME:()=>N,applyStyles:()=>G,areDomNodesEqual:()=>me,clearDelegatedEvents:()=>y,clearDelegatedEventsDeep:()=>b,createRef:()=>Ue,domNodeToVNode:()=>k,getMimeType:()=>se,getRegisteredEventKeys:()=>te,getRegisteredEventTypes:()=>x,getRenderer:()=>R,getTransitionStyles:()=>W,h:()=>He,handleLifecycleEventsForOnMount:()=>L,htmlStringToVNodes:()=>A,installReactive:()=>Xe,isCommentVNode:()=>w,isHTML:()=>D,isMarkup:()=>ae,isRef:()=>Z,isSVG:()=>E,jsx:()=>X,jsxDEV:()=>Ve,jsxs:()=>Be,morph:()=>Y,nsMap:()=>P,observeUnmount:()=>F,onClearDelegatedEvents:()=>v,parseDOM:()=>T,parseEventPropName:()=>u,performTransition:()=>Ie,queueCallback:()=>a,reactive:()=>qe,registerDelegatedEvent:()=>m,removeDelegatedEvent:()=>g,removeDelegatedEventByKey:()=>ne,renderMarkup:()=>oe,replaceDomWithVdom:()=>Ne,resolveGlobals:()=>H,templateContent:()=>O,updateDomWithVdom:()=>U});var a=e=>(...t)=>queueMicrotask(()=>e(...t)),o=new Set([`focus`,`blur`,`scroll`,`mouseenter`,`mouseleave`]),s=new WeakMap,c=new WeakMap,l=new WeakMap,u=e=>{if(!e.startsWith(`on`))return null;let t=e.slice(2);if(!t)return null;let n=t.toLowerCase(),r=n.endsWith(`capture`),i=r?n.slice(0,-7):n;return i?{eventType:i,capture:r}:null},d=e=>{let t=s.get(e);if(t)return t;let n=new Map;return s.set(e,n),n},ee=(e,t,n,r)=>{let i=s.get(e)?.get(t)?.[n];if(!i)return;let a=`${t}:${n}`,o=l.get(e);if(!o?.has(a)){o||(o=new Set,l.set(e,o)),o.add(a);try{i.call(e,r)}finally{o.delete(a)}}},f=(e,t,n,r,i)=>{r[n]=i;let a=`${t}:${n}`,o=n===`capture`,s=c.get(e),l=s?.get(a);if(i&&!l){s||(s=new Map,c.set(e,s));let r=r=>ee(e,t,n,r);s.set(a,r),e.addEventListener(t,r,o)}else!i&&l&&(s.delete(a),e.removeEventListener(t,l,o))},p=(e,t,n,r)=>{f(e,t,r,n,void 0);let i=r===`capture`?`captureSet`:`bubbleSet`;for(let a of n[i]??[])e.removeEventListener(t,a,r===`capture`);n[i]=void 0},m=(e,t,n,r={})=>{let i=r.capture||o.has(t),a=i?`capture`:`bubble`,s=d(e),c=s.get(t)??{};if(s.set(t,c),r.multi){let r=i?`captureSet`:`bubbleSet`,a=c[r]??=new Set;a.has(n)||(a.add(n),e.addEventListener(t,n,i))}else f(e,t,a,c,n)},h=e=>!e.capture&&!e.bubble&&(!e.captureSet||e.captureSet.size===0)&&(!e.bubbleSet||e.bubbleSet.size===0),g=(e,t,n,r={})=>{let i=s.get(e);if(!i)return;let a=i.get(t);if(a){if(n)for(let r of[`capture`,`bubble`])(r===`capture`?a.captureSet:a.bubbleSet)?.delete(n)&&e.removeEventListener(t,n,r===`capture`),a[r]===n&&f(e,t,r,a,void 0);else p(e,t,a,`capture`),p(e,t,a,`bubble`);h(a)&&i.delete(t)}},_=new Set,v=e=>(_.add(e),()=>{_.delete(e)}),y=e=>{let t=s.get(e);if(t){for(let[n,r]of t)p(e,n,r,`capture`),p(e,n,r,`bubble`);t.clear()}for(let t of _)t(e)},b=e=>{y(e);let t=e.ownerDocument;if(!t)return;let n=t.createTreeWalker(e,1),r=n.nextNode();for(;r;)y(r),r=n.nextNode()},x=e=>{let t=s.get(e);return t?new Set(t.keys()):new Set},te=e=>{let t=s.get(e);if(!t)return new Set;let n=new Set;for(let[e,r]of t)(r.bubble||r.bubbleSet?.size)&&n.add(`${e}:bubble`),(r.capture||r.captureSet?.size)&&n.add(`${e}:capture`);return n},ne=(e,t,n)=>{let r=s.get(e);if(!r)return;let i=r.get(t);i&&(p(e,t,i,n),h(i)&&r.delete(t))},S=Symbol(`defuss-morph.from-dom`),C=`#comment`,w=e=>!!e&&typeof e==`object`&&e.type===C,re=new Set([`allowfullscreen`,`async`,`autofocus`,`autoplay`,`checked`,`controls`,`default`,`defer`,`disabled`,`formnovalidate`,`hidden`,`inert`,`ismap`,`itemscope`,`loop`,`multiple`,`muted`,`nomodule`,`novalidate`,`open`,`playsinline`,`readonly`,`required`,`reversed`,`selected`]),ie=e=>re.has(e.name.toLowerCase())?!0:e.value;function T(e,t,n){return new n().parseFromString(e,t)}function E(e,t){let n=T(e,`image/svg+xml`,t);return n.documentElement?n.documentElement.nodeName.toLowerCase()===`svg`:!1}function D(e,t){return T(e,`text/html`,t).documentElement.querySelectorAll(`*`).length>2}var ae=(e,t)=>e.indexOf(`<`)>-1&&e.indexOf(`>`)>-1&&(D(e,t)||E(e,t));function oe(e,t,n){let r=n||T(e,se(e,t),t);return r.body?Array.from(r.body.childNodes):r.documentElement?[r.documentElement]:[]}function se(e,t){return E(e,t)?`image/svg+xml`:`text/html`}var O=e=>e.localName===`template`?e.content:void 0;function k(e){if(e.nodeType===3)return e.nodeValue||``;if(e.nodeType===1){let t=e,n={};for(let e=0;e<t.attributes.length;e++){let r=t.attributes[e];n[r.name]=ie(r)}let r=[];for(let e=(O(t)??t).firstChild;e;e=e.nextSibling)r.push(k(e));return n[S]=!0,{type:t.localName,attributes:n,children:r}}return e.nodeType===8?{type:C,value:e.nodeValue??``}:``}var ce=new WeakMap,le=/^\s*(?:<!--[\s\S]*?-->\s*)*<(?:!doctype|html|head|body)[\s>/]/i;function A(e,t){if(le.test(e))return ue(new t().parseFromString(e,`text/html`).body.childNodes);let n=ce.get(t);n||(n=new t().parseFromString(``,`text/html`),ce.set(t,n));let r=n.createElement(`template`);return r.innerHTML=e,ue(r.content.childNodes)}function ue(e){let t=[];for(let n=0;n<e.length;n++){let r=k(e[n]);r!==``&&t.push(r)}return t}var j=`class`,M=`xlink`,N=`xmlns`,de=`ref`,fe=`dangerouslySetInnerHTML`,P={[N]:`http://www.w3.org/2000/xmlns/`,[M]:`http://www.w3.org/1999/xlink`,svg:`http://www.w3.org/2000/svg`},F=(e,t)=>{if(!e||typeof t!=`function`)throw Error(`Invalid arguments. Ensure domNode and onUnmount are valid.`);if(typeof MutationObserver>`u`)return;let n=e.parentNode;if(!n)throw Error(`The provided domNode does not have a parentNode.`);let r=new MutationObserver(i=>{for(let a of i)if(a.removedNodes.length>0){for(let i of a.removedNodes)if(i===e){queueMicrotask(()=>{if(!e.isConnected){t(),r.disconnect();return}let i=e.parentNode;i&&i!==n&&(n=i,r.disconnect(),r.observe(n,{childList:!0}))});return}}});r.observe(n,{childList:!0})},I=new WeakSet,L=e=>{typeof e?.$onMount==`function`&&(e.$onMount(e),e.$onMount=null),typeof e?.$onUnmount==`function`&&!I.has(e)&&(I.add(e),F(e,()=>{I.delete(e),e.$onUnmount?.(e)}))},R=e=>{let t={hasElNamespace:e=>e.namespaceURI===P.svg,hasSvgNamespace:(e,n)=>t.hasElNamespace(e)&&n!==`STYLE`&&n!==`SCRIPT`,createElementOrElements:(e,n)=>Array.isArray(e)?t.createChildElements(e,n):typeof e==`string`||typeof e==`number`?t.createTextNode(String(e),n):e===void 0?t.createTextNode(``,n):t.createElement(e,n),createElement:(n,r)=>{let i;if(w(n)){let t=e.createComment(n.value??``);return r?.appendChild(t),t}if(typeof n==`function`&&n.constructor.name===`AsyncFunction`)i=e.createElement(`div`);else if(typeof n==`object`&&n&&`type`in n){let a=n;typeof a.type==`function`?(i=e.createElement(`div`),i.innerText=`FATAL ERROR: ${a.type._error}`):i=typeof a.type==`string`&&a.type.toUpperCase()===`SVG`||r&&t.hasSvgNamespace(r,typeof a.type==`string`?a.type.toUpperCase():``)?e.createElementNS(P.svg,a.type):e.createElement(a.type),a.attributes&&(t.setAttributes(a,i),a.attributes.dangerouslySetInnerHTML&&(i.innerHTML=a.attributes.dangerouslySetInnerHTML.__html)),a.children&&!a.attributes?.dangerouslySetInnerHTML&&t.createChildElements(a.children,O(i)??i)}return i&&r&&(r.appendChild(i),L(i)),i},createTextNode:(t,n)=>{let r=e.createTextNode(t.toString());return n&&n.appendChild(r),r},createChildElements:(e,n)=>{let r=[];for(let i=0;i<e.length;i++){let a=e[i];typeof a!=`boolean`&&(a===null||typeof a!=`object`&&typeof a!=`function`?r.push(t.createTextNode((a??``).toString(),n)):r.push(t.createElement(a,n)))}return r},setAttribute:(e,n,r)=>{if(n===void 0||e===fe)return;if(e===`key`){r._defussKey=String(n);return}if(e===de&&typeof n!=`function`){n.current=r,r._defussRef=n;return}let i=u(e);if(i&&typeof n==`function`){let{eventType:e,capture:t}=i;if(e===`mount`){r.$onMount=a(n);return}if(e===`unmount`){r.$onUnmount=a(n);return}m(r,e,n,{capture:t});return}e===`className`&&(e=j),e===j&&Array.isArray(n)&&(n=n.filter(e=>!!e).join(` `));let o=e.match(/[A-Z]/)?.index;if(t.hasElNamespace(r)&&o){let t=e.substring(0,o).toLowerCase(),i=e.substring(o,e.length).toLowerCase(),a=P[t]||null;r.setAttributeNS(a,t===M||t===N?`${t}:${i}`:e,String(n))}else if(e===`style`&&typeof n!=`string`){let e=n;for(let t of Object.keys(e))r.style[t]=String(e[t])}else typeof n==`boolean`?(r[e]=n,n?r.setAttribute(e,``):r.removeAttribute(e)):(e===`value`||e===`checked`||e===`selectedIndex`)&&(r.nodeName===`INPUT`||r.nodeName===`TEXTAREA`||r.nodeName===`SELECT`)?(r[e]=n,e===`checked`?n?r.setAttribute(`checked`,``):r.removeAttribute(`checked`):e===`value`&&r.setAttribute(`value`,String(n))):r.setAttribute(e,String(n))},setAttributes:(e,n)=>{let r=Object.keys(e.attributes??{});for(let i=0;i<r.length;i++)t.setAttribute(r[i],e.attributes[r[i]],n)}};return t},pe=e=>{let t=e.length,n=new Uint8Array(t),r=new Int32Array(t),i=new Int32Array(t),a=0;for(let n=0;n<t;n++){let t=e[n];if(t<0)continue;let o=0,s=a;for(;o<s;){let n=o+s>>1;e[r[n]]<t?o=n+1:s=n}i[n]=o>0?r[o-1]:-1,r[o]=n,o===a&&a++}for(let e=a>0?r[a-1]:-1;e>=0;e=i[e])n[e]=1;return n},me=(e,t)=>{if(e===t)return!0;if(e.nodeType!==t.nodeType)return!1;if(e.nodeType===1){let n=e,r=t;if(n.tagName!==r.tagName)return!1;let i=n.attributes,a=r.attributes;if(i.length!==a.length)return!1;for(let e=0;e<i.length;e++){let t=i[e],n=r.getAttribute(t.name);if(t.value!==n)return!1}}return e.nodeType!==3&&e.nodeType!==8||e.nodeValue===t.nodeValue};function he(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`}function ge(e){return!!(e&&typeof e==`object`&&`type`in e)}function _e(e,t=!1){if(e==null||he(e)||ge(e)||t&&e&&typeof e==`object`&&`attributes`in e)return e}function ve(e,t=!1){let n=[],r=e=>{if(Array.isArray(e)){e.forEach(r);return}let i=_e(e,t);if(i!==void 0){if(ge(i)&&(i.type===`fragment`||i.type===`Fragment`)){(Array.isArray(i.children)?i.children:[]).forEach(r);return}i!=null&&typeof i!=`boolean`&&n.push(i)}};r(e);let i=[],a=null,o=()=>{a!==null&&a.length>0&&i.push(a),a=null};for(let e of n){if(typeof e==`string`||typeof e==`number`||typeof e==`boolean`){a=(a??``)+String(e);continue}o(),i.push(e)}return o(),i}function ye(e){if(!e||typeof e!=`object`)return null;let t=e.attributes?.key;if(typeof t==`string`||typeof t==`number`)return`k:${String(t)}`;let n=e.attributes?.id;return typeof n==`string`&&n.length>0?`id:${n}`:null}function be(e){return e&&typeof e==`object`?`<${typeof e.type==`string`?e.type:`component`}>`:`plain text`}function xe(e){if(e.nodeType!==1)return[];let t=e,n=[],r=t._defussKey;r&&n.push(`k:${r}`);let i=t.getAttribute(`key`);i&&n.push(`k:${i}`);let a=t.id;return a&&n.push(`id:${a}`),n}function Se(e,t){if(typeof t==`string`||typeof t==`number`||typeof t==`boolean`)return e.nodeType===3;if(w(t))return e.nodeType===8;if(t&&typeof t==`object`){if(e.nodeType!==1)return!1;let n=e.tagName.toLowerCase(),r=typeof t.type==`string`?t.type.toLowerCase():``;return!(!r||n!==r)}return!1}function z(e,t){let n=R(t.window.document);if(e==null)return;if(typeof e==`string`||typeof e==`number`||typeof e==`boolean`)return[t.window.document.createTextNode(String(e))];let r=n.createElementOrElements(e);return r?(Array.isArray(r)?r:[r]).filter(Boolean):void 0}function Ce(e,t,n){let r=e.tagName.toLowerCase();return Object.hasOwn(n.attributes??{},t)?!1:r===`input`?t===`value`||t===`checked`:r===`textarea`||r===`select`?t===`value`:!1}function we(e,t,n,r=!1){let i=R(n.window.document),a=r?[]:Array.from(e.attributes),o=t.attributes??{};for(let n of a){let{name:r}=n;if(r!==`key`&&!r.startsWith(`on`)&&(r!==`class`||!Object.hasOwn(o,`class`)&&!Object.hasOwn(o,`className`))&&!Object.hasOwn(o,r)){if(Ce(e,r,t))continue;e.removeAttribute(r)}}if(!(r||o[S])){let t=te(e),n=new Set;for(let e of Object.keys(o)){let t=u(e);if(t){let e=t.capture?`capture`:`bubble`;n.add(`${t.eventType}:${e}`)}}for(let r of t)if(!n.has(r)){let[t,n]=r.split(`:`);ne(e,t,n)}}i.setAttributes(t,e),L(e);let s=t.attributes?.dangerouslySetInnerHTML;if(s&&typeof s==`object`&&typeof s.__html==`string`){e.innerHTML=s.__html;return}if(e.tagName.toLowerCase()===`textarea`){let t=Object.hasOwn(o,`value`);if(e.ownerDocument?.activeElement===e&&!t)return}r&&(t.children===void 0||t.children.length===0&&o[S])||Me(e,t.children??[],n)}function Te(e,t){e.nodeType===1&&b(e),e.parentNode?.replaceChild(t,e)}function Ee(e,t,n,r=!1){if(typeof t==`string`||typeof t==`number`||typeof t==`boolean`){let r=String(t);if(e.nodeType===3)return e.nodeValue!==r&&(e.nodeValue=r),e;let i=n.window.document.createTextNode(r);return Te(e,i),i}if(w(t)){let r=t.value??``;if(e.nodeType===8)return e.nodeValue!==r&&(e.nodeValue=r),e;let i=n.window.document.createComment(r);return Te(e,i),i}if(t&&typeof t==`object`){let i=typeof t.type==`string`?t.type:null;if(!i)return e;if(e.nodeType!==1){let r=z(t,n),i=Array.isArray(r)?r[0]:r;return i?(e.parentNode?.replaceChild(i,e),L(i),i):null}let a=e;if(a.tagName.toLowerCase()!==i.toLowerCase()){let e=z(t,n),r=Array.isArray(e)?e[0]:e;return r?(Te(a,r),L(r),r):null}return we(a,t,n,r),a}return e.nodeType===1&&b(e),e.parentNode?.removeChild(e),null}var B=new WeakSet,V=new Map,H=(e,t)=>t||{window:e?.ownerDocument?.defaultView??globalThis};function De(e){let t=e.parentElement;for(;t;){if(B.has(t))return!0;t=t.parentElement}return!1}function Oe(){if(V.size===0)return;let e=[...V.entries()];V.clear();for(let[t,{vdom:n,globals:r,mode:i}]of e)t.isConnected&&U(t,n,r,i)}function U(e,t,n,r=`replace`){let i=H(e,n);if(B.has(e)||De(e)){V.set(e,{vdom:t,globals:i,mode:r});return}B.add(e);try{Me(e,t,i,r)}finally{B.delete(e)}Oe()}function ke(e,t,n){let r=new Map;for(let t of Array.from(e.childNodes))for(let e of xe(t))r.has(e)||r.set(e,t);for(let i of t){if(typeof i==`string`&&i.trim()===``||w(i))continue;let t=ye(i);if(!t)throw Error(`morph diff: patch items must be elements with a key or id attribute (got ${be(i)})`);let a=r.get(t);if(a){Ee(a,i&&typeof i==`object`&&!i.type?{...i,type:a.tagName.toLowerCase()}:i,n,!0);continue}if(!i?.type)throw Error(`morph diff: new (unmatched) patch items must declare a tag (type), got key/id "${t}"`);let o=z(i,n)??[];for(let t of o)e.appendChild(t),L(t)}}function Ae(e,t,n){if(typeof e.moveBefore==`function`)try{e.moveBefore(t,n);return}catch{}let r=t.ownerDocument,i=r?.activeElement,a=!!i&&i!==r.body&&t.contains(i),o;if(a)try{i.selectionStart!==null&&i.selectionStart!==void 0&&(o=[i.selectionStart,i.selectionEnd??i.selectionStart,i.selectionDirection??`none`])}catch{o=void 0}e.insertBefore(t,n),a&&i.isConnected&&r.activeElement!==i&&(i.focus({preventScroll:!0}),o&&i.setSelectionRange(...o))}function je(e,t,n){let r=e.childNodes;if(r.length!==t.length)return!1;for(let e=0;e<t.length;e++){let n=r[e],i=t[e];if(ye(i)!==null||!Se(n,i)||n.nodeType===1&&xe(n).length>0)return!1}for(let e=0;e<t.length;e++)Ee(r[e],t[e],n);return!0}function Me(e,t,n,r=`replace`){let i=e,a=i.tagName.includes(`-`),o=O(e)??(i.shadowRoot&&!a?i.shadowRoot:e),s=ve(t,r===`diff`);if(r===`diff`){ke(o,s,n);return}if(je(o,s,n))return;let c=Array.from(o.childNodes),l=new Map,u=[],d=[];for(let e=0;e<c.length;e++){let t=xe(c[e]);if(t.length>0){u[e]=t;let n=!1;for(let r of t)l.has(r)||(l.set(r,e),n=!0);n||d.push(e)}else d.push(e)}let ee=e=>{for(let t of u[e]??[])l.get(t)===e&&l.delete(t)},f=e=>{for(let t=0;t<d.length;t++){let n=d[t];if(Se(c[n],e))return d.splice(t,1),n}return-1},p=s.length,m=new Int32Array(p),h=!0,g=-1;for(let e=0;e<p;e++){let t=s[e],n=ye(t),r=-1;if(n){let e=l.get(n);e!==void 0&&(r=e,ee(e))}else r=f(t);m[e]=r,r>=0&&(r<g&&(h=!1),g=r)}let _=h?null:pe(m),v=e=>m[e]>=0&&(_===null||_[e]===1),y=0;for(;y<p&&!v(y);)y++;for(let e=0;e<p;e++){if(y<=e)for(y=e+1;y<p&&!v(y);)y++;let t=y<p?c[m[y]]:null,r=s[e];if(m[e]>=0){let i=c[m[e]];v(e)||Ae(o,i,t),Ee(i,r,n);continue}let i=z(r,n);if(!i||Array.isArray(i)&&i.length===0)continue;let a=Array.isArray(i)?i:[i];for(let e of a)o.insertBefore(e,t),L(e)}let x=new Set;for(let e of d)x.add(c[e]);for(let e of l.values())x.add(c[e]);for(let e of x)e.parentNode===o&&(e.nodeType===1&&b(e),o.removeChild(e))}function Ne(e,t,n){let r=H(e,n);for(;e.firstChild;){let t=e.firstChild;t.nodeType===1&&b(t),e.removeChild(t)}let i=R(r.window.document).createElementOrElements(t);if(Array.isArray(i))for(let t of i)t&&(e.appendChild(t),L(t));else i&&(e.appendChild(i),L(i))}var Pe=e=>{if(e&&!e.getElementById(`defuss-shake`)){let t=e.createElement(`style`);t.id=`defuss-shake`,t.textContent=`@keyframes shake{0%,100%{transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{transform:translate3d(-10px,0,0)}20%,40%,60%,80%{transform:translate3d(10px,0,0)}}`,e.head.appendChild(t)}},W=(e,t,n=`ease-in-out`)=>{let r=`transform ${t}ms ${n}, opacity ${t}ms ${n}`;return{fade:{enter:{opacity:`0`,transition:r,transform:`translate3d(0,0,0)`},enterActive:{opacity:`1`},exit:{opacity:`1`,transition:r,transform:`translate3d(0,0,0)`},exitActive:{opacity:`0`}},"slide-left":{enter:{transform:`translate3d(100%,0,0)`,opacity:`0.5`,transition:r},enterActive:{transform:`translate3d(0,0,0)`,opacity:`1`},exit:{transform:`translate3d(0,0,0)`,opacity:`1`,transition:r},exitActive:{transform:`translate3d(-100%,0,0)`,opacity:`0.5`}},"slide-right":{enter:{transform:`translate3d(-100%,0,0)`,opacity:`0.5`,transition:r},enterActive:{transform:`translate3d(0,0,0)`,opacity:`1`},exit:{transform:`translate3d(0,0,0)`,opacity:`1`,transition:r},exitActive:{transform:`translate3d(100%,0,0)`,opacity:`0.5`}},shake:(Pe(typeof document<`u`?document:void 0),{enter:{transform:`translate3d(0,0,0)`,opacity:`1`,transition:`none`},enterActive:{transform:`translate3d(0,0,0)`,opacity:`1`,animation:`shake ${t}ms cubic-bezier(0.36,0.07,0.19,0.97)`},exit:{transform:`translate3d(0,0,0)`,opacity:`1`,transition:`none`},exitActive:{transform:`translate3d(0,0,0)`,opacity:`1`,animation:`shake ${t}ms cubic-bezier(0.36,0.07,0.19,0.97)`}})}[e]||{enter:{},enterActive:{},exit:{},exitActive:{}}},G=(e,t)=>Object.entries(t).forEach(([t,n])=>e.style.setProperty(t,String(n))),K={type:`fade`,duration:300,easing:`ease-in-out`,delay:0,target:`parent`},q=e=>new Promise(t=>setTimeout(t,e)),Fe=async(e,t,n,r)=>{let i=e.style.cssText,a=e.cloneNode(!0),o=e.ownerDocument;try{let i=e.getBoundingClientRect(),s=i.top+(o.defaultView?.scrollY??0),c=i.left+(o.defaultView?.scrollX??0);a.style.cssText=`position:absolute;top:${s}px;left:${c}px;width:${i.width}px;height:${i.height}px;opacity:1;transition:opacity ${n}ms ${r};z-index:1000;`,e.style.opacity=`0`,e.style.transition=`opacity ${n}ms ${r}`,o.body.appendChild(a),await t(),e.offsetHeight,a.style.opacity=`0`,e.style.opacity=`1`,await q(n),o.body.removeChild(a)}catch(e){throw a.parentElement&&o.body.removeChild(a),e}finally{e.style.cssText=i}},Ie=async(e,t,n={})=>{let{type:r=`fade`,duration:i=300,easing:a=`ease-in-out`,delay:o=0}={...K,...n};if(r===`none`){await t();return}if(o>0&&await q(o),r===`fade`){await Fe(e,t,i,a);return}let s=n.styles||W(r,i,a),c=e.style.transition,l=e.style.animation;try{r===`shake`&&(e.style.animation=`none`,e.offsetHeight),G(e,s.exit),e.offsetHeight,G(e,s.exitActive),await q(i),await t(),G(e,s.enter),e.offsetHeight,G(e,s.enterActive),await q(i),e.style.transition=c,e.style.animation=l}catch(t){throw e.style.transition=c,e.style.animation=l,t}},J=new WeakMap,Y=(e,t,n={})=>{let r=H(e),i=r.window,a=n.diff?`diff`:`replace`,o=t=>U(e,typeof t==`string`?A(t,i.DOMParser):t,r,a),s=n.transition;if(s&&s.type!==`none`){let n={...K,...s},r=n.target===`self`?e:e.parentElement;if(!r)return o(t),Promise.resolve();let i={content:t};return J.set(e,i),Ie(r,async()=>{J.get(e)===i&&o(i.content)},n).finally(()=>{J.get(e)===i&&J.delete(e)})}let c=J.get(e);c&&(c.content=t),o(t)},Le=e=>e===void 0?[]:Array.isArray(e)?e.flat(1/0):[e],Re=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&`type`in e,ze=e=>Le(e?.children);function X(e,t,n){let{children:r,...i}=t??{},a=n??i.key;if(a!==void 0&&(i.key=a),typeof e==`function`){let t=e(r===void 0?i:{...i,children:r});return a!==void 0&&Re(t)&&t.attributes?.key===void 0?{...t,attributes:{...t.attributes,key:a}}:t}return{type:e,attributes:i,children:Le(r)}}var Be=X,Ve=(e,t,n)=>X(e,t,n);function He(e,t,...n){return X(e,n.length===0?t:{...t,children:n.length===1?n[0]:n})}var Ue=e=>({current:null,state:e}),Z=e=>typeof e==`object`&&!!e&&`current`in e,Q=e=>typeof e==`object`&&!!e&&e.nodeType===1,We=(e,t)=>{let n=Array.isArray(e)?e:[e];return n.forEach((n,r)=>{if(typeof n?.subscribe!=`function`)throw TypeError(`${t}: store${Array.isArray(e)?` ${r}`:``} has no subscribe() method`)}),n},Ge=(e,t)=>{let n=e.map(e=>{let n=e.subscribe(()=>t());return typeof n==`function`?n:()=>n?.unsubscribe?.()});return()=>{for(let e of n)e()}},Ke=e=>{if(Q(e))return()=>[e];if(Z(e)){if(!Q(e.current))throw TypeError(`reactive: the ref has no element yet; call reactive() after the element is rendered (in onMount or later)`);return()=>Q(e.current)?[e.current]:[]}if(e&&typeof e.length==`number`){let t=Array.from(e).filter(Q);return()=>t}throw TypeError(`reactive: the target must be an element, a ref or a list of elements`)};function qe(e,t){let n=We(e?.store,`reactive`);if(typeof e.render!=`function`)throw TypeError(`reactive: config.render must be a function`);let r=Ke(t);if(e.signal?.aborted||r().length===0)return()=>{};let i=()=>{for(let t of r())Y(t,e.render())};i();let a=Ge(n,i),o=!1,s=()=>{o||(o=!0,a(),e.signal?.removeEventListener(`abort`,s),e.cleanup?.())};return e.signal?.addEventListener(`abort`,s,{once:!0}),s}var $=new WeakMap,Je=e=>{if(typeof e==`string`){if(!/[<&]/.test(e))return e===``?[]:[e];let t=globalThis.DOMParser;if(!t)throw TypeError(`Reactive: rendering an HTML string needs a global DOMParser; return JSX/VNodes, or call reactive()`);return A(e,t)}return Array.isArray(e)?e.flat(1/0):[e]};function Ye(e){let{store:t,render:n,cleanup:r,tag:i=`div`,onMount:a,onUnmount:o,children:s,...c}=e,l=We(t,`Reactive`);if(typeof n!=`function`)throw TypeError(`Reactive: the render prop must be a function`);return{type:i,attributes:{...c,onMount:e=>{$.get(e)?.unsubscribe(),$.set(e,{unsubscribe:Ge(l,()=>Y(e,n())),cleanup:r}),Y(e,n()),typeof a==`function`&&a(e)},onUnmount:e=>{let t=$.get(e);$.delete(e),t?.unsubscribe(),t?.cleanup?.(),typeof o==`function`&&o(e)}},children:Je(n())}}var Xe=e=>{let t=e?.fn;if(typeof t!=`object`||!t)throw TypeError(`installReactive: expected defuss-query's df$ (a df$ with a df$.fn prototype)`);return Object.defineProperty(t,"reactive",{configurable:!0,writable:!0,value:function(e){return qe(e,this),this}}),e};if(typeof globalThis<`u`){let e=globalThis,t=e.df$;(t===null||typeof t!=`object`&&typeof t!=`function`)&&(e.df$={}),Object.assign(e.df$,i);let n=e.df$.fn;typeof n==`object`&&n&&Xe(e.df$)}export{o as CAPTURE_ONLY_EVENTS,j as CLASS_ATTRIBUTE_NAME,C as COMMENT_TYPE,fe as DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE,K as DEFAULT_TRANSITION_CONFIG,S as FROM_DOM_MARKER,ze as Fragment,de as REF_ATTRIBUTE_NAME,Ye as Reactive,M as XLINK_ATTRIBUTE_NAME,N as XMLNS_ATTRIBUTE_NAME,G as applyStyles,me as areDomNodesEqual,y as clearDelegatedEvents,b as clearDelegatedEventsDeep,Ue as createRef,k as domNodeToVNode,se as getMimeType,te as getRegisteredEventKeys,x as getRegisteredEventTypes,R as getRenderer,W as getTransitionStyles,He as h,L as handleLifecycleEventsForOnMount,A as htmlStringToVNodes,Xe as installReactive,w as isCommentVNode,D as isHTML,ae as isMarkup,Z as isRef,E as isSVG,X as jsx,Ve as jsxDEV,Be as jsxs,Y as morph,P as nsMap,F as observeUnmount,v as onClearDelegatedEvents,T as parseDOM,u as parseEventPropName,Ie as performTransition,a as queueCallback,qe as reactive,m as registerDelegatedEvent,g as removeDelegatedEvent,ne as removeDelegatedEventByKey,oe as renderMarkup,Ne as replaceDomWithVdom,H as resolveGlobals,O as templateContent,U as updateDomWithVdom};
2
2
  //# sourceMappingURL=all.min.js.map
@@ -1 +1 @@
1
- {"mappings":"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","names":["__defProp","__returnValue","v","__exportSetter","name","newValue","__export","all","target","exports_src","updateDomWithVdom","resolveGlobals","replaceDomWithVdom","renderMarkup","removeDelegatedEventByKey","removeDelegatedEvent","registerDelegatedEvent","queueCallback","performTransition","parseEventPropName","parseDOM","observeUnmount","nsMap","morph2","isSVG","isMarkup","isHTML","htmlStringToVNodes","handleLifecycleEventsForOnMount","getTransitionStyles","getRenderer","getRegisteredEventTypes","getRegisteredEventKeys","getMimeType","domNodeToVNode","clearDelegatedEventsDeep","clearDelegatedEvents","areDomNodesEqual","applyStyles","XMLNS_ATTRIBUTE_NAME","XLINK_ATTRIBUTE_NAME","REF_ATTRIBUTE_NAME","FROM_DOM_MARKER","DEFAULT_TRANSITION_CONFIG","DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE","CLASS_ATTRIBUTE_NAME","CAPTURE_ONLY_EVENTS","args","cb","elementHandlerMap","bubbleDispatched","captureDispatched","activeDispatches","propName","raw","lower","isCapture","eventType","getOrCreateElementHandlers","existing","el","created","getEventPath","composedPath","event","path","node","maybeNode","doc","win","createPhaseHandler","dispatched","phase","t","ordered","handlersByEvent","entry","targets","dispatchKey","activeSet","handler","installedRootListeners","ensureRootListener","installed","root","captureKey","bubbleKey","getEventRoot","element","capture","options","byEvent","isEntryEmpty","walker","keys","domNode","onUnmount","parentNode","observer","mutation","mutationsList","removedNode","newParent","newEl","renderer","domElement","parentElement","type","virtualNode","parentDomElement","document2","vNode","text","children","virtualChildren","virtualChild","value","ref","parsed","existingUnmount","val","nsEndIndex","ns","attrName","namespace","styleObj","prop","attrNames","HTML_BOOLEAN_ATTRIBUTES","domAttributeToVNodeValue","attr","Parser","input","markup","attributes","i","childVNode","html","vNodes","vnode","oldNode","newNode","oldElement","newElement","oldAttrs","newAttrs","oldAttr","newAttrValue","isTextLike","isVNode","toValidChild","child","lenient","normalizeChildren","pushChild","valid","fused","buffer","flush","getVNodeMatchKey","key","id","describePatchItem","getDomMatchKeys","internalKey","attrKey","areNodeAndChildMatching","oldTag","newTag","createDomFromChild","globals","shouldPreserveFormStateAttribute","tag","patchElementInPlace","existingAttrs","mergeAttributes","nextAttrs","registeredKeys","nextEventKeys","d","isControlled","morphDomDirect","morphNode","next","newType","first","renderingNodes","pendingMorphs","isAncestorRendering","current","flushPendingMorphs","snapshot","vdom","mode","resolvedGlobals","newVDOM","morphDiff","keyedPool","targetRoot","k","item","patchItems","match","isCustomElement","nextChildren","nodeKeys","unkeyedPool","addedToKeyedPool","consumeKeyedNode","takeUnkeyedMatch","candidate","domIndex","anchor","nodes","remaining","newDom","injectShakeKeyframes","style","duration","easing","styles","wait","r","ms","performCrossfade","originalStyle","rect","updateCallback","error","config","delay","originalTransition","originalAnimation","inflightTransitions","apply","content","transition","transitionTarget","newContent","slot2","slot","g"],"sources":["all.js"],"version":3,"sourcesContent":["var __defProp = Object.defineProperty;\nvar __returnValue = (v) => v;\nfunction __exportSetter(name, newValue) {\n this[name] = __returnValue.bind(null, newValue);\n}\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, {\n get: all[name],\n enumerable: true,\n configurable: true,\n set: __exportSetter.bind(all, name)\n });\n};\n\n// src/index.ts\nvar exports_src = {};\n__export(exports_src, {\n updateDomWithVdom: () => updateDomWithVdom,\n resolveGlobals: () => resolveGlobals,\n replaceDomWithVdom: () => replaceDomWithVdom,\n renderMarkup: () => renderMarkup,\n removeDelegatedEventByKey: () => removeDelegatedEventByKey,\n removeDelegatedEvent: () => removeDelegatedEvent,\n registerDelegatedEvent: () => registerDelegatedEvent,\n queueCallback: () => queueCallback,\n performTransition: () => performTransition,\n parseEventPropName: () => parseEventPropName,\n parseDOM: () => parseDOM,\n observeUnmount: () => observeUnmount,\n nsMap: () => nsMap,\n morph: () => morph2,\n isSVG: () => isSVG,\n isMarkup: () => isMarkup,\n isHTML: () => isHTML,\n htmlStringToVNodes: () => htmlStringToVNodes,\n handleLifecycleEventsForOnMount: () => handleLifecycleEventsForOnMount,\n getTransitionStyles: () => getTransitionStyles,\n getRenderer: () => getRenderer,\n getRegisteredEventTypes: () => getRegisteredEventTypes,\n getRegisteredEventKeys: () => getRegisteredEventKeys,\n getMimeType: () => getMimeType,\n domNodeToVNode: () => domNodeToVNode,\n clearDelegatedEventsDeep: () => clearDelegatedEventsDeep,\n clearDelegatedEvents: () => clearDelegatedEvents,\n areDomNodesEqual: () => areDomNodesEqual,\n applyStyles: () => applyStyles,\n XMLNS_ATTRIBUTE_NAME: () => XMLNS_ATTRIBUTE_NAME,\n XLINK_ATTRIBUTE_NAME: () => XLINK_ATTRIBUTE_NAME,\n REF_ATTRIBUTE_NAME: () => REF_ATTRIBUTE_NAME,\n FROM_DOM_MARKER: () => FROM_DOM_MARKER,\n DEFAULT_TRANSITION_CONFIG: () => DEFAULT_TRANSITION_CONFIG,\n DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE: () => DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE,\n CLASS_ATTRIBUTE_NAME: () => CLASS_ATTRIBUTE_NAME,\n CAPTURE_ONLY_EVENTS: () => CAPTURE_ONLY_EVENTS\n});\n\n// src/queue.ts\nvar queueCallback = (cb) => (...args) => queueMicrotask(() => cb(...args));\n\n// src/delegated-events.ts\nvar CAPTURE_ONLY_EVENTS = new Set([\n \"focus\",\n \"blur\",\n \"scroll\",\n \"mouseenter\",\n \"mouseleave\"\n]);\nvar elementHandlerMap = new WeakMap;\nvar bubbleDispatched = new WeakMap;\nvar captureDispatched = new WeakMap;\nvar activeDispatches = new WeakMap;\nvar parseEventPropName = (propName) => {\n if (!propName.startsWith(\"on\"))\n return null;\n const raw = propName.slice(2);\n if (!raw)\n return null;\n const lower = raw.toLowerCase();\n const isCapture = lower.endsWith(\"capture\");\n const eventType = isCapture ? lower.slice(0, -\"capture\".length) : lower;\n if (!eventType)\n return null;\n return { eventType, capture: isCapture };\n};\nvar getOrCreateElementHandlers = (el) => {\n const existing = elementHandlerMap.get(el);\n if (existing)\n return existing;\n const created = new Map;\n elementHandlerMap.set(el, created);\n return created;\n};\nvar getEventPath = (event) => {\n const composedPath = event.composedPath?.();\n if (composedPath && composedPath.length > 0)\n return composedPath;\n const path = [];\n let node = event.target;\n while (node) {\n path.push(node);\n const maybeNode = node;\n if (typeof maybeNode === \"object\" && maybeNode && \"parentNode\" in maybeNode) {\n node = maybeNode.parentNode;\n continue;\n }\n break;\n }\n const doc = event.target?.ownerDocument;\n if (doc && path[path.length - 1] !== doc)\n path.push(doc);\n const win = doc?.defaultView;\n if (win && path[path.length - 1] !== win)\n path.push(win);\n return path;\n};\nvar createPhaseHandler = (eventType, phase) => {\n const dispatched = phase === \"capture\" ? captureDispatched : bubbleDispatched;\n return (event) => {\n const path = getEventPath(event).filter((t) => typeof t === \"object\" && t !== null && t.nodeType === 1);\n const ordered = phase === \"capture\" ? [...path].reverse() : path;\n for (const target of ordered) {\n const handlersByEvent = elementHandlerMap.get(target);\n if (!handlersByEvent)\n continue;\n const entry = handlersByEvent.get(eventType);\n if (!entry)\n continue;\n let targets = dispatched.get(event);\n if (targets?.has(target))\n continue;\n if (!targets) {\n targets = new WeakSet;\n dispatched.set(event, targets);\n }\n targets.add(target);\n const dispatchKey = `${eventType}:${phase}`;\n let activeSet = activeDispatches.get(target);\n if (activeSet?.has(dispatchKey))\n continue;\n if (!activeSet) {\n activeSet = new Set;\n activeDispatches.set(target, activeSet);\n }\n activeSet.add(dispatchKey);\n try {\n if (phase === \"capture\") {\n if (entry.capture) {\n entry.capture.call(target, event);\n if (event.cancelBubble)\n return;\n }\n if (entry.captureSet) {\n for (const handler of entry.captureSet) {\n handler.call(target, event);\n if (event.cancelBubble)\n return;\n }\n }\n } else {\n if (entry.bubble) {\n entry.bubble.call(target, event);\n if (event.cancelBubble)\n return;\n }\n if (entry.bubbleSet) {\n for (const handler of entry.bubbleSet) {\n handler.call(target, event);\n if (event.cancelBubble)\n return;\n }\n }\n }\n } finally {\n activeSet.delete(dispatchKey);\n }\n }\n };\n};\nvar installedRootListeners = new WeakMap;\nvar ensureRootListener = (root, eventType) => {\n const installed = installedRootListeners.get(root) ?? new Set;\n installedRootListeners.set(root, installed);\n const captureKey = `${eventType}:capture`;\n if (!installed.has(captureKey)) {\n root.addEventListener(eventType, createPhaseHandler(eventType, \"capture\"), true);\n installed.add(captureKey);\n }\n const bubbleKey = `${eventType}:bubble`;\n if (!installed.has(bubbleKey)) {\n root.addEventListener(eventType, createPhaseHandler(eventType, \"bubble\"), false);\n installed.add(bubbleKey);\n }\n};\nvar getEventRoot = (element) => {\n const root = element.getRootNode();\n if (root && root.nodeType === 9) {\n return root;\n }\n if (root && root.nodeType === 11 && \"host\" in root) {\n return root;\n }\n return null;\n};\nvar registerDelegatedEvent = (element, eventType, handler, options = {}) => {\n const root = getEventRoot(element);\n const capture = options.capture || CAPTURE_ONLY_EVENTS.has(eventType);\n if (root) {\n ensureRootListener(root, eventType);\n } else if (element.ownerDocument) {\n ensureRootListener(element.ownerDocument, eventType);\n } else {\n element.addEventListener(eventType, handler, capture);\n }\n const byEvent = getOrCreateElementHandlers(element);\n const entry = byEvent.get(eventType) ?? {};\n byEvent.set(eventType, entry);\n if (options.multi) {\n if (capture) {\n if (!entry.captureSet)\n entry.captureSet = new Set;\n entry.captureSet.add(handler);\n } else {\n if (!entry.bubbleSet)\n entry.bubbleSet = new Set;\n entry.bubbleSet.add(handler);\n }\n } else {\n if (capture) {\n entry.capture = handler;\n } else {\n entry.bubble = handler;\n }\n }\n};\nvar isEntryEmpty = (entry) => !entry.capture && !entry.bubble && (!entry.captureSet || entry.captureSet.size === 0) && (!entry.bubbleSet || entry.bubbleSet.size === 0);\nvar removeDelegatedEvent = (target, eventType, handler, _options = {}) => {\n const byEvent = elementHandlerMap.get(target);\n if (!byEvent)\n return;\n const entry = byEvent.get(eventType);\n if (!entry)\n return;\n if (handler) {\n if (entry.captureSet) {\n entry.captureSet.delete(handler);\n }\n if (entry.bubbleSet) {\n entry.bubbleSet.delete(handler);\n }\n if (entry.capture === handler) {\n entry.capture = undefined;\n }\n if (entry.bubble === handler) {\n entry.bubble = undefined;\n }\n target.removeEventListener(eventType, handler, true);\n target.removeEventListener(eventType, handler, false);\n } else {\n entry.capture = undefined;\n entry.bubble = undefined;\n entry.captureSet = undefined;\n entry.bubbleSet = undefined;\n }\n if (isEntryEmpty(entry)) {\n byEvent.delete(eventType);\n }\n};\nvar clearDelegatedEvents = (target) => {\n const byEvent = elementHandlerMap.get(target);\n if (!byEvent)\n return;\n byEvent.clear();\n};\nvar clearDelegatedEventsDeep = (root) => {\n clearDelegatedEvents(root);\n const doc = root.ownerDocument;\n if (!doc)\n return;\n const walker = doc.createTreeWalker(root, 1);\n let node = walker.nextNode();\n while (node) {\n clearDelegatedEvents(node);\n node = walker.nextNode();\n }\n};\nvar getRegisteredEventTypes = (element) => {\n const byEvent = elementHandlerMap.get(element);\n if (!byEvent)\n return new Set;\n return new Set(byEvent.keys());\n};\nvar getRegisteredEventKeys = (element) => {\n const byEvent = elementHandlerMap.get(element);\n if (!byEvent)\n return new Set;\n const keys = new Set;\n for (const [eventType, entry] of byEvent) {\n if (entry.bubble || entry.bubbleSet?.size)\n keys.add(`${eventType}:bubble`);\n if (entry.capture || entry.captureSet?.size)\n keys.add(`${eventType}:capture`);\n }\n return keys;\n};\nvar removeDelegatedEventByKey = (element, eventType, phase) => {\n const byEvent = elementHandlerMap.get(element);\n if (!byEvent)\n return;\n const entry = byEvent.get(eventType);\n if (!entry)\n return;\n if (phase === \"capture\") {\n entry.capture = undefined;\n entry.captureSet = undefined;\n } else {\n entry.bubble = undefined;\n entry.bubbleSet = undefined;\n }\n if (isEntryEmpty(entry))\n byEvent.delete(eventType);\n};\n\n// src/renderer.ts\nvar CLASS_ATTRIBUTE_NAME = \"class\";\nvar XLINK_ATTRIBUTE_NAME = \"xlink\";\nvar XMLNS_ATTRIBUTE_NAME = \"xmlns\";\nvar REF_ATTRIBUTE_NAME = \"ref\";\nvar DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE = \"dangerouslySetInnerHTML\";\nvar nsMap = {\n [XMLNS_ATTRIBUTE_NAME]: \"http://www.w3.org/2000/xmlns/\",\n [XLINK_ATTRIBUTE_NAME]: \"http://www.w3.org/1999/xlink\",\n svg: \"http://www.w3.org/2000/svg\"\n};\nvar observeUnmount = (domNode, onUnmount) => {\n if (!domNode || typeof onUnmount !== \"function\") {\n throw new Error(\"Invalid arguments. Ensure domNode and onUnmount are valid.\");\n }\n if (typeof MutationObserver === \"undefined\") {\n return;\n }\n let parentNode = domNode.parentNode;\n if (!parentNode) {\n throw new Error(\"The provided domNode does not have a parentNode.\");\n }\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.removedNodes.length > 0) {\n for (const removedNode of mutation.removedNodes) {\n if (removedNode === domNode) {\n queueMicrotask(() => {\n if (!domNode.isConnected) {\n onUnmount();\n observer.disconnect();\n return;\n }\n const newParent = domNode.parentNode;\n if (newParent && newParent !== parentNode) {\n parentNode = newParent;\n observer.disconnect();\n observer.observe(parentNode, { childList: true });\n }\n });\n return;\n }\n }\n }\n }\n });\n observer.observe(parentNode, { childList: true });\n};\nvar handleLifecycleEventsForOnMount = (newEl) => {\n if (typeof newEl?.$onMount === \"function\") {\n newEl.$onMount(newEl);\n newEl.$onMount = null;\n }\n if (typeof newEl?.$onUnmount === \"function\") {\n observeUnmount(newEl, newEl.$onUnmount);\n }\n};\nvar getRenderer = (document2) => {\n const renderer = {\n hasElNamespace: (domElement) => domElement.namespaceURI === nsMap.svg,\n hasSvgNamespace: (parentElement, type) => renderer.hasElNamespace(parentElement) && type !== \"STYLE\" && type !== \"SCRIPT\",\n createElementOrElements: (virtualNode, parentDomElement) => {\n if (Array.isArray(virtualNode)) {\n return renderer.createChildElements(virtualNode, parentDomElement);\n }\n if (typeof virtualNode !== \"undefined\") {\n return renderer.createElement(virtualNode, parentDomElement);\n }\n return renderer.createTextNode(\"\", parentDomElement);\n },\n createElement: (virtualNode, parentDomElement) => {\n let newEl;\n try {\n if (typeof virtualNode === \"function\" && virtualNode.constructor.name === \"AsyncFunction\") {\n newEl = document2.createElement(\"div\");\n } else if (typeof virtualNode === \"object\" && virtualNode !== null && \"type\" in virtualNode) {\n const vNode = virtualNode;\n if (typeof vNode.type === \"function\") {\n newEl = document2.createElement(\"div\");\n newEl.innerText = `FATAL ERROR: ${vNode.type._error}`;\n } else if (typeof vNode.type === \"string\" && vNode.type.toUpperCase() === \"SVG\" || parentDomElement && renderer.hasSvgNamespace(parentDomElement, typeof vNode.type === \"string\" ? vNode.type.toUpperCase() : \"\")) {\n newEl = document2.createElementNS(nsMap.svg, vNode.type);\n } else {\n newEl = document2.createElement(vNode.type);\n }\n if (vNode.attributes) {\n renderer.setAttributes(vNode, newEl);\n if (vNode.attributes.dangerouslySetInnerHTML) {\n newEl.innerHTML = vNode.attributes.dangerouslySetInnerHTML.__html;\n }\n }\n if (vNode.children && !vNode.attributes?.dangerouslySetInnerHTML) {\n renderer.createChildElements(vNode.children, newEl);\n }\n } else {\n if (typeof virtualNode === \"string\" || typeof virtualNode === \"number\") {\n newEl = document2.createElement(String(virtualNode));\n }\n }\n if (newEl && parentDomElement) {\n parentDomElement.appendChild(newEl);\n handleLifecycleEventsForOnMount(newEl);\n }\n } catch (e) {\n console.error(\"Fatal error! Error happend while rendering the VDOM!\", e, virtualNode);\n throw e;\n }\n return newEl;\n },\n createTextNode: (text, domElement) => {\n const node = document2.createTextNode(text.toString());\n if (domElement) {\n domElement.appendChild(node);\n }\n return node;\n },\n createChildElements: (virtualChildren, domElement) => {\n const children = [];\n for (let i = 0;i < virtualChildren.length; i++) {\n const virtualChild = virtualChildren[i];\n if (typeof virtualChild === \"boolean\") {\n continue;\n }\n if (virtualChild === null || typeof virtualChild !== \"object\" && typeof virtualChild !== \"function\") {\n children.push(renderer.createTextNode((typeof virtualChild === \"undefined\" || virtualChild === null ? \"\" : virtualChild).toString(), domElement));\n } else {\n children.push(renderer.createElement(virtualChild, domElement));\n }\n }\n return children;\n },\n setAttribute: (name, value, domElement) => {\n if (typeof value === \"undefined\")\n return;\n if (name === DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE)\n return;\n if (name === \"key\") {\n domElement._defussKey = String(value);\n return;\n }\n if (name === REF_ATTRIBUTE_NAME && typeof value !== \"function\") {\n const ref = value;\n ref.current = domElement;\n domElement._defussRef = value;\n domElement.$onUnmount = queueCallback(() => {});\n if (domElement.parentNode) {\n observeUnmount(domElement, domElement.$onUnmount);\n } else {\n queueMicrotask(() => {\n if (domElement.parentNode) {\n observeUnmount(domElement, domElement.$onUnmount);\n }\n });\n }\n return;\n }\n const parsed = parseEventPropName(name);\n if (parsed && typeof value === \"function\") {\n const { eventType, capture } = parsed;\n if (eventType === \"mount\") {\n domElement.$onMount = queueCallback(value);\n return;\n }\n if (eventType === \"unmount\") {\n if (domElement.$onUnmount) {\n const existingUnmount = domElement.$onUnmount;\n domElement.$onUnmount = () => {\n existingUnmount();\n value();\n };\n } else {\n domElement.$onUnmount = queueCallback(value);\n }\n return;\n }\n registerDelegatedEvent(domElement, eventType, value, { capture });\n return;\n }\n if (name === \"className\") {\n name = CLASS_ATTRIBUTE_NAME;\n }\n if (name === CLASS_ATTRIBUTE_NAME && Array.isArray(value)) {\n value = value.filter((val) => !!val).join(\" \");\n }\n const nsEndIndex = name.match(/[A-Z]/)?.index;\n if (renderer.hasElNamespace(domElement) && nsEndIndex) {\n const ns = name.substring(0, nsEndIndex).toLowerCase();\n const attrName = name.substring(nsEndIndex, name.length).toLowerCase();\n const namespace = nsMap[ns] || null;\n domElement.setAttributeNS(namespace, ns === XLINK_ATTRIBUTE_NAME || ns === XMLNS_ATTRIBUTE_NAME ? `${ns}:${attrName}` : name, String(value));\n } else if (name === \"style\" && typeof value !== \"string\") {\n const styleObj = value;\n for (const prop of Object.keys(styleObj)) {\n domElement.style[prop] = String(styleObj[prop]);\n }\n } else if (typeof value === \"boolean\") {\n domElement[name] = value;\n if (value) {\n domElement.setAttribute(name, \"\");\n } else {\n domElement.removeAttribute(name);\n }\n } else if ((name === \"value\" || name === \"checked\" || name === \"selectedIndex\") && (domElement.nodeName === \"INPUT\" || domElement.nodeName === \"TEXTAREA\" || domElement.nodeName === \"SELECT\")) {\n domElement[name] = value;\n if (name === \"checked\") {\n if (value) {\n domElement.setAttribute(\"checked\", \"\");\n } else {\n domElement.removeAttribute(\"checked\");\n }\n } else if (name === \"value\") {\n domElement.setAttribute(\"value\", String(value));\n }\n } else {\n domElement.setAttribute(name, String(value));\n }\n },\n setAttributes: (virtualNode, domElement) => {\n const attrNames = Object.keys(virtualNode.attributes ?? {});\n for (let i = 0;i < attrNames.length; i++) {\n renderer.setAttribute(attrNames[i], virtualNode.attributes[attrNames[i]], domElement);\n }\n }\n };\n return renderer;\n};\n\n// src/html.ts\nvar FROM_DOM_MARKER = Symbol(\"defuss-morph.from-dom\");\nvar HTML_BOOLEAN_ATTRIBUTES = new Set([\n \"allowfullscreen\",\n \"async\",\n \"autofocus\",\n \"autoplay\",\n \"checked\",\n \"controls\",\n \"default\",\n \"defer\",\n \"disabled\",\n \"formnovalidate\",\n \"hidden\",\n \"inert\",\n \"ismap\",\n \"itemscope\",\n \"loop\",\n \"multiple\",\n \"muted\",\n \"nomodule\",\n \"novalidate\",\n \"open\",\n \"playsinline\",\n \"readonly\",\n \"required\",\n \"reversed\",\n \"selected\"\n]);\nvar domAttributeToVNodeValue = (attr) => HTML_BOOLEAN_ATTRIBUTES.has(attr.name.toLowerCase()) ? true : attr.value;\nfunction parseDOM(input, type, Parser) {\n return new Parser().parseFromString(input, type);\n}\nfunction isSVG(input, Parser) {\n const doc = parseDOM(input, \"image/svg+xml\", Parser);\n if (!doc.documentElement)\n return false;\n return doc.documentElement.nodeName.toLowerCase() === \"svg\";\n}\nfunction isHTML(input, Parser) {\n const doc = parseDOM(input, \"text/html\", Parser);\n return doc.documentElement.querySelectorAll(\"*\").length > 2;\n}\nvar isMarkup = (input, Parser) => input.indexOf(\"<\") > -1 && input.indexOf(\">\") > -1 && (isHTML(input, Parser) || isSVG(input, Parser));\nfunction renderMarkup(markup, Parser, doc) {\n const parsed = doc ? doc : parseDOM(markup, getMimeType(markup, Parser), Parser);\n if (parsed.body)\n return Array.from(parsed.body.childNodes);\n return parsed.documentElement ? [parsed.documentElement] : [];\n}\nfunction getMimeType(input, Parser) {\n if (isSVG(input, Parser)) {\n return \"image/svg+xml\";\n }\n return \"text/html\";\n}\nfunction domNodeToVNode(node) {\n if (node.nodeType === 3) {\n return node.textContent || \"\";\n }\n if (node.nodeType === 1) {\n const element = node;\n const attributes = {};\n for (let i = 0;i < element.attributes.length; i++) {\n const attr = element.attributes[i];\n attributes[attr.name] = domAttributeToVNodeValue(attr);\n }\n const children = [];\n for (let i = 0;i < element.childNodes.length; i++) {\n const childVNode = domNodeToVNode(element.childNodes[i]);\n children.push(childVNode);\n }\n return {\n type: element.tagName.toLowerCase(),\n attributes: { ...attributes, [FROM_DOM_MARKER]: true },\n children\n };\n }\n return \"\";\n}\nfunction htmlStringToVNodes(html, Parser) {\n const parser = new Parser;\n const doc = parser.parseFromString(html, \"text/html\");\n const vNodes = [];\n for (let i = 0;i < doc.body.childNodes.length; i++) {\n const vnode = domNodeToVNode(doc.body.childNodes[i]);\n if (vnode !== \"\") {\n vNodes.push(vnode);\n }\n }\n return vNodes;\n}\n\n// src/morph.ts\nvar areDomNodesEqual = (oldNode, newNode) => {\n if (oldNode === newNode)\n return true;\n if (oldNode.nodeType !== newNode.nodeType)\n return false;\n if (oldNode.nodeType === 1) {\n const oldElement = oldNode;\n const newElement = newNode;\n if (oldElement.tagName !== newElement.tagName)\n return false;\n const oldAttrs = oldElement.attributes;\n const newAttrs = newElement.attributes;\n if (oldAttrs.length !== newAttrs.length)\n return false;\n for (let i = 0;i < oldAttrs.length; i++) {\n const oldAttr = oldAttrs[i];\n const newAttrValue = newElement.getAttribute(oldAttr.name);\n if (oldAttr.value !== newAttrValue)\n return false;\n }\n }\n if (oldNode.nodeType === 3) {\n if (oldNode.textContent !== newNode.textContent)\n return false;\n }\n return true;\n};\nfunction isTextLike(value) {\n return typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\";\n}\nfunction isVNode(value) {\n return Boolean(value && typeof value === \"object\" && \"type\" in value);\n}\nfunction toValidChild(child, lenient = false) {\n if (child == null)\n return child;\n if (isTextLike(child))\n return child;\n if (isVNode(child))\n return child;\n if (lenient && child && typeof child === \"object\" && \"attributes\" in child)\n return child;\n return;\n}\nfunction normalizeChildren(input, lenient = false) {\n const raw = [];\n const pushChild = (child) => {\n if (Array.isArray(child)) {\n child.forEach(pushChild);\n return;\n }\n const valid = toValidChild(child, lenient);\n if (typeof valid === \"undefined\")\n return;\n if (isVNode(valid) && (valid.type === \"fragment\" || valid.type === \"Fragment\")) {\n const nested = Array.isArray(valid.children) ? valid.children : [];\n nested.forEach(pushChild);\n return;\n }\n if (valid === null || typeof valid === \"undefined\" || typeof valid === \"boolean\")\n return;\n raw.push(valid);\n };\n pushChild(input);\n const fused = [];\n let buffer = null;\n const flush = () => {\n if (buffer !== null && buffer.length > 0)\n fused.push(buffer);\n buffer = null;\n };\n for (const child of raw) {\n if (typeof child === \"string\" || typeof child === \"number\" || typeof child === \"boolean\") {\n buffer = (buffer ?? \"\") + String(child);\n continue;\n }\n flush();\n fused.push(child);\n }\n flush();\n return fused;\n}\nfunction getVNodeMatchKey(child) {\n if (!child || typeof child !== \"object\")\n return null;\n const key = child.attributes?.key;\n if (typeof key === \"string\" || typeof key === \"number\")\n return `k:${String(key)}`;\n const id = child.attributes?.id;\n if (typeof id === \"string\" && id.length > 0)\n return `id:${id}`;\n return null;\n}\nfunction describePatchItem(child) {\n if (child && typeof child === \"object\") {\n return `<${typeof child.type === \"string\" ? child.type : \"component\"}>`;\n }\n return \"plain text\";\n}\nfunction getDomMatchKeys(node) {\n if (node.nodeType !== 1)\n return [];\n const el = node;\n const keys = [];\n const internalKey = el._defussKey;\n if (internalKey)\n keys.push(`k:${internalKey}`);\n const attrKey = el.getAttribute(\"key\");\n if (attrKey)\n keys.push(`k:${attrKey}`);\n const id = el.id;\n if (id)\n keys.push(`id:${id}`);\n return keys;\n}\nfunction areNodeAndChildMatching(domNode, child) {\n if (typeof child === \"string\" || typeof child === \"number\" || typeof child === \"boolean\") {\n return domNode.nodeType === 3;\n }\n if (child && typeof child === \"object\") {\n if (domNode.nodeType !== 1)\n return false;\n const el = domNode;\n const oldTag = el.tagName.toLowerCase();\n const newTag = typeof child.type === \"string\" ? child.type.toLowerCase() : \"\";\n if (!newTag || oldTag !== newTag)\n return false;\n return true;\n }\n return false;\n}\nfunction createDomFromChild(child, globals) {\n const renderer = getRenderer(globals.window.document);\n if (child == null)\n return;\n if (typeof child === \"string\" || typeof child === \"number\" || typeof child === \"boolean\") {\n return [globals.window.document.createTextNode(String(child))];\n }\n const created = renderer.createElementOrElements(child);\n if (!created)\n return;\n const nodes = Array.isArray(created) ? created : [created];\n return nodes.filter(Boolean);\n}\nfunction shouldPreserveFormStateAttribute(el, attrName, vnode) {\n const tag = el.tagName.toLowerCase();\n const hasExplicit = Object.hasOwn(vnode.attributes ?? {}, attrName);\n if (hasExplicit)\n return false;\n if (tag === \"input\")\n return attrName === \"value\" || attrName === \"checked\";\n if (tag === \"textarea\")\n return attrName === \"value\";\n if (tag === \"select\")\n return attrName === \"value\";\n return false;\n}\nfunction patchElementInPlace(el, vnode, globals, mergeAttributes = false) {\n const renderer = getRenderer(globals.window.document);\n const existingAttrs = mergeAttributes ? [] : Array.from(el.attributes);\n const nextAttrs = vnode.attributes ?? {};\n for (const attr of existingAttrs) {\n const { name } = attr;\n if (name === \"key\")\n continue;\n if (name.startsWith(\"on\"))\n continue;\n if (name === \"class\" && (Object.hasOwn(nextAttrs, \"class\") || Object.hasOwn(nextAttrs, \"className\"))) {\n continue;\n }\n if (!Object.hasOwn(nextAttrs, name)) {\n if (shouldPreserveFormStateAttribute(el, name, vnode))\n continue;\n el.removeAttribute(name);\n }\n }\n const preserveDelegatedHandlers = mergeAttributes || Boolean(nextAttrs[FROM_DOM_MARKER]);\n if (!preserveDelegatedHandlers) {\n const registeredKeys = getRegisteredEventKeys(el);\n const nextEventKeys = new Set;\n for (const propName of Object.keys(nextAttrs)) {\n const parsed = parseEventPropName(propName);\n if (parsed) {\n const phase = parsed.capture ? \"capture\" : \"bubble\";\n nextEventKeys.add(`${parsed.eventType}:${phase}`);\n }\n }\n for (const key of registeredKeys) {\n if (!nextEventKeys.has(key)) {\n const [eventType, phase] = key.split(\":\");\n removeDelegatedEventByKey(el, eventType, phase);\n }\n }\n }\n renderer.setAttributes(vnode, el);\n handleLifecycleEventsForOnMount(el);\n const d = vnode.attributes?.dangerouslySetInnerHTML;\n if (d && typeof d === \"object\" && typeof d.__html === \"string\") {\n el.innerHTML = d.__html;\n return;\n }\n const tag = el.tagName.toLowerCase();\n if (tag === \"textarea\") {\n const isControlled = Object.hasOwn(nextAttrs, \"value\");\n const isActive = el.ownerDocument?.activeElement === el;\n if (isActive && !isControlled)\n return;\n }\n if (mergeAttributes && (vnode.children === undefined || vnode.children.length === 0 && nextAttrs[FROM_DOM_MARKER]))\n return;\n morphDomDirect(el, vnode.children ?? [], globals);\n}\nfunction morphNode(domNode, child, globals, mergeAttributes = false) {\n if (typeof child === \"string\" || typeof child === \"number\" || typeof child === \"boolean\") {\n const text = String(child);\n if (domNode.nodeType === 3) {\n if (domNode.nodeValue !== text)\n domNode.nodeValue = text;\n return domNode;\n }\n const next = globals.window.document.createTextNode(text);\n domNode.parentNode?.replaceChild(next, domNode);\n return next;\n }\n if (child && typeof child === \"object\") {\n const newType = typeof child.type === \"string\" ? child.type : null;\n if (!newType)\n return domNode;\n if (domNode.nodeType !== 1) {\n const created = createDomFromChild(child, globals);\n const first = Array.isArray(created) ? created[0] : created;\n if (!first)\n return null;\n domNode.parentNode?.replaceChild(first, domNode);\n handleLifecycleEventsForOnMount(first);\n return first;\n }\n const el = domNode;\n const oldTag = el.tagName.toLowerCase();\n const newTag = newType.toLowerCase();\n if (oldTag !== newTag) {\n const created = createDomFromChild(child, globals);\n const first = Array.isArray(created) ? created[0] : created;\n if (!first)\n return null;\n el.parentNode?.replaceChild(first, el);\n handleLifecycleEventsForOnMount(first);\n return first;\n }\n patchElementInPlace(el, child, globals, mergeAttributes);\n return el;\n }\n domNode.parentNode?.removeChild(domNode);\n return null;\n}\nvar renderingNodes = new WeakSet;\nvar pendingMorphs = new Map;\nvar resolveGlobals = (el, globals) => {\n if (globals)\n return globals;\n const win = el?.ownerDocument?.defaultView ?? globalThis;\n return { window: win };\n};\nfunction isAncestorRendering(el) {\n let current = el.parentElement;\n while (current) {\n if (renderingNodes.has(current))\n return true;\n current = current.parentElement;\n }\n return false;\n}\nfunction flushPendingMorphs() {\n if (pendingMorphs.size === 0)\n return;\n const snapshot = [...pendingMorphs.entries()];\n pendingMorphs.clear();\n for (const [el, { vdom, globals, mode }] of snapshot) {\n if (!el.isConnected)\n continue;\n updateDomWithVdom(el, vdom, globals, mode);\n }\n}\nfunction updateDomWithVdom(parentElement, newVDOM, globals, mode = \"replace\") {\n const resolvedGlobals = resolveGlobals(parentElement, globals);\n if (renderingNodes.has(parentElement) || isAncestorRendering(parentElement)) {\n pendingMorphs.set(parentElement, {\n vdom: newVDOM,\n globals: resolvedGlobals,\n mode\n });\n return;\n }\n renderingNodes.add(parentElement);\n try {\n morphDomDirect(parentElement, newVDOM, resolvedGlobals, mode);\n } finally {\n renderingNodes.delete(parentElement);\n }\n flushPendingMorphs();\n}\nfunction morphDiff(targetRoot, patchItems, globals) {\n const keyedPool = new Map;\n for (const node of Array.from(targetRoot.childNodes)) {\n for (const k of getDomMatchKeys(node)) {\n if (!keyedPool.has(k))\n keyedPool.set(k, node);\n }\n }\n for (const item of patchItems) {\n if (typeof item === \"string\" && item.trim() === \"\")\n continue;\n const key = getVNodeMatchKey(item);\n if (!key) {\n throw new Error(`morph diff: patch items must be elements with a key or id attribute (got ${describePatchItem(item)})`);\n }\n const match = keyedPool.get(key);\n if (match) {\n const patchItem = item && typeof item === \"object\" && !item.type ? { ...item, type: match.tagName.toLowerCase() } : item;\n morphNode(match, patchItem, globals, true);\n continue;\n }\n if (!item?.type) {\n throw new Error(`morph diff: new (unmatched) patch items must declare a tag (type), got key/id \"${key}\"`);\n }\n const created = createDomFromChild(item, globals) ?? [];\n for (const node of created) {\n targetRoot.appendChild(node);\n handleLifecycleEventsForOnMount(node);\n }\n }\n}\nfunction morphDomDirect(parentElement, newVDOM, globals, mode = \"replace\") {\n const el = parentElement;\n const isCustomElement = el.tagName.includes(\"-\");\n const targetRoot = el.shadowRoot && !isCustomElement ? el.shadowRoot : parentElement;\n const nextChildren = normalizeChildren(newVDOM, mode === \"diff\");\n if (mode === \"diff\") {\n morphDiff(targetRoot, nextChildren, globals);\n return;\n }\n const existing = Array.from(targetRoot.childNodes);\n const keyedPool = new Map;\n const nodeKeys = new WeakMap;\n const unkeyedPool = [];\n for (const node of existing) {\n const keys = getDomMatchKeys(node);\n if (keys.length > 0) {\n nodeKeys.set(node, keys);\n let addedToKeyedPool = false;\n for (const k of keys) {\n if (!keyedPool.has(k)) {\n keyedPool.set(k, node);\n addedToKeyedPool = true;\n }\n }\n if (!addedToKeyedPool) {\n unkeyedPool.push(node);\n }\n } else {\n unkeyedPool.push(node);\n }\n }\n const consumeKeyedNode = (node) => {\n const keys = nodeKeys.get(node) ?? [];\n for (const k of keys)\n keyedPool.delete(k);\n };\n const takeUnkeyedMatch = (child) => {\n for (let i = 0;i < unkeyedPool.length; i++) {\n const candidate = unkeyedPool[i];\n if (areNodeAndChildMatching(candidate, child)) {\n unkeyedPool.splice(i, 1);\n return candidate;\n }\n }\n return;\n };\n let domIndex = 0;\n for (const child of nextChildren) {\n const key = getVNodeMatchKey(child);\n let match;\n if (key) {\n match = keyedPool.get(key);\n if (match)\n consumeKeyedNode(match);\n } else {\n match = takeUnkeyedMatch(child);\n }\n const anchor = targetRoot.childNodes[domIndex] ?? null;\n if (match) {\n if (match !== anchor) {\n targetRoot.insertBefore(match, anchor);\n }\n const morphed = morphNode(match, child, globals);\n if (morphed && morphed !== match) {}\n domIndex++;\n continue;\n }\n const created = createDomFromChild(child, globals);\n if (!created || Array.isArray(created) && created.length === 0)\n continue;\n const nodes = Array.isArray(created) ? created : [created];\n for (const node of nodes) {\n targetRoot.insertBefore(node, anchor);\n handleLifecycleEventsForOnMount(node);\n domIndex++;\n }\n }\n const remaining = new Set;\n for (const node of unkeyedPool)\n remaining.add(node);\n for (const node of keyedPool.values())\n remaining.add(node);\n for (const node of remaining) {\n if (node.parentNode === targetRoot) {\n if (node.nodeType === 1) {\n clearDelegatedEventsDeep(node);\n }\n targetRoot.removeChild(node);\n }\n }\n}\nfunction replaceDomWithVdom(parentElement, newVDOM, globals) {\n const resolvedGlobals = resolveGlobals(parentElement, globals);\n while (parentElement.firstChild) {\n parentElement.removeChild(parentElement.firstChild);\n }\n const renderer = getRenderer(resolvedGlobals.window.document);\n const newDom = renderer.createElementOrElements(newVDOM);\n if (Array.isArray(newDom)) {\n for (const node of newDom) {\n if (node) {\n parentElement.appendChild(node);\n handleLifecycleEventsForOnMount(node);\n }\n }\n } else if (newDom) {\n parentElement.appendChild(newDom);\n handleLifecycleEventsForOnMount(newDom);\n }\n}\n\n// src/transitions.ts\nvar injectShakeKeyframes = (doc) => {\n if (!doc)\n return;\n if (!doc.getElementById(\"defuss-shake\")) {\n const style = doc.createElement(\"style\");\n style.id = \"defuss-shake\";\n style.textContent = \"@keyframes shake{0%,100%{transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{transform:translate3d(-10px,0,0)}20%,40%,60%,80%{transform:translate3d(10px,0,0)}}\";\n doc.head.appendChild(style);\n }\n};\nvar getTransitionStyles = (type, duration, easing = \"ease-in-out\") => {\n const t = `transform ${duration}ms ${easing}, opacity ${duration}ms ${easing}`;\n const styles = {\n fade: {\n enter: { opacity: \"0\", transition: t, transform: \"translate3d(0,0,0)\" },\n enterActive: { opacity: \"1\" },\n exit: { opacity: \"1\", transition: t, transform: \"translate3d(0,0,0)\" },\n exitActive: { opacity: \"0\" }\n },\n \"slide-left\": {\n enter: {\n transform: \"translate3d(100%,0,0)\",\n opacity: \"0.5\",\n transition: t\n },\n enterActive: { transform: \"translate3d(0,0,0)\", opacity: \"1\" },\n exit: { transform: \"translate3d(0,0,0)\", opacity: \"1\", transition: t },\n exitActive: { transform: \"translate3d(-100%,0,0)\", opacity: \"0.5\" }\n },\n \"slide-right\": {\n enter: {\n transform: \"translate3d(-100%,0,0)\",\n opacity: \"0.5\",\n transition: t\n },\n enterActive: { transform: \"translate3d(0,0,0)\", opacity: \"1\" },\n exit: { transform: \"translate3d(0,0,0)\", opacity: \"1\", transition: t },\n exitActive: { transform: \"translate3d(100%,0,0)\", opacity: \"0.5\" }\n },\n shake: (() => {\n injectShakeKeyframes(typeof document !== \"undefined\" ? document : undefined);\n return {\n enter: {\n transform: \"translate3d(0,0,0)\",\n opacity: \"1\",\n transition: \"none\"\n },\n enterActive: {\n transform: \"translate3d(0,0,0)\",\n opacity: \"1\",\n animation: `shake ${duration}ms cubic-bezier(0.36,0.07,0.19,0.97)`\n },\n exit: {\n transform: \"translate3d(0,0,0)\",\n opacity: \"1\",\n transition: \"none\"\n },\n exitActive: {\n transform: \"translate3d(0,0,0)\",\n opacity: \"1\",\n animation: `shake ${duration}ms cubic-bezier(0.36,0.07,0.19,0.97)`\n }\n };\n })()\n };\n return styles[type] || { enter: {}, enterActive: {}, exit: {}, exitActive: {} };\n};\nvar applyStyles = (el, styles) => Object.entries(styles).forEach(([k, v]) => el.style.setProperty(k, String(v)));\nvar DEFAULT_TRANSITION_CONFIG = {\n type: \"fade\",\n duration: 300,\n easing: \"ease-in-out\",\n delay: 0,\n target: \"parent\"\n};\nvar wait = (ms) => new Promise((r) => setTimeout(r, ms));\nvar performCrossfade = async (element, updateCallback, duration, easing) => {\n const originalStyle = element.style.cssText;\n const snapshot = element.cloneNode(true);\n const doc = element.ownerDocument;\n try {\n const rect = element.getBoundingClientRect();\n snapshot.style.cssText = `position:absolute;top:${rect.top}px;left:${rect.left}px;width:${rect.width}px;height:${rect.height}px;opacity:1;transition:opacity ${duration}ms ${easing};z-index:1000;`;\n element.style.opacity = \"0\";\n element.style.transition = `opacity ${duration}ms ${easing}`;\n doc.body.appendChild(snapshot);\n await updateCallback();\n element.offsetHeight;\n snapshot.style.opacity = \"0\";\n element.style.opacity = \"1\";\n await wait(duration);\n doc.body.removeChild(snapshot);\n } catch (error) {\n if (snapshot.parentElement)\n doc.body.removeChild(snapshot);\n throw error;\n } finally {\n element.style.cssText = originalStyle;\n }\n};\nvar performTransition = async (element, updateCallback, config = {}) => {\n const {\n type = \"fade\",\n duration = 300,\n easing = \"ease-in-out\",\n delay = 0\n } = { ...DEFAULT_TRANSITION_CONFIG, ...config };\n if (type === \"none\") {\n await updateCallback();\n return;\n }\n if (delay > 0)\n await wait(delay);\n if (type === \"fade\") {\n await performCrossfade(element, updateCallback, duration, easing);\n return;\n }\n const styles = config.styles || getTransitionStyles(type, duration, easing);\n const originalTransition = element.style.transition;\n const originalAnimation = element.style.animation;\n try {\n if (type === \"shake\") {\n element.style.animation = \"none\";\n element.offsetHeight;\n }\n applyStyles(element, styles.exit);\n element.offsetHeight;\n applyStyles(element, styles.exitActive);\n await wait(duration);\n await updateCallback();\n applyStyles(element, styles.enter);\n element.offsetHeight;\n applyStyles(element, styles.enterActive);\n await wait(duration);\n element.style.transition = originalTransition;\n element.style.animation = originalAnimation;\n } catch (error) {\n element.style.transition = originalTransition;\n element.style.animation = originalAnimation;\n throw error;\n }\n};\n\n// src/index.ts\nvar inflightTransitions = new WeakMap;\nvar morph2 = (el, newContent, options = {}) => {\n const globals = resolveGlobals(el);\n const win = globals.window;\n const mode = options.diff ? \"diff\" : \"replace\";\n const apply = (content) => updateDomWithVdom(el, typeof content === \"string\" ? htmlStringToVNodes(content, win.DOMParser) : content, globals, mode);\n const transition = options.transition;\n if (transition && transition.type !== \"none\") {\n const config = { ...DEFAULT_TRANSITION_CONFIG, ...transition };\n const transitionTarget = config.target === \"self\" ? el : el.parentElement;\n if (!transitionTarget) {\n apply(newContent);\n return;\n }\n const slot2 = { content: newContent };\n inflightTransitions.set(el, slot2);\n return performTransition(transitionTarget, async () => {\n if (inflightTransitions.get(el) === slot2)\n apply(slot2.content);\n }, config).finally(() => {\n if (inflightTransitions.get(el) === slot2)\n inflightTransitions.delete(el);\n });\n }\n const slot = inflightTransitions.get(el);\n if (slot)\n slot.content = newContent;\n apply(newContent);\n};\n\n// src/global.ts\nif (typeof globalThis !== \"undefined\") {\n const g = globalThis;\n const current = g.df$;\n if (current === null || typeof current !== \"object\" && typeof current !== \"function\") {\n g.df$ = {};\n }\n Object.assign(g.df$, exports_src);\n}\nexport {\n updateDomWithVdom,\n resolveGlobals,\n replaceDomWithVdom,\n renderMarkup,\n removeDelegatedEventByKey,\n removeDelegatedEvent,\n registerDelegatedEvent,\n queueCallback,\n performTransition,\n parseEventPropName,\n parseDOM,\n observeUnmount,\n nsMap,\n morph2 as morph,\n isSVG,\n isMarkup,\n isHTML,\n htmlStringToVNodes,\n handleLifecycleEventsForOnMount,\n getTransitionStyles,\n getRenderer,\n getRegisteredEventTypes,\n getRegisteredEventKeys,\n getMimeType,\n domNodeToVNode,\n clearDelegatedEventsDeep,\n clearDelegatedEvents,\n areDomNodesEqual,\n applyStyles,\n XMLNS_ATTRIBUTE_NAME,\n XLINK_ATTRIBUTE_NAME,\n REF_ATTRIBUTE_NAME,\n FROM_DOM_MARKER,\n DEFAULT_TRANSITION_CONFIG,\n DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE,\n CLASS_ATTRIBUTE_NAME,\n CAPTURE_ONLY_EVENTS\n};\n\n//# debugId=BA5C1E84E9A829C164756E2164756E21\n//# sourceMappingURL=all.js.map\n"],"file":"all.min.js"}
1
+ {"mappings":"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Q,IAAI,EACd,IACT,CACF,CAAC,EACMsC,CACT,EAEA,GAAI,OAAO,WAAe,IAAa,CACrC,IAAMC,EAAI,WACJ9F,EAAU8F,EAAE,KACd9F,IAAY,MAAQ,OAAOA,GAAY,UAAY,OAAOA,GAAY,cACxE,EAAE,IAAM,CAAC,GAEX,OAAO,OAAO8F,EAAE,IAAK1S,CAAW,EAChC,IAAMwS,EAAKE,EAAE,IAAI,GACb,OAAOF,GAAO,UAAYA,GAC5B9Q,GAAgBgR,EAAE,GAAG,CACzB,CACA,OACEzS,yBACAC,0BACAC,kBACAC,2CACAC,+BACAC,qBACAC,eACAC,yBACAC,eACAC,0BACAC,0BACAC,iBACAC,uBACAC,0BACAC,8BACAC,gBACAC,oBACAC,kBACAC,6BACAC,6BACAC,iBACAC,yBACAC,QACAC,qCACAC,wBACAC,sBACAC,oBACAC,YACAC,eACAC,WACAC,WACAC,SACAC,aACAC,WACAC,WACAC,WACAC,oBACAC,4BACAC,cACAC,wBACAC,wBACAC,mBACAC,eACAC,4BACAC,0BACAC,gCACAC,mBACAC,yBACAC,oBACAC,qBACAC","names":["__defProp","__returnValue","v","__exportSetter","name","newValue","__export","all","target","exports_src","CAPTURE_ONLY_EVENTS","CLASS_ATTRIBUTE_NAME","COMMENT_TYPE","DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE","DEFAULT_TRANSITION_CONFIG","FROM_DOM_MARKER","Fragment","REF_ATTRIBUTE_NAME","Reactive","XLINK_ATTRIBUTE_NAME","XMLNS_ATTRIBUTE_NAME","applyStyles","areDomNodesEqual","clearDelegatedEvents","clearDelegatedEventsDeep","createRef","domNodeToVNode","getMimeType","getRegisteredEventKeys","getRegisteredEventTypes","getRenderer","getTransitionStyles","h","handleLifecycleEventsForOnMount","htmlStringToVNodes","installReactive","isCommentVNode","isHTML","isMarkup","isRef","isSVG","jsx","jsxDEV","jsxs","morph","nsMap","observeUnmount","onClearDelegatedEvents","parseDOM","parseEventPropName","performTransition","queueCallback","reactive","registerDelegatedEvent","removeDelegatedEvent","removeDelegatedEventByKey","renderMarkup","replaceDomWithVdom","resolveGlobals","templateContent","updateDomWithVdom","args","cb","elementHandlerMap","slotListeners","activeDispatches","propName","raw","lower","isCapture","eventType","getOrCreateElementHandlers","existing","el","created","runSlot","handler","phase","dispatchKey","active","event","setSlot","key","capture","byKey","installed","trampoline","clearPhase","entry","setKey","options","byEvent","element","set","isEntryEmpty","clearHooks","hook","root","doc","walker","node","keys","value","HTML_BOOLEAN_ATTRIBUTES","domAttributeToVNodeValue","attr","Parser","input","type","parsed","markup","attributes","i","children","child","inertDocuments","DOCUMENT_START","html","toVNodes","inert","template","vNodes","nodes","vnode","domNode","onUnmount","parentNode","observer","mutation","mutationsList","removedNode","newParent","unmountObserved","newEl","renderer","domElement","parentElement","virtualNode","parentDomElement","comment","document2","vNode","text","virtualChildren","virtualChild","val","nsEndIndex","ns","attrName","namespace","styleObj","prop","attrNames","longestIncreasingRun","n","values","marked","tails","previous","length","low","high","mid","oldNode","newNode","oldElement","newElement","oldAttrs","newAttrs","oldAttr","newAttrValue","isTextLike","isVNode","toValidChild","lenient","normalizeChildren","pushChild","valid","fused","buffer","flush","getVNodeMatchKey","id","describePatchItem","getDomMatchKeys","internalKey","attrKey","areNodeAndChildMatching","oldTag","newTag","createDomFromChild","globals","shouldPreserveFormStateAttribute","tag","patchElementInPlace","existingAttrs","mergeAttributes","nextAttrs","registeredKeys","nextEventKeys","d","isControlled","morphDomDirect","replaceNode","old","next","morphNode","data","newType","first","renderingNodes","pendingMorphs","isAncestorRendering","current","flushPendingMorphs","snapshot","vdom","mode","resolvedGlobals","newVDOM","morphDiff","keyedPool","targetRoot","k","item","patchItems","match","moveNode","parent","anchor","holdsFocus","selection","patchByPosition","live","nextChildren","c","isCustomElement","nodeKeys","unkeyedPool","addedToKeyedPool","consumeKeyedNode","takeUnkeyedMatch","j","count","matched","inOrder","hit","stays","staying","anchorAt","remaining","newDom","injectShakeKeyframes","style","t","duration","easing","styles","wait","r","ms","performCrossfade","originalStyle","rect","top","left","updateCallback","error","config","delay","originalTransition","originalAnimation","inflightTransitions","win","apply","content","transition","transitionTarget","newContent","slot","toChildren","isVNode2","props","resolvedKey","result","isElement","toStores","stores","store","candidate","caller","index","listen","unsubscribes","update","unsubscribe","resolveTarget","elements","disposed","dispose","mounted","toChildren2","_children","render","onMount","fn","df$","g"],"sources":["all.js"],"version":3,"sourcesContent":["var __defProp = Object.defineProperty;\nvar __returnValue = (v) => v;\nfunction __exportSetter(name, newValue) {\n this[name] = __returnValue.bind(null, newValue);\n}\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, {\n get: all[name],\n enumerable: true,\n configurable: true,\n set: __exportSetter.bind(all, name)\n });\n};\n\n// src/index.ts\nvar exports_src = {};\n__export(exports_src, {\n CAPTURE_ONLY_EVENTS: () => CAPTURE_ONLY_EVENTS,\n CLASS_ATTRIBUTE_NAME: () => CLASS_ATTRIBUTE_NAME,\n COMMENT_TYPE: () => COMMENT_TYPE,\n DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE: () => DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE,\n DEFAULT_TRANSITION_CONFIG: () => DEFAULT_TRANSITION_CONFIG,\n FROM_DOM_MARKER: () => FROM_DOM_MARKER,\n Fragment: () => Fragment,\n REF_ATTRIBUTE_NAME: () => REF_ATTRIBUTE_NAME,\n Reactive: () => Reactive,\n XLINK_ATTRIBUTE_NAME: () => XLINK_ATTRIBUTE_NAME,\n XMLNS_ATTRIBUTE_NAME: () => XMLNS_ATTRIBUTE_NAME,\n applyStyles: () => applyStyles,\n areDomNodesEqual: () => areDomNodesEqual,\n clearDelegatedEvents: () => clearDelegatedEvents,\n clearDelegatedEventsDeep: () => clearDelegatedEventsDeep,\n createRef: () => createRef,\n domNodeToVNode: () => domNodeToVNode,\n getMimeType: () => getMimeType,\n getRegisteredEventKeys: () => getRegisteredEventKeys,\n getRegisteredEventTypes: () => getRegisteredEventTypes,\n getRenderer: () => getRenderer,\n getTransitionStyles: () => getTransitionStyles,\n h: () => h,\n handleLifecycleEventsForOnMount: () => handleLifecycleEventsForOnMount,\n htmlStringToVNodes: () => htmlStringToVNodes,\n installReactive: () => installReactive,\n isCommentVNode: () => isCommentVNode,\n isHTML: () => isHTML,\n isMarkup: () => isMarkup,\n isRef: () => isRef,\n isSVG: () => isSVG,\n jsx: () => jsx,\n jsxDEV: () => jsxDEV,\n jsxs: () => jsxs,\n morph: () => morph,\n nsMap: () => nsMap,\n observeUnmount: () => observeUnmount,\n onClearDelegatedEvents: () => onClearDelegatedEvents,\n parseDOM: () => parseDOM,\n parseEventPropName: () => parseEventPropName,\n performTransition: () => performTransition,\n queueCallback: () => queueCallback,\n reactive: () => reactive,\n registerDelegatedEvent: () => registerDelegatedEvent,\n removeDelegatedEvent: () => removeDelegatedEvent,\n removeDelegatedEventByKey: () => removeDelegatedEventByKey,\n renderMarkup: () => renderMarkup,\n replaceDomWithVdom: () => replaceDomWithVdom,\n resolveGlobals: () => resolveGlobals,\n templateContent: () => templateContent,\n updateDomWithVdom: () => updateDomWithVdom\n});\n// src/queue.ts\nvar queueCallback = (cb) => (...args) => queueMicrotask(() => cb(...args));\n// src/delegated-events.ts\nvar CAPTURE_ONLY_EVENTS = new Set([\n \"focus\",\n \"blur\",\n \"scroll\",\n \"mouseenter\",\n \"mouseleave\"\n]);\nvar elementHandlerMap = new WeakMap;\nvar slotListeners = new WeakMap;\nvar activeDispatches = new WeakMap;\nvar parseEventPropName = (propName) => {\n if (!propName.startsWith(\"on\"))\n return null;\n const raw = propName.slice(2);\n if (!raw)\n return null;\n const lower = raw.toLowerCase();\n const isCapture = lower.endsWith(\"capture\");\n const eventType = isCapture ? lower.slice(0, -\"capture\".length) : lower;\n if (!eventType)\n return null;\n return { eventType, capture: isCapture };\n};\nvar getOrCreateElementHandlers = (el) => {\n const existing = elementHandlerMap.get(el);\n if (existing)\n return existing;\n const created = new Map;\n elementHandlerMap.set(el, created);\n return created;\n};\nvar runSlot = (target, eventType, phase, event) => {\n const handler = elementHandlerMap.get(target)?.get(eventType)?.[phase];\n if (!handler)\n return;\n const dispatchKey = `${eventType}:${phase}`;\n let active = activeDispatches.get(target);\n if (active?.has(dispatchKey))\n return;\n if (!active) {\n active = new Set;\n activeDispatches.set(target, active);\n }\n active.add(dispatchKey);\n try {\n handler.call(target, event);\n } finally {\n active.delete(dispatchKey);\n }\n};\nvar setSlot = (target, eventType, phase, entry, handler) => {\n entry[phase] = handler;\n const key = `${eventType}:${phase}`;\n const capture = phase === \"capture\";\n let byKey = slotListeners.get(target);\n const installed = byKey?.get(key);\n if (handler && !installed) {\n if (!byKey) {\n byKey = new Map;\n slotListeners.set(target, byKey);\n }\n const trampoline = (event) => runSlot(target, eventType, phase, event);\n byKey.set(key, trampoline);\n target.addEventListener(eventType, trampoline, capture);\n } else if (!handler && installed) {\n byKey.delete(key);\n target.removeEventListener(eventType, installed, capture);\n }\n};\nvar clearPhase = (target, eventType, entry, phase) => {\n setSlot(target, eventType, phase, entry, undefined);\n const setKey = phase === \"capture\" ? \"captureSet\" : \"bubbleSet\";\n for (const handler of entry[setKey] ?? [])\n target.removeEventListener(eventType, handler, phase === \"capture\");\n entry[setKey] = undefined;\n};\nvar registerDelegatedEvent = (element, eventType, handler, options = {}) => {\n const capture = options.capture || CAPTURE_ONLY_EVENTS.has(eventType);\n const phase = capture ? \"capture\" : \"bubble\";\n const byEvent = getOrCreateElementHandlers(element);\n const entry = byEvent.get(eventType) ?? {};\n byEvent.set(eventType, entry);\n if (options.multi) {\n const setKey = capture ? \"captureSet\" : \"bubbleSet\";\n const set = entry[setKey] ??= new Set;\n if (!set.has(handler)) {\n set.add(handler);\n element.addEventListener(eventType, handler, capture);\n }\n } else {\n setSlot(element, eventType, phase, entry, handler);\n }\n};\nvar isEntryEmpty = (entry) => !entry.capture && !entry.bubble && (!entry.captureSet || entry.captureSet.size === 0) && (!entry.bubbleSet || entry.bubbleSet.size === 0);\nvar removeDelegatedEvent = (target, eventType, handler, _options = {}) => {\n const byEvent = elementHandlerMap.get(target);\n if (!byEvent)\n return;\n const entry = byEvent.get(eventType);\n if (!entry)\n return;\n if (handler) {\n for (const phase of [\"capture\", \"bubble\"]) {\n const set = phase === \"capture\" ? entry.captureSet : entry.bubbleSet;\n if (set?.delete(handler))\n target.removeEventListener(eventType, handler, phase === \"capture\");\n if (entry[phase] === handler)\n setSlot(target, eventType, phase, entry, undefined);\n }\n } else {\n clearPhase(target, eventType, entry, \"capture\");\n clearPhase(target, eventType, entry, \"bubble\");\n }\n if (isEntryEmpty(entry)) {\n byEvent.delete(eventType);\n }\n};\nvar clearHooks = new Set;\nvar onClearDelegatedEvents = (hook) => {\n clearHooks.add(hook);\n return () => {\n clearHooks.delete(hook);\n };\n};\nvar clearDelegatedEvents = (target) => {\n const byEvent = elementHandlerMap.get(target);\n if (byEvent) {\n for (const [eventType, entry] of byEvent) {\n clearPhase(target, eventType, entry, \"capture\");\n clearPhase(target, eventType, entry, \"bubble\");\n }\n byEvent.clear();\n }\n for (const hook of clearHooks)\n hook(target);\n};\nvar clearDelegatedEventsDeep = (root) => {\n clearDelegatedEvents(root);\n const doc = root.ownerDocument;\n if (!doc)\n return;\n const walker = doc.createTreeWalker(root, 1);\n let node = walker.nextNode();\n while (node) {\n clearDelegatedEvents(node);\n node = walker.nextNode();\n }\n};\nvar getRegisteredEventTypes = (element) => {\n const byEvent = elementHandlerMap.get(element);\n if (!byEvent)\n return new Set;\n return new Set(byEvent.keys());\n};\nvar getRegisteredEventKeys = (element) => {\n const byEvent = elementHandlerMap.get(element);\n if (!byEvent)\n return new Set;\n const keys = new Set;\n for (const [eventType, entry] of byEvent) {\n if (entry.bubble || entry.bubbleSet?.size)\n keys.add(`${eventType}:bubble`);\n if (entry.capture || entry.captureSet?.size)\n keys.add(`${eventType}:capture`);\n }\n return keys;\n};\nvar removeDelegatedEventByKey = (element, eventType, phase) => {\n const byEvent = elementHandlerMap.get(element);\n if (!byEvent)\n return;\n const entry = byEvent.get(eventType);\n if (!entry)\n return;\n clearPhase(element, eventType, entry, phase);\n if (isEntryEmpty(entry))\n byEvent.delete(eventType);\n};\n// src/html.ts\nvar FROM_DOM_MARKER = Symbol(\"defuss-morph.from-dom\");\nvar COMMENT_TYPE = \"#comment\";\nvar isCommentVNode = (value) => !!value && typeof value === \"object\" && value.type === COMMENT_TYPE;\nvar HTML_BOOLEAN_ATTRIBUTES = new Set([\n \"allowfullscreen\",\n \"async\",\n \"autofocus\",\n \"autoplay\",\n \"checked\",\n \"controls\",\n \"default\",\n \"defer\",\n \"disabled\",\n \"formnovalidate\",\n \"hidden\",\n \"inert\",\n \"ismap\",\n \"itemscope\",\n \"loop\",\n \"multiple\",\n \"muted\",\n \"nomodule\",\n \"novalidate\",\n \"open\",\n \"playsinline\",\n \"readonly\",\n \"required\",\n \"reversed\",\n \"selected\"\n]);\nvar domAttributeToVNodeValue = (attr) => HTML_BOOLEAN_ATTRIBUTES.has(attr.name.toLowerCase()) ? true : attr.value;\nfunction parseDOM(input, type, Parser) {\n return new Parser().parseFromString(input, type);\n}\nfunction isSVG(input, Parser) {\n const doc = parseDOM(input, \"image/svg+xml\", Parser);\n if (!doc.documentElement)\n return false;\n return doc.documentElement.nodeName.toLowerCase() === \"svg\";\n}\nfunction isHTML(input, Parser) {\n const doc = parseDOM(input, \"text/html\", Parser);\n return doc.documentElement.querySelectorAll(\"*\").length > 2;\n}\nvar isMarkup = (input, Parser) => input.indexOf(\"<\") > -1 && input.indexOf(\">\") > -1 && (isHTML(input, Parser) || isSVG(input, Parser));\nfunction renderMarkup(markup, Parser, doc) {\n const parsed = doc ? doc : parseDOM(markup, getMimeType(markup, Parser), Parser);\n if (parsed.body)\n return Array.from(parsed.body.childNodes);\n return parsed.documentElement ? [parsed.documentElement] : [];\n}\nfunction getMimeType(input, Parser) {\n if (isSVG(input, Parser)) {\n return \"image/svg+xml\";\n }\n return \"text/html\";\n}\nvar templateContent = (element) => element.localName === \"template\" ? element.content : undefined;\nfunction domNodeToVNode(node) {\n if (node.nodeType === 3) {\n return node.nodeValue || \"\";\n }\n if (node.nodeType === 1) {\n const element = node;\n const attributes = {};\n for (let i = 0;i < element.attributes.length; i++) {\n const attr = element.attributes[i];\n attributes[attr.name] = domAttributeToVNodeValue(attr);\n }\n const children = [];\n for (let child = (templateContent(element) ?? element).firstChild;child; child = child.nextSibling) {\n children.push(domNodeToVNode(child));\n }\n attributes[FROM_DOM_MARKER] = true;\n return { type: element.localName, attributes, children };\n }\n if (node.nodeType === 8) {\n return { type: COMMENT_TYPE, value: node.nodeValue ?? \"\" };\n }\n return \"\";\n}\nvar inertDocuments = new WeakMap;\nvar DOCUMENT_START = /^\\s*(?:<!--[\\s\\S]*?-->\\s*)*<(?:!doctype|html|head|body)[\\s>/]/i;\nfunction htmlStringToVNodes(html, Parser) {\n if (DOCUMENT_START.test(html)) {\n return toVNodes(new Parser().parseFromString(html, \"text/html\").body.childNodes);\n }\n let inert = inertDocuments.get(Parser);\n if (!inert) {\n inert = new Parser().parseFromString(\"\", \"text/html\");\n inertDocuments.set(Parser, inert);\n }\n const template = inert.createElement(\"template\");\n template.innerHTML = html;\n return toVNodes(template.content.childNodes);\n}\nfunction toVNodes(nodes) {\n const vNodes = [];\n for (let i = 0;i < nodes.length; i++) {\n const vnode = domNodeToVNode(nodes[i]);\n if (vnode !== \"\")\n vNodes.push(vnode);\n }\n return vNodes;\n}\n\n// src/renderer.ts\nvar CLASS_ATTRIBUTE_NAME = \"class\";\nvar XLINK_ATTRIBUTE_NAME = \"xlink\";\nvar XMLNS_ATTRIBUTE_NAME = \"xmlns\";\nvar REF_ATTRIBUTE_NAME = \"ref\";\nvar DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE = \"dangerouslySetInnerHTML\";\nvar nsMap = {\n [XMLNS_ATTRIBUTE_NAME]: \"http://www.w3.org/2000/xmlns/\",\n [XLINK_ATTRIBUTE_NAME]: \"http://www.w3.org/1999/xlink\",\n svg: \"http://www.w3.org/2000/svg\"\n};\nvar observeUnmount = (domNode, onUnmount) => {\n if (!domNode || typeof onUnmount !== \"function\") {\n throw new Error(\"Invalid arguments. Ensure domNode and onUnmount are valid.\");\n }\n if (typeof MutationObserver === \"undefined\") {\n return;\n }\n let parentNode = domNode.parentNode;\n if (!parentNode) {\n throw new Error(\"The provided domNode does not have a parentNode.\");\n }\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.removedNodes.length > 0) {\n for (const removedNode of mutation.removedNodes) {\n if (removedNode === domNode) {\n queueMicrotask(() => {\n if (!domNode.isConnected) {\n onUnmount();\n observer.disconnect();\n return;\n }\n const newParent = domNode.parentNode;\n if (newParent && newParent !== parentNode) {\n parentNode = newParent;\n observer.disconnect();\n observer.observe(parentNode, { childList: true });\n }\n });\n return;\n }\n }\n }\n }\n });\n observer.observe(parentNode, { childList: true });\n};\nvar unmountObserved = new WeakSet;\nvar handleLifecycleEventsForOnMount = (newEl) => {\n if (typeof newEl?.$onMount === \"function\") {\n newEl.$onMount(newEl);\n newEl.$onMount = null;\n }\n if (typeof newEl?.$onUnmount === \"function\" && !unmountObserved.has(newEl)) {\n unmountObserved.add(newEl);\n observeUnmount(newEl, () => {\n unmountObserved.delete(newEl);\n newEl.$onUnmount?.(newEl);\n });\n }\n};\nvar getRenderer = (document2) => {\n const renderer = {\n hasElNamespace: (domElement) => domElement.namespaceURI === nsMap.svg,\n hasSvgNamespace: (parentElement, type) => renderer.hasElNamespace(parentElement) && type !== \"STYLE\" && type !== \"SCRIPT\",\n createElementOrElements: (virtualNode, parentDomElement) => {\n if (Array.isArray(virtualNode)) {\n return renderer.createChildElements(virtualNode, parentDomElement);\n }\n if (typeof virtualNode === \"string\" || typeof virtualNode === \"number\") {\n return renderer.createTextNode(String(virtualNode), parentDomElement);\n }\n if (typeof virtualNode !== \"undefined\") {\n return renderer.createElement(virtualNode, parentDomElement);\n }\n return renderer.createTextNode(\"\", parentDomElement);\n },\n createElement: (virtualNode, parentDomElement) => {\n let newEl;\n if (isCommentVNode(virtualNode)) {\n const comment = document2.createComment(virtualNode.value ?? \"\");\n parentDomElement?.appendChild(comment);\n return comment;\n }\n if (typeof virtualNode === \"function\" && virtualNode.constructor.name === \"AsyncFunction\") {\n newEl = document2.createElement(\"div\");\n } else if (typeof virtualNode === \"object\" && virtualNode !== null && \"type\" in virtualNode) {\n const vNode = virtualNode;\n if (typeof vNode.type === \"function\") {\n newEl = document2.createElement(\"div\");\n newEl.innerText = `FATAL ERROR: ${vNode.type._error}`;\n } else if (typeof vNode.type === \"string\" && vNode.type.toUpperCase() === \"SVG\" || parentDomElement && renderer.hasSvgNamespace(parentDomElement, typeof vNode.type === \"string\" ? vNode.type.toUpperCase() : \"\")) {\n newEl = document2.createElementNS(nsMap.svg, vNode.type);\n } else {\n newEl = document2.createElement(vNode.type);\n }\n if (vNode.attributes) {\n renderer.setAttributes(vNode, newEl);\n if (vNode.attributes.dangerouslySetInnerHTML) {\n newEl.innerHTML = vNode.attributes.dangerouslySetInnerHTML.__html;\n }\n }\n if (vNode.children && !vNode.attributes?.dangerouslySetInnerHTML) {\n renderer.createChildElements(vNode.children, templateContent(newEl) ?? newEl);\n }\n }\n if (newEl && parentDomElement) {\n parentDomElement.appendChild(newEl);\n handleLifecycleEventsForOnMount(newEl);\n }\n return newEl;\n },\n createTextNode: (text, domElement) => {\n const node = document2.createTextNode(text.toString());\n if (domElement) {\n domElement.appendChild(node);\n }\n return node;\n },\n createChildElements: (virtualChildren, domElement) => {\n const children = [];\n for (let i = 0;i < virtualChildren.length; i++) {\n const virtualChild = virtualChildren[i];\n if (typeof virtualChild === \"boolean\") {\n continue;\n }\n if (virtualChild === null || typeof virtualChild !== \"object\" && typeof virtualChild !== \"function\") {\n children.push(renderer.createTextNode((typeof virtualChild === \"undefined\" || virtualChild === null ? \"\" : virtualChild).toString(), domElement));\n } else {\n children.push(renderer.createElement(virtualChild, domElement));\n }\n }\n return children;\n },\n setAttribute: (name, value, domElement) => {\n if (typeof value === \"undefined\")\n return;\n if (name === DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE)\n return;\n if (name === \"key\") {\n domElement._defussKey = String(value);\n return;\n }\n if (name === REF_ATTRIBUTE_NAME && typeof value !== \"function\") {\n value.current = domElement;\n domElement._defussRef = value;\n return;\n }\n const parsed = parseEventPropName(name);\n if (parsed && typeof value === \"function\") {\n const { eventType, capture } = parsed;\n if (eventType === \"mount\") {\n domElement.$onMount = queueCallback(value);\n return;\n }\n if (eventType === \"unmount\") {\n domElement.$onUnmount = queueCallback(value);\n return;\n }\n registerDelegatedEvent(domElement, eventType, value, { capture });\n return;\n }\n if (name === \"className\") {\n name = CLASS_ATTRIBUTE_NAME;\n }\n if (name === CLASS_ATTRIBUTE_NAME && Array.isArray(value)) {\n value = value.filter((val) => !!val).join(\" \");\n }\n const nsEndIndex = name.match(/[A-Z]/)?.index;\n if (renderer.hasElNamespace(domElement) && nsEndIndex) {\n const ns = name.substring(0, nsEndIndex).toLowerCase();\n const attrName = name.substring(nsEndIndex, name.length).toLowerCase();\n const namespace = nsMap[ns] || null;\n domElement.setAttributeNS(namespace, ns === XLINK_ATTRIBUTE_NAME || ns === XMLNS_ATTRIBUTE_NAME ? `${ns}:${attrName}` : name, String(value));\n } else if (name === \"style\" && typeof value !== \"string\") {\n const styleObj = value;\n for (const prop of Object.keys(styleObj)) {\n domElement.style[prop] = String(styleObj[prop]);\n }\n } else if (typeof value === \"boolean\") {\n domElement[name] = value;\n if (value) {\n domElement.setAttribute(name, \"\");\n } else {\n domElement.removeAttribute(name);\n }\n } else if ((name === \"value\" || name === \"checked\" || name === \"selectedIndex\") && (domElement.nodeName === \"INPUT\" || domElement.nodeName === \"TEXTAREA\" || domElement.nodeName === \"SELECT\")) {\n domElement[name] = value;\n if (name === \"checked\") {\n if (value) {\n domElement.setAttribute(\"checked\", \"\");\n } else {\n domElement.removeAttribute(\"checked\");\n }\n } else if (name === \"value\") {\n domElement.setAttribute(\"value\", String(value));\n }\n } else {\n domElement.setAttribute(name, String(value));\n }\n },\n setAttributes: (virtualNode, domElement) => {\n const attrNames = Object.keys(virtualNode.attributes ?? {});\n for (let i = 0;i < attrNames.length; i++) {\n renderer.setAttribute(attrNames[i], virtualNode.attributes[attrNames[i]], domElement);\n }\n }\n };\n return renderer;\n};\n// src/lis.ts\nvar longestIncreasingRun = (values) => {\n const n = values.length;\n const marked = new Uint8Array(n);\n const tails = new Int32Array(n);\n const previous = new Int32Array(n);\n let length = 0;\n for (let i = 0;i < n; i++) {\n const value = values[i];\n if (value < 0)\n continue;\n let low = 0;\n let high = length;\n while (low < high) {\n const mid = low + high >> 1;\n if (values[tails[mid]] < value)\n low = mid + 1;\n else\n high = mid;\n }\n previous[i] = low > 0 ? tails[low - 1] : -1;\n tails[low] = i;\n if (low === length)\n length++;\n }\n for (let i = length > 0 ? tails[length - 1] : -1;i >= 0; i = previous[i])\n marked[i] = 1;\n return marked;\n};\n\n// src/morph.ts\nvar areDomNodesEqual = (oldNode, newNode) => {\n if (oldNode === newNode)\n return true;\n if (oldNode.nodeType !== newNode.nodeType)\n return false;\n if (oldNode.nodeType === 1) {\n const oldElement = oldNode;\n const newElement = newNode;\n if (oldElement.tagName !== newElement.tagName)\n return false;\n const oldAttrs = oldElement.attributes;\n const newAttrs = newElement.attributes;\n if (oldAttrs.length !== newAttrs.length)\n return false;\n for (let i = 0;i < oldAttrs.length; i++) {\n const oldAttr = oldAttrs[i];\n const newAttrValue = newElement.getAttribute(oldAttr.name);\n if (oldAttr.value !== newAttrValue)\n return false;\n }\n }\n if (oldNode.nodeType === 3 || oldNode.nodeType === 8) {\n if (oldNode.nodeValue !== newNode.nodeValue)\n return false;\n }\n return true;\n};\nfunction isTextLike(value) {\n return typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\";\n}\nfunction isVNode(value) {\n return Boolean(value && typeof value === \"object\" && \"type\" in value);\n}\nfunction toValidChild(child, lenient = false) {\n if (child == null)\n return child;\n if (isTextLike(child))\n return child;\n if (isVNode(child))\n return child;\n if (lenient && child && typeof child === \"object\" && \"attributes\" in child)\n return child;\n return;\n}\nfunction normalizeChildren(input, lenient = false) {\n const raw = [];\n const pushChild = (child) => {\n if (Array.isArray(child)) {\n child.forEach(pushChild);\n return;\n }\n const valid = toValidChild(child, lenient);\n if (typeof valid === \"undefined\")\n return;\n if (isVNode(valid) && (valid.type === \"fragment\" || valid.type === \"Fragment\")) {\n const nested = Array.isArray(valid.children) ? valid.children : [];\n nested.forEach(pushChild);\n return;\n }\n if (valid === null || typeof valid === \"undefined\" || typeof valid === \"boolean\")\n return;\n raw.push(valid);\n };\n pushChild(input);\n const fused = [];\n let buffer = null;\n const flush = () => {\n if (buffer !== null && buffer.length > 0)\n fused.push(buffer);\n buffer = null;\n };\n for (const child of raw) {\n if (typeof child === \"string\" || typeof child === \"number\" || typeof child === \"boolean\") {\n buffer = (buffer ?? \"\") + String(child);\n continue;\n }\n flush();\n fused.push(child);\n }\n flush();\n return fused;\n}\nfunction getVNodeMatchKey(child) {\n if (!child || typeof child !== \"object\")\n return null;\n const key = child.attributes?.key;\n if (typeof key === \"string\" || typeof key === \"number\")\n return `k:${String(key)}`;\n const id = child.attributes?.id;\n if (typeof id === \"string\" && id.length > 0)\n return `id:${id}`;\n return null;\n}\nfunction describePatchItem(child) {\n if (child && typeof child === \"object\") {\n return `<${typeof child.type === \"string\" ? child.type : \"component\"}>`;\n }\n return \"plain text\";\n}\nfunction getDomMatchKeys(node) {\n if (node.nodeType !== 1)\n return [];\n const el = node;\n const keys = [];\n const internalKey = el._defussKey;\n if (internalKey)\n keys.push(`k:${internalKey}`);\n const attrKey = el.getAttribute(\"key\");\n if (attrKey)\n keys.push(`k:${attrKey}`);\n const id = el.id;\n if (id)\n keys.push(`id:${id}`);\n return keys;\n}\nfunction areNodeAndChildMatching(domNode, child) {\n if (typeof child === \"string\" || typeof child === \"number\" || typeof child === \"boolean\") {\n return domNode.nodeType === 3;\n }\n if (isCommentVNode(child))\n return domNode.nodeType === 8;\n if (child && typeof child === \"object\") {\n if (domNode.nodeType !== 1)\n return false;\n const el = domNode;\n const oldTag = el.tagName.toLowerCase();\n const newTag = typeof child.type === \"string\" ? child.type.toLowerCase() : \"\";\n if (!newTag || oldTag !== newTag)\n return false;\n return true;\n }\n return false;\n}\nfunction createDomFromChild(child, globals) {\n const renderer = getRenderer(globals.window.document);\n if (child == null)\n return;\n if (typeof child === \"string\" || typeof child === \"number\" || typeof child === \"boolean\") {\n return [globals.window.document.createTextNode(String(child))];\n }\n const created = renderer.createElementOrElements(child);\n if (!created)\n return;\n const nodes = Array.isArray(created) ? created : [created];\n return nodes.filter(Boolean);\n}\nfunction shouldPreserveFormStateAttribute(el, attrName, vnode) {\n const tag = el.tagName.toLowerCase();\n const hasExplicit = Object.hasOwn(vnode.attributes ?? {}, attrName);\n if (hasExplicit)\n return false;\n if (tag === \"input\")\n return attrName === \"value\" || attrName === \"checked\";\n if (tag === \"textarea\")\n return attrName === \"value\";\n if (tag === \"select\")\n return attrName === \"value\";\n return false;\n}\nfunction patchElementInPlace(el, vnode, globals, mergeAttributes = false) {\n const renderer = getRenderer(globals.window.document);\n const existingAttrs = mergeAttributes ? [] : Array.from(el.attributes);\n const nextAttrs = vnode.attributes ?? {};\n for (const attr of existingAttrs) {\n const { name } = attr;\n if (name === \"key\")\n continue;\n if (name.startsWith(\"on\"))\n continue;\n if (name === \"class\" && (Object.hasOwn(nextAttrs, \"class\") || Object.hasOwn(nextAttrs, \"className\"))) {\n continue;\n }\n if (!Object.hasOwn(nextAttrs, name)) {\n if (shouldPreserveFormStateAttribute(el, name, vnode))\n continue;\n el.removeAttribute(name);\n }\n }\n const preserveDelegatedHandlers = mergeAttributes || Boolean(nextAttrs[FROM_DOM_MARKER]);\n if (!preserveDelegatedHandlers) {\n const registeredKeys = getRegisteredEventKeys(el);\n const nextEventKeys = new Set;\n for (const propName of Object.keys(nextAttrs)) {\n const parsed = parseEventPropName(propName);\n if (parsed) {\n const phase = parsed.capture ? \"capture\" : \"bubble\";\n nextEventKeys.add(`${parsed.eventType}:${phase}`);\n }\n }\n for (const key of registeredKeys) {\n if (!nextEventKeys.has(key)) {\n const [eventType, phase] = key.split(\":\");\n removeDelegatedEventByKey(el, eventType, phase);\n }\n }\n }\n renderer.setAttributes(vnode, el);\n handleLifecycleEventsForOnMount(el);\n const d = vnode.attributes?.dangerouslySetInnerHTML;\n if (d && typeof d === \"object\" && typeof d.__html === \"string\") {\n el.innerHTML = d.__html;\n return;\n }\n const tag = el.tagName.toLowerCase();\n if (tag === \"textarea\") {\n const isControlled = Object.hasOwn(nextAttrs, \"value\");\n const isActive = el.ownerDocument?.activeElement === el;\n if (isActive && !isControlled)\n return;\n }\n if (mergeAttributes && (vnode.children === undefined || vnode.children.length === 0 && nextAttrs[FROM_DOM_MARKER]))\n return;\n morphDomDirect(el, vnode.children ?? [], globals);\n}\nfunction replaceNode(old, next) {\n if (old.nodeType === 1)\n clearDelegatedEventsDeep(old);\n old.parentNode?.replaceChild(next, old);\n}\nfunction morphNode(domNode, child, globals, mergeAttributes = false) {\n if (typeof child === \"string\" || typeof child === \"number\" || typeof child === \"boolean\") {\n const text = String(child);\n if (domNode.nodeType === 3) {\n if (domNode.nodeValue !== text)\n domNode.nodeValue = text;\n return domNode;\n }\n const next = globals.window.document.createTextNode(text);\n replaceNode(domNode, next);\n return next;\n }\n if (isCommentVNode(child)) {\n const data = child.value ?? \"\";\n if (domNode.nodeType === 8) {\n if (domNode.nodeValue !== data)\n domNode.nodeValue = data;\n return domNode;\n }\n const next = globals.window.document.createComment(data);\n replaceNode(domNode, next);\n return next;\n }\n if (child && typeof child === \"object\") {\n const newType = typeof child.type === \"string\" ? child.type : null;\n if (!newType)\n return domNode;\n if (domNode.nodeType !== 1) {\n const created = createDomFromChild(child, globals);\n const first = Array.isArray(created) ? created[0] : created;\n if (!first)\n return null;\n domNode.parentNode?.replaceChild(first, domNode);\n handleLifecycleEventsForOnMount(first);\n return first;\n }\n const el = domNode;\n const oldTag = el.tagName.toLowerCase();\n const newTag = newType.toLowerCase();\n if (oldTag !== newTag) {\n const created = createDomFromChild(child, globals);\n const first = Array.isArray(created) ? created[0] : created;\n if (!first)\n return null;\n replaceNode(el, first);\n handleLifecycleEventsForOnMount(first);\n return first;\n }\n patchElementInPlace(el, child, globals, mergeAttributes);\n return el;\n }\n if (domNode.nodeType === 1)\n clearDelegatedEventsDeep(domNode);\n domNode.parentNode?.removeChild(domNode);\n return null;\n}\nvar renderingNodes = new WeakSet;\nvar pendingMorphs = new Map;\nvar resolveGlobals = (el, globals) => {\n if (globals)\n return globals;\n const win = el?.ownerDocument?.defaultView ?? globalThis;\n return { window: win };\n};\nfunction isAncestorRendering(el) {\n let current = el.parentElement;\n while (current) {\n if (renderingNodes.has(current))\n return true;\n current = current.parentElement;\n }\n return false;\n}\nfunction flushPendingMorphs() {\n if (pendingMorphs.size === 0)\n return;\n const snapshot = [...pendingMorphs.entries()];\n pendingMorphs.clear();\n for (const [el, { vdom, globals, mode }] of snapshot) {\n if (!el.isConnected)\n continue;\n updateDomWithVdom(el, vdom, globals, mode);\n }\n}\nfunction updateDomWithVdom(parentElement, newVDOM, globals, mode = \"replace\") {\n const resolvedGlobals = resolveGlobals(parentElement, globals);\n if (renderingNodes.has(parentElement) || isAncestorRendering(parentElement)) {\n pendingMorphs.set(parentElement, {\n vdom: newVDOM,\n globals: resolvedGlobals,\n mode\n });\n return;\n }\n renderingNodes.add(parentElement);\n try {\n morphDomDirect(parentElement, newVDOM, resolvedGlobals, mode);\n } finally {\n renderingNodes.delete(parentElement);\n }\n flushPendingMorphs();\n}\nfunction morphDiff(targetRoot, patchItems, globals) {\n const keyedPool = new Map;\n for (const node of Array.from(targetRoot.childNodes)) {\n for (const k of getDomMatchKeys(node)) {\n if (!keyedPool.has(k))\n keyedPool.set(k, node);\n }\n }\n for (const item of patchItems) {\n if (typeof item === \"string\" && item.trim() === \"\")\n continue;\n if (isCommentVNode(item))\n continue;\n const key = getVNodeMatchKey(item);\n if (!key) {\n throw new Error(`morph diff: patch items must be elements with a key or id attribute (got ${describePatchItem(item)})`);\n }\n const match = keyedPool.get(key);\n if (match) {\n const patchItem = item && typeof item === \"object\" && !item.type ? { ...item, type: match.tagName.toLowerCase() } : item;\n morphNode(match, patchItem, globals, true);\n continue;\n }\n if (!item?.type) {\n throw new Error(`morph diff: new (unmatched) patch items must declare a tag (type), got key/id \"${key}\"`);\n }\n const created = createDomFromChild(item, globals) ?? [];\n for (const node of created) {\n targetRoot.appendChild(node);\n handleLifecycleEventsForOnMount(node);\n }\n }\n}\nfunction moveNode(parent, node, anchor) {\n if (typeof parent.moveBefore === \"function\") {\n try {\n parent.moveBefore(node, anchor);\n return;\n } catch {}\n }\n const doc = node.ownerDocument;\n const active = doc?.activeElement;\n const holdsFocus = !!active && active !== doc.body && node.contains(active);\n let selection;\n if (holdsFocus) {\n try {\n if (active.selectionStart !== null && active.selectionStart !== undefined) {\n selection = [active.selectionStart, active.selectionEnd ?? active.selectionStart, active.selectionDirection ?? \"none\"];\n }\n } catch {\n selection = undefined;\n }\n }\n parent.insertBefore(node, anchor);\n if (holdsFocus && active.isConnected && doc.activeElement !== active) {\n active.focus({ preventScroll: true });\n if (selection)\n active.setSelectionRange(...selection);\n }\n}\nfunction patchByPosition(targetRoot, nextChildren, globals) {\n const live = targetRoot.childNodes;\n if (live.length !== nextChildren.length)\n return false;\n for (let c = 0;c < nextChildren.length; c++) {\n const node = live[c];\n const child = nextChildren[c];\n if (getVNodeMatchKey(child) !== null || !areNodeAndChildMatching(node, child))\n return false;\n if (node.nodeType === 1 && getDomMatchKeys(node).length > 0)\n return false;\n }\n for (let c = 0;c < nextChildren.length; c++)\n morphNode(live[c], nextChildren[c], globals);\n return true;\n}\nfunction morphDomDirect(parentElement, newVDOM, globals, mode = \"replace\") {\n const el = parentElement;\n const isCustomElement = el.tagName.includes(\"-\");\n const targetRoot = templateContent(parentElement) ?? (el.shadowRoot && !isCustomElement ? el.shadowRoot : parentElement);\n const nextChildren = normalizeChildren(newVDOM, mode === \"diff\");\n if (mode === \"diff\") {\n morphDiff(targetRoot, nextChildren, globals);\n return;\n }\n if (patchByPosition(targetRoot, nextChildren, globals))\n return;\n const existing = Array.from(targetRoot.childNodes);\n const keyedPool = new Map;\n const nodeKeys = [];\n const unkeyedPool = [];\n for (let i = 0;i < existing.length; i++) {\n const keys = getDomMatchKeys(existing[i]);\n if (keys.length > 0) {\n nodeKeys[i] = keys;\n let addedToKeyedPool = false;\n for (const k of keys) {\n if (!keyedPool.has(k)) {\n keyedPool.set(k, i);\n addedToKeyedPool = true;\n }\n }\n if (!addedToKeyedPool) {\n unkeyedPool.push(i);\n }\n } else {\n unkeyedPool.push(i);\n }\n }\n const consumeKeyedNode = (i) => {\n for (const k of nodeKeys[i] ?? []) {\n if (keyedPool.get(k) === i)\n keyedPool.delete(k);\n }\n };\n const takeUnkeyedMatch = (child) => {\n for (let j = 0;j < unkeyedPool.length; j++) {\n const i = unkeyedPool[j];\n if (areNodeAndChildMatching(existing[i], child)) {\n unkeyedPool.splice(j, 1);\n return i;\n }\n }\n return -1;\n };\n const count = nextChildren.length;\n const matched = new Int32Array(count);\n let inOrder = true;\n let previous = -1;\n for (let c = 0;c < count; c++) {\n const child = nextChildren[c];\n const key = getVNodeMatchKey(child);\n let i = -1;\n if (key) {\n const hit = keyedPool.get(key);\n if (hit !== undefined) {\n i = hit;\n consumeKeyedNode(hit);\n }\n } else {\n i = takeUnkeyedMatch(child);\n }\n matched[c] = i;\n if (i >= 0) {\n if (i < previous)\n inOrder = false;\n previous = i;\n }\n }\n const stays = inOrder ? null : longestIncreasingRun(matched);\n const staying = (c) => matched[c] >= 0 && (stays === null || stays[c] === 1);\n let anchorAt = 0;\n while (anchorAt < count && !staying(anchorAt))\n anchorAt++;\n for (let c = 0;c < count; c++) {\n if (anchorAt <= c) {\n anchorAt = c + 1;\n while (anchorAt < count && !staying(anchorAt))\n anchorAt++;\n }\n const anchor = anchorAt < count ? existing[matched[anchorAt]] : null;\n const child = nextChildren[c];\n if (matched[c] >= 0) {\n const match = existing[matched[c]];\n if (!staying(c))\n moveNode(targetRoot, match, anchor);\n morphNode(match, child, globals);\n continue;\n }\n const created = createDomFromChild(child, globals);\n if (!created || Array.isArray(created) && created.length === 0)\n continue;\n const nodes = Array.isArray(created) ? created : [created];\n for (const node of nodes) {\n targetRoot.insertBefore(node, anchor);\n handleLifecycleEventsForOnMount(node);\n }\n }\n const remaining = new Set;\n for (const i of unkeyedPool)\n remaining.add(existing[i]);\n for (const i of keyedPool.values())\n remaining.add(existing[i]);\n for (const node of remaining) {\n if (node.parentNode === targetRoot) {\n if (node.nodeType === 1) {\n clearDelegatedEventsDeep(node);\n }\n targetRoot.removeChild(node);\n }\n }\n}\nfunction replaceDomWithVdom(parentElement, newVDOM, globals) {\n const resolvedGlobals = resolveGlobals(parentElement, globals);\n while (parentElement.firstChild) {\n const child = parentElement.firstChild;\n if (child.nodeType === 1)\n clearDelegatedEventsDeep(child);\n parentElement.removeChild(child);\n }\n const renderer = getRenderer(resolvedGlobals.window.document);\n const newDom = renderer.createElementOrElements(newVDOM);\n if (Array.isArray(newDom)) {\n for (const node of newDom) {\n if (node) {\n parentElement.appendChild(node);\n handleLifecycleEventsForOnMount(node);\n }\n }\n } else if (newDom) {\n parentElement.appendChild(newDom);\n handleLifecycleEventsForOnMount(newDom);\n }\n}\n// src/transitions.ts\nvar injectShakeKeyframes = (doc) => {\n if (!doc)\n return;\n if (!doc.getElementById(\"defuss-shake\")) {\n const style = doc.createElement(\"style\");\n style.id = \"defuss-shake\";\n style.textContent = \"@keyframes shake{0%,100%{transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{transform:translate3d(-10px,0,0)}20%,40%,60%,80%{transform:translate3d(10px,0,0)}}\";\n doc.head.appendChild(style);\n }\n};\nvar getTransitionStyles = (type, duration, easing = \"ease-in-out\") => {\n const t = `transform ${duration}ms ${easing}, opacity ${duration}ms ${easing}`;\n const styles = {\n fade: {\n enter: { opacity: \"0\", transition: t, transform: \"translate3d(0,0,0)\" },\n enterActive: { opacity: \"1\" },\n exit: { opacity: \"1\", transition: t, transform: \"translate3d(0,0,0)\" },\n exitActive: { opacity: \"0\" }\n },\n \"slide-left\": {\n enter: {\n transform: \"translate3d(100%,0,0)\",\n opacity: \"0.5\",\n transition: t\n },\n enterActive: { transform: \"translate3d(0,0,0)\", opacity: \"1\" },\n exit: { transform: \"translate3d(0,0,0)\", opacity: \"1\", transition: t },\n exitActive: { transform: \"translate3d(-100%,0,0)\", opacity: \"0.5\" }\n },\n \"slide-right\": {\n enter: {\n transform: \"translate3d(-100%,0,0)\",\n opacity: \"0.5\",\n transition: t\n },\n enterActive: { transform: \"translate3d(0,0,0)\", opacity: \"1\" },\n exit: { transform: \"translate3d(0,0,0)\", opacity: \"1\", transition: t },\n exitActive: { transform: \"translate3d(100%,0,0)\", opacity: \"0.5\" }\n },\n shake: (() => {\n injectShakeKeyframes(typeof document !== \"undefined\" ? document : undefined);\n return {\n enter: {\n transform: \"translate3d(0,0,0)\",\n opacity: \"1\",\n transition: \"none\"\n },\n enterActive: {\n transform: \"translate3d(0,0,0)\",\n opacity: \"1\",\n animation: `shake ${duration}ms cubic-bezier(0.36,0.07,0.19,0.97)`\n },\n exit: {\n transform: \"translate3d(0,0,0)\",\n opacity: \"1\",\n transition: \"none\"\n },\n exitActive: {\n transform: \"translate3d(0,0,0)\",\n opacity: \"1\",\n animation: `shake ${duration}ms cubic-bezier(0.36,0.07,0.19,0.97)`\n }\n };\n })()\n };\n return styles[type] || { enter: {}, enterActive: {}, exit: {}, exitActive: {} };\n};\nvar applyStyles = (el, styles) => Object.entries(styles).forEach(([k, v]) => el.style.setProperty(k, String(v)));\nvar DEFAULT_TRANSITION_CONFIG = {\n type: \"fade\",\n duration: 300,\n easing: \"ease-in-out\",\n delay: 0,\n target: \"parent\"\n};\nvar wait = (ms) => new Promise((r) => setTimeout(r, ms));\nvar performCrossfade = async (element, updateCallback, duration, easing) => {\n const originalStyle = element.style.cssText;\n const snapshot = element.cloneNode(true);\n const doc = element.ownerDocument;\n try {\n const rect = element.getBoundingClientRect();\n const top = rect.top + (doc.defaultView?.scrollY ?? 0);\n const left = rect.left + (doc.defaultView?.scrollX ?? 0);\n snapshot.style.cssText = `position:absolute;top:${top}px;left:${left}px;width:${rect.width}px;height:${rect.height}px;opacity:1;transition:opacity ${duration}ms ${easing};z-index:1000;`;\n element.style.opacity = \"0\";\n element.style.transition = `opacity ${duration}ms ${easing}`;\n doc.body.appendChild(snapshot);\n await updateCallback();\n element.offsetHeight;\n snapshot.style.opacity = \"0\";\n element.style.opacity = \"1\";\n await wait(duration);\n doc.body.removeChild(snapshot);\n } catch (error) {\n if (snapshot.parentElement)\n doc.body.removeChild(snapshot);\n throw error;\n } finally {\n element.style.cssText = originalStyle;\n }\n};\nvar performTransition = async (element, updateCallback, config = {}) => {\n const {\n type = \"fade\",\n duration = 300,\n easing = \"ease-in-out\",\n delay = 0\n } = { ...DEFAULT_TRANSITION_CONFIG, ...config };\n if (type === \"none\") {\n await updateCallback();\n return;\n }\n if (delay > 0)\n await wait(delay);\n if (type === \"fade\") {\n await performCrossfade(element, updateCallback, duration, easing);\n return;\n }\n const styles = config.styles || getTransitionStyles(type, duration, easing);\n const originalTransition = element.style.transition;\n const originalAnimation = element.style.animation;\n try {\n if (type === \"shake\") {\n element.style.animation = \"none\";\n element.offsetHeight;\n }\n applyStyles(element, styles.exit);\n element.offsetHeight;\n applyStyles(element, styles.exitActive);\n await wait(duration);\n await updateCallback();\n applyStyles(element, styles.enter);\n element.offsetHeight;\n applyStyles(element, styles.enterActive);\n await wait(duration);\n element.style.transition = originalTransition;\n element.style.animation = originalAnimation;\n } catch (error) {\n element.style.transition = originalTransition;\n element.style.animation = originalAnimation;\n throw error;\n }\n};\n// src/api.ts\nvar inflightTransitions = new WeakMap;\nvar morph = (el, newContent, options = {}) => {\n const globals = resolveGlobals(el);\n const win = globals.window;\n const mode = options.diff ? \"diff\" : \"replace\";\n const apply = (content) => updateDomWithVdom(el, typeof content === \"string\" ? htmlStringToVNodes(content, win.DOMParser) : content, globals, mode);\n const transition = options.transition;\n if (transition && transition.type !== \"none\") {\n const config = { ...DEFAULT_TRANSITION_CONFIG, ...transition };\n const transitionTarget = config.target === \"self\" ? el : el.parentElement;\n if (!transitionTarget) {\n apply(newContent);\n return Promise.resolve();\n }\n const slot = { content: newContent };\n inflightTransitions.set(el, slot);\n return performTransition(transitionTarget, async () => {\n if (inflightTransitions.get(el) === slot)\n apply(slot.content);\n }, config).finally(() => {\n if (inflightTransitions.get(el) === slot)\n inflightTransitions.delete(el);\n });\n }\n const slot = inflightTransitions.get(el);\n if (slot)\n slot.content = newContent;\n apply(newContent);\n};\n// src/jsx.ts\nvar toChildren = (children) => children === undefined ? [] : Array.isArray(children) ? children.flat(Infinity) : [children];\nvar isVNode2 = (value) => typeof value === \"object\" && value !== null && !Array.isArray(value) && (\"type\" in value);\nvar Fragment = (props) => toChildren(props?.children);\nfunction jsx(type, props, key) {\n const { children, ...attributes } = props ?? {};\n const resolvedKey = key ?? attributes.key;\n if (resolvedKey !== undefined)\n attributes.key = resolvedKey;\n if (typeof type === \"function\") {\n const result = type(children === undefined ? attributes : { ...attributes, children });\n return resolvedKey !== undefined && isVNode2(result) && result.attributes?.key === undefined ? { ...result, attributes: { ...result.attributes, key: resolvedKey } } : result;\n }\n return { type, attributes, children: toChildren(children) };\n}\nvar jsxs = jsx;\nvar jsxDEV = (type, props, key) => jsx(type, props, key);\nfunction h(type, props, ...children) {\n return jsx(type, children.length === 0 ? props : { ...props, children: children.length === 1 ? children[0] : children });\n}\n// src/ref.ts\nvar createRef = (state) => ({\n current: null,\n state\n});\nvar isRef = (value) => typeof value === \"object\" && value !== null && (\"current\" in value);\n// src/reactive.ts\nvar isElement = (value) => typeof value === \"object\" && value !== null && value.nodeType === 1;\nvar toStores = (store, caller) => {\n const stores = Array.isArray(store) ? store : [store];\n stores.forEach((candidate, index) => {\n if (typeof candidate?.subscribe !== \"function\") {\n throw new TypeError(`${caller}: store${Array.isArray(store) ? ` ${index}` : \"\"} has no subscribe() method`);\n }\n });\n return stores;\n};\nvar listen = (stores, update) => {\n const unsubscribes = stores.map((store) => {\n const result = store.subscribe(() => update());\n if (typeof result === \"function\")\n return result;\n return () => result?.unsubscribe?.();\n });\n return () => {\n for (const unsubscribe of unsubscribes)\n unsubscribe();\n };\n};\nvar resolveTarget = (target) => {\n if (isElement(target))\n return () => [target];\n if (isRef(target)) {\n if (!isElement(target.current)) {\n throw new TypeError(\"reactive: the ref has no element yet; call reactive() after the element is rendered (in onMount or later)\");\n }\n return () => isElement(target.current) ? [target.current] : [];\n }\n if (target && typeof target.length === \"number\") {\n const elements = Array.from(target).filter(isElement);\n return () => elements;\n }\n throw new TypeError(\"reactive: the target must be an element, a ref or a list of elements\");\n};\nfunction reactive(config, target) {\n const stores = toStores(config?.store, \"reactive\");\n if (typeof config.render !== \"function\")\n throw new TypeError(\"reactive: config.render must be a function\");\n const elements = resolveTarget(target);\n if (config.signal?.aborted || elements().length === 0)\n return () => {};\n const update = () => {\n for (const el of elements())\n morph(el, config.render());\n };\n update();\n const unsubscribe = listen(stores, update);\n let disposed = false;\n const dispose = () => {\n if (disposed)\n return;\n disposed = true;\n unsubscribe();\n config.signal?.removeEventListener(\"abort\", dispose);\n config.cleanup?.();\n };\n config.signal?.addEventListener(\"abort\", dispose, { once: true });\n return dispose;\n}\nvar mounted = new WeakMap;\nvar toChildren2 = (content) => {\n if (typeof content === \"string\") {\n if (!/[<&]/.test(content))\n return content === \"\" ? [] : [content];\n const Parser = globalThis.DOMParser;\n if (!Parser) {\n throw new TypeError(\"Reactive: rendering an HTML string needs a global DOMParser; return JSX/VNodes, or call reactive()\");\n }\n return htmlStringToVNodes(content, Parser);\n }\n return Array.isArray(content) ? content.flat(Infinity) : [content];\n};\nfunction Reactive(props) {\n const { store, render, cleanup, tag = \"div\", onMount, onUnmount, children: _children, ...attributes } = props;\n const stores = toStores(store, \"Reactive\");\n if (typeof render !== \"function\")\n throw new TypeError(\"Reactive: the render prop must be a function\");\n return {\n type: tag,\n attributes: {\n ...attributes,\n onMount: (el) => {\n mounted.get(el)?.unsubscribe();\n mounted.set(el, { unsubscribe: listen(stores, () => morph(el, render())), cleanup });\n morph(el, render());\n if (typeof onMount === \"function\")\n onMount(el);\n },\n onUnmount: (el) => {\n const entry = mounted.get(el);\n mounted.delete(el);\n entry?.unsubscribe();\n entry?.cleanup?.();\n if (typeof onUnmount === \"function\")\n onUnmount(el);\n }\n },\n children: toChildren2(render())\n };\n}\nvar installReactive = (df$) => {\n const fn = df$?.fn;\n if (typeof fn !== \"object\" || fn === null) {\n throw new TypeError(\"installReactive: expected defuss-query's df$ (a df$ with a df$.fn prototype)\");\n }\n Object.defineProperty(fn, \"reactive\", {\n configurable: true,\n writable: true,\n value: function(config) {\n reactive(config, this);\n return this;\n }\n });\n return df$;\n};\n// src/global.ts\nif (typeof globalThis !== \"undefined\") {\n const g = globalThis;\n const current = g.df$;\n if (current === null || typeof current !== \"object\" && typeof current !== \"function\") {\n g.df$ = {};\n }\n Object.assign(g.df$, exports_src);\n const fn = g.df$.fn;\n if (typeof fn === \"object\" && fn !== null)\n installReactive(g.df$);\n}\nexport {\n CAPTURE_ONLY_EVENTS,\n CLASS_ATTRIBUTE_NAME,\n COMMENT_TYPE,\n DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE,\n DEFAULT_TRANSITION_CONFIG,\n FROM_DOM_MARKER,\n Fragment,\n REF_ATTRIBUTE_NAME,\n Reactive,\n XLINK_ATTRIBUTE_NAME,\n XMLNS_ATTRIBUTE_NAME,\n applyStyles,\n areDomNodesEqual,\n clearDelegatedEvents,\n clearDelegatedEventsDeep,\n createRef,\n domNodeToVNode,\n getMimeType,\n getRegisteredEventKeys,\n getRegisteredEventTypes,\n getRenderer,\n getTransitionStyles,\n h,\n handleLifecycleEventsForOnMount,\n htmlStringToVNodes,\n installReactive,\n isCommentVNode,\n isHTML,\n isMarkup,\n isRef,\n isSVG,\n jsx,\n jsxDEV,\n jsxs,\n morph,\n nsMap,\n observeUnmount,\n onClearDelegatedEvents,\n parseDOM,\n parseEventPropName,\n performTransition,\n queueCallback,\n reactive,\n registerDelegatedEvent,\n removeDelegatedEvent,\n removeDelegatedEventByKey,\n renderMarkup,\n replaceDomWithVdom,\n resolveGlobals,\n templateContent,\n updateDomWithVdom\n};\n\n//# debugId=18D1BB0152DB217664756E2164756E21\n//# sourceMappingURL=all.js.map\n"],"file":"all.min.js"}