defuss-morph 0.2.0 → 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 -218
- package/dist/all.js +454 -200
- 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 +344 -121
- package/dist/index.d.ts +308 -26
- package/dist/index.mjs +334 -122
- 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:()=>q,resolveGlobals:()=>K,replaceDomWithVdom:()=>Se,renderMarkup:()=>oe,removeDelegatedEventByKey:()=>b,removeDelegatedEvent:()=>te,registerDelegatedEvent:()=>h,queueCallback:()=>a,performTransition:()=>Q,parseEventPropName:()=>u,parseDOM:()=>w,onClearDelegatedEvents:()=>ne,observeUnmount:()=>L,nsMap:()=>I,morph:()=>Te,isSVG:()=>T,isMarkup:()=>D,isHTML:()=>E,isCommentVNode:()=>C,htmlStringToVNodes:()=>A,handleLifecycleEventsForOnMount:()=>R,getTransitionStyles:()=>J,getRenderer:()=>z,getRegisteredEventTypes:()=>re,getRegisteredEventKeys:()=>y,getMimeType:()=>O,domNodeToVNode:()=>k,clearDelegatedEventsDeep:()=>v,clearDelegatedEvents:()=>_,areDomNodesEqual:()=>ce,applyStyles:()=>Y,XMLNS_ATTRIBUTE_NAME:()=>N,XLINK_ATTRIBUTE_NAME:()=>M,REF_ATTRIBUTE_NAME:()=>P,FROM_DOM_MARKER:()=>x,DEFAULT_TRANSITION_CONFIG:()=>X,DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE:()=>F,COMMENT_TYPE:()=>S,CLASS_ATTRIBUTE_NAME:()=>j,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=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},f=(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)}}},p=(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=>f(e,t,n,r);s.set(a,r),e.addEventListener(t,r,o)}else!i&&l&&(s.delete(a),e.removeEventListener(t,l,o))},m=(e,t,n,r)=>{p(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},h=(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 p(e,t,a,c,n)},ee=e=>!e.capture&&!e.bubble&&(!e.captureSet||e.captureSet.size===0)&&(!e.bubbleSet||e.bubbleSet.size===0),te=(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&&p(e,t,r,a,void 0);else m(e,t,a,`capture`),m(e,t,a,`bubble`);ee(a)&&i.delete(t)}},g=new Set,ne=e=>(g.add(e),()=>{g.delete(e)}),_=e=>{let t=s.get(e);if(t){for(let[n,r]of t)m(e,n,r,`capture`),m(e,n,r,`bubble`);t.clear()}for(let t of g)t(e)},v=e=>{_(e);let t=e.ownerDocument;if(!t)return;let n=t.createTreeWalker(e,1),r=n.nextNode();for(;r;)_(r),r=n.nextNode()},re=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&&(m(e,t,i,n),ee(i)&&r.delete(t))},x=Symbol(`defuss-morph.from-dom`),S=`#comment`,C=e=>!!e&&typeof e==`object`&&e.type===S,ie=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`]),ae=e=>ie.has(e.name.toLowerCase())?!0:e.value;function w(e,t,n){return new n().parseFromString(e,t)}function T(e,t){let n=w(e,`image/svg+xml`,t);return n.documentElement?n.documentElement.nodeName.toLowerCase()===`svg`:!1}function E(e,t){return w(e,`text/html`,t).documentElement.querySelectorAll(`*`).length>2}var D=(e,t)=>e.indexOf(`<`)>-1&&e.indexOf(`>`)>-1&&(E(e,t)||T(e,t));function oe(e,t,n){let r=n||w(e,O(e,t),t);return r.body?Array.from(r.body.childNodes):r.documentElement?[r.documentElement]:[]}function O(e,t){return T(e,t)?`image/svg+xml`:`text/html`}function k(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]=ae(r)}let r=[];for(let e=0;e<t.childNodes.length;e++){let n=k(t.childNodes[e]);r.push(n)}return{type:t.tagName.toLowerCase(),attributes:{...n,[x]:!0},children:r}}return e.nodeType===8?{type:S,value:e.nodeValue??``}:``}var se=/^\s*(?:<!--[\s\S]*?-->\s*)*<(?:!doctype|html|head|body)[\s>/]/i;function A(e,t){let n=new t().parseFromString(se.test(e)?e:`<body>${e}`,`text/html`),r=[];for(let e=0;e<n.body.childNodes.length;e++){let t=k(n.body.childNodes[e]);t!==``&&r.push(t)}return r}var j=`class`,M=`xlink`,N=`xmlns`,P=`ref`,F=`dangerouslySetInnerHTML`,I={[N]:`http://www.w3.org/2000/xmlns/`,[M]:`http://www.w3.org/1999/xlink`,svg:`http://www.w3.org/2000/svg`},L=(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})},R=e=>{typeof e?.$onMount==`function`&&(e.$onMount(e),e.$onMount=null),typeof e?.$onUnmount==`function`&&L(e,e.$onUnmount)},z=e=>{let t={hasElNamespace:e=>e.namespaceURI===I.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;if(C(n)){let t=e.createComment(n.value??``);return r?.appendChild(t),t}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(I.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),R(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===F)return;if(e===`key`){r._defussKey=String(n);return}if(e===P&&typeof n!=`function`){let e=n;e.current=r,r._defussRef=n,r.$onUnmount=a(()=>{}),r.parentNode?L(r,r.$onUnmount):queueMicrotask(()=>{r.parentNode&&L(r,r.$onUnmount)});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`){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=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=I[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},ce=(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 le(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`}function ue(e){return!!(e&&typeof e==`object`&&`type`in e)}function de(e,t=!1){if(e==null||le(e)||ue(e)||t&&e&&typeof e==`object`&&`attributes`in e)return e}function fe(e,t=!1){let n=[],r=e=>{if(Array.isArray(e)){e.forEach(r);return}let i=de(e,t);if(i!==void 0){if(ue(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 B(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 pe(e){return e&&typeof e==`object`?`<${typeof e.type==`string`?e.type:`component`}>`:`plain text`}function V(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 me(e,t){if(typeof t==`string`||typeof t==`number`||typeof t==`boolean`)return e.nodeType===3;if(C(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 H(e,t){let n=z(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 he(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 ge(e,t,n,r=!1){let i=z(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(he(e,r,t))continue;e.removeAttribute(r)}}if(!(r||o[x])){let t=y(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(`:`);b(e,t,n)}}i.setAttributes(t,e),R(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[x])||xe(e,t.children??[],n)}function U(e,t){e.nodeType===1&&v(e),e.parentNode?.replaceChild(t,e)}function _e(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 U(e,i),i}if(C(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 U(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=H(t,n),i=Array.isArray(r)?r[0]:r;return i?(e.parentNode?.replaceChild(i,e),R(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?(U(a,r),R(r),r):null}return ge(a,t,n,r),a}return e.nodeType===1&&v(e),e.parentNode?.removeChild(e),null}var W=new WeakSet,G=new Map,K=(e,t)=>t||{window:e?.ownerDocument?.defaultView??globalThis};function ve(e){let t=e.parentElement;for(;t;){if(W.has(t))return!0;t=t.parentElement}return!1}function ye(){if(G.size===0)return;let e=[...G.entries()];G.clear();for(let[t,{vdom:n,globals:r,mode:i}]of e)t.isConnected&&q(t,n,r,i)}function q(e,t,n,r=`replace`){let i=K(e,n);if(W.has(e)||ve(e)){G.set(e,{vdom:t,globals:i,mode:r});return}W.add(e);try{xe(e,t,i,r)}finally{W.delete(e)}ye()}function be(e,t,n){let r=new Map;for(let t of Array.from(e.childNodes))for(let e of V(t))r.has(e)||r.set(e,t);for(let i of t){if(typeof i==`string`&&i.trim()===``||C(i))continue;let t=B(i);if(!t)throw Error(`morph diff: patch items must be elements with a key or id attribute (got ${pe(i)})`);let a=r.get(t);if(a){_e(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),R(t)}}function xe(e,t,n,r=`replace`){let i=e,a=i.tagName.includes(`-`),o=i.shadowRoot&&!a?i.shadowRoot:e,s=fe(t,r===`diff`);if(r===`diff`){be(o,s,n);return}let c=Array.from(o.childNodes),l=new Map,u=new WeakMap,d=[];for(let e of c){let t=V(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 f=e=>{let t=u.get(e)??[];for(let e of t)l.delete(e)},p=e=>{for(let t=0;t<d.length;t++){let n=d[t];if(me(n,e))return d.splice(t,1),n}},m=0;for(let e of s){let t=B(e),r;t?(r=l.get(t),r&&f(r)):r=p(e);let i=o.childNodes[m]??null;if(r){r!==i&&o.insertBefore(r,i),_e(r,e,n),m++;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),R(e),m++}let h=new Set;for(let e of d)h.add(e);for(let e of l.values())h.add(e);for(let e of h)e.parentNode===o&&(e.nodeType===1&&v(e),o.removeChild(e))}function Se(e,t,n){let r=K(e,n);for(;e.firstChild;)e.removeChild(e.firstChild);let i=z(r.window.document).createElementOrElements(t);if(Array.isArray(i))for(let t of i)t&&(e.appendChild(t),R(t));else i&&(e.appendChild(i),R(i))}var Ce=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)}},J=(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:(Ce(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:{}}},Y=(e,t)=>Object.entries(t).forEach(([t,n])=>e.style.setProperty(t,String(n))),X={type:`fade`,duration:300,easing:`ease-in-out`,delay:0,target:`parent`},Z=e=>new Promise(t=>setTimeout(t,e)),we=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 Z(n),o.body.removeChild(a)}catch(e){throw a.parentElement&&o.body.removeChild(a),e}finally{e.style.cssText=i}},Q=async(e,t,n={})=>{let{type:r=`fade`,duration:i=300,easing:a=`ease-in-out`,delay:o=0}={...X,...n};if(r===`none`){await t();return}if(o>0&&await Z(o),r===`fade`){await we(e,t,i,a);return}let s=n.styles||J(r,i,a),c=e.style.transition,l=e.style.animation;try{r===`shake`&&(e.style.animation=`none`,e.offsetHeight),Y(e,s.exit),e.offsetHeight,Y(e,s.exitActive),await Z(i),await t(),Y(e,s.enter),e.offsetHeight,Y(e,s.enterActive),await Z(i),e.style.transition=c,e.style.animation=l}catch(t){throw e.style.transition=c,e.style.animation=l,t}},$=new WeakMap,Te=(e,t,n={})=>{let r=K(e),i=r.window,a=n.diff?`diff`:`replace`,o=t=>q(e,typeof t==`string`?A(t,i.DOMParser):t,r,a),s=n.transition;if(s&&s.type!==`none`){let n={...X,...s},r=n.target===`self`?e:e.parentElement;if(!r){o(t);return}let i={content:t};return $.set(e,i),Q(r,async()=>{$.get(e)===i&&o(i.content)},n).finally(()=>{$.get(e)===i&&$.delete(e)})}let c=$.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{q as updateDomWithVdom,K as resolveGlobals,Se as replaceDomWithVdom,oe as renderMarkup,b as removeDelegatedEventByKey,te as removeDelegatedEvent,h as registerDelegatedEvent,a as queueCallback,Q as performTransition,u as parseEventPropName,w as parseDOM,ne as onClearDelegatedEvents,L as observeUnmount,I as nsMap,Te as morph,T as isSVG,D as isMarkup,E as isHTML,C as isCommentVNode,A as htmlStringToVNodes,R as handleLifecycleEventsForOnMount,J as getTransitionStyles,z as getRenderer,re as getRegisteredEventTypes,y as getRegisteredEventKeys,O as getMimeType,k as domNodeToVNode,v as clearDelegatedEventsDeep,_ as clearDelegatedEvents,ce as areDomNodesEqual,Y as applyStyles,N as XMLNS_ATTRIBUTE_NAME,M as XLINK_ATTRIBUTE_NAME,P as REF_ATTRIBUTE_NAME,x as FROM_DOM_MARKER,X as DEFAULT_TRANSITION_CONFIG,F as DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE,S as COMMENT_TYPE,j 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","onClearDelegatedEvents","observeUnmount","nsMap","morph2","isSVG","isMarkup","isHTML","isCommentVNode","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","COMMENT_TYPE","CLASS_ATTRIBUTE_NAME","CAPTURE_ONLY_EVENTS","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","childVNode","DOCUMENT_START","html","vNodes","vnode","domNode","onUnmount","parentNode","observer","mutation","mutationsList","removedNode","newParent","newEl","renderer","domElement","parentElement","virtualNode","parentDomElement","comment","document2","vNode","text","virtualChildren","virtualChild","ref","existingUnmount","val","nsEndIndex","ns","attrName","namespace","styleObj","prop","attrNames","oldNode","newNode","oldElement","newElement","oldAttrs","newAttrs","oldAttr","newAttrValue","isTextLike","isVNode","toValidChild","child","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","isCustomElement","nextChildren","nodeKeys","unkeyedPool","addedToKeyedPool","consumeKeyedNode","takeUnkeyedMatch","candidate","domIndex","anchor","nodes","remaining","newDom","injectShakeKeyframes","style","t","duration","easing","styles","wait","r","ms","performCrossfade","originalStyle","rect","updateCallback","error","config","delay","originalTransition","originalAnimation","inflightTransitions","win","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 onClearDelegatedEvents: () => onClearDelegatedEvents,\n observeUnmount: () => observeUnmount,\n nsMap: () => nsMap,\n morph: () => morph2,\n isSVG: () => isSVG,\n isMarkup: () => isMarkup,\n isHTML: () => isHTML,\n isCommentVNode: () => isCommentVNode,\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 COMMENT_TYPE: () => COMMENT_TYPE,\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 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\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}\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 if (node.nodeType === 8) {\n return { type: COMMENT_TYPE, value: node.nodeValue ?? \"\" };\n }\n return \"\";\n}\nvar DOCUMENT_START = /^\\s*(?:<!--[\\s\\S]*?-->\\s*)*<(?:!doctype|html|head|body)[\\s>/]/i;\nfunction htmlStringToVNodes(html, Parser) {\n const parser = new Parser;\n const doc = parser.parseFromString(DOCUMENT_START.test(html) ? html : `<body>${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/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 if (isCommentVNode(virtualNode)) {\n const comment = document2.createComment(virtualNode.value ?? \"\");\n parentDomElement?.appendChild(comment);\n return comment;\n }\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/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 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 onClearDelegatedEvents,\n observeUnmount,\n nsMap,\n morph2 as morph,\n isSVG,\n isMarkup,\n isHTML,\n isCommentVNode,\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 COMMENT_TYPE,\n CLASS_ATTRIBUTE_NAME,\n CAPTURE_ONLY_EVENTS\n};\n\n//# debugId=2B212A8922F1193364756E2164756E21\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"}
|