@estjs/template 0.0.14-beta.9 → 0.0.15-beta.1

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/README.md CHANGED
@@ -0,0 +1,14 @@
1
+ # @estjs/template
2
+
3
+ The template engine for **Essor**. It handles the normalization of JSX templates and provides the runtime support for Server-Side Rendering (SSR) and Static Site Generation (SSG).
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @estjs/template
9
+ ```
10
+
11
+
12
+ ## License
13
+
14
+ MIT
@@ -1,7 +1,8 @@
1
- 'use strict';var shared=require('@estjs/shared'),signal=require('@estjs/signal');/**
2
- * @estjs/template v0.0.14-beta.9
1
+ 'use strict';var shared=require('@estjs/shared'),signals=require('@estjs/signals');/**
2
+ * @estjs/template v0.0.15-beta.1
3
3
  * (c) 2023-Present jiangxd <jiangxd2016@gmail.com>
4
4
  * @license MIT
5
5
  **/
6
- var k="on",P="update",N="children",A="",L="0",z="1";var O="ref",_=" __PLACEHOLDER__ ";var G=class{constructor(){this.renderMode=0;}get isSSG(){return this.renderMode===1}get isSSR(){return this.renderMode===2}get isClient(){return this.renderMode===0}setSSR(){this.renderMode=2;}setSSG(){this.renderMode=1;}setClient(){this.renderMode=0;}},m=new G,q=new Map;function W(o,t){q.set(o,{index:t});}function Q(o){var t;return (t=q.get(o))==null?void 0:t.index}var T=class T{constructor(){this.hooks={mounted:new Set,destroy:new Set};}addEventListener(){}removeEventListener(){}addHook(t,e){var n;(n=this.hooks[t])==null||n.add(e);}getContext(t){return T.context[t]}setContext(t,e){T.context[t]=e;}initRef(){T.ref=this;}removeRef(){T.ref=null;}clearHooks(){Object.values(this.hooks).forEach(t=>t.clear());}};T.ref=null,T.context={};var u=T;function $(o){return o instanceof b}var x=1,b=class extends u{constructor(e,n={},r){super();this.template=e;this.props=n;this.key=r;W(e,x),this.templates=this.processTemplate();}processTemplate(){if(shared.isArray(this.template)){let e=this.template.join(_);return this.processHtmlString(e).split(_)}return []}processHtmlString(e){return e.replaceAll(/(<[^>]+>)|([^<]+)/g,(n,r,i)=>r?r.includes("data-ci")?n:r.replace(/<\s*([\da-z]+)(\s[^>]*)?>/i,(s,a,l)=>`<${a} data-ci="${x}"${l||""}>`):i&&i.replace(_,"").trim()?`<!--0-${x}-->${i}<!$>`:n)}mount(){this.initRef();let e=this.render();return this.removeRef(),e}render(){if(shared.isFunction(this.template)){let e=this.template(this.props);return $(e)?e.mount():String(e)}return this.renderTemplate()}renderTemplate(){return Object.entries(this.props).forEach(([e,n])=>{let r=n.children;this.normalizeProps(n);let i=this.templates.findIndex(s=>s.includes(`data-hk="${e}"`));r&&this.renderChildren(r,i),this.templates[i]=this.templates[i].replace(`data-hk="${e}"`,`data-hk="${e}" ${this.generateAttributes(n)}`);}),this.templates.join("")}normalizeProps(e){Object.entries(e).forEach(([n,r])=>{n===N||shared.isFunction(r)?delete e[n]:signal.isSignal(r)&&(e[n]=r.value);});}generateAttributes(e){return Object.entries(e).filter(([n,r])=>n!==N&&!shared.isFunction(r)).map(([n,r])=>`${n}="${shared.escape(String(r))}"`).join(" ")}renderChildren(e,n){e.forEach(([r])=>{x++;let i=this.renderChild(r);this.templates[n]+=i;});}renderChild(e){if(shared.isFunction(e))return this.renderChild(e(this.props));if(signal.isSignal(e))return `<!--1-${x}-->${e.value}<!$>`;if($(e)){let n=e.mount();return shared.isFunction(n)?n(this.props):I(n)}else return `<!--1-${x}-->${e}<!$>`}};var te="area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr".split(",");function J(o){if(f(o)||o instanceof Node||$(o))return o;let t=shared.isFalsy(o)?"":String(o);return document.createTextNode(t)}function E(o,t,e=null){let n=f(e)?e.firstChild:e,r=m.isSSR;f(t)?t.mount(o,n):n&&!r?n.before(t):r||o.append(t);}function v(o){f(o)?o.unmount():o.parentNode&&o.remove();}function V(o,t,e){E(o,t,e),v(e);}function Y(o,t,e){t==="class"?ge(o,e):t==="style"?Ee(o,e):Te(o,t,e);}function ge(o,t){typeof t=="string"?o.className=t:shared.isArray(t)?o.className=t.join(" "):t&&typeof t=="object"&&(o.className=Object.entries(t).reduce((e,[n,r])=>e+(r?` ${n}`:""),"").trim());}function Ee(o,t){typeof t=="string"?o.style.cssText=t:t&&typeof t=="object"&&Object.entries(t).forEach(([n,r])=>{o.style.setProperty(shared.kebabCase(n),String(r));});}function Te(o,t,e){shared.isFalsy(e)?o.removeAttribute(t):e===!0?o.setAttribute(t,""):o instanceof HTMLInputElement&&t==="value"?o.value=String(e):o.setAttribute(t,String(e));}function ne(o,t){if(o instanceof HTMLInputElement)switch(o.type){case"checkbox":return h(o,"change",()=>{t(!!o.checked);});case"date":return h(o,"change",()=>{t(o.value?o.value:"");});case"file":return h(o,"change",()=>{o.files&&t(o.files);});case"number":return h(o,"input",()=>{let e=Number.parseFloat(o.value);t(Number.isNaN(e)?"":String(e));});case"radio":return h(o,"change",()=>{t(o.checked?o.value:"");});case"text":return h(o,"input",()=>{t(o.value);})}if(o instanceof HTMLSelectElement)return h(o,"change",()=>{t(o.value);});if(o instanceof HTMLTextAreaElement)return h(o,"input",()=>{t(o.value);})}function h(o,t,e){return o.addEventListener(t,e),()=>o.removeEventListener(t,e)}function oe(o){let t=[],e=[],n=/<\/?([\da-z-]+)([^>]*)>/gi,r=0;for(;;){let i=n.exec(o);if(!i)break;let[s,a]=i,l=s[1]==="/";if(e.push(o.slice(r,i.index)),r=i.index+s.length,l){for(;t.length>0&&t[t.length-1]!==a;){let c=t.pop();c&&e.push(`</${c}>`);}t.length>0&&t.pop();}else te.includes(a)||t.push(a);e.push(s);}for(e.push(o.slice(r));t.length>0;){let i=t.pop();i&&e.push(`</${i}>`);}return e.join("")}function re(o){return te.includes(o)?`<${o}/>`:`<${o}></${o}>`}function I(o){return signal.isSignal(o)?o.value:o}var C=class extends u{constructor(e,n,r){super();this.template=e;this.props=n;this.key=r;this.emitter=new Set;this.rootNode=null;this.trackMap=new Map;this.key||(this.key=n&&n.key),this.proxyProps=this.createProxyProps(n);}createProxyProps(e){return e?signal.signalObject(e,n=>shared.startsWith(n,k)||shared.startsWith(n,P)||n===N):{}}get firstChild(){var e,n;return (n=(e=this.rootNode)==null?void 0:e.firstChild)!=null?n:null}get isConnected(){var e,n;return (n=(e=this.rootNode)==null?void 0:e.isConnected)!=null?n:!1}mount(e,n){var i,s,a,l;if(!shared.isFunction(this.template))throw new Error("Template must be a function");if(this.isConnected)return (s=(i=this.rootNode)==null?void 0:i.mount(e,n))!=null?s:[];this.initRef(),this.rootNode=this.template(signal.useReactive(this.proxyProps,[N]));let r=(l=(a=this.rootNode)==null?void 0:a.mount(e,n))!=null?l:[];return this.callMountHooks(),this.patchProps(this.props),this.removeRef(),r}unmount(){var e;this.callDestroyHooks(),this.clearHooks(),(e=this.rootNode)==null||e.unmount(),this.rootNode=null,this.proxyProps={},this.clearEmitter();}callMountHooks(){this.hooks.mounted.forEach(e=>e());}callDestroyHooks(){this.hooks.destroy.forEach(e=>e());}clearEmitter(){for(let e of this.emitter)e();this.emitter.clear();}inheritNode(e){Object.assign(this.proxyProps,e.proxyProps),this.rootNode=e.rootNode,this.trackMap=e.trackMap,this.hooks=e.hooks;let n=this.props;this.props=e.props,this.patchProps(n);}getNodeTrack(e){let n=this.trackMap.get(e);return n||(n={cleanup:()=>{}},this.trackMap.set(e,n)),n.cleanup(),n}patchProps(e){var n;if(e){for(let[r,i]of Object.entries(e))shared.startsWith(r,k)&&((n=this.rootNode)!=null&&n.firstChild)?this.patchEventListener(r,i):r===O?this.patchRef(i):shared.startsWith(r,P)?this.patchUpdateHandler(r,i):r!==N&&this.patchNormalProp(r,i);this.props=e;}}patchEventListener(e,n){let r=e.slice(2).toLowerCase(),i=h(this.rootNode.nodes[0],r,n);this.emitter.add(i);}patchRef(e){var n,r;e.value=(r=(n=this.rootNode)==null?void 0:n.firstChild)!=null?r:null;}patchUpdateHandler(e,n){this.props[e]=I(n);}patchNormalProp(e,n){var s,a;let r=(a=(s=this.proxyProps)[e])!=null?a:s[e]=signal.useSignal(n),i=this.getNodeTrack(e);i.cleanup=signal.useEffect(()=>{r.value=shared.isFunction(n)?n():n;});}};function se(o,t,e,n){let r=new Map,i=Array.from(t.values());if(i.length&&e.length===0)return be(o,i,n),r;let s=[],a=Me(e),l=0;for(let[c,d]of e.entries()){let p=i[l],y=S(p,c);for(;p&&!a.has(y);)v(p),t.delete(y),p=i[++l],y=S(p,c);let U=S(d,c),F=t.get(U);if(F&&(d=Ce(o,F,d)),p)if(p===F)l++;else {let B=document.createComment("");E(o,B,p),s.push([B,d]);}else E(o,d,n);r.set(U,d);}return s.forEach(([c,d])=>{V(o,d,c);}),t.forEach((c,d)=>{c.isConnected&&!r.has(d)&&v(c);}),r}function be(o,t,e){if(o.childNodes.length===t.length+(e?1:0))o.innerHTML="",e&&E(o,e);else {let n=document.createRange(),r=t[0],i=f(r)?r.firstChild:r;n.setStartBefore(i),e?n.setEndBefore(e):n.setEndAfter(o),n.deleteContents();}t.forEach(n=>{f(n)&&n.unmount();});}function Ce(o,t,e){return t===e?t:f(t)&&f(e)&&t.template===e.template?(e.inheritNode(t),e):t instanceof Text&&e instanceof Text?(t.textContent!==e.textContent&&(t.textContent=e.textContent),t):(V(o,e,t),e)}function Me(o){let t=new Map;for(let[e,n]of o.entries()){let r=S(n,e);t.set(r,n);}return t}function S(o,t){if(f(o)){let e=o.key;if(e!=null)return String(e)}return `_$${t}$`}var M=class{constructor(t,e,n){this.template=t;this.props=e;this.key=n;this.treeMap=new Map;this.mounted=!1;this.nodes=[];this.trackMap=new Map;this.bindValueKeys=[];this.parent=null;this.key||(this.key=e&&e.key),m.isSSR&&(this.componentIndex=Q(this.template));}get firstChild(){var t;return (t=this.nodes[0])!=null?t:null}get isConnected(){return this.mounted}addEventListener(){}removeEventListener(){}mount(t,e){var i;if(this.parent=t,this.isConnected)return this.nodes.forEach(s=>E(t,s,e)),this.nodes;shared.isArray(this.template)&&(this.template=w(this.template.join("")));let n=this.template.content.cloneNode(!0),r=n.firstChild;return (i=r==null?void 0:r.hasAttribute)!=null&&i.call(r,"_svg_")&&(r.remove(),r.childNodes.forEach(s=>{n.append(s);})),this.nodes=Array.from(n.childNodes),m.isSSR?this.mapSSGNodeTree(t):this.mapNodeTree(t,n),E(t,n,e),this.patchProps(this.props),this.mounted=!0,this.nodes}unmount(){var t,e;if(this.trackMap.forEach(n=>{n.cleanup&&n.cleanup();}),this.trackMap.clear(),this.treeMap.clear(),this.nodes.forEach(n=>v(n)),!this.template.innerHTML&&!this.nodes.length){let n=(e=(t=this.props)==null?void 0:t[L])==null?void 0:e.children;n&&(shared.isArray(n)?n.forEach(r=>{this.deleteFragmentTextNode(r);}):this.deleteFragmentTextNode(n));}this.nodes=[],this.mounted=!1;}deleteFragmentTextNode(t){shared.isPrimitive(t)?this.parent&&this.parent.childNodes.length&&this.parent.childNodes.forEach(e=>{e.nodeType===Node.TEXT_NODE&&e.textContent===`${t}`&&this.parent.removeChild(e);}):v(t);}inheritNode(t){this.mounted=t.mounted,this.nodes=t.nodes,this.trackMap=t.trackMap,this.treeMap=t.treeMap;let e=this.props;this.props=t.props,this.patchProps(e);}mapSSGNodeTree(t){this.treeMap.set(0,t),this.walkNodeTree(t,this.handleSSGNode.bind(this));}mapNodeTree(t,e){let n=1;this.treeMap.set(0,t);let r=[t],i=s=>{s.nodeType!==Node.DOCUMENT_FRAGMENT_NODE&&(this.treeMap.set(n++,s),r.push(s));};this.walkNodeTree(e,i);}walkNodeTree(t,e){t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE&&e(t);let n=t.firstChild;for(;n;)this.walkNodeTree(n,e),n=n.nextSibling;}handleSSGNode(t){var e;if(t.nodeType===Node.COMMENT_NODE){let[n,r]=((e=t.textContent)==null?void 0:e.split("-"))||[];if(0===+n&&+r===this.componentIndex){let i=t.nextSibling;this.treeMap.set(+r,i);}}else if(t.nodeType!==Node.TEXT_NODE){let{ci:n="-1",hk:r}=(t==null?void 0:t.dataset)||{};r&&+n===this.componentIndex&&this.treeMap.set(+r,t);}}patchProps(t){t&&(Object.entries(t).forEach(([e,n])=>{let r=Number(e),i=this.treeMap.get(r);i&&this.patchProp(e,i,n,r===0);}),this.props=t);}patchProp(t,e,n,r){n&&Object.entries(n).forEach(([i,s])=>{if(i===N&&s)this.patchChildren(t,e,s,r);else if(i===O)n[i].value=e;else if(shared.startsWith(i,k))this.patchEventListener(t,e,i,s);else {if(this.bindValueKeys.includes(i))return;let a=this.getBindUpdateValue(n,t,i);this.patchAttribute(t,e,i,s,a);}});}getBindUpdateValue(t,e,n){let r=`${P}${shared.capitalize(n)}`;if(r&&t[r]&&shared.isFunction(t[r]))return this.bindValueKeys.push(r),t[r]}patchChildren(t,e,n,r){if(shared.isArray(n))n.filter(Boolean).forEach((i,s)=>{var y;let[a,l]=shared.isArray(i)?i:[i,null],c=shared.isNil(l)?null:(y=this.treeMap.get(l))!=null?y:null,d=`${t}:${N}:${s}`,p=this.getNodeTrack(d,!0,r);this.patchChild(p,e,a,c);});else {let i=`${t}:${N}:0`,s=this.getNodeTrack(i,!0,r);this.patchChild(s,e,n,null);}}patchEventListener(t,e,n,r){let i=n.slice(2).toLowerCase(),s=this.getNodeTrack(`${t}:${n}`);s.cleanup=h(e,i,r);}patchAttribute(t,e,n,r,i){let s=this.getNodeTrack(`${t}:${n}`),a=shared.isFunction(r)?r():r,l=signal.isSignal(a)?a:signal.shallowSignal(a);Y(e,n,l.value);let c=signal.useEffect(()=>{let p=shared.isFunction(r)?r():r;shared.isPlainObject(p)&&shared.isPlainObject(l.peek())&&JSON.stringify(l.value)===JSON.stringify(p)||(l.value=signal.isSignal(p)?p.value:p,Y(e,n,l.value));}),d;i&&shared.isHTMLElement(e)&&(d=ne(e,p=>{i(p);})),s.cleanup=()=>{c&&c(),d&&d();};}getNodeTrack(t,e,n){let r=this.trackMap.get(t);return r||(r={cleanup:()=>{}},e&&(r.lastNodes=new Map),n&&(r.isRoot=!0),this.trackMap.set(t,r)),r.cleanup&&r.cleanup(),r}patchChild(t,e,n,r){shared.isFunction(n)?t.cleanup=signal.useEffect(()=>{let i=shared.coerceArray(n()).map(J);m.isSSR?t.lastNodes=this.reconcileChildren(e,i,r):t.lastNodes=se(e,t.lastNodes,i,r);}):shared.coerceArray(n).forEach((i,s)=>{let a=J(i),l=S(a,s);m.isSSR?t.lastNodes=this.reconcileChildren(e,[a],r):(t.lastNodes.set(l,a),E(e,a,r));});}reconcileChildren(t,e,n){let r=new Map,i=Array.from(t.childNodes).filter(s=>{var a,l;return s.nodeType===Node.TEXT_NODE&&((a=s.previousSibling)==null?void 0:a.nodeType)===Node.COMMENT_NODE&&((l=s.nextSibling)==null?void 0:l.nodeType)===Node.COMMENT_NODE});return e.forEach((s,a)=>{let l=S(s,a);s.nodeType===Node.TEXT_NODE?i.forEach(c=>{s.textContent===c.textContent&&t.replaceChild(s,c);}):E(t,s,n),r.set(l,s);}),r}};function H(o,t,e){if(shared.isString(o)){let n=o===A,r=n?A:re(o);return t={[n?L:z]:t},new M(w(r),t,e)}return shared.isFunction(o)?new C(o,t,e):new M(o,t,e)}function $e(o){return o instanceof C}function f(o){return o instanceof C||o instanceof M}function w(o){let t=document.createElement("template");return t.innerHTML=oe(o),t}function Ie(o){return H(w(A),{[L]:{children:shared.isArray(o.children)?o.children.filter(Boolean):[o.children]}})}function Ke(o){u.ref&&u.ref.addHook("mounted",o);}function Xe(o){u.ref&&u.ref.addHook("destroy",o);}function De(o,t){u.ref&&u.ref.setContext(o,t);}function Fe(o,t){var e;return (e=u.ref&&u.ref.getContext(o))!=null?e:t}function Ge(){return signal.shallowSignal(null)}function Je(o,t){m.setSSG();let n=new b(o,t||{}).mount();return m.setClient(),n}function Ve(o,t){let e=typeof t=="string"?document.querySelector(t):t;if(!e)throw new Error(`Could not find container: ${t}`);m.setSSR(),H(o).mount(e),m.setClient();}function Ye(o,t){return m.isSSG?new b(o,t):H(o,t)}exports.Fragment=Ie;exports.h=H;exports.hydrate=Ve;exports.isComponent=$e;exports.isJsxElement=f;exports.onDestroy=Xe;exports.onMount=Ke;exports.renderToString=Je;exports.ssg=Ye;exports.template=w;exports.useInject=Fe;exports.useProvide=De;exports.useRef=Ge;//# sourceMappingURL=template.cjs.js.map
6
+ var st=Object.defineProperty;var Ne=Object.getOwnPropertySymbols;var ct=Object.prototype.hasOwnProperty,at=Object.prototype.propertyIsEnumerable;var Se=(e,t,n)=>t in e?st(e,t,{enumerable:true,configurable:true,writable:true,value:n}):e[t]=n,H=(e,t)=>{for(var n in t||(t={}))ct.call(t,n)&&Se(e,n,t[n]);if(Ne)for(var n of Ne(t))at.call(t,n)&&Se(e,n,t[n]);return e};var K=(e,t,n)=>new Promise((r,o)=>{var i=c=>{try{a(n.next(c));}catch(u){o(u);}},s=c=>{try{a(n.throw(c));}catch(u){o(u);}},a=c=>c.done?r(c.value):Promise.resolve(c.value).then(i,s);a((n=n.apply(e,t)).next());});var F=null,Ee=[],lt=0;function Ae(e=null){let t={id:++lt,parent:e,provides:new Map,cleanup:new Set,mount:new Set,update:new Set,destroy:new Set,isMount:false,isDestroy:false,children:new Set};return e&&e.children.add(t),t}function N(){return F}function M(e){F&&Ee.push(F),F=e;}function Y(){F=Ee.pop()||null;}function Q(e){if(!e||e.isDestroy)return;Array.from(e.children).forEach(Q),ft(e);}function ft(e){if(!(!e||e.isDestroy)){e.parent&&(e.parent.children.delete(e),e.parent=null);try{e.cleanup.forEach(t=>t()),e.cleanup.clear(),e.mount.clear(),e.update.clear(),e.destroy.clear(),e.provides.clear(),e.children.clear();}catch(t){shared.error("Error during context cleanup:",t);}e.isDestroy=true;}}var v={mount:"mount",destroy:"destroy",update:"update"};function Z(e,t){let n=N();if(!n){shared.error(`Cannot register ${e} hook outside component context`);return}if(!v[e]){shared.error(`Invalid lifecycle type: ${e}`);return}if(e===v.mount&&n.isMount){try{t();}catch(r){shared.error(`Error in ${e} hook:`,r);}return}n[e].add(t);}function $(e){let t=N();if(!t){shared.error(`Cannot trigger ${e} hook outside component context`);return}let n=t[e];n!=null&&n.size&&n.forEach(r=>{try{r();}catch(o){}});}function ee(e){Z(v.mount,e);}function te(e){Z(v.destroy,e);}function dt(e){Z(v.update,e);}var Ce="http://www.w3.org/2000/svg",ne="http://www.w3.org/2000/xlink",re="http://www.w3.org/2000/xmlns/",oe=/^\d+-\d+$/;var ve=1e3,be=new WeakMap;function ke(e){let t=be.get(e);if(!t){let n=e.name||"anonymous",r=Le(e.toString()).toString(36);t=`${n}_${r}`,be.set(e,t);}return t}function Le(e){let t=0,n=e.length<100?e.length:100;for(let r=0;r<n;r++)t=Math.trunc((t<<5)-t+e.charCodeAt(r));return t<0?-t:t}var ht=0;function se(e){if(!shared.isFalsy(e)){if(shared.isString(e))return e.length<=ve?e:`${e.slice(0,ve-10)}_${Le(e).toString(36)}`;if(shared.isNumber(e))return String(e);if(shared.isSymbol(e)){let t=Symbol.keyFor(e);if(t)return `_s.${t}`;let n=e.description;return n?`_s.${n}`:`${ht++}`}return String(e)}}var ie=Symbol("essor.key");function O(e,t){if(m(e)||!e||e.nodeType===Node.DOCUMENT_NODE)return;let n=se(t);shared.isFalsy(n)?delete e[ie]:e[ie]=n;}function k(e){if(e)return m(e)?e.key:e[ie]}function b(e){if(e)try{if(m(e))e.destroy();else {let t=e;t.parentElement&&t.remove();}}catch(t){shared.error("Failed to remove node:",t);}}function p(e,t,n=null){if(!(!e||!t))try{let r=m(n)?n.firstChild:n;if(m(t)){t.mount(e,r);return}r?e.insertBefore(t,r):e.appendChild(t);}catch(r){shared.error("Failed to insert node:",r);}}function z(e,t,n){if(!(!e||!t||!n||t===n))try{p(e,t,n),b(n);}catch(r){shared.error("Failed to replace node:",r);}}function R(e){return e?m(e)?e.firstChild:e:null}function L(e,t){let n=k(e),r=k(t);if(n!==r)return false;let o=m(e),i=m(t);if(o&&i)return e.component===t.component;if(o!==i)return false;let s=e,a=t;return s.nodeType!==a.nodeType?false:s.nodeType===Node.ELEMENT_NODE?s.tagName===a.tagName:true}function T(e){if(shared.isHTMLElement(e))return e;if(shared.isPrimitive(e)){let t=shared.isFalsy(e)?"":String(e);return document.createTextNode(t)}return e}function _e(e){return e instanceof HTMLInputElement}function Pe(e){return e instanceof HTMLSelectElement}function Re(e){return e instanceof HTMLTextAreaElement}function ae(e){return e instanceof Text}function we(e,t){if(e===t)return true;if(!e||!t||Array.isArray(e)!==Array.isArray(t))return false;for(let n in e)if(e[n]!==t[n])return false;for(let n in t)if(!(n in e))return false;return true}function Ie(e,t){if(m(e)||m(t))return;let n=k(e);n&&!k(t)&&O(t,n);}function _(e,t,n){if(n===t)return t;let r=shared.isHTMLElement(t);if(shared.isHTMLElement(n)&&r){if(n.isEqualNode(t))return t;if(t.tagName===n.tagName){let a=t.attributes,c=n.attributes;for(let u=a.length-1;u>=0;u--){let f=a[u].name;n.hasAttribute(f)||t.removeAttribute(f);}for(let u=0,f=c.length;u<f;u++){let l=c[u];t.getAttribute(l.name)!==l.value&&t.setAttribute(l.name,l.value);}return Ie(t,n),t}}if(ae(t)&&ae(n))return t.textContent!==n.textContent&&(t.textContent=n.textContent),Ie(t,n),t;let i=m(t),s=m(n);return i&&s&&t.component===n.component?n.update(t):(z(e,n,t),n)}function He(e,t,n,r){let o=t.length,i=n.length;if(o===0&&i===0)return [];if(o===0){let s=document.createDocumentFragment();for(let a=0;a<i;a++)p(s,n[a]);return p(e,s,r),n}if(i===0){for(let s=0;s<o;s++)b(t[s]);return []}if(o===1&&i===1){let s=t[0],a=n[0];return L(s,a)?(_(e,s,a),n[0]=s):z(e,a,s),n}if(o===2&&i===2){let s=t[0],a=t[1],c=n[0],u=n[1];if(L(s,c)&&L(a,u))return _(e,s,c),_(e,a,u),n[0]=s,n[1]=a,n;if(L(s,u)&&L(a,c)){_(e,s,u),_(e,a,c);let f=R(a),l=R(s);return f&&l&&f.parentNode===e&&e.insertBefore(f,l),n[0]=a,n[1]=s,n}}return St(e,t,n,r)}function St(e,t,n,r){let o=0,i=0,s=t.length-1,a=n.length-1,c=t[0],u=t[s],f=n[0],l=n[a];for(;o<=s&&i<=a;)if(!c)c=t[++o];else if(!u)u=t[--s];else if(L(c,f))_(e,c,f),n[i]=c,c=t[++o],f=n[++i];else break;for(;o<=s&&i<=a;)if(!c)c=t[++o];else if(!u)u=t[--s];else if(L(u,l))_(e,u,l),n[a]=u,u=t[--s],l=n[--a];else break;if(o>s){if(i<=a){let h=a+1<n.length?R(n[a+1]):r;for(let y=i;y<=a;y++)p(e,n[y],h);}}else if(i>a)for(let h=o;h<=s;h++){let y=t[h];y&&b(y);}else Et(e,t,n,o,s,i,a,r);return n}function Et(e,t,n,r,o,i,s,a){let c=s-i+1,u=n.length,f;for(let g=i;g<=s;g++){let x=k(n[g]);x!==void 0&&(f||(f=Object.create(null)),f[x]=g);}let l=new Int32Array(c),h=false,y=0,A=0;for(let g=r;g<=o;g++){let x=t[g];if(!x)continue;if(A>=c){b(x);continue}let S,P=k(x);if(P!==void 0&&f&&P in f)S=f[P];else for(let C=i;C<=s;C++)if(l[C-i]===0&&P===void 0&&k(n[C])===void 0&&L(x,n[C])){S=C;break}S===void 0?b(x):(l[S-i]=g+1,S>=y?y=S:h=true,_(e,x,n[S]),n[S]=x,A++);}let I=h?At(l):[],J=I.length-1;for(let g=c-1;g>=0;g--){let x=i+g,S=n[x],P=x+1<u?R(n[x+1]):a;if(l[g]===0)p(e,S,P);else if(h)if(J<0||g!==I[J]){let C=R(S);C&&C.parentNode===e&&p(e,C,P);}else J--;}}function At(e){let t=e.length;if(t===0)return [];if(t===1)return e[0]!==0?[0]:[];let n=[],r=new Int32Array(t),o,i,s,a,c;for(o=0;o<t;o++){let u=e[o];if(u!==0){if(i=n[n.length-1],n.length===0||e[i]<u){r[o]=i,n.push(o);continue}for(s=0,a=n.length-1;s<a;)c=s+a>>1,e[n[c]]<u?s=c+1:a=c;u<e[n[s]]&&(s>0&&(r[o]=n[s-1]),n[s]=o);}}for(s=n.length,a=n[s-1];s-- >0;)n[s]=a,a=r[a];return n}function E(e,t,n,r){e.addEventListener(t,n,r);let o=N();o&&o.cleanup.add(()=>{e.removeEventListener(t,n,r);});}function Tt(e,t,n,r){if(_e(e))switch(e.type){case "checkbox":E(e,"change",()=>{r(!!e.checked);});break;case "radio":E(e,"change",()=>{r(e.checked?e.value:"");});break;case "file":E(e,"change",()=>{r(e.files);});break;case "number":case "range":E(e,"input",()=>{r(e.value||"");});break;case "date":case "datetime-local":case "month":case "time":case "week":E(e,"change",()=>{r(e.value||"");});break;default:E(e,"input",()=>{r(e.value);});break}else Pe(e)?E(e,"change",()=>{if(e.multiple){let o=Array.from(e.options).filter(i=>i.selected).map(i=>i.value);r(o);}else r(e.value);}):Re(e)&&E(e,"input",()=>{r(e.value);});}function kt(e,t,n,r){if(!e)return;let o=N();if(!o)return;let i=[],s=signals.effect(()=>{let a=shared.isFunction(t)?t():t,c=shared.coerceArray(a).map(T);i=He(e,i,c,n);});o.cleanup.add(()=>{s(),r!=null&&r.preserveOnCleanup||i.forEach(a=>b(a)),i.length=0;});}function ue(e,t){let n=t.length,r=new Array(n),o=new Set(t),i=1,s=0,a=c=>{if(c.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){if(o.has(i)&&(r[s++]=c,s===n))return true;i++;}let u=c.firstChild;for(;u;){if(a(u))return true;u=u.nextSibling;}return false};return a(e),r}var $e;$e="normal";var W=class{constructor(t,n){this.component=t;this.props=n;this.renderedNode=null;this.componentContext=null;this.parentNode=null;this.beforeNode=null;this.reactiveProps={};this._propSnapshots={};this.state=0;this.context=null;this.parentContext=null;this[$e]=true;if(this.key=n!=null&&n.key?se(n.key):ke(t),this.reactiveProps=signals.shallowReactive(H({},this.props||{})),this.parentContext=N(),this.props)for(let r in this.props){let o=this.props[r];shared.isObject(o)&&o!==null&&(this._propSnapshots[r]=Array.isArray(o)?[...o]:H({},o));}}get isConnected(){return this.state===2}get firstChild(){var t;return (t=this.renderedNode)!=null?t:null}mount(t,n){if(this.parentNode=t,this.beforeNode=n||null,this.state=1,this.renderedNode)return p(t,this.renderedNode,n),this.renderedNode;this.componentContext=Ae(this.parentContext),M(this.componentContext);let r=this.component(this.reactiveProps);return shared.isFunction(r)&&(r=r(this.reactiveProps)),(signals.isSignal(r)||signals.isComputed(r))&&(r=r.value),this.renderedNode=r,p(t,this.renderedNode,n),this.applyProps(this.props||{}),this.state=2,this.componentContext&&(this.componentContext.isMount=true),$(v.mount),this.renderedNode}update(t){if(this.key!==t.key)return this.mount(t.parentNode,t.beforeNode),this;if(this.parentNode=t.parentNode,this.beforeNode=t.beforeNode,this.componentContext=t.componentContext,this.renderedNode=t.renderedNode,this.state=t.state,this.reactiveProps=t.reactiveProps,this._propSnapshots=t._propSnapshots,this.props)for(let n in this.props){if(n==="key")continue;let r=this.props[n],o=this.reactiveProps[n];if(shared.isObject(r)&&r!==null){let i=this._propSnapshots[n];if(!i||!we(r,i)){let s=Array.isArray(r)?r.slice():Object.assign({},r);this.reactiveProps[n]=s,this._propSnapshots[n]=s;}}else shared.hasChanged(r,o)&&(this.reactiveProps[n]=r,this._propSnapshots[n]&&delete this._propSnapshots[n]);}return !this.isConnected&&this.parentNode&&this.mount(this.parentNode,this.beforeNode),this.componentContext&&(M(this.componentContext),this.applyProps(this.props||{}),$(v.update),Y()),this}forceUpdate(){return K(this,null,function*(){if(this.state===5||!this.parentNode||!this.componentContext)return;let t=this.renderedNode,n;try{this.componentContext&&M(this.componentContext),n=this.component(this.reactiveProps),shared.isFunction(n)&&(n=n(this.reactiveProps)),(signals.isSignal(n)||signals.isComputed(n))&&(n=n.value),t&&n&&t!==n&&this.parentNode&&(z(this.parentNode,n,t),this.renderedNode=n),yield $(v.update);}catch(r){throw shared.error("Force update failed:",r),r}finally{this.componentContext&&Y();}})}destroy(){if(this.state===4||this.state===5)return;this.state=4;let t=this.componentContext;t&&(M(t),$(v.destroy),Q(t),this.componentContext=null,Y());let n=this.renderedNode;n&&b(n),this.renderedNode=null,this.parentNode=null,this.beforeNode=null,this.reactiveProps={},this.props=void 0,this.state=5;}applyProps(t){if(t){for(let[n,r]of Object.entries(t))if(shared.startsWith(n,"on")&&this.renderedNode){let o=n.slice(2).toLowerCase();shared.isHTMLElement(this.renderedNode)&&E(this.renderedNode,o,r);}else n==="ref"&&signals.isSignal(r)&&(r.value=this.renderedNode);this.props=t;}}};function m(e){return !!e&&!!e.normal}function j(e,t){return m(e)?e:new W(e,t)}function fe(e){let t,n=()=>{let r=document.createElement("template");r.innerHTML=e;let o=r.content.firstChild;if(!o)throw new Error("Invalid template: empty content");return o};return ()=>(t||(t=n())).cloneNode(true)}function It(e,t){let n=shared.isString(t)?document.querySelector(t):t;if(!n){shared.error(`Target element not found: ${t}`);return}n.innerHTML&&(shared.error(`Target element is not empty, it will be delete: ${t}`),n.innerHTML="");let o=j(e);return o.mount(n),o}function de(e,t){let n=N();if(!n){shared.error("provide must be called within a template");return}n.provides.set(e,t);}function me(e,t){let n=N();if(!n)return shared.error("inject must be called within a template"),t;let r=n;for(;r;){let o=r.provides.get(e);if(!shared.isNil(o))return o;r=r.parent;}return t}function Ft(e){let t=e.target,n=`${e.type}`,r=e.target,o=e.currentTarget,i=c=>Object.defineProperty(e,"target",{configurable:true,value:c}),s=()=>{let c=t[`_$${n}`];if(c&&shared.isFunction(c)&&!t.disabled){let u=t[`${n}Data`];if(u?c.call(t,u,e):c.call(t,e),e.cancelBubble)return false}return t.host&&!shared.isString(t.host)&&!t.host._$host&&shared.isFunction(t.contains)&&t.contains(e.target)&&i(t.host),true},a=()=>{for(;s()&&(t=t._$host||t.parentNode||t.host););};if(Object.defineProperty(e,"currentTarget",{configurable:true,get(){return t||document}}),e.composedPath){let c=e.composedPath();i(c[0]);for(let u=0;u<c.length-2&&(t=c[u],!!s());u++){if(t._$host){t=t._$host,a();break}if(t.parentNode===o)break}}else a();i(r);}var Ue=Symbol("_$EVENTS");function Mt(e,t=window.document){let n=t,r=n[Ue]||(n[Ue]=new Set);for(let o of e)r.has(o)||(r.add(o),t.addEventListener(o,Ft));}function zt(e,t,n,r=false){if(t===n)return;let o=q(n),i=q(t);o&&i===o||(o?r?e.setAttribute("class",o):e.className=o:e.removeAttribute("class"));}function q(e){if(e==null)return "";if(typeof e=="string")return e.trim();if(shared.isArray(e))return e.map(q).filter(Boolean).join(" ");if(shared.isObject(e)){let t=[];for(let n in e)e[n]&&t.push(n);return t.join(" ")}return String(e).trim()}var Ye=/\s*!important$/,Yt=["Webkit","Moz","ms"],pe={};function Xt(e,t,n){let r=e.style,o=shared.isString(n);if(n&&o){t!==n&&(r.cssText=n);return}if(!n){t&&e.removeAttribute("style");return}if(t&&!shared.isString(t))for(let i in t)(!n||n[i]==null)&&U(r,i,"");else if(t&&shared.isString(t)){let i=t.split(";");for(let s of i){let a=s.indexOf(":");if(a>0){let c=s.slice(0,a).trim();n&&shared.isObject(n)&&n[c]==null&&U(r,c,"");}}}if(n&&!shared.isString(n))for(let i in n){let s=n[i];(!t||shared.isString(t)||t[i]!==s)&&s!=null&&U(r,i,s);}}function U(e,t,n){if(shared.isArray(n)){for(let o of n)U(e,t,o);return}if((n==null||n==="")&&(n=""),t.startsWith("--")){e.setProperty(t,n);return}let r=Wt(e,t);typeof n=="string"&&Ye.test(n)?e.setProperty(shared.camelCase(r),n.replace(Ye,""),"important"):e[r]=n;}function Wt(e,t){let n=pe[t];if(n)return n;let r=shared.camelCase(t);if(r!=="filter"&&r in e)return pe[t]=r;r=shared.capitalize(r);for(let o of Yt){let i=o+r;if(i in e)return pe[t]=i}return t}function Zt(e,t,n,r){if(t==="ref"){n.value=e;return}if(t==="key"){r==null?O(e,void 0):O(e,String(r));return}let o=(e==null?void 0:e.namespaceURI)===Ce,i=o&&t.startsWith("xlink:"),s=o&&t.startsWith("xmlns:"),a=shared.isSpecialBooleanAttr(t)||shared.isBooleanAttr(t);if(n===r)return;let c=t.toLowerCase();if(/^on[a-z]+/.test(c)||c==="innerhtml")return;if(r==null){if(i)e.removeAttributeNS(ne,t.slice(6));else if(s){let l=t.slice(6);e.removeAttributeNS(re,l);}else e.removeAttribute(t);return}if(i){e.setAttributeNS(ne,t,String(r));return}if(s){e.setAttributeNS(re,t,String(r));return}if(a){shared.includeBooleanAttr(r)?e.setAttribute(t,""):e.removeAttribute(t);return}let u=shared.isSymbol(r)?String(r):r;if((c==="href"||c==="src"||c==="xlink:href")&&typeof u=="string"){let l=u.trim().toLowerCase();if(l.startsWith("javascript:")||l.startsWith("data:"))return}if(o)e.setAttribute(t,String(u));else if(t in e)try{e[t]=u;}catch(l){e.setAttribute(t,String(u));}else e.setAttribute(t,String(u));}function en(e,t,n,r){if(!(r!=null&&r.delegate))return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r);let o=r.delegate,i=a=>{let c=a.target;(c.matches(o)||c.closest(o))&&n.call(e,a);},s=H({},r);return s.delegate=void 0,e.addEventListener(t,i,s),()=>{e.removeEventListener(t,i,s);}}function tn(e){if(typeof document=="undefined"){let r=e.children;return r?(Array.isArray(r)?r:[r]).map(i=>String(i||"")).join(""):""}let t=document.createDocumentFragment(),n=e.children;return n&&(Array.isArray(n)?n:[n]).forEach(o=>{if(o!=null){let i=T(o);i&&p(t,i);}}),t}tn.fragment=true;function Zr(e){return !!e&&!!e.fragment}function rn(e){if(typeof document=="undefined"){let n=e.children;return n?(shared.isArray(n)?n:[n]).map(o=>String(o||"")).join(""):""}let t=document.createComment("portal");return t.portal=true,ee(()=>{let n=shared.isString(e.target)?document.querySelector(e.target):e.target;if(!n)return;let r=e.children;r&&(shared.isArray(r)?r:[r]).forEach(i=>{if(i!=null){let s=T(i);s&&p(n,s);}});}),t}rn.portal=true;function so(e){return !!e&&!!e.portal}var he=Symbol("SuspenseContext");function cn(e){if(shared.isUndefined(document)){let l=e.fallback;return l?String(l||""):""}let t=document.createElement("div");t.style.display="contents";let n=true,r=0,o=false,i=null,s=()=>{if(!o){for(o=true;t.firstChild;)t.removeChild(t.firstChild);if(e.fallback!=null){let l=T(e.fallback);l&&p(t,l);}}},a=()=>{if(!(!o||!(i||e.children!=null&&!shared.isPromise(e.children)))){for(o=false;t.firstChild;)t.removeChild(t.firstChild);i?c(i):e.children!=null&&!shared.isPromise(e.children)&&c(e.children);}},c=l=>{for(;t.firstChild;)t.removeChild(t.firstChild);if(l==null)return;let h=N();if((shared.isArray(l)?l:[l]).forEach(A=>{if(A!=null){m(A)&&(A.parentContext=h);let I=T(A);I&&p(t,I);}}),o){for(;t.firstChild;)t.removeChild(t.firstChild);if(e.fallback!=null){let A=T(e.fallback);A&&p(t,A);}}},u={register:l=>{r++,s(),l.then(()=>{n&&(r--,r===0&&a());}).catch(h=>{n&&(r--,r===0&&a());});},increment:()=>{r++,s();},decrement:()=>{r--,r===0&&a();}};de(he,u);let f=e.children;return shared.isPromise(f)?(f.then(l=>{i=l;}).catch(()=>{}),u.register(f)):f!=null?c(f):s(),te(()=>{for(n=false;t.firstChild;)t.removeChild(t.firstChild);}),t}cn.suspense=true;function go(e){return !!e&&!!e.suspense}function Co(e,t){let n=signals.signal(t==null?void 0:t.initialValue),r=signals.signal(true),o=signals.signal(null),i=signals.signal("pending"),s=0,a=null,c=()=>K(null,null,function*(){let l=++s;r.value=true,i.value="pending",o.value=null;let h=e();a=h.then(()=>{});try{let y=yield h;l===s&&(n.value=y,i.value="ready",r.value=!1);}catch(y){l===s&&(o.value=y instanceof Error?y:new Error(String(y)),i.value="errored",r.value=false);}});c();let u=(()=>{if(r.value&&a){let l=me(he,null);l&&l.register(a);}return n.value});return u.loading=r,u.error=o,u.state=i,[u,{mutate:l=>{n.value=l,i.value="ready",r.value=false,o.value=null;},refetch:()=>K(null,null,function*(){yield c();})}]}var qe=0;function ge(){return `${qe++}`}function V(){qe=0;}function xe(){}function w(e,t=false){return shared.isNil(e)?"":shared.isString(e)?e:shared.isArray(e)?e.map(n=>w(n,t)).join(""):shared.isFunction(e)?w(e(),t):String(e)}function Je(e,t){let n=/^<([a-z]+)(\s*)([^>]*)>/i,r=/data-idx="(\d+)"/g,o=/<!--(.*?)-->/g;return e.replace(n,`<$1$2$3 data-hk="${t}">`).replaceAll(r,`data-idx="${t}-$1"`).replaceAll(o,`<!--${t}-$1-->`)}function dn(e,t){if(!shared.isFunction(e))return shared.error("Component must be a function"),"";V();let n=e(t);return w(n)}function mn(e,t,...n){let r="",o=0;for(let s of e)if(r+=s,o<n.length){let a=n[o++];a&&(r+=w(a));}return Je(r,t)}function pn(e,t={}){if(!shared.isFunction(e))return shared.error("create ssg component: Component is not a function"),"";let n=e(t);return w(n)}function nt(e){if(shared.isArray(e)){let t={};for(let n of e){let r=shared.isString(n)?An(n):nt(n);if(r)for(let o in r)t[o]=r[o];}return t}if(shared.isString(e)||shared.isObject(e))return e}var Nn=/;(?![^(]*\))/g,Sn=/:([\s\S]+)/,En=/\/\*[\s\S]*?\*\//g;function An(e){let t={};return e.replaceAll(En,"").split(Nn).forEach(n=>{if(n){let r=n.split(Sn);r.length>1&&(t[r[0].trim()]=r[1].trim());}}),t}function Cn(e){if(!e)return "";if(shared.isString(e))return e;let t="";for(let n in e){let r=e[n];if(shared.isString(r)||shared.isNumber(r)){let o=n.startsWith("--")?n:shared.kebabCase(n);t+=`${o}:${r};`;}}return t}function rt(e){let t="";if(shared.isString(e))t=e;else if(shared.isArray(e))for(let n of e){let r=rt(n);r&&(t+=`${r} `);}else if(shared.isObject(e))for(let n in e)e[n]&&(t+=`${n} `);return t.trim()}function ot(e,t,n){if(signals.isSignal(t)||signals.isComputed(t))return ot(e,t.value);if(!t&&t!==0)return "";if(e==="style"){let r=nt(t);return r?shared.isString(r)?` style="${r}"`:` style="${Cn(r)}"`:""}if(e==="class"){let r=rt(t);return r?` class="${r}"`:""}return e.startsWith("on")?"":t===true?` ${e}`:` ${e}="${t}"`}function bn(e){return ()=>{let t=ge();return document.querySelector(`[data-hk="${t}"]`)||fe(e)()}}function Tn(e,t){let n=e.dataset.hk;if(!n)return ue(e,t);let r=[],o=e.querySelectorAll(`[data-idx^="${n}"]`);o.length>0&&r.push(...Array.from(o).filter(c=>{let u=c.dataset.idx;return u!==null&&oe.test(u)}).map(c=>{let u=c.dataset.idx||"",[f,l]=u.split("-");return {hk:f,idx:l,node:c}}));let i=[],s=c=>{if(c.nodeType===Node.COMMENT_NODE&&c.textContent&&oe.test(c.textContent)){let[f,l]=c.textContent.split("-");i.push({hk:f,idx:l,node:c});}let u=c.firstChild;for(;u;)s(u),u=u.nextSibling;};s(e),r.push(...i);let a=[e];return t.forEach(c=>{let u=r.find(f=>f.idx===String(c));u&&a.push(u.node);}),a}function kn(e,t,n={}){V();try{let r=shared.isString(t)?document.querySelector(t):t;if(!r){shared.error("Hydration error: Root element not found");return}let o=j(e,n);return o.mount(r),xe(),o}catch(r){shared.error("Hydration error:",r);return}}
7
+ Object.defineProperty(exports,"escapeHTML",{enumerable:true,get:function(){return shared.escapeHTML}});exports.Component=W;exports.Fragment=tn;exports.Portal=rn;exports.Suspense=cn;exports.SuspenseContext=he;exports.addEvent=en;exports.addEventListener=E;exports.bindElement=Tt;exports.createApp=It;exports.createComponent=j;exports.createResource=Co;exports.createSSGComponent=pn;exports.delegateEvents=Mt;exports.getHydrationKey=ge;exports.getRenderedElement=bn;exports.hydrate=kn;exports.inject=me;exports.insert=kt;exports.isComponent=m;exports.isFragment=Zr;exports.isPortal=so;exports.isSuspense=go;exports.mapNodes=ue;exports.mapSSRNodes=Tn;exports.normalizeClass=q;exports.onDestroy=te;exports.onMount=ee;exports.onUpdate=dt;exports.patchAttr=Zt;exports.patchClass=zt;exports.patchStyle=Xt;exports.provide=de;exports.render=mn;exports.renderToString=dn;exports.setSSGAttr=ot;exports.setStyle=U;exports.template=fe;//# sourceMappingURL=template.cjs.js.map
7
8
  //# sourceMappingURL=template.cjs.js.map