@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 +14 -0
- package/dist/template.cjs.js +4 -3
- package/dist/template.cjs.js.map +1 -1
- package/dist/template.d.cts +598 -271
- package/dist/template.d.ts +598 -271
- package/dist/template.dev.cjs.js +1669 -810
- package/dist/template.dev.esm.js +1637 -805
- package/dist/template.esm.js +4 -3
- package/dist/template.esm.js.map +1 -1
- package/package.json +5 -5
- package/types/component.d.ts +2 -2
- package/types/jsx.d.ts +149 -122
- package/types/node.d.ts +3 -3
package/dist/template.esm.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
* @estjs/template v0.0.
|
|
1
|
+
import {isObject,isFunction,hasChanged,startsWith,isHTMLElement,isString,error,isNil,isArray,camelCase,capitalize,isSpecialBooleanAttr,isBooleanAttr,includeBooleanAttr,isSymbol,isUndefined,isPromise,coerceArray,isFalsy,isNumber,isPrimitive,kebabCase}from'@estjs/shared';export{escapeHTML}from'@estjs/shared';import {shallowReactive,isSignal,isComputed,signal,effect}from'@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 P="on",L="update",N="children",O="",R="0",q="1";var _="ref",$=" __PLACEHOLDER__ ";var J=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 J,W=new Map;function Q(o,t){W.set(o,{index:t});}function Z(o){var t;return (t=W.get(o))==null?void 0:t.index}var v=class v{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 v.context[t]}setContext(t,e){v.context[t]=e;}initRef(){v.ref=this;}removeRef(){v.ref=null;}clearHooks(){Object.values(this.hooks).forEach(t=>t.clear());}};v.ref=null,v.context={};var u=v;function I(o){return o instanceof C}var b=1,C=class extends u{constructor(e,n={},r){super();this.template=e;this.props=n;this.key=r;Q(e,b),this.templates=this.processTemplate();}processTemplate(){if(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="${b}"${l||""}>`):i&&i.replace($,"").trim()?`<!--0-${b}-->${i}<!$>`:n)}mount(){this.initRef();let e=this.render();return this.removeRef(),e}render(){if(isFunction(this.template)){let e=this.template(this.props);return I(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||isFunction(r)?delete e[n]:isSignal(r)&&(e[n]=r.value);});}generateAttributes(e){return Object.entries(e).filter(([n,r])=>n!==N&&!isFunction(r)).map(([n,r])=>`${n}="${escape(String(r))}"`).join(" ")}renderChildren(e,n){e.forEach(([r])=>{b++;let i=this.renderChild(r);this.templates[n]+=i;});}renderChild(e){if(isFunction(e))return this.renderChild(e(this.props));if(isSignal(e))return `<!--1-${b}-->${e.value}<!$>`;if(I(e)){let n=e.mount();return isFunction(n)?n(this.props):j(n)}else return `<!--1-${b}-->${e}<!$>`}};var ne="area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr".split(",");function V(o){if(f(o)||o instanceof Node||I(o))return o;let t=isFalsy(o)?"":String(o);return document.createTextNode(t)}function T(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 S(o){f(o)?o.unmount():o.parentNode&&o.remove();}function Y(o,t,e){T(o,t,e),S(e);}function U(o,t,e){t==="class"?Ee(o,e):t==="style"?Te(o,e):ve(o,t,e);}function Ee(o,t){typeof t=="string"?o.className=t:isArray(t)?o.className=t.join(" "):t&&typeof t=="object"&&(o.className=Object.entries(t).reduce((e,[n,r])=>e+(r?` ${n}`:""),"").trim());}function Te(o,t){typeof t=="string"?o.style.cssText=t:t&&typeof t=="object"&&Object.entries(t).forEach(([n,r])=>{o.style.setProperty(kebabCase(n),String(r));});}function ve(o,t,e){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 oe(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 re(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 ne.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 ie(o){return ne.includes(o)?`<${o}/>`:`<${o}></${o}>`}function j(o){return isSignal(o)?o.value:o}var M=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?signalObject(e,n=>startsWith(n,P)||startsWith(n,L)||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(!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(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))startsWith(r,P)&&((n=this.rootNode)!=null&&n.firstChild)?this.patchEventListener(r,i):r===_?this.patchRef(i):startsWith(r,L)?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]=j(n);}patchNormalProp(e,n){var s,a;let r=(a=(s=this.proxyProps)[e])!=null?a:s[e]=useSignal(n),i=this.getNodeTrack(e);i.cleanup=useEffect(()=>{r.value=isFunction(n)?n():n;});}};function ae(o,t,e,n){let r=new Map,i=Array.from(t.values());if(i.length&&e.length===0)return Ce(o,i,n),r;let s=[],a=ke(e),l=0;for(let[c,d]of e.entries()){let p=i[l],x=y(p,c);for(;p&&!a.has(x);)S(p),t.delete(x),p=i[++l],x=y(p,c);let B=y(d,c),G=t.get(B);if(G&&(d=Me(o,G,d)),p)if(p===G)l++;else {let z=document.createComment("");T(o,z,p),s.push([z,d]);}else T(o,d,n);r.set(B,d);}return s.forEach(([c,d])=>{Y(o,d,c);}),t.forEach((c,d)=>{c.isConnected&&!r.has(d)&&S(c);}),r}function Ce(o,t,e){if(o.childNodes.length===t.length+(e?1:0))o.innerHTML="",e&&T(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 Me(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):(Y(o,e,t),e)}function ke(o){let t=new Map;for(let[e,n]of o.entries()){let r=y(n,e);t.set(r,n);}return t}function y(o,t){if(f(o)){let e=o.key;if(e!=null)return String(e)}return `_$${t}$`}var k=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=Z(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=>T(t,s,e)),this.nodes;isArray(this.template)&&(this.template=H(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),T(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=>S(n)),!this.template.innerHTML&&!this.nodes.length){let n=(e=(t=this.props)==null?void 0:t[R])==null?void 0:e.children;n&&(isArray(n)?n.forEach(r=>{this.deleteFragmentTextNode(r);}):this.deleteFragmentTextNode(n));}this.nodes=[],this.mounted=!1;}deleteFragmentTextNode(t){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);}):S(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===_)n[i].value=e;else if(startsWith(i,P))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=`${L}${capitalize(n)}`;if(r&&t[r]&&isFunction(t[r]))return this.bindValueKeys.push(r),t[r]}patchChildren(t,e,n,r){if(isArray(n))n.filter(Boolean).forEach((i,s)=>{var x;let[a,l]=isArray(i)?i:[i,null],c=isNil(l)?null:(x=this.treeMap.get(l))!=null?x: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=isFunction(r)?r():r,l=isSignal(a)?a:shallowSignal(a);U(e,n,l.value);let c=useEffect(()=>{let p=isFunction(r)?r():r;isPlainObject(p)&&isPlainObject(l.peek())&&JSON.stringify(l.value)===JSON.stringify(p)||(l.value=isSignal(p)?p.value:p,U(e,n,l.value));}),d;i&&isHTMLElement(e)&&(d=oe(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){isFunction(n)?t.cleanup=useEffect(()=>{let i=coerceArray(n()).map(V);m.isSSR?t.lastNodes=this.reconcileChildren(e,i,r):t.lastNodes=ae(e,t.lastNodes,i,r);}):coerceArray(n).forEach((i,s)=>{let a=V(i),l=y(a,s);m.isSSR?t.lastNodes=this.reconcileChildren(e,[a],r):(t.lastNodes.set(l,a),T(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=y(s,a);s.nodeType===Node.TEXT_NODE?i.forEach(c=>{s.textContent===c.textContent&&t.replaceChild(s,c);}):T(t,s,n),r.set(l,s);}),r}};function A(o,t,e){if(isString(o)){let n=o===O,r=n?O:ie(o);return t={[n?R:q]:t},new k(H(r),t,e)}return isFunction(o)?new M(o,t,e):new k(o,t,e)}function Ie(o){return o instanceof M}function f(o){return o instanceof M||o instanceof k}function H(o){let t=document.createElement("template");return t.innerHTML=re(o),t}function je(o){return A(H(O),{[R]:{children:isArray(o.children)?o.children.filter(Boolean):[o.children]}})}function Xe(o){u.ref&&u.ref.addHook("mounted",o);}function De(o){u.ref&&u.ref.addHook("destroy",o);}function Fe(o,t){u.ref&&u.ref.setContext(o,t);}function Ge(o,t){var e;return (e=u.ref&&u.ref.getContext(o))!=null?e:t}function Je(){return shallowSignal(null)}function Ve(o,t){m.setSSG();let n=new C(o,t||{}).mount();return m.setClient(),n}function Ye(o,t){let e=typeof t=="string"?document.querySelector(t):t;if(!e)throw new Error(`Could not find container: ${t}`);m.setSSR(),A(o).mount(e),m.setClient();}function Ue(o,t){return m.isSSG?new C(o,t):A(o,t)}export{je as Fragment,A as h,Ye as hydrate,Ie as isComponent,f as isJsxElement,De as onDestroy,Xe as onMount,Ve as renderToString,Ue as ssg,H as template,Ge as useInject,Fe as useProvide,Je as useRef};//# sourceMappingURL=template.esm.js.map
|
|
6
|
+
var ct=Object.defineProperty;var Se=Object.getOwnPropertySymbols;var at=Object.prototype.hasOwnProperty,ut=Object.prototype.propertyIsEnumerable;var Ee=(e,t,n)=>t in e?ct(e,t,{enumerable:true,configurable:true,writable:true,value:n}):e[t]=n,K=(e,t)=>{for(var n in t||(t={}))at.call(t,n)&&Ee(e,n,t[n]);if(Se)for(var n of Se(t))ut.call(t,n)&&Ee(e,n,t[n]);return e};var F=(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 M=null,Ae=[],ft=0;function Ce(e=null){let t={id:++ft,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 S(){return M}function $(e){M&&Ae.push(M),M=e;}function X(){M=Ae.pop()||null;}function Z(e){if(!e||e.isDestroy)return;Array.from(e.children).forEach(Z),dt(e);}function dt(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){error("Error during context cleanup:",t);}e.isDestroy=true;}}var b={mount:"mount",destroy:"destroy",update:"update"};function ee(e,t){let n=S();if(!n){error(`Cannot register ${e} hook outside component context`);return}if(!b[e]){error(`Invalid lifecycle type: ${e}`);return}if(e===b.mount&&n.isMount){try{t();}catch(r){error(`Error in ${e} hook:`,r);}return}n[e].add(t);}function O(e){let t=S();if(!t){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 te(e){ee(b.mount,e);}function ne(e){ee(b.destroy,e);}function mt(e){ee(b.update,e);}var ve="http://www.w3.org/2000/svg",re="http://www.w3.org/2000/xlink",oe="http://www.w3.org/2000/xmlns/",ie=/^\d+-\d+$/;var be=1e3,Te=new WeakMap;function Le(e){let t=Te.get(e);if(!t){let n=e.name||"anonymous",r=_e(e.toString()).toString(36);t=`${n}_${r}`,Te.set(e,t);}return t}function _e(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 gt=0;function ce(e){if(!isFalsy(e)){if(isString(e))return e.length<=be?e:`${e.slice(0,be-10)}_${_e(e).toString(36)}`;if(isNumber(e))return String(e);if(isSymbol(e)){let t=Symbol.keyFor(e);if(t)return `_s.${t}`;let n=e.description;return n?`_s.${n}`:`${gt++}`}return String(e)}}var se=Symbol("essor.key");function z(e,t){if(p(e)||!e||e.nodeType===Node.DOCUMENT_NODE)return;let n=ce(t);isFalsy(n)?delete e[se]:e[se]=n;}function L(e){if(e)return p(e)?e.key:e[se]}function T(e){if(e)try{if(p(e))e.destroy();else {let t=e;t.parentElement&&t.remove();}}catch(t){error("Failed to remove node:",t);}}function y(e,t,n=null){if(!(!e||!t))try{let r=p(n)?n.firstChild:n;if(p(t)){t.mount(e,r);return}r?e.insertBefore(t,r):e.appendChild(t);}catch(r){error("Failed to insert node:",r);}}function j(e,t,n){if(!(!e||!t||!n||t===n))try{y(e,t,n),T(n);}catch(r){error("Failed to replace node:",r);}}function w(e){return e?p(e)?e.firstChild:e:null}function _(e,t){let n=L(e),r=L(t);if(n!==r)return false;let o=p(e),i=p(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 k(e){if(isHTMLElement(e))return e;if(isPrimitive(e)){let t=isFalsy(e)?"":String(e);return document.createTextNode(t)}return e}function Pe(e){return e instanceof HTMLInputElement}function Re(e){return e instanceof HTMLSelectElement}function we(e){return e instanceof HTMLTextAreaElement}function ue(e){return e instanceof Text}function De(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 He(e,t){if(p(e)||p(t))return;let n=L(e);n&&!L(t)&&z(t,n);}function P(e,t,n){if(n===t)return t;let r=isHTMLElement(t);if(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 He(t,n),t}}if(ue(t)&&ue(n))return t.textContent!==n.textContent&&(t.textContent=n.textContent),He(t,n),t;let i=p(t),s=p(n);return i&&s&&t.component===n.component?n.update(t):(j(e,n,t),n)}function Ke(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++)y(s,n[a]);return y(e,s,r),n}if(i===0){for(let s=0;s<o;s++)T(t[s]);return []}if(o===1&&i===1){let s=t[0],a=n[0];return _(s,a)?(P(e,s,a),n[0]=s):j(e,a,s),n}if(o===2&&i===2){let s=t[0],a=t[1],c=n[0],u=n[1];if(_(s,c)&&_(a,u))return P(e,s,c),P(e,a,u),n[0]=s,n[1]=a,n;if(_(s,u)&&_(a,c)){P(e,s,u),P(e,a,c);let f=w(a),l=w(s);return f&&l&&f.parentNode===e&&e.insertBefore(f,l),n[0]=a,n[1]=s,n}}return Et(e,t,n,r)}function Et(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(_(c,f))P(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(_(u,l))P(e,u,l),n[a]=u,u=t[--s],l=n[--a];else break;if(o>s){if(i<=a){let g=a+1<n.length?w(n[a+1]):r;for(let h=i;h<=a;h++)y(e,n[h],g);}}else if(i>a)for(let g=o;g<=s;g++){let h=t[g];h&&T(h);}else At(e,t,n,o,s,i,a,r);return n}function At(e,t,n,r,o,i,s,a){let c=s-i+1,u=n.length,f;for(let x=i;x<=s;x++){let N=L(n[x]);N!==void 0&&(f||(f=Object.create(null)),f[N]=x);}let l=new Int32Array(c),g=false,h=0,C=0;for(let x=r;x<=o;x++){let N=t[x];if(!N)continue;if(C>=c){T(N);continue}let E,R=L(N);if(R!==void 0&&f&&R in f)E=f[R];else for(let v=i;v<=s;v++)if(l[v-i]===0&&R===void 0&&L(n[v])===void 0&&_(N,n[v])){E=v;break}E===void 0?T(N):(l[E-i]=x+1,E>=h?h=E:g=true,P(e,N,n[E]),n[E]=N,C++);}let H=g?Ct(l):[],Q=H.length-1;for(let x=c-1;x>=0;x--){let N=i+x,E=n[N],R=N+1<u?w(n[N+1]):a;if(l[x]===0)y(e,E,R);else if(g)if(Q<0||x!==H[Q]){let v=w(E);v&&v.parentNode===e&&y(e,v,R);}else Q--;}}function Ct(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 A(e,t,n,r){e.addEventListener(t,n,r);let o=S();o&&o.cleanup.add(()=>{e.removeEventListener(t,n,r);});}function kt(e,t,n,r){if(Pe(e))switch(e.type){case "checkbox":A(e,"change",()=>{r(!!e.checked);});break;case "radio":A(e,"change",()=>{r(e.checked?e.value:"");});break;case "file":A(e,"change",()=>{r(e.files);});break;case "number":case "range":A(e,"input",()=>{r(e.value||"");});break;case "date":case "datetime-local":case "month":case "time":case "week":A(e,"change",()=>{r(e.value||"");});break;default:A(e,"input",()=>{r(e.value);});break}else Re(e)?A(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);}):we(e)&&A(e,"input",()=>{r(e.value);});}function Lt(e,t,n,r){if(!e)return;let o=S();if(!o)return;let i=[],s=effect(()=>{let a=isFunction(t)?t():t,c=coerceArray(a).map(k);i=Ke(e,i,c,n);});o.cleanup.add(()=>{s(),r!=null&&r.preserveOnCleanup||i.forEach(a=>T(a)),i.length=0;});}function le(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 Oe;Oe="normal";var q=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[Oe]=true;if(this.key=n!=null&&n.key?ce(n.key):Le(t),this.reactiveProps=shallowReactive(K({},this.props||{})),this.parentContext=S(),this.props)for(let r in this.props){let o=this.props[r];isObject(o)&&o!==null&&(this._propSnapshots[r]=Array.isArray(o)?[...o]:K({},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 y(t,this.renderedNode,n),this.renderedNode;this.componentContext=Ce(this.parentContext),$(this.componentContext);let r=this.component(this.reactiveProps);return isFunction(r)&&(r=r(this.reactiveProps)),(isSignal(r)||isComputed(r))&&(r=r.value),this.renderedNode=r,y(t,this.renderedNode,n),this.applyProps(this.props||{}),this.state=2,this.componentContext&&(this.componentContext.isMount=true),O(b.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(isObject(r)&&r!==null){let i=this._propSnapshots[n];if(!i||!De(r,i)){let s=Array.isArray(r)?r.slice():Object.assign({},r);this.reactiveProps[n]=s,this._propSnapshots[n]=s;}}else 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&&($(this.componentContext),this.applyProps(this.props||{}),O(b.update),X()),this}forceUpdate(){return F(this,null,function*(){if(this.state===5||!this.parentNode||!this.componentContext)return;let t=this.renderedNode,n;try{this.componentContext&&$(this.componentContext),n=this.component(this.reactiveProps),isFunction(n)&&(n=n(this.reactiveProps)),(isSignal(n)||isComputed(n))&&(n=n.value),t&&n&&t!==n&&this.parentNode&&(j(this.parentNode,n,t),this.renderedNode=n),yield O(b.update);}catch(r){throw error("Force update failed:",r),r}finally{this.componentContext&&X();}})}destroy(){if(this.state===4||this.state===5)return;this.state=4;let t=this.componentContext;t&&($(t),O(b.destroy),Z(t),this.componentContext=null,X());let n=this.renderedNode;n&&T(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(startsWith(n,"on")&&this.renderedNode){let o=n.slice(2).toLowerCase();isHTMLElement(this.renderedNode)&&A(this.renderedNode,o,r);}else n==="ref"&&isSignal(r)&&(r.value=this.renderedNode);this.props=t;}}};function p(e){return !!e&&!!e.normal}function G(e,t){return p(e)?e:new q(e,t)}function de(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 Ht(e,t){let n=isString(t)?document.querySelector(t):t;if(!n){error(`Target element not found: ${t}`);return}n.innerHTML&&(error(`Target element is not empty, it will be delete: ${t}`),n.innerHTML="");let o=G(e);return o.mount(n),o}function me(e,t){let n=S();if(!n){error("provide must be called within a template");return}n.provides.set(e,t);}function pe(e,t){let n=S();if(!n)return error("inject must be called within a template"),t;let r=n;for(;r;){let o=r.provides.get(e);if(!isNil(o))return o;r=r.parent;}return t}function Mt(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&&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&&!isString(t.host)&&!t.host._$host&&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 Ye=Symbol("_$EVENTS");function $t(e,t=window.document){let n=t,r=n[Ye]||(n[Ye]=new Set);for(let o of e)r.has(o)||(r.add(o),t.addEventListener(o,Mt));}function jt(e,t,n,r=false){if(t===n)return;let o=B(n),i=B(t);o&&i===o||(o?r?e.setAttribute("class",o):e.className=o:e.removeAttribute("class"));}function B(e){if(e==null)return "";if(typeof e=="string")return e.trim();if(isArray(e))return e.map(B).filter(Boolean).join(" ");if(isObject(e)){let t=[];for(let n in e)e[n]&&t.push(n);return t.join(" ")}return String(e).trim()}var Xe=/\s*!important$/,Xt=["Webkit","Moz","ms"],ye={};function Wt(e,t,n){let r=e.style,o=isString(n);if(n&&o){t!==n&&(r.cssText=n);return}if(!n){t&&e.removeAttribute("style");return}if(t&&!isString(t))for(let i in t)(!n||n[i]==null)&&Y(r,i,"");else if(t&&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&&isObject(n)&&n[c]==null&&Y(r,c,"");}}}if(n&&!isString(n))for(let i in n){let s=n[i];(!t||isString(t)||t[i]!==s)&&s!=null&&Y(r,i,s);}}function Y(e,t,n){if(isArray(n)){for(let o of n)Y(e,t,o);return}if((n==null||n==="")&&(n=""),t.startsWith("--")){e.setProperty(t,n);return}let r=qt(e,t);typeof n=="string"&&Xe.test(n)?e.setProperty(camelCase(r),n.replace(Xe,""),"important"):e[r]=n;}function qt(e,t){let n=ye[t];if(n)return n;let r=camelCase(t);if(r!=="filter"&&r in e)return ye[t]=r;r=capitalize(r);for(let o of Xt){let i=o+r;if(i in e)return ye[t]=i}return t}function en(e,t,n,r){if(t==="ref"){n.value=e;return}if(t==="key"){r==null?z(e,void 0):z(e,String(r));return}let o=(e==null?void 0:e.namespaceURI)===ve,i=o&&t.startsWith("xlink:"),s=o&&t.startsWith("xmlns:"),a=isSpecialBooleanAttr(t)||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(re,t.slice(6));else if(s){let l=t.slice(6);e.removeAttributeNS(oe,l);}else e.removeAttribute(t);return}if(i){e.setAttributeNS(re,t,String(r));return}if(s){e.setAttributeNS(oe,t,String(r));return}if(a){includeBooleanAttr(r)?e.setAttribute(t,""):e.removeAttribute(t);return}let u=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 tn(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=K({},r);return s.delegate=void 0,e.addEventListener(t,i,s),()=>{e.removeEventListener(t,i,s);}}function nn(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=k(o);i&&y(t,i);}}),t}nn.fragment=true;function eo(e){return !!e&&!!e.fragment}function on(e){if(typeof document=="undefined"){let n=e.children;return n?(isArray(n)?n:[n]).map(o=>String(o||"")).join(""):""}let t=document.createComment("portal");return t.portal=true,te(()=>{let n=isString(e.target)?document.querySelector(e.target):e.target;if(!n)return;let r=e.children;r&&(isArray(r)?r:[r]).forEach(i=>{if(i!=null){let s=k(i);s&&y(n,s);}});}),t}on.portal=true;function co(e){return !!e&&!!e.portal}var ge=Symbol("SuspenseContext");function an(e){if(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=k(e.fallback);l&&y(t,l);}}},a=()=>{if(!(!o||!(i||e.children!=null&&!isPromise(e.children)))){for(o=false;t.firstChild;)t.removeChild(t.firstChild);i?c(i):e.children!=null&&!isPromise(e.children)&&c(e.children);}},c=l=>{for(;t.firstChild;)t.removeChild(t.firstChild);if(l==null)return;let g=S();if((isArray(l)?l:[l]).forEach(C=>{if(C!=null){p(C)&&(C.parentContext=g);let H=k(C);H&&y(t,H);}}),o){for(;t.firstChild;)t.removeChild(t.firstChild);if(e.fallback!=null){let C=k(e.fallback);C&&y(t,C);}}},u={register:l=>{r++,s(),l.then(()=>{n&&(r--,r===0&&a());}).catch(g=>{n&&(r--,r===0&&a());});},increment:()=>{r++,s();},decrement:()=>{r--,r===0&&a();}};me(ge,u);let f=e.children;return isPromise(f)?(f.then(l=>{i=l;}).catch(()=>{}),u.register(f)):f!=null?c(f):s(),ne(()=>{for(n=false;t.firstChild;)t.removeChild(t.firstChild);}),t}an.suspense=true;function xo(e){return !!e&&!!e.suspense}function vo(e,t){let n=signal(t==null?void 0:t.initialValue),r=signal(true),o=signal(null),i=signal("pending"),s=0,a=null,c=()=>F(null,null,function*(){let l=++s;r.value=true,i.value="pending",o.value=null;let g=e();a=g.then(()=>{});try{let h=yield g;l===s&&(n.value=h,i.value="ready",r.value=!1);}catch(h){l===s&&(o.value=h instanceof Error?h:new Error(String(h)),i.value="errored",r.value=false);}});c();let u=(()=>{if(r.value&&a){let l=pe(ge,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:()=>F(null,null,function*(){yield c();})}]}var Be=0;function xe(){return `${Be++}`}function J(){Be=0;}function Ne(){}function D(e,t=false){return isNil(e)?"":isString(e)?e:isArray(e)?e.map(n=>D(n,t)).join(""):isFunction(e)?D(e(),t):String(e)}function Qe(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 mn(e,t){if(!isFunction(e))return error("Component must be a function"),"";J();let n=e(t);return D(n)}function pn(e,t,...n){let r="",o=0;for(let s of e)if(r+=s,o<n.length){let a=n[o++];a&&(r+=D(a));}return Qe(r,t)}function yn(e,t={}){if(!isFunction(e))return error("create ssg component: Component is not a function"),"";let n=e(t);return D(n)}function rt(e){if(isArray(e)){let t={};for(let n of e){let r=isString(n)?Cn(n):rt(n);if(r)for(let o in r)t[o]=r[o];}return t}if(isString(e)||isObject(e))return e}var Sn=/;(?![^(]*\))/g,En=/:([\s\S]+)/,An=/\/\*[\s\S]*?\*\//g;function Cn(e){let t={};return e.replaceAll(An,"").split(Sn).forEach(n=>{if(n){let r=n.split(En);r.length>1&&(t[r[0].trim()]=r[1].trim());}}),t}function vn(e){if(!e)return "";if(isString(e))return e;let t="";for(let n in e){let r=e[n];if(isString(r)||isNumber(r)){let o=n.startsWith("--")?n:kebabCase(n);t+=`${o}:${r};`;}}return t}function ot(e){let t="";if(isString(e))t=e;else if(isArray(e))for(let n of e){let r=ot(n);r&&(t+=`${r} `);}else if(isObject(e))for(let n in e)e[n]&&(t+=`${n} `);return t.trim()}function it(e,t,n){if(isSignal(t)||isComputed(t))return it(e,t.value);if(!t&&t!==0)return "";if(e==="style"){let r=rt(t);return r?isString(r)?` style="${r}"`:` style="${vn(r)}"`:""}if(e==="class"){let r=ot(t);return r?` class="${r}"`:""}return e.startsWith("on")?"":t===true?` ${e}`:` ${e}="${t}"`}function Tn(e){return ()=>{let t=xe();return document.querySelector(`[data-hk="${t}"]`)||de(e)()}}function kn(e,t){let n=e.dataset.hk;if(!n)return le(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&&ie.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&&ie.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 Ln(e,t,n={}){J();try{let r=isString(t)?document.querySelector(t):t;if(!r){error("Hydration error: Root element not found");return}let o=G(e,n);return o.mount(r),Ne(),o}catch(r){error("Hydration error:",r);return}}
|
|
7
|
+
export{q as Component,nn as Fragment,on as Portal,an as Suspense,ge as SuspenseContext,tn as addEvent,A as addEventListener,kt as bindElement,Ht as createApp,G as createComponent,vo as createResource,yn as createSSGComponent,$t as delegateEvents,xe as getHydrationKey,Tn as getRenderedElement,Ln as hydrate,pe as inject,Lt as insert,p as isComponent,eo as isFragment,co as isPortal,xo as isSuspense,le as mapNodes,kn as mapSSRNodes,B as normalizeClass,ne as onDestroy,te as onMount,mt as onUpdate,en as patchAttr,jt as patchClass,Wt as patchStyle,me as provide,pn as render,mn as renderToString,it as setSSGAttr,Y as setStyle,de as template};//# sourceMappingURL=template.esm.js.map
|
|
7
8
|
//# sourceMappingURL=template.esm.js.map
|