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/CHANGELOG.md +34 -0
- package/README.md +281 -212
- package/dist/all.js +639 -429
- package/dist/all.js.map +15 -11
- package/dist/all.min.js +1 -1
- package/dist/all.min.js.map +1 -1
- package/dist/index.cjs +520 -347
- package/dist/index.d.ts +338 -28
- package/dist/index.mjs +507 -348
- package/dist/stats.json +9 -9
- package/package.json +46 -13
- package/skills/defuss-morph/SKILL.md +101 -0
- package/skills/defuss-morph/references/api.md +86 -0
- package/skills/defuss-morph/references/integrations.md +116 -0
- package/skills/defuss-morph/references/patterns.md +190 -0
- package/skills/defuss-morph/references/pitfalls.md +29 -0
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
|
package/dist/all.min.js.map
CHANGED
|
@@ -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"}
|