sigment 1.3.8 → 1.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +4 -4
- package/dist/ssr.js +3 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var ye=Object.defineProperty;var a=(e,t)=>ye(e,"name",{value:t,configurable:!0});var w={cleanHtml:we,cleanhtml:!0,setMaxCacheSize:_e,maxCacheSize:10,setloadAtRunTime:D,loadAtRunTime:null,setRoute:Ae,route:null,setStopPropagation:Ce,stopPropagation:!1},C={funcname:[],dataMap:new Map},I=null,N={},U=new Map,S=new Map,B=new Map,P=new Map,ge=null,L=null,G=new Map,be=null,F="",x=typeof window>"u",q=0;x||(F=window.location.href.replace(/^https?:\/\//,"").replace(/\/$/,""));function Ie(){D({});try{let e=import.meta.glob("/src/components/*.js"),t=Object.fromEntries(Object.entries(e).map(([n,o])=>[n.split("/").pop().replace(".js",""),o]));t.defaultKey="/",D(t)}catch{D({})}}a(Ie,"initLoadAtRunTime");globalThis.__CURRENT_COMPONENT__=null;var M=0,ae=new Map;x&&(globalThis.__HANDLER_REGISTRY__||(globalThis.__HANDLER_REGISTRY__={}),globalThis.__HANDLER_ELEMENT_MAP__||(globalThis.__HANDLER_ELEMENT_MAP__=new Map));var E={innerHTMLElements:["div","p","span","h1","h2","h3","h4","h5","h6","a","ul","ol","li","table","tr","td","th","thead","tbody","tfoot","form","label","button","section","article","header","footer","nav","aside","main","figure","figcaption","blockquote","cite","code","pre","em","strong","i","b","u","s","small","mark","time","abbr","q","dl","dt","dd","fieldset","legend","textarea","output","progress","meter","fragment","details","summary","dialog","menu","slot","svg","defs","linearGradient","text","template"],valueElements:["input","textarea","select","button","option","progress","meter"],srcElements:["img","script","iframe","audio","video","source","track","embed","frame","input"],hrefElements:["a","link","area","base"],voidElements:["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","path","circle","rect","wbr","polygon","ellipse","stop","canvas","frame"]};Object.values(E).flat().forEach(e=>{globalThis[e]||(globalThis[e]=(...t)=>z(e,...t),Object.defineProperty(globalThis,e,{writable:!1,configurable:!1}))});var J=new Set(E.valueElements),te=new Set(E.srcElements),ne=new Set(E.hrefElements),K=new Set(E.voidElements);function qe(e,t){N[e]||(N[e]=de(t))}a(qe,"createGlobalSignal");function We(e){return N[e]}a(We,"getGlobalSignal");function oe(e,t){C.dataMap.has(e)&&C.dataMap.delete(e),C.dataMap.set(e,t)}a(oe,"addEntry");function H(e){j(H.name);let t=C.dataMap.get(e);if(t)if(typeof t.value.hydrate<"u"&&t.value.hydrate!==null){if(t.value.hydrate){let n=document.getElementById(e);return n||null}}else return t.value;else return null}a(H,"gve");function ze(e,t,n){let o;if(t instanceof HTMLElement?o=t.outerHTML:typeof t=="object"?o=JSON.stringify(t):o=t.toString(),o.length>4096){console.error("Cookie size exceeds 4KB limit. Data not stored.");return}document.cookie=e+"="+o+"; max-age="+n+" ; path=/ ;",setTimeout(()=>{document.cookie="testCookie=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/;"},n*1e3)}a(ze,"setCookie");function Ue(e){let n=`; ${document.cookie}`.split(`; ${e}=`);if(n.length===2){let o=n.pop().split(";").shift();try{let i=JSON.parse(o);return typeof i=="object"&&i!==null&&"nodeType"in i&&i.nodeType===1,i}catch{return o}}return null}a(Ue,"getCookie");function Ve(e,t){let n;t instanceof HTMLElement?n=t.outerHTML:typeof t=="object"?n=JSON.stringify(t):n=t.toString(),localStorage.setItem(e,n)}a(Ve,"setStorage");function Be(e){let t=localStorage.getItem(e);if(t!==null)try{let n=JSON.parse(t);return typeof n=="object"&&n!==null&&"nodeType"in n&&n.nodeType===1,n}catch{return t}}a(Be,"getStorage");function Y(e,t=void 0){j(Y.name),C.createInstance=Y.name;let n="";t===void 0?n=e():n=e(t)}a(Y,"createInstance");function re(e,t){j(re.name),C.rpc=re.name;let n={};for(let[o,i]of Object.entries(t))e[o]?n[o]=e[o].apply(null,i):(console.error(`Function ${o} not found!`),n[o]=null);return n}a(re,"rpc");function ie(e,t=!1,n){j(ie.name),C.gvec=ie.name;let o=Object.keys(e),i=o[0],s=o[1],c=o[2];var r=e[i];r=r.name;var m=e[s];let f=e[s];var u=H(s)===null;if(u||t===!1){var d=""+s;C.dataMap.delete(d),Y(m,e[c])}m=H(s);var y=H(i);if(y===null)throw new Error(` source id '${i} is not found in source component `);if(m===null)throw new Error(` target id '${s} is not found in target component `);if(y.replaceWith(m),n!==void 0)for(let l in f){let p=l.toString();if(typeof n=="object"){for(var h in n)if(p===h){var g=n[h];typeof g=="object"?f[l].apply(null,g):f[l].apply(null,[])}}else if(n.indexOf(",">-1)){let b=n.split(",");for(let O=0;O<b.length;O++)p===b[O]&&f[l].apply(null,[])}else p===n&&f[l].apply(null,[])}}a(ie,"gvec");async function Ge(e,t={}){let{passRestriction:n=[]}=t,o=window.location.pathname.replace(/^\/|\/$/g,"").toLowerCase(),i=e.replace(/^\/|\/$/g,"").toLowerCase();if(!new RegExp("^"+i.replace(/:[^\/]+/g,"[^/]+")+"$").test(o))return!1;let c=Array.isArray(n)?n:[n];for(let r of c)try{let m=typeof r=="function"?r():r;if(m instanceof Promise){if(!await m)return!1}else if(!m)return!1}catch(m){return console.error("Route check failed:",m),!1}return!0}a(Ge,"Route");function Je(e){return e==null||e===""}a(Je,"IsEmpty");function Ee(e){let t=e.startsWith("/")?e:"/"+e;window.history.pushState({},"",t)}a(Ee,"Navigate");function _e(e){w.maxCacheSize=e}a(_e,"setMaxCacheSize");function we(e){w.cleanhtml=e}a(we,"cleanHtml");function Ae(e){w.route=e}a(Ae,"setRoute");function D(e){w.loadAtRunTime=e}a(D,"setloadAtRunTime");function Ce(e){w.stopPropagation=e}a(Ce,"setStopPropagation");async function Ke(e,t){let n;t==="/"?n=t:n=t.replace(/\//g,"").toLowerCase();let o=Object.keys(e).find(i=>i.toLowerCase()===n.toLowerCase());if(!o){let i=Object.keys(e).join(", ");throw new Error(`Unknown component: "${t}".
|
|
2
2
|
Available components: ${i}
|
|
3
3
|
|
|
4
4
|
To add this component:
|
|
@@ -6,6 +6,6 @@ To add this component:
|
|
|
6
6
|
const loadAsyncComponents = {
|
|
7
7
|
...existingComponents,
|
|
8
8
|
"${t}": () => import('./${t}.js')
|
|
9
|
-
};`)}if(S.has(o))return S.get(o);try{let s=(await e[o]()).default;return S.set(o,s),s}catch(i){throw new Error(`Failed to load component "${o}": ${i.message}`)}}
|
|
10
|
-
`);for(let
|
|
11
|
-
`);if(r===-1)continue;o=n[u].slice(r+1),o===""?(r=n[u].lastIndexOf("/")+1,r>-1&&(o=n[u].substr(r),o=o.substr(0,o.indexOf(".")))):o.indexOf("/")>-1&&(o=o.substr(0,o.indexOf("/")))}else o=(s=n[u])==null?void 0:s.trim().split(" ")[1];if(!C.funcname.includes(o)&&!(o===void 0||o==="")&&!(o.indexOf("http://")>-1||o.indexOf("https://")>-1)){if(C.gvec!==void 0&&o.indexOf(C.gvec)>-1)break;t.indexOf("|"+o)>-1||(t+="|"+o.replace(".","|"))}}return e+t}c(Y,"buildRoadMap");function M(e){!C.funcname.includes(e)&&C.funcname.push(e)}c(M,"setFuncName");function ce(e){let t=typeof e=="object"&&e!==null&&!Array.isArray(e),n=!(typeof process<"u");t&&n&&console.warn("[Sigment] createSignal() is deprecated for objects. Use signal()."),t&&!n&&console.warn("[Sigment] createSignal() is deprecated for objects. Use signal().");let o=e,i=new Set;function s(){return D&&i.add(D),o}c(s,"get"),s.__isSignal=!0,s.__isPrimitiveSignal=!0;function u(d,a=!1){(a||o!==d)&&(o=d,i.forEach(f=>f()))}return c(u,"set"),[new Proxy(s,{get(d,a){if(a==="valueOf")return()=>o;if(a==="toString")return()=>String(o);if(a in d)return d[a]}}),u]}c(ce,"createSignal");function Te(e){return typeof e=="object"&&e!==null}c(Te,"isObject");function Ze(e){return fe(e)[0]}c(Ze,"store");function ue(e){let t=e,n=new Map,o=c(r=>Te(r)?ue(r)[0]:r,"wrap"),i=c(r=>{if(!n.has(r)){let[d,a]=ce(o(t[r])),f=new Proxy(d,{get(y,p){return p==="valueOf"?()=>d():p==="toString"?()=>String(d()):y[p]}});n.set(r,[f,a])}return n.get(r)},"getSignal"),s=new Proxy(t,{get(r,d){if(typeof d=="symbol")return t[d];let[a]=i(d);return a()},set(r,d,a){t[d]=a;let[,f]=i(d);return f(o(a)),!0}});function u(r){let d=typeof r=="function"?r(s):r;for(let a in d)s[a]=d[a]}return c(u,"setState"),[s,u]}c(ue,"signalObject");function fe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?ue(e):ce(e)}c(fe,"signal");function Z(e){function t(){D=t,e(),D=null}c(t,"wrapped"),t()}c(Z,"createEffect");function ke(e){e=e.toLowerCase(),b.innerHTMLElements.includes(e)||(b.innerHTMLElements.push(e),globalThis[e]=(...t)=>W(e,...t))}c(ke,"createTypeElement");function de(e){return e.replace(/-+/g,"-").replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}c(de,"dashToCamel");function Xe(e,t=null){pe(e,t)}c(Xe,"createSigment");function Qe(e,t=null){pe(e,t)}c(Qe,"addSigment");function et(e,...t){if(ke(e),t.length!==0)return globalThis[e](...t)}c(et,"createElement");function ve(e){let t=document.createTextNode("");return Z(()=>{if(typeof L!="object"||L===null){t.nodeValue=e;return}let n=e.replace(/{{(.*?)}}/g,(o,i)=>{let s=i.trim();if(L.hasOwnProperty(s)){let u=L[s];if(u&&typeof u[0]=="function")return u[0]()??""}return""});t.nodeValue=n}),t}c(ve,"interpolateReactiveText");function tt(e,t=5e3,n={}){let o=JSON.stringify([e,n,t]);if(!z.has(o)){let i=Le(async()=>{let s=await fetch(e,n);if(!s.ok)throw new Error(`Fetch failed: ${s.status}`);return s.json()},t);z.set(o,i)}return z.get(o)()}c(tt,"fetchCache");function X(e){if(Array.isArray(e))return e.map(X);if(e&&typeof e=="object"){let t={};return Object.keys(e).sort().forEach(n=>{t[n]=X(e[n])}),t}return e}c(X,"sortObjectDeep");function Oe(e){if(e&&typeof e=="object"&&!Array.isArray(e)){let t={};return Object.keys(e).sort().forEach(n=>{t[n]=e[n]}),t}return e}c(Oe,"sortObjectShallow");function Le(e,t=null,n={}){let o=new Map,i=c((...s)=>{let{deepSort:u}=n,r;u===!0?r=s.map(g=>g&&typeof g=="object"?X(g):g):u===!1?r=s.map(g=>g&&typeof g=="object"?Oe(g):g):r=s;let d=JSON.stringify(r),a=Date.now();d.length===2&&(d=e.name);let y=o.get(d);if(y&&(t===null||a-y.timestamp<t))return y.value;let p=e(...s);return o.set(d,{value:p,timestamp:a}),p instanceof Promise&&p.catch(()=>o.delete(d)),p},"wrapped");return i.clear=()=>o.clear(),i}c(Le,"memoizeFunc");function U(e){let t={"&":"&","<":"<",">":">",'"':""","'":"'"};return e.replace(/[&<>"']/g,n=>t[n])}c(U,"escapeHtml");function Ne(e){let t="";function n(o,i=0){let s=" ".repeat(i);if(o==null||o===!1||o===!0)return;if(Array.isArray(o)){o.forEach(r=>n(r,i+1));return}let u=o;typeof u=="function"&&(u=u()),typeof u=="function"&&u.__isSignal&&(u=u()),!(u==null||u===!1||u===!0)&&(t+=String(u))}return c(n,"process"),e.forEach(o=>n(o)),t}c(Ne,"renderChildren");function Pe(e){let t=[];for(let n=0;n<e.length;n++){let o=e[n],i=e[n+1];typeof o=="string"&&typeof i=="function"?(t.push(()=>o+i()),n++):t.push(o)}return t}c(Pe,"normalizeChildren");function W(e,...t){var h;let n={},o=[];if(t[0]&&typeof t[0]=="object"&&!Array.isArray(t[0])&&t[0]!==null&&!(t[0]instanceof String)&&(x||!(t[0]instanceof Node))?(n=t[0],o=t.slice(1)):o=t,x&&typeof document>"u"){let l=globalThis.__CURRENT_COMPONENT__;globalThis.__HANDLER_REGISTRY__||(globalThis.__HANDLER_REGISTRY__={}),(h=globalThis.__HANDLER_REGISTRY__)[l]||(h[l]=[]);let m=[];for(let[v,k]of Object.entries(n))if(v==="style"&&typeof k=="object"){let R=Object.entries(k).map(([A,me])=>`${A.replace(/([A-Z])/g,"-$1").toLowerCase()}:${me}`).join(";");m.push(` style="${U(R)}"`)}else v!=="className"&&v!=="class"&&!v.startsWith("on")&&m.push(` ${v}="${U(String(k))}"`);(n.className||n.class)&&m.push(` class="${U(n.className||n.class)}"`);let _=Ne(o);if(["input","img","br","hr","meta","link"].includes(e))return`<${e}${m.join("")} />`;if(e==="fragment")return _;var i;let E=V.get(e);return E&&(i=E.tagName,E.nativeTag!==null&&(i=E.nativeTag)),i!==void 0&&(e=i),`<${e}${m.join("")}>${_}</${e}>`}M(W.name);var s="";s=Y();var u=s.split("|");if(u.includes(C.rpc))return;let r=null,d=e.toLowerCase()==="fragment";if(d)r=document.createDocumentFragment();else{var i;let m=V.get(e);m&&(i=m.tagName,m.nativeTag!==null&&(i=m.nativeTag)),i!==void 0&&(e=i),r=document.createElement(e)}if(globalThis.__CURRENT_COMPONENT__){I++;let l=I;r.dataIndex=l,r.realtedComponent=globalThis.__CURRENT_COMPONENT__,r.cmpNbr=$}let a=[];for(let[l,m]of Object.entries(n))if(l.startsWith("on")&&typeof m=="function"){let _=l.slice(2).toLowerCase();a.push({type:_,val:m})}a.length&&(r._handlers=a);let f=J.has(e),y=G.has(de(e)),p=e==="input"||e==="option",g=e==="option";if(!d)for(let l in n){let m=n[l];if(l.startsWith("on")&&typeof m=="function"){let _=l.slice(2).toLowerCase();r.addEventListener(_,O=>{w.stopPropagation&&O.stopPropagation(),m(O)})}else typeof m=="function"&&l!=="children"?Z(()=>{let _=m();_==null||_===!1?(r.removeAttribute(l),l==="value"&&y&&(r.value="",w.cleanhtml||r.removeAttribute("value")),l==="checked"&&p&&(r.checked=!1,w.cleanhtml||r.removeAttribute("checked")),l==="selected"&&g&&(r.selected=!1,w.cleanhtml||r.removeAttribute("selected")),l==="id"&&(r.iid="",w.cleanhtml||r.removeAttribute("id"))):l==="id"?(r.iid=_,w.cleanhtml?r.removeAttribute("id"):r.setAttribute("id",_),ne(_,{name:_,caller:_+s,value:r})):l==="value"&&y?(r.value=_,w.cleanhtml?r.removeAttribute("value"):r.setAttribute("value",_)):l==="checked"&&p?(r.checked=_,w.cleanhtml?r.removeAttribute("checked"):_?r.setAttribute("checked",""):r.removeAttribute("checked")):l==="selected"&&g?(r.selected=_,w.cleanhtml?r.removeAttribute("selected"):_?r.setAttribute("selected",""):r.removeAttribute("selected")):r.setAttribute(l,_)}):m!=null&&m!==!1&&(l==="id"?(r.iid=m,w.cleanhtml?r.removeAttribute("id"):r.setAttribute("id",m),ne(m,{name:m,caller:m+s,value:r})):l==="value"&&y?(r.value=m,w.cleanhtml?r.removeAttribute("value"):r.setAttribute("value",m)):l==="checked"&&p?(r.checked=m,w.cleanhtml?r.removeAttribute("checked"):r.setAttribute("checked","")):l==="selected"&&g?(r.selected=m,w.cleanhtml?r.removeAttribute("selected"):r.setAttribute("selected","")):r.setAttribute(l,m))}return f?o.length===1&&(typeof o[0]=="string"||typeof o[0]=="number")?y&&(r.value=o[0],w.cleanhtml?r.removeAttribute("value"):r.setAttribute("value",o[0])):o.length>0&&console.warn(`Void element <${e}> should not have children.`):(o=Pe(o),o.flat().forEach((l,m)=>{if(l&&l.__isSignal&&l.__isPrimitiveSignal&&!l.__isWrapped){let _=l;_.__isWrapped=!0,l=c(()=>_(),"child")}if(typeof l=="function"){let _=l(),E=_===!1||_===null||_===!0?document.createComment(""):document.createTextNode("");r.appendChild(E),Z(()=>{let T=l();if(Array.isArray(T)){let k=E.parentNode;if(!k)return;E._insertedNodes&&(E._insertedNodes.forEach(A=>A.remove()),E._insertedNodes=null);let R=T.flat().filter(Boolean).map(A=>A instanceof Node?A:typeof A=="string"||typeof A=="number"?document.createTextNode(String(A)):typeof A=="object"?A.__isNode?A:div(A.name??JSON.stringify(A)):null).filter(Boolean);R.forEach(A=>k.insertBefore(A,E)),E._insertedNodes=R,E.nodeValue="";return}if(T instanceof Node){let k=E.parentNode;if(!k)return;E._insertedNode&&(E._insertedNode._boundNode&&E._insertedNode._boundNode.remove(),E._insertedNode.remove(),E._insertedNode=null),k.insertBefore(T,E),E._insertedNode=T;return}let v=T==null||T===!1||T===!0?"":String(T);if(E._insertedNode&&(E._insertedNode._boundNode&&E._insertedNode._boundNode.remove(),E._insertedNode.remove(),E._insertedNode=null),E.nodeValue!==v){if(!E.parentNode)return;E!=null&&E._boundNode?E._boundNode.nodeValue=v:E.nodeValue=v}})}else if(typeof l=="string"&&l.includes("{{")&&!l.includes("function"))r.appendChild(ve(l));else if(typeof l=="string"||typeof l=="number"){if(typeof l=="string"&&(l.includes("function get(")||l.includes("function (")||l.includes("[native code]")))throw new Error("Detected reactive getter function used inside a template string. Use a function instead like: div(() => `Your text is: ${someState()}`)");r.appendChild(document.createTextNode(l))}else(l instanceof DocumentFragment||l instanceof Node)&&r.appendChild(l)})),r}c(W,"h");function Me(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/-+/g,"-").toLowerCase()}c(Me,"camelToDash");function pe(e,t=null){if(b.innerHTMLElements.includes(e)||b.valueElements.includes(e)||b.srcElements.includes(e)||b.hrefElements.includes(e)||b.voidElements.includes(e))return;let o=/[A-Z]/.test(e)?Me(e):e.toLowerCase();o.includes("-")||(o="s-"+o),e.includes("-")&&(o=e,e=de(e)),V.set(e,{tagName:o,nativeTag:t}),!b.innerHTMLElements.includes(e)&&t===null?b.innerHTMLElements.push(e):!b.innerHTMLElements.includes(e)&&t!==null&&(b.innerHTMLElements.includes(t)||b.innerHTMLElements.push(e)),!b.valueElements.includes(e)&&t===null?(b.valueElements.push(e),G.add(e)):!b.valueElements.includes(e)&&t!==null&&(b.valueElements.includes(t)||(b.valueElements.push(e),G.add(e))),!b.srcElements.includes(e)&&t===null?(b.srcElements.push(e),ee.add(e)):!b.srcElements.includes(e)&&t!==null&&(b.srcElements.includes(t)||(b.srcElements.push(e),ee.add(e))),!b.hrefElements.includes(e)&&t===null?(b.hrefElements.push(e),te.add(e)):!b.hrefElements.includes(e)&&t!==null&&(b.hrefElements.includes(t)||(b.hrefElements.push(e),te.add(e))),!b.voidElements.includes(e)&&t===null?(b.voidElements.push(e),J.add(e)):!b.voidElements.includes(e)&&t!==null&&(b.voidElements.includes(t)||(b.voidElements.push(e),J.add(e))),globalThis[e]=(...i)=>W(e,...i)}c(pe,"defineElement");function $e(e){x||requestAnimationFrame(()=>{requestAnimationFrame(e)})}c($e,"onPaint");function nt(e){if(x)return;let t=!1;$e(()=>{t||(t=!0,e())})}c(nt,"paintFinish");function ie(e){let t={};for(let n of e.attributes)if(n.name.startsWith("data-")&&n.name!=="data-component"){let o=n.name.slice(5);try{t[o]=JSON.parse(n.value)}catch{t[o]=n.value}}return t}c(ie,"getPropsFromDataAttributes");async function Re(){let e=document.querySelector("layout[data-layout]");if(!e)return!1;let t=e.getAttribute("data-layout");if(!t)return!1;try{x||(t="/"+t);let n=await fetch(t);if(!n.ok)throw new Error("Failed to load layout");let o=await n.text(),s=new DOMParser().parseFromString(o,"text/html"),u=document.querySelector("description[data-description]");if(u){let a=s.querySelector('meta[name="description"]');a||(a=s.createElement("meta"),a.name="description",s.head.appendChild(a)),a.content=u.getAttribute("data-description")}let r=document.querySelector("keywords[data-keywords]");if(r){let a=s.querySelector('meta[name="keywords"]');a||(a=s.createElement("meta"),a.name="keywords",s.head.appendChild(a)),a.content=r.getAttribute("data-keywords")}return document.querySelectorAll("[data-part]").forEach(a=>{let f=a.getAttribute("data-part"),y=s.querySelector(`[data-part="${f}"]`);y&&(y.innerHTML="",[...a.childNodes].forEach(p=>{y.appendChild(p.cloneNode(!0))}))}),document.documentElement.innerHTML=s.documentElement.innerHTML,!0}catch(n){return console.error("Failed to inject layout:",n),!1}}c(Re,"injectLayout");function q(e,t){if(!t)return;let n=t.trim();if(e[n])return e[n];let o=n[0].toUpperCase()+n.slice(1).toLowerCase();if(e[o])return e[o];let i=n.toUpperCase();if(e[i])return e[i];let s=n.toLowerCase(),u=Object.entries(e).find(([r,d])=>r.toLowerCase()===s);if(u)return u[1]}c(q,"lookupComponent");async function se(e){var d;let t=e||w.route;await Re();let{componentKey:n,componentName:o,params:i}=ae(t),s=new Set,u=o,r=document.querySelectorAll("[data-component]");for(let a of r){let f=a.getAttribute("data-component"),y=f==null?void 0:f.toLowerCase();if(typeof rvs_map_sigment<"u"&&rvs_map_sigment!==null?u=q(rvs_map_sigment,f):u=y,!u||s.has(u))continue;let p=q(t,u);try{a.hasChildNodes()&&(globalThis.__CURRENT_COMPONENT__=f);let g=p?await je(p):await Fe(w.loadAtRunTime,u),h=p?{...i,...ie(a)}:ie(a),l=g.default(h);l.funcName=o.toLowerCase();let m=(d=a.closest("[data-part]"))==null?void 0:d.getAttribute("data-part");l.datapart=m,l.setAttribute("data-component",f),l.hydrate=!0,a.cmpNbr=$,Q(a,l),le.set(u,$),$++,I=0}catch(g){console.warn(`Component "${y}" failed to load`,g)}}}c(se,"hydrateComponent");async function je(e){if(!P.has(e)){let t=await e.loader();P.set(e,t)}return P.get(e)}c(je,"loadModule");async function Fe(e,t){let n=q(e,t);if(n){if(P.has(n))return P.get(n);try{let o=await n();return P.set(n,o),o}catch(o){console.error(`Component "${t}" failed to load`,o)}}}c(Fe,"loadModuleFromFile");function ot(e,t){if(e===void 0){se();return}if(typeof e=="object"&&t===void 0){se(e);return}let n=typeof e=="string"?document.getElementById(e):e;if(!n)throw new Error("Mount target not found: "+e);n.hasChildNodes()?Q(n,t):n.replaceChildren(t)}c(ot,"mount");function Q(e,t){(async()=>{try{if(!e||!t)return;if(t._boundNode=e,e.nodeName!==t.nodeName){e.replaceWith(t);return}if(e.nodeType===Node.TEXT_NODE||e.nodeType===Node.COMMENT_NODE){e.nodeValue!==t.nodeValue&&(e.nodeValue=t.nodeValue);return}if(e.nodeType===Node.ELEMENT_NODE&&t.nodeType===Node.ELEMENT_NODE){for(let i of Array.from(t.attributes))e.setAttribute(i.name,i.value);for(let i of Array.from(e.attributes))t.hasAttribute(i.name)||e.removeAttribute(i.name);t._handlers&&t._handlers.forEach(({type:i,val:s})=>{e.addEventListener(i,u=>{w.stopPropagation&&u.stopPropagation(),s(u)})})}let n=Array.from(t.childNodes),o=Array.from(e.childNodes);for(let i=0;i<Math.max(n.length,o.length);i++){let s=o[i],u=n[i];s&&u?Q(s,u):u?e.appendChild(u):s&&e.removeChild(s)}}catch(n){console.error("Hydration failed:",n)}})()}c(Q,"hydrate");export{Be as IsEmpty,w as MyApp,be as Navigate,Je as NavigateTo,Ve as Route,Qe as addSigment,Ye as clearComponentCache,Z as createEffect,et as createElement,De as createGlobalSignal,Xe as createSigment,ce as createSignal,tt as fetchCache,We as getCookie,Ie as getGlobalSignal,Ue as getStorage,H as getVirtualElementById,De as globalSignal,H as gve,re as gvec,W as h,se as hydrateComponent,Ge as loadFunc,xe as loadRunFunc,Le as memoizeFunc,ot as mount,$e as onPaint,nt as paintFinish,ae as parsePath,oe as rpc,qe as setCookie,ze as setStorage,fe as sig,fe as signal,Ze as store,Ke as updateNodeIfNeeded,Ie as useGlobalSignal};
|
|
9
|
+
};`)}if(S.has(o))return S.get(o);try{let s=(await e[o]()).default;return S.set(o,s),s}catch(i){throw new Error(`Failed to load component "${o}": ${i.message}`)}}a(Ke,"loadFunc");function Se(e){let t=null,n=-1;if(typeof e=="string")return{partName:e,index:n};let o=(e==null?void 0:e.target)instanceof Element?e.target.closest("[data-component]"):null;if(o){let i=o.closest("[data-part]");if(t=i==null?void 0:i.getAttribute("data-part"),i){let s=o.getAttribute("data-component");s&&i.querySelectorAll(`[data-component="${s}"]`).forEach((r,m)=>{r===o&&(n=m)})}}return{partName:t,index:n}}a(Se,"getTargetPartAndIndex");async function Ye(e,t,n,o,i=null){if(x)return;let s=null,{partName:c,index:r}=Se(i);c&&(s=c);let m=window.location.host+"/"+e;if(s===null){if(F===m)return;F=m}let f;typeof t=="boolean"||typeof t=="string"?(n=t,t=w.route):t===void 0&&(t=w.route,n=!1),Ee(e);let{componentKey:u,params:d}=ce(t);(u===void 0||u==="")&&console.warn(`current path "${e}" not match in route map file , check if param path is match`);let y=Object.keys(t);if(typeof n=="string")u=n,f=!!o;else if(typeof n=="boolean"){if(y.length===1)u=y[0];else if(y.includes(u))u=u;else throw new Error(`Ambiguous component map: multiple components exist and no matching key for path '${e}' found. Provide component key explicitly.`);f=n}else{if(y.length===1)u=y[0];else if(y.includes(u))u=u;else throw new Error(`Ambiguous component map: multiple components exist and no matching key for path '${e}' found. Provide component key explicitly.`);f=!1}let h=await xe(t,u,d,null,!1);s&&(e=e+s+r);let g=G.get(e);if((!g||!f)&&(typeof h=="function"?(M=ae.get(h.name),q=0,Array.isArray(d)?g=h(...d):typeof d=="object"&&d!==null?g=h(d):g=h(),G.set(e,g)):g=h),L&&L.isConnected){var l=L.contains(g);l||L.replaceWith(g)}else{typeof rvs_map_sigment<"u"&&rvs_map_sigment!==null&&(u=W(rvs_map_sigment,u));let p=document.querySelectorAll('[data-part="'+s+'"] [data-component="'+u+'"]');g.setAttribute("data-component",u),p&&p.length===1?p[0].replaceWith(g):p&&p.length>1?p[r].replaceWith(g):document.body.replaceChildren(g)}s===null&&(L=g,ge=e),F=m}a(Ye,"NavigateTo");function Ze(e=be,t){let n=typeof e=="string"?document.getElementById(e):e;n.contains(t)||n.replaceChildren(t)}a(Ze,"updateNodeIfNeeded");function Xe(e){if(e){let t=e.toLowerCase(),n=!1;for(let o of S.keys())o.toLowerCase()===t&&(S.delete(o),n=!0);return n}else return S.clear(),!0}a(Xe,"clearComponentCache");function ce(e){if(x)return;let t=window.location.pathname.replace(/\/{2,}/g,"/");t.length>1&&t.endsWith("/")&&(t=t.slice(0,-1));let n=t.replace(/^\//,"").split("/").filter(Boolean);n[0]===void 0&&(n[0]="/");let o={},i=null,s=null,c=0;function r(u){return u.length>1&&u.endsWith("/")&&(u=u.slice(0,-1)),u.replace(/^\//,"").split("/").map(d=>{let y=d.startsWith(":"),h=y&&d.endsWith("?"),g=y?d.slice(1).replace("?",""):d;return g===""&&(g="/"),{isParam:y,isOptional:h,name:g}})}a(r,"parseRouteSegments");for(let[u,d]of Object.entries(e)){let y=d.path||`/${u}`,h=r(y),g=!0;for(let l=0;l<h.length;l++){let p=h[l],b=n[l];if(p.isParam){if(!b&&!p.isOptional){g=!1;break}}else if(p.name!==b){g=!1;break}}if(n.length<h.length){for(let l=n.length;l<h.length;l++)if(!h[l].isOptional){g=!1;break}}if(g){i=u,s=d,c=h.length,h.forEach((l,p)=>{if(l.isParam){let b=n[p];b!==void 0&&b!==""&&(o[l.name]=b)}});break}}i||(i="",s=e[i]),s!=null&&s.urlParam&&s.urlParam.split("/").map(d=>d.replace(/[{}]/g,"")).forEach((d,y)=>{let h=n[c+y];h!==void 0&&h!==""&&(o[d]=h)}),new URL(window.location.href).searchParams.forEach((u,d)=>{o[d]=u});let f=i;return s!=null&&s.loader&&(Object.defineProperty(o,"_componentNamePromise",{value:s.loader().then(u=>{let d=u.default||Object.values(u)[0];return typeof d=="function"&&d.name?d.name:i})}),Object.defineProperty(o,"componentName",{get(){return f}})),{componentKey:i,componentName:f,params:o}}a(ce,"parsePath");function R(e){return new DOMParser().parseFromString(e,"text/html").body.firstChild}a(R,"parseHTML");async function xe(e,t,n=null,o=null,i=!0){if(x)return;let s=e[t.toLowerCase()];if(s||(typeof e.fallback=="string"?s=e[e.fallback]:s=e.fallback),!s)return R("<h1>404 - Component not found</h1>");let{loader:c,guard:r,cacheExpiration:m=null,...f}=s;if(o===null&&typeof s.logic=="function"&&(o=s.logic),typeof r=="function"&&!await r(n))return R("<h1>403 - Forbidden</h1><p>You do not have access to this page.</p>");for(let u in f){let d=f[u];if(typeof d=="function")try{await d()}catch(y){console.error(y)}}try{let u=Date.now(),d=S.get(t);d&&m!==null&&u-d.cachedAt>m&&(S.delete(t),d=null);let y;if(d)y=d.component,S.set(t,{component:y,cachedAt:u});else{if(y=(await c()).default,S.size>=w.maxCacheSize){let p=S.keys().next().value;S.delete(p)}S.set(t,{component:y,cachedAt:u})}if(typeof y!="function")return R("<h1>Invalid component</h1>");if(!i)return y;let h;Array.isArray(n)?h=y(...n):typeof n=="object"&&n!==null?h=y(n):h=y();let g="/";try{g=window.location.pathname.slice(1)+window.location.hash,g=g.endsWith("/")&&g!=="/"?g.slice(0,-1):g,g===""&&(g="/")}catch{g=t}return G.set(g,h),L=h,h}catch(u){return console.error(u),R("<h1>Error loading component</h1>")}}a(xe,"loadRunFunc");function Z(e=""){var i,s;if(x)return"";j(Z.name),C.buildRoadMap=Z.name;var t="";let n=(i=new Error().stack)==null?void 0:i.toString();navigator.userAgent.toLowerCase().indexOf("firefox")>0?n=n.split("@"):n=n.split(`
|
|
10
|
+
`);for(let c=0;c<n.length;c++){var o="";if(navigator.userAgent.indexOf("Firefox")>0){let r=n[c].lastIndexOf(`
|
|
11
|
+
`);if(r===-1)continue;o=n[c].slice(r+1),o===""?(r=n[c].lastIndexOf("/")+1,r>-1&&(o=n[c].substr(r),o=o.substr(0,o.indexOf(".")))):o.indexOf("/")>-1&&(o=o.substr(0,o.indexOf("/")))}else o=(s=n[c])==null?void 0:s.trim().split(" ")[1];if(!C.funcname.includes(o)&&!(o===void 0||o==="")&&!(o.indexOf("http://")>-1||o.indexOf("https://")>-1)){if(C.gvec!==void 0&&o.indexOf(C.gvec)>-1)break;t.indexOf("|"+o)>-1||(t+="|"+o.replace(".","|"))}}return e+t}a(Z,"buildRoadMap");function j(e){!C.funcname.includes(e)&&C.funcname.push(e)}a(j,"setFuncName");function ue(e){let t=typeof e=="object"&&e!==null&&!Array.isArray(e),n=!(typeof process<"u");t&&n&&console.warn("[Sigment] createSignal() is deprecated for objects. Use signal()."),t&&!n&&console.warn("[Sigment] createSignal() is deprecated for objects. Use signal().");let o=e,i=new Set;function s(){return I&&i.add(I),o}a(s,"get"),s.__isSignal=!0,s.__isPrimitiveSignal=!0;function c(m,f=!1){(f||o!==m)&&(o=m,i.forEach(u=>u()))}return a(c,"set"),[new Proxy(s,{get(m,f){if(f==="valueOf")return()=>o;if(f==="toString")return()=>String(o);if(f in m)return m[f]}}),c]}a(ue,"createSignal");function Te(e){return typeof e=="object"&&e!==null}a(Te,"isObject");function Qe(e){return de(e)[0]}a(Qe,"store");function fe(e){let t=e,n=new Map,o=a(r=>Te(r)?fe(r)[0]:r,"wrap"),i=a(r=>{if(!n.has(r)){let[m,f]=ue(o(t[r])),u=new Proxy(m,{get(d,y){return y==="valueOf"?()=>m():y==="toString"?()=>String(m()):d[y]}});n.set(r,[u,f])}return n.get(r)},"getSignal"),s=new Proxy(t,{get(r,m){if(typeof m=="symbol")return t[m];let[f]=i(m);return f()},set(r,m,f){t[m]=f;let[,u]=i(m);return u(o(f)),!0}});function c(r){let m=typeof r=="function"?r(s):r;for(let f in m)s[f]=m[f]}return a(c,"setState"),[s,c]}a(fe,"signalObject");function de(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?fe(e):ue(e)}a(de,"signal");function X(e){function t(){I=t,e(),I=null}a(t,"wrapped"),t()}a(X,"createEffect");function ke(e){e=e.toLowerCase(),E.innerHTMLElements.includes(e)||(E.innerHTMLElements.push(e),globalThis[e]=(...t)=>z(e,...t))}a(ke,"createTypeElement");function pe(e){return e.replace(/-+/g,"-").replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}a(pe,"dashToCamel");function et(e,t=null){me(e,t)}a(et,"createSigment");function tt(e,t=null){me(e,t)}a(tt,"addSigment");function nt(e,...t){if(ke(e),t.length!==0)return globalThis[e](...t)}a(nt,"createElement");function ve(e){let t=document.createTextNode("");return X(()=>{if(typeof N!="object"||N===null){t.nodeValue=e;return}let n=e.replace(/{{(.*?)}}/g,(o,i)=>{let s=i.trim();if(N.hasOwnProperty(s)){let c=N[s];if(c&&typeof c[0]=="function")return c[0]()??""}return""});t.nodeValue=n}),t}a(ve,"interpolateReactiveText");function ot(e,t=5e3,n={}){let o=JSON.stringify([e,n,t]);if(!U.has(o)){let i=Ne(async()=>{let s=await fetch(e,n);if(!s.ok)throw new Error(`Fetch failed: ${s.status}`);return s.json()},t);U.set(o,i)}return U.get(o)()}a(ot,"fetchCache");function Q(e){if(Array.isArray(e))return e.map(Q);if(e&&typeof e=="object"){let t={};return Object.keys(e).sort().forEach(n=>{t[n]=Q(e[n])}),t}return e}a(Q,"sortObjectDeep");function Oe(e){if(e&&typeof e=="object"&&!Array.isArray(e)){let t={};return Object.keys(e).sort().forEach(n=>{t[n]=e[n]}),t}return e}a(Oe,"sortObjectShallow");function Ne(e,t=null,n={}){let o=new Map,i=a((...s)=>{let{deepSort:c}=n,r;c===!0?r=s.map(h=>h&&typeof h=="object"?Q(h):h):c===!1?r=s.map(h=>h&&typeof h=="object"?Oe(h):h):r=s;let m=JSON.stringify(r),f=Date.now();m.length===2&&(m=e.name);let d=o.get(m);if(d&&(t===null||f-d.timestamp<t))return d.value;let y=e(...s);return o.set(m,{value:y,timestamp:f}),y instanceof Promise&&y.catch(()=>o.delete(m)),y},"wrapped");return i.clear=()=>o.clear(),i}a(Ne,"memoizeFunc");function V(e){let t={"&":"&","<":"<",">":">",'"':""","'":"'"};return e.replace(/[&<>"']/g,n=>t[n])}a(V,"escapeHtml");function Le(e){let t="";function n(o,i=0){let s=" ".repeat(i);if(o==null||o===!1||o===!0)return;if(Array.isArray(o)){o.forEach(r=>n(r,i+1));return}let c=o;typeof c=="function"&&(c=c()),typeof c=="function"&&c.__isSignal&&(c=c()),!(c==null||c===!1||c===!0)&&(t+=String(c))}return a(n,"process"),e.forEach(o=>n(o)),t}a(Le,"renderChildren");function Pe(e){let t=[];for(let n=0;n<e.length;n++){let o=e[n],i=e[n+1];typeof o=="string"&&typeof i=="function"?(t.push(()=>o+i()),n++):t.push(o)}return t}a(Pe,"normalizeChildren");function z(e,...t){var g;let n={},o=[];if(t[0]&&typeof t[0]=="object"&&!Array.isArray(t[0])&&t[0]!==null&&!(t[0]instanceof String)&&(x||!(t[0]instanceof Node))?(n=t[0],o=t.slice(1)):o=t,x&&typeof document>"u"){let l=globalThis.__CURRENT_COMPONENT__;globalThis.__HANDLER_REGISTRY__||(globalThis.__HANDLER_REGISTRY__={}),(g=globalThis.__HANDLER_REGISTRY__)[l]||(g[l]=[]);let p=[];for(let[v,k]of Object.entries(n))if(v==="style"&&typeof k=="object"){let $=Object.entries(k).map(([A,he])=>`${A.replace(/([A-Z])/g,"-$1").toLowerCase()}:${he}`).join(";");p.push(` style="${V($)}"`)}else v!=="className"&&v!=="class"&&!v.startsWith("on")&&p.push(` ${v}="${V(String(k))}"`);(n.className||n.class)&&p.push(` class="${V(n.className||n.class)}"`);let b=Le(o);if(["input","img","br","hr","meta","link"].includes(e))return`<${e}${p.join("")} />`;if(e==="fragment")return b;var i;let _=B.get(e);return _&&(i=_.tagName,_.nativeTag!==null&&(i=_.nativeTag)),i!==void 0&&(e=i),`<${e}${p.join("")}>${b}</${e}>`}j(z.name);var s="";s=Z();var c=s.split("|");if(c.includes(C.rpc))return;let r=null,m=e.toLowerCase()==="fragment";if(m)r=document.createDocumentFragment();else{var i;let p=B.get(e);p&&(i=p.tagName,p.nativeTag!==null&&(i=p.nativeTag)),i!==void 0&&(e=i),r=document.createElement(e)}if(globalThis.__CURRENT_COMPONENT__){q++;let l=q;r.dataIndex=l,r.realtedComponent=globalThis.__CURRENT_COMPONENT__,r.cmpNbr=M}let f=[];for(let[l,p]of Object.entries(n))if(l.startsWith("on")&&typeof p=="function"){let b=l.slice(2).toLowerCase();f.push({type:b,val:p})}f.length&&(r._handlers=f);let u=K.has(e),d=J.has(pe(e)),y=e==="input"||e==="option",h=e==="option";if(!m)for(let l in n){let p=n[l];if(l.startsWith("on")&&typeof p=="function"){let b=l.slice(2).toLowerCase();r.addEventListener(b,O=>{w.stopPropagation&&O.stopPropagation(),p(O)})}else typeof p=="function"&&l!=="children"?X(()=>{let b=p();b==null||b===!1?(r.removeAttribute(l),l==="value"&&d&&(r.value="",w.cleanhtml||r.removeAttribute("value")),l==="checked"&&y&&(r.checked=!1,w.cleanhtml||r.removeAttribute("checked")),l==="selected"&&h&&(r.selected=!1,w.cleanhtml||r.removeAttribute("selected")),l==="id"&&(r.iid="",w.cleanhtml||r.removeAttribute("id"))):l==="id"?(r.iid=b,w.cleanhtml?r.removeAttribute("id"):r.setAttribute("id",b),oe(b,{name:b,caller:b+s,value:r})):l==="value"&&d?(r.value=b,w.cleanhtml?r.removeAttribute("value"):r.setAttribute("value",b)):l==="checked"&&y?(r.checked=b,w.cleanhtml?r.removeAttribute("checked"):b?r.setAttribute("checked",""):r.removeAttribute("checked")):l==="selected"&&h?(r.selected=b,w.cleanhtml?r.removeAttribute("selected"):b?r.setAttribute("selected",""):r.removeAttribute("selected")):r.setAttribute(l,b)}):p!=null&&p!==!1&&(l==="id"?(r.iid=p,w.cleanhtml?r.removeAttribute("id"):r.setAttribute("id",p),oe(p,{name:p,caller:p+s,value:r})):l==="value"&&d?(r.value=p,w.cleanhtml?r.removeAttribute("value"):r.setAttribute("value",p)):l==="checked"&&y?(r.checked=p,w.cleanhtml?r.removeAttribute("checked"):r.setAttribute("checked","")):l==="selected"&&h?(r.selected=p,w.cleanhtml?r.removeAttribute("selected"):r.setAttribute("selected","")):r.setAttribute(l,p))}return u?o.length===1&&(typeof o[0]=="string"||typeof o[0]=="number")?d&&(r.value=o[0],w.cleanhtml?r.removeAttribute("value"):r.setAttribute("value",o[0])):o.length>0&&console.warn(`Void element <${e}> should not have children.`):(o=Pe(o),o.flat().forEach((l,p)=>{if(l&&l.__isSignal&&l.__isPrimitiveSignal&&!l.__isWrapped){let b=l;b.__isWrapped=!0,l=a(()=>b(),"child")}if(typeof l=="function"){let b=l(),_=b===!1||b===null||b===!0?document.createComment(""):document.createTextNode("");r.appendChild(_),X(()=>{let T=l();if(Array.isArray(T)){let k=_.parentNode;if(!k)return;_._insertedNodes&&(_._insertedNodes.forEach(A=>A.remove()),_._insertedNodes=null);let $=T.flat().filter(Boolean).map(A=>A instanceof Node?A:typeof A=="string"||typeof A=="number"?document.createTextNode(String(A)):typeof A=="object"?A.__isNode?A:div(A.name??JSON.stringify(A)):null).filter(Boolean);$.forEach(A=>k.insertBefore(A,_)),_._insertedNodes=$,_.nodeValue="";return}if(T instanceof Node){let k=_.parentNode;if(!k)return;_._insertedNode&&(_._insertedNode._boundNode&&_._insertedNode._boundNode.remove(),_._insertedNode.remove(),_._insertedNode=null),k.insertBefore(T,_),_._insertedNode=T;return}let v=T==null||T===!1||T===!0?"":String(T);if(_._insertedNode&&(_._insertedNode._boundNode&&_._insertedNode._boundNode.remove(),_._insertedNode.remove(),_._insertedNode=null),_.nodeValue!==v){if(!_.parentNode)return;_!=null&&_._boundNode?_._boundNode.nodeValue=v:_.nodeValue=v}})}else if(typeof l=="string"&&l.includes("{{")&&!l.includes("function"))r.appendChild(ve(l));else if(typeof l=="string"||typeof l=="number"){if(typeof l=="string"&&(l.includes("function get(")||l.includes("function (")||l.includes("[native code]")))throw new Error("Detected reactive getter function used inside a template string. Use a function instead like: div(() => `Your text is: ${someState()}`)");r.appendChild(document.createTextNode(l))}else(l instanceof DocumentFragment||l instanceof Node)&&r.appendChild(l)})),r}a(z,"h");function je(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/-+/g,"-").toLowerCase()}a(je,"camelToDash");function me(e,t=null){if(E.innerHTMLElements.includes(e)||E.valueElements.includes(e)||E.srcElements.includes(e)||E.hrefElements.includes(e)||E.voidElements.includes(e))return;let o=/[A-Z]/.test(e)?je(e):e.toLowerCase();o.includes("-")||(o="s-"+o),e.includes("-")&&(o=e,e=pe(e)),B.set(e,{tagName:o,nativeTag:t}),!E.innerHTMLElements.includes(e)&&t===null?E.innerHTMLElements.push(e):!E.innerHTMLElements.includes(e)&&t!==null&&(E.innerHTMLElements.includes(t)||E.innerHTMLElements.push(e)),!E.valueElements.includes(e)&&t===null?(E.valueElements.push(e),J.add(e)):!E.valueElements.includes(e)&&t!==null&&(E.valueElements.includes(t)||(E.valueElements.push(e),J.add(e))),!E.srcElements.includes(e)&&t===null?(E.srcElements.push(e),te.add(e)):!E.srcElements.includes(e)&&t!==null&&(E.srcElements.includes(t)||(E.srcElements.push(e),te.add(e))),!E.hrefElements.includes(e)&&t===null?(E.hrefElements.push(e),ne.add(e)):!E.hrefElements.includes(e)&&t!==null&&(E.hrefElements.includes(t)||(E.hrefElements.push(e),ne.add(e))),!E.voidElements.includes(e)&&t===null?(E.voidElements.push(e),K.add(e)):!E.voidElements.includes(e)&&t!==null&&(E.voidElements.includes(t)||(E.voidElements.push(e),K.add(e))),globalThis[e]=(...i)=>z(e,...i)}a(me,"defineElement");function Me(e){x||requestAnimationFrame(()=>{requestAnimationFrame(e)})}a(Me,"onPaint");function rt(e){if(x)return;let t=!1;Me(()=>{t||(t=!0,e())})}a(rt,"paintFinish");function se(e){let t={};for(let n of e.attributes)if(n.name.startsWith("data-")&&n.name!=="data-component"){let o=n.name.slice(5);try{t[o]=JSON.parse(n.value)}catch{t[o]=n.value}}return t}a(se,"getPropsFromDataAttributes");async function $e(){let e=document.querySelector("layout[data-layout]");if(!e)return!1;let t=e.getAttribute("data-layout");if(!t)return!1;try{x||(t="/"+t);let n=await fetch(t);if(!n.ok)throw new Error("Failed to load layout");let o=await n.text(),s=new DOMParser().parseFromString(o,"text/html"),c=document.querySelector("description[data-description]");if(c){let f=s.querySelector('meta[name="description"]');f||(f=s.createElement("meta"),f.name="description",s.head.appendChild(f)),f.content=c.getAttribute("data-description")}let r=document.querySelector("keywords[data-keywords]");if(r){let f=s.querySelector('meta[name="keywords"]');f||(f=s.createElement("meta"),f.name="keywords",s.head.appendChild(f)),f.content=r.getAttribute("data-keywords")}return document.querySelectorAll("[data-part]").forEach(f=>{let u=f.getAttribute("data-part"),d=s.querySelector(`[data-part="${u}"]`);d&&(d.innerHTML="",[...f.childNodes].forEach(y=>{d.appendChild(y.cloneNode(!0))}))}),document.documentElement.innerHTML=s.documentElement.innerHTML,!0}catch(n){return console.error("Failed to inject layout:",n),!1}}a($e,"injectLayout");function W(e,t){if(!t)return;let n=t.trim();if(e[n])return e[n];let o=n[0].toUpperCase()+n.slice(1).toLowerCase();if(e[o])return e[o];let i=n.toUpperCase();if(e[i])return e[i];let s=n.toLowerCase(),c=Object.entries(e).find(([r,m])=>r.toLowerCase()===s);if(c)return c[1]}a(W,"lookupComponent");async function Re(e,t){let n=t.trim();for(let[o,i]of Object.entries(e))if(i.loader)try{let s=await i.loader(),c=s.default||Object.values(s)[0];if(typeof c=="function"&&c.name===n)return i._componentName=c.name,i}catch(s){console.warn(`Failed to load route "${o}":`,s);continue}}a(Re,"findRouteByComponentName");async function le(e){var f;let t=e||w.route;await $e();let{componentKey:n,componentNme:o,params:i}=ce(t),s=new Set,c=await i._componentNamePromise,r=n,m=document.querySelectorAll("[data-component]");for(let u of m){let d=u.getAttribute("data-component"),y=d==null?void 0:d.toLowerCase();if(typeof rvs_map_sigment<"u"&&rvs_map_sigment!==null?r=W(rvs_map_sigment,d):r=y,!r||s.has(r))continue;let h=W(t,r);h===void 0&&(h=await Re(t,r));try{u.hasChildNodes()&&(globalThis.__CURRENT_COMPONENT__=d);let g=h?await Fe(h):await He(w.loadAtRunTime,r),l=h?{...i,...se(u)}:se(u),p=g.default(l);p.funcName=c.toLowerCase();let b=(f=u.closest("[data-part]"))==null?void 0:f.getAttribute("data-part");p.datapart=b,p.setAttribute("data-component",d),p.hydrate=!0,u.cmpNbr=M,ee(u,p),ae.set(r,M),M++,q=0}catch(g){console.warn(`Component "${y}" failed to load`,g)}}}a(le,"hydrateComponent");async function Fe(e){if(!P.has(e)){let t=await e.loader();P.set(e,t)}return P.get(e)}a(Fe,"loadModule");async function He(e,t){let n=W(e,t);if(n){if(P.has(n))return P.get(n);try{let o=await n();return P.set(n,o),o}catch(o){console.error(`Component "${t}" failed to load`,o)}}}a(He,"loadModuleFromFile");function it(e,t){if(e===void 0){le();return}if(typeof e=="object"&&t===void 0){le(e);return}let n=typeof e=="string"?document.getElementById(e):e;if(!n)throw new Error("Mount target not found: "+e);n.hasChildNodes()?ee(n,t):n.replaceChildren(t)}a(it,"mount");function ee(e,t){(async()=>{try{if(!e||!t)return;if(t._boundNode=e,e.nodeName!==t.nodeName){e.replaceWith(t);return}if(e.nodeType===Node.TEXT_NODE||e.nodeType===Node.COMMENT_NODE){e.nodeValue!==t.nodeValue&&(e.nodeValue=t.nodeValue);return}if(e.nodeType===Node.ELEMENT_NODE&&t.nodeType===Node.ELEMENT_NODE){for(let i of Array.from(t.attributes))e.setAttribute(i.name,i.value);for(let i of Array.from(e.attributes))t.hasAttribute(i.name)||e.removeAttribute(i.name);t._handlers&&t._handlers.forEach(({type:i,val:s})=>{e.addEventListener(i,c=>{w.stopPropagation&&c.stopPropagation(),s(c)})})}let n=Array.from(t.childNodes),o=Array.from(e.childNodes);for(let i=0;i<Math.max(n.length,o.length);i++){let s=o[i],c=n[i];s&&c?ee(s,c):c?e.appendChild(c):s&&e.removeChild(s)}}catch(n){console.error("Hydration failed:",n)}})()}a(ee,"hydrate");export{Je as IsEmpty,w as MyApp,Ee as Navigate,Ye as NavigateTo,Ge as Route,tt as addSigment,Xe as clearComponentCache,X as createEffect,nt as createElement,qe as createGlobalSignal,et as createSigment,ue as createSignal,ot as fetchCache,Ue as getCookie,We as getGlobalSignal,Be as getStorage,H as getVirtualElementById,qe as globalSignal,H as gve,ie as gvec,z as h,le as hydrateComponent,Ie as initLoadAtRunTime,Ke as loadFunc,xe as loadRunFunc,Ne as memoizeFunc,it as mount,Me as onPaint,rt as paintFinish,ce as parsePath,re as rpc,ze as setCookie,Ve as setStorage,de as sig,de as signal,Qe as store,Ze as updateNodeIfNeeded,We as useGlobalSignal};
|
package/dist/ssr.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import g from"fs";import
|
|
2
|
+
import g from"fs";import y from"fs/promises";import a from"path";import{pathToFileURL as R,fileURLToPath as k}from"url";import{execSync as v}from"child_process";import{createRequire as $}from"module";var C=$(import.meta.url),j=k(import.meta.url),ae=a.dirname(j),I={COMPONENTS_PATH:"src/components",HTML_FOLDER_PATH:"src/html",OUT_DIR:"dist"},E=a.resolve(process.cwd(),"ssr.config.js"),M={};try{await g.promises.access(E);let e=await import(R(E).href);M=e.default||e}catch{console.warn("\u26A0\uFE0F No ssr.config.js found, using defaults")}var f={...I,...M};function U(){return parseInt(process.versions.node.split(".")[0],10)<20?"4":"latest"}function P(e,t="latest"){try{C.resolve(e),console.log(`\u2705 ${e} is already installed.`)}catch{console.log(`\u{1F4E6} ${e} not found, installing ${t}...`),v(`npm install ${e}@${t}`,{stdio:"inherit"}),console.log(`\u2705 ${e} installed successfully.`),console.log("\u{1F501} Restarting script to load newly installed modules..."),v(`node "${j}"`,{stdio:"inherit"}),process.exit()}}P("vite",U());P("jsdom");var B=C.resolve("vite"),T=await import(R(B).href),{build:G}=T.build?T:T.default,V=f.COMPONENTS_PATH.split("/")[0]||f.COMPONENTS_PATH,Y=f.OUT_DIR.split("/")[0]||f.OUT_DIR,x=a.resolve("./"+V),b=a.resolve("./"+Y);g.mkdirSync(b,{recursive:!0});function J(e){let t="";for(;e>=0;)t=String.fromCharCode(e%26+65)+t,e=Math.floor(e/26)-1;return t}async function W(){await G({build:{minify:!0,rollupOptions:{input:a.join(x,"Main.js"),output:{dir:b,entryFileNames:"bundle.js",chunkFileNames:"chunks/chunk-[name]-[hash].js",assetFileNames:"assets/[name]-[hash][extname]"}}},plugins:[{name:"component-map-generator",generateBundle(e,t){let r={},n={},o=0;for(let i of Object.values(t))if(i.type==="chunk"){let s=J(o++);r[i.name]=s,n[s]=i.name}let c={...r,...n},p=`
|
|
3
3
|
|
|
4
4
|
// --- bidirectional component map ---
|
|
5
5
|
const rvs_map_sigment = ${JSON.stringify(c,null,2)};
|
|
6
6
|
export { rvs_map_sigment };
|
|
7
|
-
`;g.writeFileSync(a.join(b,"component-map.json"),JSON.stringify(c,null,2));let l=Object.values(t).find(i=>i.type==="chunk"&&i.isEntry);l&&(l.code+=
|
|
8
|
-
`+
|
|
7
|
+
`;g.writeFileSync(a.join(b,"component-map.json"),JSON.stringify(c,null,2));let l=Object.values(t).find(i=>i.type==="chunk"&&i.isEntry);l&&(l.code+=p),console.log("\u2705 forward map saved to component-map.json"),console.log("\u2705 bidirectional rvs_map_sigment embedded into bundle.js")}}]}),console.log("\u2705 Build completed! bundle.js + chunks are ready in dist/")}var{createServer:z}=await import("vite"),{JSDOM:O}=await import("jsdom"),A=f.HTML_FOLDER_PATH,D=f.COMPONENTS_PATH,L=f.OUT_DIR;async function F(e){let t=[];for(let r of await y.readdir(e,{withFileTypes:!0})){let n=a.join(e,r.name);r.isDirectory()?r.name!=="layouts"&&t.push(...await F(n)):r.isFile()&&r.name.endsWith(".html")&&t.push(n)}return t}function H(e,t={}){let r=g.readdirSync(e,{withFileTypes:!0});for(let n of r){let o=a.join(e,n.name);if(n.isDirectory())H(o,t);else if(n.isFile()&&n.name.endsWith(".js")){let p=a.basename(n.name,".js").toLowerCase();t[p]="/"+o.replace(/\\/g,"/")}}return t}var K=H(D);async function Q(e,t,r,n={}){globalThis.__CURRENT_COMPONENT__=t,globalThis.__SSR_SIGNAL_REGISTRY__||={},globalThis.__HANDLER_REGISTRY__||={};let o=K[t.toLowerCase()];if(!o)throw new Error(`Component "${t}" not found in ${D}`);let c=await e.ssrLoadModule(o),p=typeof c.default=="function"?await c.default.call(r.defaultView,n):`Missing render fn in ${t}`,l=r.createElement("div");l.innerHTML=p.trim();let i=null;for(let u of l.childNodes)if(u.nodeType===1){i=u;break}i&&i.setAttribute("data-component",t);let s=r.createDocumentFragment();for(;l.firstChild;)s.appendChild(l.firstChild);return s}async function X(e,t){globalThis.__SSR_SIGNAL_REGISTRY__={},globalThis.__HANDLER_REGISTRY__={},globalThis.__SSR_EVENT_MAP__={};let n=new O(await y.readFile(t,"utf-8")).window.document,o,c=n.querySelector("layout");if(c){let s=c.getAttribute("data-layout");if(!s)throw new Error(`No data-layout in ${t}`);let u=a.resolve(A,s),m=await y.readFile(u,"utf-8");o=new O(m).window.document,c.remove();let h=n.querySelector("description")?.getAttribute("data-description");h&&o.querySelector('meta[name="description"]')?.setAttribute("content",h);let N=n.querySelector("keywords")?.getAttribute("data-keywords");if(N&&o.querySelector('meta[name="keywords"]')?.setAttribute("content",N),n.querySelectorAll("[data-part]").forEach(d=>{let w=d.getAttribute("data-part"),S=o.querySelector(`[data-part="${w}"]`);if(S){S.innerHTML="";for(let q of d.childNodes)S.appendChild(o.importNode(q,!0))}}),n.querySelectorAll("script[type='module']").forEach(d=>{let w=d.getAttribute("src");w&&!o.querySelector(`script[src="${w}"]`)&&o.body.appendChild(d.cloneNode(!0))}),!o.querySelector(`script[type='module'][src="/bundle.js"]`)){let d=o.createElement("script");d.type="module",d.src="/bundle.js",o.body.appendChild(d)}}else o=n;let p=o.querySelectorAll("[data-component][runAtServer]");for(let s of p){let u=s.getAttribute("data-component"),m={};for(let h of s.attributes)h.name.startsWith("data-prop-")&&(m[h.name.slice(10)]=h.value);let _=await Q(e,u,o,m);s.replaceWith(_)}let l=a.join(L,"component-map.json"),i=JSON.parse(await y.readFile(l,"utf-8"));return o.querySelectorAll("[data-component]").forEach(s=>{let u=s.getAttribute("data-component"),m=Object.keys(i).find(_=>_.toLowerCase()===u.toLowerCase());m&&(console.log("componentMap",i[m]),s.setAttribute("data-component",i[m]))}),o.querySelectorAll("layout, description, keywords").forEach(s=>s.remove()),`<!DOCTYPE html>
|
|
8
|
+
`+o.documentElement.outerHTML}async function Z(){let e=await z({server:{middlewareMode:!0},root:process.cwd(),ssr:{noExternal:!0}}),t=await F(A);for(let r of t){let n=a.join(L,a.relative(A,r));await y.mkdir(a.dirname(n),{recursive:!0}),await y.writeFile(n,await X(e,r),"utf-8")}await e.close()}(async()=>{try{await W(),await Z().catch(e=>{console.error(e),process.exit(1)}),console.log("\u{1F389} All components built and HTML rendered successfully!")}catch(e){console.error("\u274C Build failed:",e),process.exit(1)}})();
|
package/package.json
CHANGED