@ecopages/radiant 0.3.0-alpha.13 → 0.3.0-alpha.16

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ecopages/radiant",
3
- "version": "0.3.0-alpha.13",
3
+ "version": "0.3.0-alpha.15",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/ecopages/radiant.git"
@@ -1,3 +1,3 @@
1
- var iR=((R)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(R,{get:(P,g)=>(typeof require<"u"?require:P)[g]}):R)(function(R){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+R+'" is not supported')});var $R=Symbol.for("@ecopages/radiant.legacy-instance-initializers"),jR=Symbol.for("@ecopages/radiant.legacy-post-construction-initializers"),mR=Symbol.for("@ecopages/radiant.legacy-executed-post-construction-initializers");function eP(R,P){HR(R,$R,P)}function Rg(R,P){HR(R,jR,P)}function Pg(R){c(R,$R)}function C(R){let P=R;c(R,jR,P[mR]??=new Set)}function HR(R,P,g){let f=R,$=Object.prototype.hasOwnProperty.call(f,P)?f[P]:void 0;if(Array.isArray($)){$.push(g);return}Object.defineProperty(f,P,{value:[g]})}function c(R,P,g,f=Object.getPrototypeOf(R)){if(!f||f===Object.prototype)return;c(R,P,g,Object.getPrototypeOf(f));let $=f[P];if(!Array.isArray($))return;for(let j of $){if(g?.has(j))continue;j(R),g?.add(j)}}function BR(R){switch(R){case Array:return"array";case Boolean:return"boolean";case Number:return"number";case Object:return"object";case String:return"string"}}function aR(R){switch(typeof R){case"boolean":return"boolean";case"number":return"number";case"string":return"string"}if(Array.isArray(R))return"array";if(Object.prototype.toString.call(R)==="[object Object]")return"object"}function lR(R){switch(R){case Number:return 0;case String:return"";case Boolean:return!1;default:return null}}function tR(R){try{return JSON.parse(R)}catch{throw TypeError("Invalid JSON string")}}var nR={array(R){let P=tR(R);if(!Array.isArray(P))throw TypeError(`Expected an array but got a value of type "${typeof P}"`);return P},boolean(R){return!(R==="0"||String(R).toLowerCase()==="false")},number(R){return Number(R.replace(/_/g,""))},object(R){let P=JSON.parse(R);if(P===null||typeof P!=="object"||Array.isArray(P))throw TypeError(`expected value of type "object" but instead got value "${R}" of type "${aR(P)}"`);return P},string(R){return R}},qR={default:FR,array:QR,object:QR};function QR(R){return JSON.stringify(R)}function FR(R){return`${R}`}function JR(R,P){let g=BR(P);if(!g)throw TypeError(`[radiant-element] Unknown type "${P}"`);return nR[g](R)}function bR(R,P){let g=BR(P);if(!g)throw TypeError(`[radiant-element] Unknown type "${P}"`);return(qR[g]??qR.default??FR)(R)}function oR(R){return typeof R==="boolean"}function eR(R){return typeof R==="number"}function RP(R){return typeof R==="string"}function PP(R){return Array.isArray(R)}function gP(R){return typeof R==="object"&&!Array.isArray(R)&&R!==null}function fg(R,P){switch(R){case Boolean:return oR(P);case Number:return eR(P);case String:return RP(P);case Array:return PP(P);case Object:return gP(P);default:return!1}}var $g=(R,P,g,f)=>{if(P===Boolean){let j=R.getAttribute(g);if(j===null)return f;return j===""?!0:JR(j,P)}let $=R.getAttribute(g);return $!==null?JR($,P):f??lR(P)};import{getActiveSsrScopeValue as fP,withActiveSsrScopeValue as $P}from"@ecopages/jsx/server";var ZR=Symbol.for("@ecopages/radiant.element-ssr-runtime");function qg(){return fP(ZR)}function Z(R,P){return $P(ZR,R,P)}var WR=Symbol.for("@ecopages/radiant.controllerIdentifier");function p(R,P){R[WR]=P}function XR(R){return R[WR]}var B="data-controller",GR=Symbol.for("@ecopages/radiant.controller-registry-state");function jP(){let R=globalThis,P=R[GR];if(P)return P;let g={activeRuntimes:new Set,controllerRegistrationStrategy:"keep-current",controllerRegistry:new Map};return R[GR]=g,g}var k=jP(),F=k.controllerRegistry,W=k.activeRuntimes;function UR(R){let P=R.getAttribute(B);if(!P)return[];return P.split(/\s+/).map((g)=>g.trim()).filter((g)=>g.length>0)}function I(R,P){if(R instanceof Element&&R.hasAttribute(B))P(R);for(let g of Array.from(R.querySelectorAll(`[${B}]`)))P(g)}class KR{root;controllersByElement=new Map;observer;stopped=!1;constructor(R=document){this.root=R;this.start()}stop(){if(this.stopped)return;this.stopped=!0,this.observer?.disconnect(),this.observer=void 0;for(let[R,P]of this.controllersByElement)for(let[g]of P)this.disconnectController(R,g);W.delete(this)}reconcileRegisteredController(R){I(this.root,(P)=>{if(!UR(P).includes(R))return;this.connectController(P,R)})}replaceRegisteredController(R){for(let[P,g]of Array.from(this.controllersByElement.entries())){if(!g.has(R))continue;this.disconnectController(P,R)}this.reconcileRegisteredController(R)}start(){if(I(this.root,(P)=>{this.reconcileElement(P)}),typeof MutationObserver>"u"){W.add(this);return}this.observer=new MutationObserver((P)=>{for(let g of P){if(g.type==="attributes"&&g.target instanceof Element){this.reconcileElement(g.target);continue}for(let f of Array.from(g.removedNodes)){if(!(f instanceof Element))continue;I(f,($)=>{this.disconnectElementControllers($)})}for(let f of Array.from(g.addedNodes)){if(!(f instanceof Element))continue;I(f,($)=>{this.reconcileElement($)})}}});let R=this.root instanceof Document?this.root.documentElement:this.root;this.observer.observe(R,{attributeFilter:[B],attributes:!0,childList:!0,subtree:!0}),W.add(this)}reconcileElement(R){let P=new Set(UR(R)),g=this.controllersByElement.get(R);if(g){for(let f of g.keys())if(!P.has(f))this.disconnectController(R,f)}for(let f of P)this.connectController(R,f)}connectController(R,P){let g=F.get(P);if(!g)return;let f=this.controllersByElement.get(R);if(!f)f=new Map,this.controllersByElement.set(R,f);if(f.has(P))return;let $=new g(R);f.set(P,$),$.connect()}disconnectController(R,P){let g=this.controllersByElement.get(R);if(!g)return;let f=g.get(P);if(!f)return;if(f.disconnect(),g.delete(P),g.size===0)this.controllersByElement.delete(R)}disconnectElementControllers(R){let P=this.controllersByElement.get(R);if(!P)return;for(let g of Array.from(P.keys()))this.disconnectController(R,g)}}function HP(R,P){let g=F.get(R);if(g)return g;p(P,R),F.set(R,P);for(let f of Array.from(W))f.reconcileRegisteredController(R);return P}function Fg(R){return F.has(R)}function bg(R){return F.get(R)}function qP(R,P){if(F.get(R)===P)return P;p(P,R),F.set(R,P);for(let f of Array.from(W))f.replaceRegisteredController(R);return P}function YR(R){k.controllerRegistrationStrategy=R}function Zg(){YR("replace")}function Wg(){YR("keep-current")}function Xg(R,P){if(k.controllerRegistrationStrategy==="replace")return qP(R,P);return HP(R,P)}function Gg(R=document){return new KR(R)}function Ug(){for(let R of Array.from(W))R.stop()}var xR=Symbol.for("@ecopages/radiant.customElementTagName");function Yg(R,P){R[xR]=P}function D(R){return R[xR]}var r=Symbol.for("@ecopages/radiant.reactivePropDefinitions");function wg(R,P,g){let f=R.constructor,$=f[r]??[];if($.some((j)=>j.name===P))return;$.push({name:P,options:g}),f[r]=$}function wR(R){return(R.constructor[r]??[]).slice()}var hR=Symbol.for("@ecopages/radiant.ssr-context-provider-resolver");function AR(){return globalThis}function yR(R){AR()[hR]=R}function Ag(R){return AR()[hR]?.(R)}var h;function SR(){if(h!==void 0)return h;try{let{AsyncLocalStorage:R}=(()=>{throw new Error("Cannot require module "+"node:async_hooks");})();return h=new R,h}catch{return h=null,null}}var VR=Symbol.for("@ecopages/radiant.ssr-context-fallback-stack");function TR(){let R=globalThis;return R[VR]??=[],R[VR]}function X(R){if(R.length===0)return()=>{return};let P=new Map;for(let $ of R)P.set($.getContextKey(),$);let g=SR();if(g){let $=g.getStore()??[],j=[...$,P];return g.enterWith(j),()=>{g.enterWith($)}}let f=TR();return f.push(P),()=>{let $=f.lastIndexOf(P);if($>=0)f.splice($,1)}}function _R(R){let P=SR()?.getStore()??TR();for(let g=P.length-1;g>=0;g-=1){let f=P[g]?.get(R);if(f)return f}return}function Sg(R){let P=_R(R);if(!P)return;return P.getContext()}yR((R)=>_R(R));class i{host;constructor(R){this.host=R}renderHost(){return{nodeType:1,outerHTML:this.renderHostToString({mode:"hydrate"})}}renderHostToString(R={},P=this.getHostAttributes()){let g=this.getTagName(),f=X(this.host.getContextProviders());try{return`<${g}${QP(P)}>${this.renderHostContent(R)}</${g}>`}finally{f()}}renderHostContent(R){let P=this.host.renderViewToString(R),g=this.host.getAuthoredHydrationScriptMarkup?.()??"",f=this.host.getSlotProjectionScriptTag?.()??"";if(!(R.mode==="hydrate"||R.mode===void 0&&R.hydrate===!0))return`${P}${g}${f}`;let j=this.host.getHydrationBindings().map((H)=>H.renderHydrationScriptTag()).filter((H)=>typeof H==="string").join("");return`${P}${f}${j}`}getHostAttributes(){let R={},P=new Set;for(let g of this.host.getReactiveProperties()){let f=this.host.getPropertyValue(g.name);if(f===void 0||f===null||f===!1)continue;R[g.attribute]=String(g.converter.toAttribute(f)),P.add(g.attribute)}for(let g of this.host.getReactivePropDefinitions()){let f=g.options.attribute??g.name;if(P.has(f))continue;let $=this.host.getPropertyValue(g.name);if($===void 0||$===null||$===!1)continue;R[f]=String(bR($,g.options.type)),P.add(f)}for(let g of this.host.listAttributeNames()){let f=this.host.getAttributeValue(g);if(f!==null)R[g]=f}return R}getTagName(){let R=D(this.host.constructor);if(!R)throw Error(`${this.host.constructor.name} is missing @customElement metadata.`);return R}}function QP(R){return Object.entries(R).map(([P,g])=>` ${P}="${JP(g)}"`).join("")}function JP(R){return R.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function G(R){if(BP(R))return R;return}function BP(R){return typeof R.constructor==="function"&&typeof R.getAttribute==="function"&&typeof R.getAuthoredHydrationScriptMarkup==="function"&&typeof R.getContextProviders==="function"&&typeof R.getHydrationBindings==="function"&&typeof R.getReactiveProperties==="function"&&typeof R.getSlotProjectionScriptTag==="function"&&typeof R.resolveTrackedRenderOutput==="function"&&typeof R.renderViewToString==="function"}function LR(R){let P=G(R);if(!P)throw Error("Radiant SSR runtime requires a server extraction host shape on the component.");return{constructor:P.constructor,getAuthoredHydrationScriptMarkup:()=>P.getAuthoredHydrationScriptMarkup(),getContextProviders:()=>P.getContextProviders(),getHydrationBindings:()=>P.getHydrationBindings(),getSlotProjectionScriptTag:()=>P.getSlotProjectionScriptTag(),renderViewToString:(g)=>P.renderViewToString(g),getReactiveProperties:()=>P.getReactiveProperties(),getReactivePropDefinitions:()=>wR(R),getPropertyValue:(g)=>Reflect.get(R,g),listAttributeNames:()=>P.getAttributeNames(),getAttributeValue:(g)=>P.getAttribute(g)}}import{renderToString as FP}from"@ecopages/jsx/server";import{isServerRenderHydrationActive as CR,withForcedServerCustomElementRendering as bP,withServerCustomElementRenderHook as ZP}from"@ecopages/jsx/server";var E;function IR(R){return new i(LR(R))}function z(R){return{nodeType:1,outerHTML:A(R,{mode:"hydrate"})}}function kR(R){if(y(R))return z(R);if(!O(R))return;return R.renderHost?.()??{nodeType:1,outerHTML:R.renderHostToString({mode:"hydrate"})}}function A(R,P={}){return a(()=>IR(R).renderHostToString(P,zR(R)))}function DR(R,P={}){if(y(R))return A(R,P);if(!O(R))return;return R.renderHostToString(P)}function ER(R,P){if(y(R))return z(R);if(!O(R))return;return R.renderHost?.()??{nodeType:1,outerHTML:P}}function WP(R,P={}){return a(()=>m(()=>FP(GP(R).value,P)))}function zR(R){return IR(R).getHostAttributes()}function XP(R){if(!y(R))return;return{renderHost:()=>z(R),renderHostToString:(P)=>A(R,P)}}function dg(R){return G(R)}function m(R){return bP(()=>ZP(({instance:P})=>{if(y(P))return{nodeType:1,get outerHTML(){let f=CR();return A(P,{hydrate:f,mode:f?"hydrate":"plain"})}};if(!O(P))return;let g=P;return{nodeType:1,get outerHTML(){let f=CR();return g.renderHostToString({hydrate:f,mode:f?"hydrate":"plain"})}}},R))}function GP(R){if(UP(R))return R.resolveTrackedRenderOutput();let P=G(R);if(!P)throw Error("Radiant SSR runtime requires tracked render output support on the component.");return P.resolveTrackedRenderOutput()}function y(R){if(typeof R!=="object"||R===null)return!1;return G(R)!==void 0}function O(R){if(typeof R!=="object"||R===null)return!1;return typeof R.renderHostToString==="function"}function UP(R){if(typeof R!=="object"||R===null)return!1;return typeof R.resolveTrackedRenderOutput==="function"}function U(){if(E)return E;return E={getHostAttributes:zR,renderHost:z,renderHostToString:A,resolveRenderBridge:XP,renderView:WP},E}function a(R){return Z(U(),R)}var N=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);function OR(R){let P=[],g=0;while(g<R.length){let f=g;if(R.startsWith("<!--",g)){let H=R.indexOf("-->",g+4);g=H===-1?R.length:H+3,P.push(R.slice(f,g));continue}if(R[g]!=="<"){let H=R.indexOf("<",g);g=H===-1?R.length:H,P.push(R.slice(f,g));continue}let $=V(R,g);if(!$){P.push(R.slice(f));break}if($.type!=="open"||$.selfClosing||N.has($.tagName)){g=$.end,P.push(R.slice(f,g));continue}g=$.end;let j=1;while(g<R.length&&j>0){let H=R.indexOf("<",g);if(H===-1){g=R.length;break}let q=V(R,H);if(!q){g=R.length;break}if(g=q.end,q.type==="comment"||q.type==="declaration")continue;if(q.type==="open"&&!q.selfClosing&&!N.has(q.tagName)){j+=1;continue}if(q.type==="close")j-=1}P.push(R.slice(f,g))}return P.filter((f)=>f!=="")}function KP(R,P){let g;for(let f=P+1;f<R.length;f+=1){let $=R[f];if(g){if($===g)g=void 0;continue}if($==='"'||$==="'"){g=$;continue}if($===">")return f+1}return R.length}function YP(R){let P={},g=/([:^@A-Za-z0-9_.-]+)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'>/]+)))?/g;for(let f of R.matchAll(g)){let[,$,j,H,q]=f;if(!$)continue;P[$]=j??H??q??""}return P}function V(R,P){if(R.startsWith("<!--",P)){let b=R.indexOf("-->",P+4);return{end:b===-1?R.length:b+3,type:"comment"}}let g=KP(R,P),f=R.slice(P+1,g-1).trim();if(f==="")return;if(f.startsWith("!")||f.startsWith("?"))return{end:g,type:"declaration"};if(f.startsWith("/"))return{end:g,type:"close"};let $=/\/\s*$/.test(f),j=$?f.replace(/\/\s*$/,"").trim():f,H=j.split(/[\s/>]/,1)[0]?.toLowerCase()??"",q=H.length,J=j.slice(q).trim(),x=$||N.has(H)?"":xP(R,P,g,H);return{attributes:YP(J),end:g,innerHtml:x,selfClosing:$,tagName:H,type:"open"}}function xP(R,P,g,f){let $=g,j=1;while($<R.length&&j>0){let H=R.indexOf("<",$);if(H===-1)return R.slice(g);let q=V(R,H);if(!q)return R.slice(g);if(q.type==="open"&&q.tagName===f&&!q.selfClosing&&!N.has(f))j+=1;if(q.type==="close"){if(R.slice(H+2,q.end-1).trim().toLowerCase()===f){if(j-=1,j===0)return R.slice(g,H)}}$=q.end}return R.slice(g)}class Q extends EventTarget{nodeType;static DOCUMENT_NODE=9;static ELEMENT_NODE=1;static TEXT_NODE=3;childNodes=[];ownerDocument;parentNode=null;constructor(R,P=null){super();this.nodeType=R;this.ownerDocument=P}append(...R){for(let P of R)this.appendChild(typeof P==="string"?wP(P):P)}appendChild(R){if("parentNode"in R&&R.parentNode&&"removeChild"in R.parentNode)R.parentNode.removeChild(R);return this.childNodes.push(R),R.ownerDocument=this.nodeType===Q.DOCUMENT_NODE?this:this.ownerDocument,R.parentNode=this,R}removeChild(R){let P=this.childNodes.indexOf(R);if(P===-1)return R;return this.childNodes.splice(P,1),R.parentNode=null,R}replaceChildren(...R){for(let P of this.childNodes)P.parentNode=null;this.childNodes=[],this.append(...R)}get textContent(){return this.childNodes.map((R)=>R.textContent??"").join("")}set textContent(R){this.replaceChildren(R??"")}getRootNode(){let R=this;while("parentNode"in R&&R.parentNode)R=R.parentNode;return R}}class _ extends Q{value;constructor(R,P=Y()){super(Q.TEXT_NODE,P);this.value=R}get textContent(){return this.value}set textContent(R){this.value=R??""}}class NR{element;constructor(R){this.element=R}add(...R){let P=new Set(this.readTokens());for(let g of R)if(g!=="")P.add(g);this.writeTokens([...P])}remove(...R){let P=new Set(this.readTokens());for(let g of R)P.delete(g);this.writeTokens([...P])}toggle(R,P){let g=this.contains(R);if(P??!g)return this.add(R),!0;return this.remove(R),!1}contains(R){return this.readTokens().includes(R)}toString(){return this.value}get value(){return this.element.getAttribute("class")??""}readTokens(){return this.value.split(/\s+/).map((R)=>R.trim()).filter((R)=>R.length>0)}writeTokens(R){if(R.length===0){this.element.removeAttribute("class");return}this.element.setAttribute("class",R.join(" "))}}class M extends Q{attributes=new Map;classListValue;datasetValue;fragmentHtml;fragmentText;localName;tagName;constructor(R="div",P=Y()){super(Q.ELEMENT_NODE,P);this.localName=R.toLowerCase(),this.tagName=this.localName.toUpperCase()}get classList(){return this.classListValue??=new NR(this),this.classListValue}get dataset(){return this.datasetValue??=new Proxy({},{deleteProperty:(R,P)=>{if(typeof P!=="string")return!1;return this.removeAttribute(T(P)),!0},get:(R,P)=>{if(typeof P!=="string")return;return this.getAttribute(T(P))??void 0},getOwnPropertyDescriptor:(R,P)=>{if(typeof P!=="string")return;return{configurable:!0,enumerable:!0,value:this.getAttribute(T(P))??void 0,writable:!0}},has:(R,P)=>{return typeof P==="string"&&this.hasAttribute(T(P))},ownKeys:()=>{return this.getAttributeNames().filter((R)=>R.startsWith("data-")).map((R)=>SP(R.slice(5)))},set:(R,P,g)=>{if(typeof P!=="string")return!1;return this.setAttribute(T(P),String(g)),!0}}),this.datasetValue}hasAttribute(R){return this.attributes.has(R)}getAttribute(R){return this.attributes.get(R)??null}getAttributeNames(){return Array.from(this.attributes.keys())}setAttribute(R,P){this.fragmentHtml=void 0,this.attributes.set(R,String(P))}toggleAttribute(R,P){if(P??!this.hasAttribute(R))return this.setAttribute(R,""),!0;return this.removeAttribute(R),!1}removeAttribute(R){this.fragmentHtml=void 0,this.attributes.delete(R)}querySelector(){return null}querySelectorAll(){return[]}matches(){return!1}get outerHTML(){if(this.fragmentHtml!==void 0)return this.fragmentHtml;let R=Array.from(this.attributes.entries()).map(([P,g])=>` ${P}="${yP(g)}"`).join("");return`<${this.localName}${R}>${this.innerHTML}</${this.localName}>`}get innerHTML(){return this.childNodes.map((R)=>_P(R)).join("")}set innerHTML(R){this.fragmentHtml=void 0,this.fragmentText=void 0,this.replaceChildren(...uR(R,this.ownerDocument))}get textContent(){return this.fragmentText??super.textContent??""}set textContent(R){this.fragmentHtml=void 0,this.fragmentText=R??"",super.textContent=R}setSerializedFragment(R,P,g){this.fragmentHtml=R,this.fragmentText=P,this.attributes=new Map(Object.entries(g)),this.replaceChildren()}}class v{bubbles;cancelable;composed;type;constructor(R,P={}){this.type=R,this.bubbles=P.bubbles??!1,this.cancelable=P.cancelable??!1,this.composed=P.composed??!1}}class n extends v{detail;constructor(R,P={}){super(R,P);this.detail=P.detail}}class K extends M{isConnected=!1;constructor(R="div",P=Y()){super(R,P)}insertAdjacentHTML(R,P){this.append(...uR(P,this.ownerDocument))}}class L extends K{constructor(R=Y()){super("script",R)}}class l extends Q{constructor(){super(Q.DOCUMENT_NODE)}createElement(R){return R.toLowerCase()==="script"?new L(this):new K(R,this)}createTextNode(R){return new _(R,this)}querySelector(){return null}querySelectorAll(){return[]}}class MR{definitions=new Map;define(R,P){if(this.definitions.has(R))return;this.definitions.set(R,P)}get(R){return this.definitions.get(R)}}var S,t={escape(R){return TP(String(R))}};function wP(R){return new _(R,Y())}function Y(){return globalThis.document??null}function vR(){let R=globalThis,P=R.customElements;if(typeof R.Node>"u"||typeof R.Document>"u"||typeof R.Element>"u"||typeof R.HTMLElement>"u"||typeof R.document>"u"||!P||typeof P.define!=="function"||typeof P.get!=="function")return;return R.window??{CSS:R.CSS??t,CustomEvent:R.CustomEvent??n,Document:R.Document,Element:R.Element,Event:R.Event??v,EventTarget:R.EventTarget??EventTarget,HTMLScriptElement:R.HTMLScriptElement??R.HTMLElement,HTMLElement:R.HTMLElement,Node:R.Node,document:R.document,customElements:P}}function o(){let R=vR();if(R)return R;return hP()}function sR(){return o(),{prepareHost(R,P={}){if(P.authoredContent!==void 0)R.innerHTML=P.authoredContent}}}function hP(){let R=vR();if(R)return R;if(S)return S;let P=new MR,g=new l,f=globalThis.Event??v,$=globalThis.CustomEvent??n,j=l,H=globalThis.EventTarget??EventTarget;return S={CSS:globalThis.CSS??t,CustomEvent:$,Document:j,Element:M,Event:f,EventTarget:H,HTMLScriptElement:L,HTMLElement:K,Node:Q,document:g,customElements:P},Object.assign(globalThis,{CSS:globalThis.CSS??t,CustomEvent:$,Document:j,Element:M,Event:f,EventTarget:H,HTMLScriptElement:L,HTMLElement:K,Node:Q,document:g,customElements:P,window:S}),S}function AP(R,P,g){let f=P.tagName==="script"?new L(g):new K(P.tagName,g);return f.setSerializedFragment(R,VP(P.innerHtml),P.attributes),f}function yP(R){return R.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function VP(R){return R.replace(/<!--.*?-->/gs,"").replace(/<[^>]+>/g,"")}function uR(R,P=Y()){return OR(R).map((g)=>{if(!g.startsWith("<"))return new _(g,P);let f=V(g,0);if(!f||f.type!=="open")return new _(g,P);return AP(g,f,P)})}function T(R){return`data-${R.replace(/([A-Z])/g,"-$1").toLowerCase()}`}function SP(R){return R.replace(/-([a-z])/g,(P,g)=>g.toUpperCase())}function TP(R){let P="";for(let g=0;g<R.length;g+=1){let f=R[g]??"",$=f.codePointAt(0)??0;if($===0){P+="�";continue}let j=$>=1&&$<=31||$===127,H=g===0&&$>=48&&$<=57,q=g===1&&$>=48&&$<=57&&(R[0]??"")==="-",J=g===0&&f==="-"&&R.length===1;if(j||H||q){P+=`\\${$.toString(16)} `;continue}if($>=128||f==="-"||f==="_"||$>=48&&$<=57||$>=65&&$<=90||$>=97&&$<=122){P+=J?`\\${f}`:f;continue}P+=`\\${f}`}return P}function _P(R){if(R.nodeType===Q.TEXT_NODE)return R.textContent??"";return"outerHTML"in R&&typeof R.outerHTML==="string"?R.outerHTML:R.textContent??""}function LP(R,P="hydrate"){return{kind:"script-module",src:R,stage:P}}function g1(R){return{kind:"modulepreload",href:R}}function f1(R,P){return P?{kind:"style",href:R,media:P}:{kind:"style",href:R}}async function $1(R,P){return(await s(u(R,P))).markup}async function j1(R,P){return s(u(R,P))}async function H1(R,P){return e(await s(u(R,P)))}async function q1(R,P){return DP(await s(u(R,P)))}async function s(R){return Z(U(),async()=>{let P=R.environment??sR(),g=X(kP(R.ssrContext));try{let f="component"in R?R.component:await R.load(),$=new f;C($),IP(P,$,R.authoredContent,R.prepareHost),R.initialize?.($);let j=R.clientModuleSrc??await R.resolveClientModuleSrc?.(f),H=R.assets??await R.resolveAssets?.(f)??[],q=RR(H,j),J=PR(q)??j,x=R.tagName??MP(f),b=(R.now??EP)().toISOString(),w=gR(R.renderOptions),fR=DR($,w)??NP($,w),rR=CP($,fR);return{markup:fR,metadata:{assets:q,clientModuleUrl:J,generatedAt:b,tagName:x},preview:rR}}finally{g()}})}function CP(R,P){return ER(R,P)??kR(R)??R.renderHost?.()??{nodeType:1,outerHTML:P}}function IP(R,P,g,f){if(!OP(P)){if(g===void 0&&f===void 0)return;throw Error(`${P.constructor.name} cannot prepare SSR host content because it does not expose an innerHTML host surface.`)}R.prepareHost(P,{authoredContent:g}),f?.(P,R)}function kP(R){if(!R||R.length===0)return[];return R.map((P)=>({getContext:()=>P.value,getContextKey:()=>P.context,renderHydrationScript:()=>{return},renderHydrationScriptTag:()=>{return}}))}function e(R){if("metadata"in R)return{assets:R.metadata.assets,clientModuleSrc:R.metadata.clientModuleUrl,generatedAt:R.metadata.generatedAt,markup:R.markup,tagName:R.metadata.tagName};let{preview:P,...g}=R;return g}function DP(R){return{assets:R.metadata.assets,clientModuleSrc:R.metadata.clientModuleUrl,generatedAt:R.metadata.generatedAt,markup:R.markup,preview:R.preview,tagName:R.metadata.tagName}}function EP(){return new Date}function zP(R){if(!R)return[];return[LP(R)]}function RR(R,P){if(!P)return R;if(R.some((g)=>g.kind==="script-module"&&g.src===P))return R;return[...zP(P),...R]}function PR(R){return R.find((P)=>P.kind==="script-module")?.src}function u(R,P){if(typeof R==="function")return{...P,component:R};return R}function gR(R){if(R?.mode!==void 0||R?.hydrate!==void 0)return R;return{...R,mode:"hydrate"}}function OP(R){return"innerHTML"in R}function NP(R,P){if(typeof R.renderHostToString==="function")return R.renderHostToString(P);throw Error(`${R.constructor.name} cannot be server-rendered without a registered Radiant SSR host or renderHostToString().`)}function MP(R){let P=D(R);if(!P)throw Error(`${R.name} is missing @customElement metadata.`);return P}import{renderToString as vP}from"@ecopages/jsx/server";async function Y1(R,P){return(await d(R,P)).markup}async function x1(R,P){return d(R,P)}async function w1(R,P){return e(await d(R,P))}async function h1(R,P){return sP(await d(R,P))}async function d(R,P){return Z(U(),async()=>{let g=dP(P.tagName),f=cP(g,pP(R,P)),$=new R(f);C($);try{P.initialize?.($),$.connectForSsrRender();let j=P.clientModuleSrc??await P.resolveClientModuleSrc?.(R),H=P.assets??await P.resolveAssets?.(R)??[],q=RR(H,j),J=PR(q)??j,x=(P.now??uP)().toISOString(),b=gR(P.renderOptions),w=aP($,g,b);return{markup:w,metadata:{assets:q,clientModuleUrl:J,generatedAt:x,tagName:g},preview:{nodeType:1,outerHTML:w}}}finally{$.disconnectForSsrRender()}})}function sP(R){return{assets:R.metadata.assets,clientModuleSrc:R.metadata.clientModuleUrl,generatedAt:R.metadata.generatedAt,markup:R.markup,preview:R.preview,tagName:R.metadata.tagName}}function uP(){return new Date}function dP(R){let P=R.trim().toLowerCase();if(!P)throw Error("Controller SSR host tagName is required.");return P}function cP(R,P){let f=o().document.createElement(R);for(let[$,j]of Object.entries(P)){if(j===void 0||j===null||j===!1)continue;f.setAttribute($,j===!0?"":String(j))}return f}function pP(R,P){let g={},f=P.host,$=iP(P.attributes?.class,f?.class,f?.classes);if($!==void 0)g.class=$;dR(g,"data",f?.data),dR(g,"aria",f?.aria),rP(g,P.attributes);let j=XR(R);if(j&&g[B]==null)g[B]=j;return g}function dR(R,P,g){if(!pR(g))return;for(let[f,$]of Object.entries(g))R[`${P}-${mP(f)}`]=$}function rP(R,P){if(!P)return;for(let[g,f]of Object.entries(P))R[g]=f}function iP(...R){let P=[];for(let g of R)cR(P,g);return P.length===0?void 0:P.join(" ")}function cR(R,P){if(P===void 0||P===null||P===!1||P===!0)return;if(typeof P==="string"){if(P!=="")R.push(P);return}if(typeof P==="number"||typeof P==="bigint"){R.push(String(P));return}if(Array.isArray(P)){for(let g of P)cR(R,g);return}if(!pR(P))return;for(let[g,f]of Object.entries(P))if(f)R.push(g)}function pR(R){return Object.prototype.toString.call(R)==="[object Object]"}function mP(R){return R.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/[_\s]+/g,"-").toLowerCase()}function aP(R,P,g){let f=X(R.getSsrContextProviders());try{let $=m(()=>vP(R.render(),g)),H=g.mode==="hydrate"||g.mode===void 0&&g.hydrate===!0?R.getSsrHydrationBindings().map((q)=>q.renderHydrationScriptTag()).filter((q)=>typeof q==="string").join(""):"";return`<${P}${lP(R.host)}>${$}${H}</${P}>`}finally{f()}}function lP(R){return R.getAttributeNames().map((P)=>tP(P,R.getAttribute(P))).join("")}function tP(R,P){if(P==="")return` ${R}`;return` ${R}="${nP(P??"")}"`}function nP(R){return R.replaceAll("&","&amp;").replaceAll('"',"&quot;").replaceAll("<","&lt;").replaceAll(">","&gt;")}export{h1 as renderControllerWithPreview,Y1 as renderControllerToString,w1 as renderControllerToPayload,x1 as renderController};
1
+ var iR=((R)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(R,{get:(P,g)=>(typeof require<"u"?require:P)[g]}):R)(function(R){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+R+'" is not supported')});var $R=Symbol.for("@ecopages/radiant.legacy-instance-initializers"),jR=Symbol.for("@ecopages/radiant.legacy-post-construction-initializers"),mR=Symbol.for("@ecopages/radiant.legacy-executed-post-construction-initializers");function eP(R,P){HR(R,$R,P)}function Rg(R,P){HR(R,jR,P)}function Pg(R){c(R,$R)}function C(R){let P=R;c(R,jR,P[mR]??=new Set)}function HR(R,P,g){let f=R,$=Object.prototype.hasOwnProperty.call(f,P)?f[P]:void 0;if(Array.isArray($)){$.push(g);return}Object.defineProperty(f,P,{value:[g]})}function c(R,P,g,f=Object.getPrototypeOf(R)){if(!f||f===Object.prototype)return;c(R,P,g,Object.getPrototypeOf(f));let $=f[P];if(!Array.isArray($))return;for(let j of $){if(g?.has(j))continue;j(R),g?.add(j)}}function BR(R){switch(R){case Array:return"array";case Boolean:return"boolean";case Number:return"number";case Object:return"object";case String:return"string"}}function aR(R){switch(typeof R){case"boolean":return"boolean";case"number":return"number";case"string":return"string"}if(Array.isArray(R))return"array";if(Object.prototype.toString.call(R)==="[object Object]")return"object"}function lR(R){switch(R){case Number:return 0;case String:return"";case Boolean:return!1;default:return null}}function tR(R){try{return JSON.parse(R)}catch{throw TypeError("Invalid JSON string")}}var nR={array(R){let P=tR(R);if(!Array.isArray(P))throw TypeError(`Expected an array but got a value of type "${typeof P}"`);return P},boolean(R){return!(R==="0"||String(R).toLowerCase()==="false")},number(R){return Number(R.replace(/_/g,""))},object(R){let P=JSON.parse(R);if(P===null||typeof P!=="object"||Array.isArray(P))throw TypeError(`expected value of type "object" but instead got value "${R}" of type "${aR(P)}"`);return P},string(R){return R}},qR={default:FR,array:QR,object:QR};function QR(R){return JSON.stringify(R)}function FR(R){return`${R}`}function JR(R,P){let g=BR(P);if(!g)throw TypeError(`[radiant-element] Unknown type "${P}"`);return nR[g](R)}function bR(R,P){let g=BR(P);if(!g)throw TypeError(`[radiant-element] Unknown type "${P}"`);return(qR[g]??qR.default??FR)(R)}function oR(R){return typeof R==="boolean"}function eR(R){return typeof R==="number"}function RP(R){return typeof R==="string"}function PP(R){return Array.isArray(R)}function gP(R){return typeof R==="object"&&!Array.isArray(R)&&R!==null}function fg(R,P){switch(R){case Boolean:return oR(P);case Number:return eR(P);case String:return RP(P);case Array:return PP(P);case Object:return gP(P);default:return!1}}var $g=(R,P,g,f)=>{if(P===Boolean){let j=R.getAttribute(g);if(j===null)return f;return j===""?!0:JR(j,P)}let $=R.getAttribute(g);return $!==null?JR($,P):f??lR(P)};import{getActiveSsrScopeValue as fP,withActiveSsrScopeValue as $P}from"@ecopages/jsx/server";var ZR=Symbol.for("@ecopages/radiant.element-ssr-runtime");function qg(){return fP(ZR)}function Z(R,P){return $P(ZR,R,P)}var WR=Symbol.for("@ecopages/radiant.controllerIdentifier");function p(R,P){R[WR]=P}function XR(R){return R[WR]}var B="data-controller",GR=Symbol.for("@ecopages/radiant.controller-registry-state");function jP(){let R=globalThis,P=R[GR];if(P)return P;let g={activeRuntimes:new Set,controllerRegistrationStrategy:"keep-current",controllerRegistry:new Map};return R[GR]=g,g}var k=jP(),F=k.controllerRegistry,W=k.activeRuntimes;function UR(R){let P=R.getAttribute(B);if(!P)return[];return P.split(/\s+/).map((g)=>g.trim()).filter((g)=>g.length>0)}function I(R,P){if(R instanceof Element&&R.hasAttribute(B))P(R);for(let g of Array.from(R.querySelectorAll(`[${B}]`)))P(g)}class KR{root;controllersByElement=new Map;observer;stopped=!1;constructor(R=document){this.root=R;this.start()}stop(){if(this.stopped)return;this.stopped=!0,this.observer?.disconnect(),this.observer=void 0;for(let[R,P]of this.controllersByElement)for(let[g]of P)this.disconnectController(R,g);W.delete(this)}reconcileRegisteredController(R){I(this.root,(P)=>{if(!UR(P).includes(R))return;this.connectController(P,R)})}replaceRegisteredController(R){for(let[P,g]of Array.from(this.controllersByElement.entries())){if(!g.has(R))continue;this.disconnectController(P,R)}this.reconcileRegisteredController(R)}start(){if(I(this.root,(P)=>{this.reconcileElement(P)}),typeof MutationObserver>"u"){W.add(this);return}this.observer=new MutationObserver((P)=>{for(let g of P){if(g.type==="attributes"&&g.target instanceof Element){this.reconcileElement(g.target);continue}for(let f of Array.from(g.removedNodes)){if(!(f instanceof Element))continue;I(f,($)=>{this.disconnectElementControllers($)})}for(let f of Array.from(g.addedNodes)){if(!(f instanceof Element))continue;I(f,($)=>{this.reconcileElement($)})}}});let R=this.root instanceof Document?this.root.documentElement:this.root;this.observer.observe(R,{attributeFilter:[B],attributes:!0,childList:!0,subtree:!0}),W.add(this)}reconcileElement(R){let P=new Set(UR(R)),g=this.controllersByElement.get(R);if(g){for(let f of g.keys())if(!P.has(f))this.disconnectController(R,f)}for(let f of P)this.connectController(R,f)}connectController(R,P){let g=F.get(P);if(!g)return;let f=this.controllersByElement.get(R);if(!f)f=new Map,this.controllersByElement.set(R,f);if(f.has(P))return;let $=new g(R);f.set(P,$),$.connect()}disconnectController(R,P){let g=this.controllersByElement.get(R);if(!g)return;let f=g.get(P);if(!f)return;if(f.disconnect(),g.delete(P),g.size===0)this.controllersByElement.delete(R)}disconnectElementControllers(R){let P=this.controllersByElement.get(R);if(!P)return;for(let g of Array.from(P.keys()))this.disconnectController(R,g)}}function HP(R,P){let g=F.get(R);if(g)return g;p(P,R),F.set(R,P);for(let f of Array.from(W))f.reconcileRegisteredController(R);return P}function Fg(R){return F.has(R)}function bg(R){return F.get(R)}function qP(R,P){if(F.get(R)===P)return P;p(P,R),F.set(R,P);for(let f of Array.from(W))f.replaceRegisteredController(R);return P}function YR(R){k.controllerRegistrationStrategy=R}function Zg(){YR("replace")}function Wg(){YR("keep-current")}function Xg(R,P){if(k.controllerRegistrationStrategy==="replace")return qP(R,P);return HP(R,P)}function Gg(R=document){return new KR(R)}function Ug(){for(let R of Array.from(W))R.stop()}var xR=Symbol.for("@ecopages/radiant.customElementTagName");function Yg(R,P){R[xR]=P}function D(R){return R[xR]}var r=Symbol.for("@ecopages/radiant.reactivePropDefinitions");function wg(R,P,g){let f=R.constructor,$=f[r]??[];if($.some((j)=>j.name===P))return;$.push({name:P,options:g}),f[r]=$}function wR(R){return(R.constructor[r]??[]).slice()}var hR=Symbol.for("@ecopages/radiant.ssr-context-provider-resolver");function AR(){return globalThis}function yR(R){AR()[hR]=R}function Ag(R){return AR()[hR]?.(R)}var h;function SR(){if(h!==void 0)return h;try{let{AsyncLocalStorage:R}=(()=>{throw new Error("Cannot require module "+"node:async_hooks");})();return h=new R,h}catch{return h=null,null}}var VR=Symbol.for("@ecopages/radiant.ssr-context-fallback-stack");function TR(){let R=globalThis;return R[VR]??=[],R[VR]}function X(R){if(R.length===0)return()=>{return};let P=new Map;for(let $ of R)P.set($.getContextKey(),$);let g=SR();if(g){let $=g.getStore()??[],j=[...$,P];return g.enterWith(j),()=>{g.enterWith($)}}let f=TR();return f.push(P),()=>{let $=f.lastIndexOf(P);if($>=0)f.splice($,1)}}function _R(R){let P=SR()?.getStore()??TR();for(let g=P.length-1;g>=0;g-=1){let f=P[g]?.get(R);if(f)return f}return}function Sg(R){let P=_R(R);if(!P)return;return P.getContext()}yR((R)=>_R(R));class i{host;constructor(R){this.host=R}renderHost(){return{nodeType:1,outerHTML:this.renderHostToString({mode:"hydrate"})}}renderHostToString(R={},P=this.getHostAttributes()){let g=this.getTagName(),f=X(this.host.getContextProviders());try{return`<${g}${QP(P)}>${this.renderHostContent(R)}</${g}>`}finally{f()}}renderHostContent(R){let P=this.host.renderViewToString(R),g=this.host.getAuthoredHydrationScriptMarkup?.()??"",f=this.host.getSlotProjectionScriptTag?.()??"";if(!(R.mode==="hydrate"||R.mode===void 0&&R.hydrate===!0))return`${P}${g}${f}`;let j=this.host.getHydrationBindings().map((H)=>H.renderHydrationScriptTag()).filter((H)=>typeof H==="string").join("");return`${P}${f}${j}`}getHostAttributes(){let R={},P=new Set;for(let g of this.host.getReactiveProperties()){let f=this.host.getPropertyValue(g.name);if(f===void 0||f===null||f===!1)continue;R[g.attribute]=String(g.converter.toAttribute(f)),P.add(g.attribute)}for(let g of this.host.getReactivePropDefinitions()){let f=g.options.attribute??g.name;if(P.has(f))continue;let $=this.host.getPropertyValue(g.name);if($===void 0||$===null||$===!1)continue;R[f]=String(bR($,g.options.type)),P.add(f)}for(let g of this.host.listAttributeNames()){let f=this.host.getAttributeValue(g);if(f!==null)R[g]=f}return R}getTagName(){let R=D(this.host.constructor);if(!R)throw Error(`${this.host.constructor.name} is missing @customElement metadata.`);return R}}function QP(R){return Object.entries(R).map(([P,g])=>` ${P}="${JP(g)}"`).join("")}function JP(R){return R.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function G(R){if(BP(R))return R;return}function BP(R){return typeof R.constructor==="function"&&typeof R.getAttribute==="function"&&typeof R.getAuthoredHydrationScriptMarkup==="function"&&typeof R.getContextProviders==="function"&&typeof R.getHydrationBindings==="function"&&typeof R.getReactiveProperties==="function"&&typeof R.getSlotProjectionScriptTag==="function"&&typeof R.resolveTrackedRenderOutput==="function"&&typeof R.renderViewToString==="function"}function LR(R){let P=G(R);if(!P)throw Error("Radiant SSR runtime requires a server extraction host shape on the component.");return{constructor:P.constructor,getAuthoredHydrationScriptMarkup:()=>P.getAuthoredHydrationScriptMarkup(),getContextProviders:()=>P.getContextProviders(),getHydrationBindings:()=>P.getHydrationBindings(),getSlotProjectionScriptTag:()=>P.getSlotProjectionScriptTag(),renderViewToString:(g)=>P.renderViewToString(g),getReactiveProperties:()=>P.getReactiveProperties(),getReactivePropDefinitions:()=>wR(R),getPropertyValue:(g)=>Reflect.get(R,g),listAttributeNames:()=>P.getAttributeNames(),getAttributeValue:(g)=>P.getAttribute(g)}}import{renderToString as FP}from"@ecopages/jsx/server";import{isServerRenderHydrationActive as CR,withForcedServerCustomElementRendering as bP,withServerCustomElementRenderHook as ZP}from"@ecopages/jsx/server";var E;function IR(R){return new i(LR(R))}function z(R){return{nodeType:1,outerHTML:A(R,{mode:"hydrate"})}}function kR(R){if(y(R))return z(R);if(!O(R))return;return R.renderHost?.()??{nodeType:1,outerHTML:R.renderHostToString({mode:"hydrate"})}}function A(R,P={}){return a(()=>IR(R).renderHostToString(P,zR(R)))}function DR(R,P={}){if(y(R))return A(R,P);if(!O(R))return;return R.renderHostToString(P)}function ER(R,P){if(y(R))return z(R);if(!O(R))return;return R.renderHost?.()??{nodeType:1,outerHTML:P}}function WP(R,P={}){return a(()=>m(()=>FP(GP(R).value,P)))}function zR(R){return IR(R).getHostAttributes()}function XP(R){if(!y(R))return;return{renderHost:()=>z(R),renderHostToString:(P)=>A(R,P)}}function dg(R){return G(R)}function m(R){return bP(()=>ZP(({instance:P})=>{if(y(P))return{nodeType:1,get outerHTML(){let f=CR();return A(P,{hydrate:f,mode:f?"hydrate":"plain"})}};if(!O(P))return;let g=P;return{nodeType:1,get outerHTML(){let f=CR();return g.renderHostToString({hydrate:f,mode:f?"hydrate":"plain"})}}},R))}function GP(R){if(UP(R))return R.resolveTrackedRenderOutput();let P=G(R);if(!P)throw Error("Radiant SSR runtime requires tracked render output support on the component.");return P.resolveTrackedRenderOutput()}function y(R){if(typeof R!=="object"||R===null)return!1;return G(R)!==void 0}function O(R){if(typeof R!=="object"||R===null)return!1;return typeof R.renderHostToString==="function"}function UP(R){if(typeof R!=="object"||R===null)return!1;return typeof R.resolveTrackedRenderOutput==="function"}function U(){if(E)return E;return E={getHostAttributes:zR,renderHost:z,renderHostToString:A,resolveRenderBridge:XP,renderView:WP},E}function a(R){return Z(U(),R)}var N=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);function OR(R){let P=[],g=0;while(g<R.length){let f=g;if(R.startsWith("<!--",g)){let H=R.indexOf("-->",g+4);g=H===-1?R.length:H+3,P.push(R.slice(f,g));continue}if(R[g]!=="<"){let H=R.indexOf("<",g);g=H===-1?R.length:H,P.push(R.slice(f,g));continue}let $=V(R,g);if(!$){P.push(R.slice(f));break}if($.type!=="open"||$.selfClosing||N.has($.tagName)){g=$.end,P.push(R.slice(f,g));continue}g=$.end;let j=1;while(g<R.length&&j>0){let H=R.indexOf("<",g);if(H===-1){g=R.length;break}let q=V(R,H);if(!q){g=R.length;break}if(g=q.end,q.type==="comment"||q.type==="declaration")continue;if(q.type==="open"&&!q.selfClosing&&!N.has(q.tagName)){j+=1;continue}if(q.type==="close")j-=1}P.push(R.slice(f,g))}return P.filter((f)=>f!=="")}function KP(R,P){let g;for(let f=P+1;f<R.length;f+=1){let $=R[f];if(g){if($===g)g=void 0;continue}if($==='"'||$==="'"){g=$;continue}if($===">")return f+1}return R.length}function YP(R){let P={},g=/([:^@A-Za-z0-9_.-]+)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'>/]+)))?/g;for(let f of R.matchAll(g)){let[,$,j,H,q]=f;if(!$)continue;P[$]=j??H??q??""}return P}function V(R,P){if(R.startsWith("<!--",P)){let b=R.indexOf("-->",P+4);return{end:b===-1?R.length:b+3,type:"comment"}}let g=KP(R,P),f=R.slice(P+1,g-1).trim();if(f==="")return;if(f.startsWith("!")||f.startsWith("?"))return{end:g,type:"declaration"};if(f.startsWith("/"))return{end:g,type:"close"};let $=/\/\s*$/.test(f),j=$?f.replace(/\/\s*$/,"").trim():f,H=j.split(/[\s/>]/,1)[0]?.toLowerCase()??"",q=H.length,J=j.slice(q).trim(),x=$||N.has(H)?"":xP(R,P,g,H);return{attributes:YP(J),end:g,innerHtml:x,selfClosing:$,tagName:H,type:"open"}}function xP(R,P,g,f){let $=g,j=1;while($<R.length&&j>0){let H=R.indexOf("<",$);if(H===-1)return R.slice(g);let q=V(R,H);if(!q)return R.slice(g);if(q.type==="open"&&q.tagName===f&&!q.selfClosing&&!N.has(f))j+=1;if(q.type==="close"){if(R.slice(H+2,q.end-1).trim().toLowerCase()===f){if(j-=1,j===0)return R.slice(g,H)}}$=q.end}return R.slice(g)}class Q extends EventTarget{nodeType;static DOCUMENT_NODE=9;static ELEMENT_NODE=1;static TEXT_NODE=3;childNodes=[];ownerDocument;parentNode=null;constructor(R,P=null){super();this.nodeType=R;this.ownerDocument=P}append(...R){for(let P of R)this.appendChild(typeof P==="string"?wP(P):P)}appendChild(R){if("parentNode"in R&&R.parentNode&&"removeChild"in R.parentNode)R.parentNode.removeChild(R);return this.childNodes.push(R),R.ownerDocument=this.nodeType===Q.DOCUMENT_NODE?this:this.ownerDocument,R.parentNode=this,R}removeChild(R){let P=this.childNodes.indexOf(R);if(P===-1)return R;return this.childNodes.splice(P,1),R.parentNode=null,R}replaceChildren(...R){for(let P of this.childNodes)P.parentNode=null;this.childNodes=[],this.append(...R)}get textContent(){return this.childNodes.map((R)=>R.textContent??"").join("")}set textContent(R){this.replaceChildren(R??"")}getRootNode(){let R=this;while("parentNode"in R&&R.parentNode)R=R.parentNode;return R}}class _ extends Q{value;constructor(R,P=Y()){super(Q.TEXT_NODE,P);this.value=R}get textContent(){return this.value}set textContent(R){this.value=R??""}}class NR{element;constructor(R){this.element=R}add(...R){let P=new Set(this.readTokens());for(let g of R)if(g!=="")P.add(g);this.writeTokens([...P])}remove(...R){let P=new Set(this.readTokens());for(let g of R)P.delete(g);this.writeTokens([...P])}toggle(R,P){let g=this.contains(R);if(P??!g)return this.add(R),!0;return this.remove(R),!1}contains(R){return this.readTokens().includes(R)}toString(){return this.value}get value(){return this.element.getAttribute("class")??""}readTokens(){return this.value.split(/\s+/).map((R)=>R.trim()).filter((R)=>R.length>0)}writeTokens(R){if(R.length===0){this.element.removeAttribute("class");return}this.element.setAttribute("class",R.join(" "))}}class M extends Q{attributes=new Map;classListValue;datasetValue;fragmentHtml;fragmentText;localName;tagName;constructor(R="div",P=Y()){super(Q.ELEMENT_NODE,P);this.localName=R.toLowerCase(),this.tagName=this.localName.toUpperCase()}get classList(){return this.classListValue??=new NR(this),this.classListValue}get dataset(){return this.datasetValue??=new Proxy({},{deleteProperty:(R,P)=>{if(typeof P!=="string")return!1;return this.removeAttribute(T(P)),!0},get:(R,P)=>{if(typeof P!=="string")return;return this.getAttribute(T(P))??void 0},getOwnPropertyDescriptor:(R,P)=>{if(typeof P!=="string")return;return{configurable:!0,enumerable:!0,value:this.getAttribute(T(P))??void 0,writable:!0}},has:(R,P)=>{return typeof P==="string"&&this.hasAttribute(T(P))},ownKeys:()=>{return this.getAttributeNames().filter((R)=>R.startsWith("data-")).map((R)=>SP(R.slice(5)))},set:(R,P,g)=>{if(typeof P!=="string")return!1;return this.setAttribute(T(P),String(g)),!0}}),this.datasetValue}hasAttribute(R){return this.attributes.has(R)}getAttribute(R){return this.attributes.get(R)??null}getAttributeNames(){return Array.from(this.attributes.keys())}setAttribute(R,P){this.fragmentHtml=void 0,this.attributes.set(R,String(P))}toggleAttribute(R,P){if(P??!this.hasAttribute(R))return this.setAttribute(R,""),!0;return this.removeAttribute(R),!1}removeAttribute(R){this.fragmentHtml=void 0,this.attributes.delete(R)}querySelector(){return null}querySelectorAll(){return[]}matches(){return!1}get outerHTML(){if(this.fragmentHtml!==void 0)return this.fragmentHtml;let R=Array.from(this.attributes.entries()).map(([P,g])=>` ${P}="${yP(g)}"`).join("");return`<${this.localName}${R}>${this.innerHTML}</${this.localName}>`}get innerHTML(){return this.childNodes.map((R)=>_P(R)).join("")}set innerHTML(R){this.fragmentHtml=void 0,this.fragmentText=void 0,this.replaceChildren(...uR(R,this.ownerDocument))}get textContent(){return this.fragmentText??super.textContent??""}set textContent(R){this.fragmentHtml=void 0,this.fragmentText=R??"",super.textContent=R}setSerializedFragment(R,P,g){this.fragmentHtml=R,this.fragmentText=P,this.attributes=new Map(Object.entries(g)),this.replaceChildren()}}class v{bubbles;cancelable;composed;type;constructor(R,P={}){this.type=R,this.bubbles=P.bubbles??!1,this.cancelable=P.cancelable??!1,this.composed=P.composed??!1}}class n extends v{detail;constructor(R,P={}){super(R,P);this.detail=P.detail}}class K extends M{isConnected=!1;constructor(R="div",P=Y()){super(R,P)}insertAdjacentHTML(R,P){this.append(...uR(P,this.ownerDocument))}}class L extends K{constructor(R=Y()){super("script",R)}}class l extends Q{constructor(){super(Q.DOCUMENT_NODE)}createElement(R){return R.toLowerCase()==="script"?new L(this):new K(R,this)}createTextNode(R){return new _(R,this)}querySelector(){return null}querySelectorAll(){return[]}}class MR{definitions=new Map;define(R,P){if(this.definitions.has(R))return;this.definitions.set(R,P)}get(R){return this.definitions.get(R)}}var S,t={escape(R){return TP(String(R))}};function wP(R){return new _(R,Y())}function Y(){return globalThis.document??null}function vR(){let R=globalThis,P=R.customElements;if(typeof R.Node>"u"||typeof R.Document>"u"||typeof R.Element>"u"||typeof R.HTMLElement>"u"||typeof R.document>"u"||!P||typeof P.define!=="function"||typeof P.get!=="function")return;return R.window??{CSS:R.CSS??t,CustomEvent:R.CustomEvent??n,Document:R.Document,Element:R.Element,Event:R.Event??v,EventTarget:R.EventTarget??EventTarget,HTMLScriptElement:R.HTMLScriptElement??R.HTMLElement,HTMLElement:R.HTMLElement,Node:R.Node,document:R.document,customElements:P}}function o(){let R=vR();if(R)return R;return hP()}function sR(){return o(),{prepareHost(R,P={}){if(P.authoredContent!==void 0)R.innerHTML=P.authoredContent}}}function hP(){let R=vR();if(R)return R;if(S)return S;let P=new MR,g=new l,f=globalThis.Event??v,$=globalThis.CustomEvent??n,j=l,H=globalThis.EventTarget??EventTarget;return S={CSS:globalThis.CSS??t,CustomEvent:$,Document:j,Element:M,Event:f,EventTarget:H,HTMLScriptElement:L,HTMLElement:K,Node:Q,document:g,customElements:P},Object.assign(globalThis,{CSS:globalThis.CSS??t,CustomEvent:$,Document:j,Element:M,Event:f,EventTarget:H,HTMLScriptElement:L,HTMLElement:K,Node:Q,document:g,customElements:P,window:S}),S}function AP(R,P,g){let f=P.tagName==="script"?new L(g):new K(P.tagName,g);return f.setSerializedFragment(R,VP(P.innerHtml),P.attributes),f}function yP(R){return R.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function VP(R){return R.replace(/<!--.*?-->/gs,"").replace(/<[^>]+>/g,"")}function uR(R,P=Y()){return OR(R).map((g)=>{if(!g.startsWith("<"))return new _(g,P);let f=V(g,0);if(!f||f.type!=="open")return new _(g,P);return AP(g,f,P)})}function T(R){return`data-${R.replace(/([A-Z])/g,"-$1").toLowerCase()}`}function SP(R){return R.replace(/-([a-z])/g,(P,g)=>g.toUpperCase())}function TP(R){let P="";for(let g=0;g<R.length;g+=1){let f=R[g]??"",$=f.codePointAt(0)??0;if($===0){P+="�";continue}let j=$>=1&&$<=31||$===127,H=g===0&&$>=48&&$<=57,q=g===1&&$>=48&&$<=57&&(R[0]??"")==="-",J=g===0&&f==="-"&&R.length===1;if(j||H||q){P+=`\\${$.toString(16)} `;continue}if($>=128||f==="-"||f==="_"||$>=48&&$<=57||$>=65&&$<=90||$>=97&&$<=122){P+=J?`\\${f}`:f;continue}P+=`\\${f}`}return P}function _P(R){if(R.nodeType===Q.TEXT_NODE)return R.textContent??"";return"outerHTML"in R&&typeof R.outerHTML==="string"?R.outerHTML:R.textContent??""}function LP(R,P="hydrate"){return{kind:"script-module",src:R,stage:P}}function g1(R){return{kind:"modulepreload",href:R}}function f1(R,P){return P?{kind:"style",href:R,media:P}:{kind:"style",href:R}}async function $1(R,P){return(await s(u(R,P))).markup}async function j1(R,P){return s(u(R,P))}async function H1(R,P){return e(await s(u(R,P)))}async function q1(R,P){return DP(await s(u(R,P)))}async function s(R){return Z(U(),async()=>{let P=R.environment??sR(),g=X(kP(R.ssrContext));try{let f="component"in R?R.component:await R.load(),$=new f;C($),IP(P,$,R.authoredContent,R.prepareHost),R.initialize?.($);let j=R.clientModuleSrc??await R.resolveClientModuleSrc?.(f),H=R.assets??await R.resolveAssets?.(f)??[],q=RR(H,j),J=PR(q)??j,x=R.tagName??MP(f),b=(R.now??EP)().toISOString(),w=gR(R.renderOptions),fR=DR($,w)??NP($,w),rR=CP($,fR);return{markup:fR,metadata:{assets:q,clientModuleUrl:J,generatedAt:b,tagName:x},preview:rR}}finally{g()}})}function CP(R,P){return ER(R,P)??kR(R)??R.renderHost?.()??{nodeType:1,outerHTML:P}}function IP(R,P,g,f){if(!OP(P)){if(g===void 0&&f===void 0)return;throw Error(`${P.constructor.name} cannot prepare SSR host content because it does not expose an innerHTML host surface.`)}R.prepareHost(P,{authoredContent:g}),f?.(P,R)}function kP(R){if(!R||R.length===0)return[];return R.map((P)=>({getContext:()=>P.value,getContextKey:()=>P.context,renderHydrationScript:()=>{return},renderHydrationScriptTag:()=>{return}}))}function e(R){if("metadata"in R)return{assets:R.metadata.assets,clientModuleSrc:R.metadata.clientModuleUrl,generatedAt:R.metadata.generatedAt,markup:R.markup,tagName:R.metadata.tagName};let{preview:P,...g}=R;return g}function DP(R){return{assets:R.metadata.assets,clientModuleSrc:R.metadata.clientModuleUrl,generatedAt:R.metadata.generatedAt,markup:R.markup,preview:R.preview,tagName:R.metadata.tagName}}function EP(){return new Date}function zP(R){if(!R)return[];return[LP(R)]}function RR(R,P){if(!P)return R;if(R.some((g)=>g.kind==="script-module"&&g.src===P))return R;return[...zP(P),...R]}function PR(R){return R.find((P)=>P.kind==="script-module")?.src}function u(R,P){if(typeof R==="function")return{...P,component:R};return R}function gR(R){if(R?.mode!==void 0||R?.hydrate!==void 0)return R;return{...R,mode:"hydrate"}}function OP(R){return"innerHTML"in R}function NP(R,P){if(typeof R.renderHostToString==="function")return R.renderHostToString(P);throw Error(`${R.constructor.name} cannot be server-rendered without a registered Radiant SSR host or renderHostToString().`)}function MP(R){let P=D(R);if(!P)throw Error(`${R.name} is missing @customElement metadata.`);return P}import{renderToString as vP}from"@ecopages/jsx/server";async function Y1(R,P){return(await d(R,P)).markup}async function x1(R,P){return d(R,P)}async function w1(R,P){return e(await d(R,P))}async function h1(R,P){return sP(await d(R,P))}async function d(R,P){return Z(U(),async()=>{let g=dP(P.tagName),f=cP(g,pP(R,P)),$=new R(f);C($);try{P.initialize?.($),$.runWithSsrLifecycle(()=>$.connect());let j=P.clientModuleSrc??await P.resolveClientModuleSrc?.(R),H=P.assets??await P.resolveAssets?.(R)??[],q=RR(H,j),J=PR(q)??j,x=(P.now??uP)().toISOString(),b=gR(P.renderOptions),w=aP($,g,b);return{markup:w,metadata:{assets:q,clientModuleUrl:J,generatedAt:x,tagName:g},preview:{nodeType:1,outerHTML:w}}}finally{$.disconnect()}})}function sP(R){return{assets:R.metadata.assets,clientModuleSrc:R.metadata.clientModuleUrl,generatedAt:R.metadata.generatedAt,markup:R.markup,preview:R.preview,tagName:R.metadata.tagName}}function uP(){return new Date}function dP(R){let P=R.trim().toLowerCase();if(!P)throw Error("Controller SSR host tagName is required.");return P}function cP(R,P){let f=o().document.createElement(R);for(let[$,j]of Object.entries(P)){if(j===void 0||j===null||j===!1)continue;f.setAttribute($,j===!0?"":String(j))}return f}function pP(R,P){let g={},f=P.host,$=iP(P.attributes?.class,f?.class,f?.classes);if($!==void 0)g.class=$;dR(g,"data",f?.data),dR(g,"aria",f?.aria),rP(g,P.attributes);let j=XR(R);if(j&&g[B]==null)g[B]=j;return g}function dR(R,P,g){if(!pR(g))return;for(let[f,$]of Object.entries(g))R[`${P}-${mP(f)}`]=$}function rP(R,P){if(!P)return;for(let[g,f]of Object.entries(P))R[g]=f}function iP(...R){let P=[];for(let g of R)cR(P,g);return P.length===0?void 0:P.join(" ")}function cR(R,P){if(P===void 0||P===null||P===!1||P===!0)return;if(typeof P==="string"){if(P!=="")R.push(P);return}if(typeof P==="number"||typeof P==="bigint"){R.push(String(P));return}if(Array.isArray(P)){for(let g of P)cR(R,g);return}if(!pR(P))return;for(let[g,f]of Object.entries(P))if(f)R.push(g)}function pR(R){return Object.prototype.toString.call(R)==="[object Object]"}function mP(R){return R.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/[_\s]+/g,"-").toLowerCase()}function aP(R,P,g){let f=X(R.getSsrContextProviders());try{let $=m(()=>vP(R.render(),g)),H=g.mode==="hydrate"||g.mode===void 0&&g.hydrate===!0?R.getSsrHydrationBindings().map((q)=>q.renderHydrationScriptTag()).filter((q)=>typeof q==="string").join(""):"";return`<${P}${lP(R.host)}>${$}${H}</${P}>`}finally{f()}}function lP(R){return R.getAttributeNames().map((P)=>tP(P,R.getAttribute(P))).join("")}function tP(R,P){if(P==="")return` ${R}`;return` ${R}="${nP(P??"")}"`}function nP(R){return R.replaceAll("&","&amp;").replaceAll('"',"&quot;").replaceAll("<","&lt;").replaceAll(">","&gt;")}export{h1 as renderControllerWithPreview,Y1 as renderControllerToString,w1 as renderControllerToPayload,x1 as renderController};
2
2
 
3
- //# debugId=30EE39E65499F38A64756E2164756E21
3
+ //# debugId=1F238D7B0E2C36AD64756E2164756E21
@@ -18,9 +18,9 @@
18
18
  "export type ParsedHtmlTag = {\n\tattributes: Record<string, string>;\n\tend: number;\n\tinnerHtml: string;\n\tselfClosing: boolean;\n\ttagName: string;\n\ttype: 'open';\n};\n\nexport type ParsedHtmlToken =\n\t| ParsedHtmlTag\n\t| {\n\t\t\tend: number;\n\t\t\ttype: 'close';\n\t }\n\t| {\n\t\t\tend: number;\n\t\t\ttype: 'comment' | 'declaration';\n\t };\n\nexport const voidElementNames = new Set([\n\t'area',\n\t'base',\n\t'br',\n\t'col',\n\t'embed',\n\t'hr',\n\t'img',\n\t'input',\n\t'link',\n\t'meta',\n\t'param',\n\t'source',\n\t'track',\n\t'wbr',\n]);\n\nexport function collectTopLevelHtmlFragments(html: string): string[] {\n\tconst fragments: string[] = [];\n\tlet index = 0;\n\n\twhile (index < html.length) {\n\t\tconst fragmentStart = index;\n\n\t\tif (html.startsWith('<!--', index)) {\n\t\t\tconst commentEnd = html.indexOf('-->', index + 4);\n\t\t\tindex = commentEnd === -1 ? html.length : commentEnd + 3;\n\t\t\tfragments.push(html.slice(fragmentStart, index));\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (html[index] !== '<') {\n\t\t\tconst nextTagIndex = html.indexOf('<', index);\n\t\t\tindex = nextTagIndex === -1 ? html.length : nextTagIndex;\n\t\t\tfragments.push(html.slice(fragmentStart, index));\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst token = parseHtmlTagToken(html, index);\n\n\t\tif (!token) {\n\t\t\tfragments.push(html.slice(fragmentStart));\n\t\t\tbreak;\n\t\t}\n\n\t\tif (token.type !== 'open' || token.selfClosing || voidElementNames.has(token.tagName)) {\n\t\t\tindex = token.end;\n\t\t\tfragments.push(html.slice(fragmentStart, index));\n\t\t\tcontinue;\n\t\t}\n\n\t\tindex = token.end;\n\t\tlet depth = 1;\n\n\t\twhile (index < html.length && depth > 0) {\n\t\t\tconst nextTagIndex = html.indexOf('<', index);\n\n\t\t\tif (nextTagIndex === -1) {\n\t\t\t\tindex = html.length;\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst nestedToken = parseHtmlTagToken(html, nextTagIndex);\n\n\t\t\tif (!nestedToken) {\n\t\t\t\tindex = html.length;\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tindex = nestedToken.end;\n\n\t\t\tif (nestedToken.type === 'comment' || nestedToken.type === 'declaration') {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (nestedToken.type === 'open' && !nestedToken.selfClosing && !voidElementNames.has(nestedToken.tagName)) {\n\t\t\t\tdepth += 1;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (nestedToken.type === 'close') {\n\t\t\t\tdepth -= 1;\n\t\t\t}\n\t\t}\n\n\t\tfragments.push(html.slice(fragmentStart, index));\n\t}\n\n\treturn fragments.filter((fragment) => fragment !== '');\n}\n\nexport function findHtmlTagEnd(html: string, startIndex: number): number {\n\tlet quote: '\"' | \"'\" | undefined;\n\n\tfor (let index = startIndex + 1; index < html.length; index += 1) {\n\t\tconst character = html[index];\n\n\t\tif (quote) {\n\t\t\tif (character === quote) {\n\t\t\t\tquote = undefined;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (character === '\"' || character === \"'\") {\n\t\t\tquote = character;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (character === '>') {\n\t\t\treturn index + 1;\n\t\t}\n\t}\n\n\treturn html.length;\n}\n\nexport function parseAttributes(rawAttributes: string): Record<string, string> {\n\tconst attributes: Record<string, string> = {};\n\tconst attributePattern = /([:^@A-Za-z0-9_.-]+)(?:\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)'|([^\\s\"'>/]+)))?/g;\n\n\tfor (const match of rawAttributes.matchAll(attributePattern)) {\n\t\tconst [, name, doubleQuoted, singleQuoted, bareValue] = match;\n\n\t\tif (!name) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tattributes[name] = doubleQuoted ?? singleQuoted ?? bareValue ?? '';\n\t}\n\n\treturn attributes;\n}\n\nexport function parseHtmlTagToken(html: string, startIndex: number): ParsedHtmlToken | undefined {\n\tif (html.startsWith('<!--', startIndex)) {\n\t\tconst endIndex = html.indexOf('-->', startIndex + 4);\n\t\treturn {\n\t\t\tend: endIndex === -1 ? html.length : endIndex + 3,\n\t\t\ttype: 'comment',\n\t\t};\n\t}\n\n\tconst endIndex = findHtmlTagEnd(html, startIndex);\n\tconst rawToken = html.slice(startIndex + 1, endIndex - 1).trim();\n\n\tif (rawToken === '') {\n\t\treturn undefined;\n\t}\n\n\tif (rawToken.startsWith('!') || rawToken.startsWith('?')) {\n\t\treturn {\n\t\t\tend: endIndex,\n\t\t\ttype: 'declaration',\n\t\t};\n\t}\n\n\tif (rawToken.startsWith('/')) {\n\t\treturn {\n\t\t\tend: endIndex,\n\t\t\ttype: 'close',\n\t\t};\n\t}\n\n\tconst selfClosing = /\\/\\s*$/.test(rawToken);\n\tconst tagBody = selfClosing ? rawToken.replace(/\\/\\s*$/, '').trim() : rawToken;\n\tconst tagName = tagBody.split(/[\\s/>]/, 1)[0]?.toLowerCase() ?? '';\n\tconst attributesStart = tagName.length;\n\tconst rawAttributes = tagBody.slice(attributesStart).trim();\n\tconst innerHtml =\n\t\tselfClosing || voidElementNames.has(tagName)\n\t\t\t? ''\n\t\t\t: extractInnerHtmlFragment(html, startIndex, endIndex, tagName);\n\n\treturn {\n\t\tattributes: parseAttributes(rawAttributes),\n\t\tend: endIndex,\n\t\tinnerHtml,\n\t\tselfClosing,\n\t\ttagName,\n\t\ttype: 'open',\n\t};\n}\n\nexport function extractInnerHtmlFragment(\n\thtml: string,\n\tstartIndex: number,\n\ttagEndIndex: number,\n\ttagName: string,\n): string {\n\tlet index = tagEndIndex;\n\tlet depth = 1;\n\n\twhile (index < html.length && depth > 0) {\n\t\tconst nextTagIndex = html.indexOf('<', index);\n\n\t\tif (nextTagIndex === -1) {\n\t\t\treturn html.slice(tagEndIndex);\n\t\t}\n\n\t\tconst nextTag = parseHtmlTagToken(html, nextTagIndex);\n\n\t\tif (!nextTag) {\n\t\t\treturn html.slice(tagEndIndex);\n\t\t}\n\n\t\tif (\n\t\t\tnextTag.type === 'open' &&\n\t\t\tnextTag.tagName === tagName &&\n\t\t\t!nextTag.selfClosing &&\n\t\t\t!voidElementNames.has(tagName)\n\t\t) {\n\t\t\tdepth += 1;\n\t\t}\n\n\t\tif (nextTag.type === 'close') {\n\t\t\tconst closingName = html\n\t\t\t\t.slice(nextTagIndex + 2, nextTag.end - 1)\n\t\t\t\t.trim()\n\t\t\t\t.toLowerCase();\n\n\t\t\tif (closingName === tagName) {\n\t\t\t\tdepth -= 1;\n\n\t\t\t\tif (depth === 0) {\n\t\t\t\t\treturn html.slice(tagEndIndex, nextTagIndex);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tindex = nextTag.end;\n\t}\n\n\treturn html.slice(tagEndIndex);\n}\n",
19
19
  "import { collectTopLevelHtmlFragments, parseHtmlTagToken, type ParsedHtmlTag } from './html-parser';\n\ntype MinimalCustomElementRegistry = {\n\tdefine(name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions): void;\n\tget(name: string): CustomElementConstructor | undefined;\n};\n\ntype MinimalCssNamespace = {\n\tescape(value: string): string;\n};\n\n/**\n * Minimal window-like runtime surface exposed by the SSR light-DOM shim.\n *\n * This is intentionally much smaller than a browser `window`; it only includes\n * the constructors and registry access that Radiant SSR currently needs.\n */\nexport type LightDomShimWindow = {\n\t/** Event constructor exposed to SSR-created components. */\n\tCustomEvent: typeof CustomEvent;\n\t/** Document constructor exposed to SSR-created components. */\n\tDocument: typeof Document;\n\t/** Element constructor exposed to SSR-created components. */\n\tElement: typeof Element;\n\t/** Event constructor exposed to SSR-created components. */\n\tEvent: typeof Event;\n\t/** EventTarget constructor exposed to SSR-created components. */\n\tEventTarget: typeof EventTarget;\n\t/** HTMLScriptElement constructor used by slot projection payload parsing. */\n\tHTMLScriptElement: typeof HTMLScriptElement;\n\t/** HTMLElement constructor exposed to SSR-created components. */\n\tHTMLElement: typeof HTMLElement;\n\t/** Node constructor exposed to SSR-created components. */\n\tNode: typeof Node;\n\t/** Minimal document instance exposed to SSR-created components. */\n\tdocument: Document;\n\t/** Minimal CSS namespace exposed to SSR-created components. */\n\tCSS: MinimalCssNamespace;\n\t/** Custom element registry used while rendering in SSR. */\n\tcustomElements: MinimalCustomElementRegistry;\n};\n\n/** Host preparation options accepted by the server render environment. */\nexport type PrepareServerRenderHostOptions = {\n\t/** Serialized light-DOM content to attach to the host before SSR. */\n\tauthoredContent?: string;\n};\n\n/** Reusable SSR environment used to prepare component hosts before rendering. */\nexport type ServerRenderEnvironment = {\n\t/** Prepares the host instance for rendering, including authored light-DOM content. */\n\tprepareHost(host: HTMLElement, options?: PrepareServerRenderHostOptions): void;\n};\n\ntype MinimalParentNode = Node & ParentNode;\n\nclass MinimalNode extends EventTarget {\n\tstatic readonly DOCUMENT_NODE = 9;\n\tstatic readonly ELEMENT_NODE = 1;\n\tstatic readonly TEXT_NODE = 3;\n\n\tpublic childNodes: Node[] = [];\n\tpublic ownerDocument: Document | null;\n\tpublic parentNode: MinimalParentNode | null = null;\n\n\tconstructor(\n\t\tpublic readonly nodeType: number,\n\t\townerDocument: Document | null = null,\n\t) {\n\t\tsuper();\n\t\tthis.ownerDocument = ownerDocument;\n\t}\n\n\tappend(...nodes: Array<Node | string>): void {\n\t\tfor (const node of nodes) {\n\t\t\tthis.appendChild(typeof node === 'string' ? createTextNode(node) : node);\n\t\t}\n\t}\n\n\tappendChild<TNode extends Node>(node: TNode): TNode {\n\t\tif ('parentNode' in node && node.parentNode && 'removeChild' in node.parentNode) {\n\t\t\t(node.parentNode as Node & { removeChild(node: Node): Node }).removeChild(node);\n\t\t}\n\n\t\tthis.childNodes.push(node);\n\t\t(node as Node & { ownerDocument: Document | null }).ownerDocument =\n\t\t\tthis.nodeType === MinimalNode.DOCUMENT_NODE ? (this as unknown as Document) : this.ownerDocument;\n\t\t(node as Node & { parentNode: MinimalParentNode | null }).parentNode = this as unknown as MinimalParentNode;\n\t\treturn node;\n\t}\n\n\tremoveChild<TNode extends Node>(node: TNode): TNode {\n\t\tconst nodeIndex = this.childNodes.indexOf(node);\n\n\t\tif (nodeIndex === -1) {\n\t\t\treturn node;\n\t\t}\n\n\t\tthis.childNodes.splice(nodeIndex, 1);\n\t\t(node as Node & { parentNode: MinimalParentNode | null }).parentNode = null;\n\t\treturn node;\n\t}\n\n\treplaceChildren(...nodes: Array<Node | string>): void {\n\t\tfor (const child of this.childNodes) {\n\t\t\t(child as Node & { parentNode: MinimalParentNode | null }).parentNode = null;\n\t\t}\n\n\t\tthis.childNodes = [];\n\t\tthis.append(...nodes);\n\t}\n\n\tget textContent(): string | null {\n\t\treturn this.childNodes.map((child) => child.textContent ?? '').join('');\n\t}\n\n\tset textContent(value: string | null) {\n\t\tthis.replaceChildren(value ?? '');\n\t}\n\n\tgetRootNode(): Node {\n\t\tlet current: Node = this as unknown as Node;\n\n\t\twhile ('parentNode' in current && current.parentNode) {\n\t\t\tcurrent = current.parentNode;\n\t\t}\n\n\t\treturn current;\n\t}\n}\n\nclass MinimalTextNode extends MinimalNode {\n\tconstructor(\n\t\tprivate value: string,\n\t\townerDocument: Document | null = getInstalledDocumentLike(),\n\t) {\n\t\tsuper(MinimalNode.TEXT_NODE, ownerDocument);\n\t}\n\n\toverride get textContent(): string {\n\t\treturn this.value;\n\t}\n\n\toverride set textContent(value: string | null) {\n\t\tthis.value = value ?? '';\n\t}\n}\n\nclass MinimalClassList {\n\tconstructor(private readonly element: MinimalElement) {}\n\n\tadd(...tokens: string[]): void {\n\t\tconst nextTokens = new Set(this.readTokens());\n\n\t\tfor (const token of tokens) {\n\t\t\tif (token !== '') {\n\t\t\t\tnextTokens.add(token);\n\t\t\t}\n\t\t}\n\n\t\tthis.writeTokens([...nextTokens]);\n\t}\n\n\tremove(...tokens: string[]): void {\n\t\tconst nextTokens = new Set(this.readTokens());\n\n\t\tfor (const token of tokens) {\n\t\t\tnextTokens.delete(token);\n\t\t}\n\n\t\tthis.writeTokens([...nextTokens]);\n\t}\n\n\ttoggle(token: string, force?: boolean): boolean {\n\t\tconst hasToken = this.contains(token);\n\t\tconst shouldAdd = force ?? !hasToken;\n\n\t\tif (shouldAdd) {\n\t\t\tthis.add(token);\n\t\t\treturn true;\n\t\t}\n\n\t\tthis.remove(token);\n\t\treturn false;\n\t}\n\n\tcontains(token: string): boolean {\n\t\treturn this.readTokens().includes(token);\n\t}\n\n\ttoString(): string {\n\t\treturn this.value;\n\t}\n\n\tget value(): string {\n\t\treturn this.element.getAttribute('class') ?? '';\n\t}\n\n\tprivate readTokens(): string[] {\n\t\treturn this.value\n\t\t\t.split(/\\s+/)\n\t\t\t.map((token) => token.trim())\n\t\t\t.filter((token) => token.length > 0);\n\t}\n\n\tprivate writeTokens(tokens: string[]): void {\n\t\tif (tokens.length === 0) {\n\t\t\tthis.element.removeAttribute('class');\n\t\t\treturn;\n\t\t}\n\n\t\tthis.element.setAttribute('class', tokens.join(' '));\n\t}\n}\n\nclass MinimalElement extends MinimalNode {\n\tprivate attributes = new Map<string, string>();\n\tprivate classListValue?: MinimalClassList;\n\tprivate datasetValue?: DOMStringMap;\n\tprivate fragmentHtml?: string;\n\tprivate fragmentText?: string;\n\n\tpublic readonly localName: string;\n\tpublic readonly tagName: string;\n\n\tconstructor(tagName = 'div', ownerDocument: Document | null = getInstalledDocumentLike()) {\n\t\tsuper(MinimalNode.ELEMENT_NODE, ownerDocument);\n\t\tthis.localName = tagName.toLowerCase();\n\t\tthis.tagName = this.localName.toUpperCase();\n\t}\n\n\tget classList(): DOMTokenList {\n\t\tthis.classListValue ??= new MinimalClassList(this);\n\t\treturn this.classListValue as unknown as DOMTokenList;\n\t}\n\n\tget dataset(): DOMStringMap {\n\t\tthis.datasetValue ??= new Proxy(\n\t\t\t{},\n\t\t\t{\n\t\t\t\tdeleteProperty: (_target, property) => {\n\t\t\t\t\tif (typeof property !== 'string') {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.removeAttribute(toDataAttributeName(property));\n\t\t\t\t\treturn true;\n\t\t\t\t},\n\t\t\t\tget: (_target, property) => {\n\t\t\t\t\tif (typeof property !== 'string') {\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this.getAttribute(toDataAttributeName(property)) ?? undefined;\n\t\t\t\t},\n\t\t\t\tgetOwnPropertyDescriptor: (_target, property) => {\n\t\t\t\t\tif (typeof property !== 'string') {\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tconfigurable: true,\n\t\t\t\t\t\tenumerable: true,\n\t\t\t\t\t\tvalue: this.getAttribute(toDataAttributeName(property)) ?? undefined,\n\t\t\t\t\t\twritable: true,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\thas: (_target, property) => {\n\t\t\t\t\treturn typeof property === 'string' && this.hasAttribute(toDataAttributeName(property));\n\t\t\t\t},\n\t\t\t\townKeys: () => {\n\t\t\t\t\treturn this.getAttributeNames()\n\t\t\t\t\t\t.filter((name) => name.startsWith('data-'))\n\t\t\t\t\t\t.map((name) => toDatasetPropertyName(name.slice(5)));\n\t\t\t\t},\n\t\t\t\tset: (_target, property, value) => {\n\t\t\t\t\tif (typeof property !== 'string') {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.setAttribute(toDataAttributeName(property), String(value));\n\t\t\t\t\treturn true;\n\t\t\t\t},\n\t\t\t},\n\t\t) as DOMStringMap;\n\n\t\treturn this.datasetValue;\n\t}\n\n\thasAttribute(name: string): boolean {\n\t\treturn this.attributes.has(name);\n\t}\n\n\tgetAttribute(name: string): string | null {\n\t\treturn this.attributes.get(name) ?? null;\n\t}\n\n\tgetAttributeNames(): string[] {\n\t\treturn Array.from(this.attributes.keys());\n\t}\n\n\tsetAttribute(name: string, value: unknown): void {\n\t\tthis.fragmentHtml = undefined;\n\t\tthis.attributes.set(name, String(value));\n\t}\n\n\ttoggleAttribute(name: string, force?: boolean): boolean {\n\t\tconst shouldHaveAttribute = force ?? !this.hasAttribute(name);\n\n\t\tif (shouldHaveAttribute) {\n\t\t\tthis.setAttribute(name, '');\n\t\t\treturn true;\n\t\t}\n\n\t\tthis.removeAttribute(name);\n\t\treturn false;\n\t}\n\n\tremoveAttribute(name: string): void {\n\t\tthis.fragmentHtml = undefined;\n\t\tthis.attributes.delete(name);\n\t}\n\n\tquerySelector(): Element | null {\n\t\treturn null;\n\t}\n\n\tquerySelectorAll(): Element[] {\n\t\treturn [];\n\t}\n\n\tmatches(): boolean {\n\t\treturn false;\n\t}\n\n\tget outerHTML(): string {\n\t\tif (this.fragmentHtml !== undefined) {\n\t\t\treturn this.fragmentHtml;\n\t\t}\n\n\t\tconst attributes = Array.from(this.attributes.entries())\n\t\t\t.map(([name, value]) => ` ${name}=\"${escapeHtmlAttribute(value)}\"`)\n\t\t\t.join('');\n\n\t\treturn `<${this.localName}${attributes}>${this.innerHTML}</${this.localName}>`;\n\t}\n\n\tget innerHTML(): string {\n\t\treturn this.childNodes.map((child) => serializeNodeHtml(child)).join('');\n\t}\n\n\tset innerHTML(html: string) {\n\t\tthis.fragmentHtml = undefined;\n\t\tthis.fragmentText = undefined;\n\t\tthis.replaceChildren(...parseHtmlToNodes(html, this.ownerDocument));\n\t}\n\n\toverride get textContent(): string {\n\t\treturn this.fragmentText ?? super.textContent ?? '';\n\t}\n\n\toverride set textContent(value: string | null) {\n\t\tthis.fragmentHtml = undefined;\n\t\tthis.fragmentText = value ?? '';\n\t\tsuper.textContent = value;\n\t}\n\n\tsetSerializedFragment(fragmentHtml: string, fragmentText: string, attributes: Record<string, string>): void {\n\t\tthis.fragmentHtml = fragmentHtml;\n\t\tthis.fragmentText = fragmentText;\n\t\tthis.attributes = new Map(Object.entries(attributes));\n\t\tthis.replaceChildren();\n\t}\n}\n\nclass MinimalEvent {\n\tpublic readonly bubbles: boolean;\n\tpublic readonly cancelable: boolean;\n\tpublic readonly composed: boolean;\n\tpublic readonly type: string;\n\n\tconstructor(type: string, eventInitDict: EventInit = {}) {\n\t\tthis.type = type;\n\t\tthis.bubbles = eventInitDict.bubbles ?? false;\n\t\tthis.cancelable = eventInitDict.cancelable ?? false;\n\t\tthis.composed = eventInitDict.composed ?? false;\n\t}\n}\n\nclass MinimalCustomEvent<T = unknown> extends MinimalEvent {\n\tpublic readonly detail: T;\n\n\tconstructor(type: string, eventInitDict: CustomEventInit<T> = {}) {\n\t\tsuper(type, eventInitDict);\n\t\tthis.detail = eventInitDict.detail as T;\n\t}\n}\n\nclass MinimalHTMLElement extends MinimalElement {\n\tpublic isConnected = false;\n\n\tconstructor(tagName = 'div', ownerDocument: Document | null = getInstalledDocumentLike()) {\n\t\tsuper(tagName, ownerDocument);\n\t}\n\n\tinsertAdjacentHTML(_position: InsertPosition, html: string): void {\n\t\tthis.append(...parseHtmlToNodes(html, this.ownerDocument));\n\t}\n\n\tconnectedCallback?(): void;\n\tattributeChangedCallback?(name: string, oldValue: string | null, newValue: string | null): void;\n\tdisconnectedCallback?(): void;\n}\n\nclass MinimalHtmlScriptElement extends MinimalHTMLElement {\n\tconstructor(ownerDocument: Document | null = getInstalledDocumentLike()) {\n\t\tsuper('script', ownerDocument);\n\t}\n}\n\nclass MinimalDocument extends MinimalNode {\n\tconstructor() {\n\t\tsuper(MinimalNode.DOCUMENT_NODE);\n\t}\n\n\tcreateElement(tagName: string): HTMLElement {\n\t\treturn (tagName.toLowerCase() === 'script'\n\t\t\t? new MinimalHtmlScriptElement(this as unknown as Document)\n\t\t\t: new MinimalHTMLElement(tagName, this as unknown as Document)) as unknown as HTMLElement;\n\t}\n\n\tcreateTextNode(value: string): Text {\n\t\treturn new MinimalTextNode(value, this as unknown as Document) as unknown as Text;\n\t}\n\n\tquerySelector(): Element | null {\n\t\treturn null;\n\t}\n\n\tquerySelectorAll(): Element[] {\n\t\treturn [];\n\t}\n}\n\nclass MinimalCustomElementsRegistry implements MinimalCustomElementRegistry {\n\tprivate definitions = new Map<string, CustomElementConstructor>();\n\n\tdefine(name: string, constructor: CustomElementConstructor): void {\n\t\tif (this.definitions.has(name)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.definitions.set(name, constructor);\n\t}\n\n\tget(name: string): CustomElementConstructor | undefined {\n\t\treturn this.definitions.get(name);\n\t}\n}\n\nlet installedWindow: LightDomShimWindow | undefined;\n\nconst minimalCssNamespace: MinimalCssNamespace = {\n\tescape(value: string): string {\n\t\treturn escapeCssIdentifier(String(value));\n\t},\n};\n\nfunction createTextNode(value: string): Node {\n\treturn new MinimalTextNode(value, getInstalledDocumentLike()) as unknown as Node;\n}\n\nfunction getInstalledDocumentLike(): Document | null {\n\treturn ((globalThis as typeof globalThis & { document?: Document }).document ?? null) as Document | null;\n}\n\nfunction getExistingWindowLike(): LightDomShimWindow | undefined {\n\tconst globalScope = globalThis as typeof globalThis & {\n\t\tCSS?: MinimalCssNamespace;\n\t\tCustomEvent?: typeof CustomEvent;\n\t\tDocument?: typeof Document;\n\t\tElement?: typeof Element;\n\t\tEvent?: typeof Event;\n\t\tEventTarget?: typeof EventTarget;\n\t\tHTMLScriptElement?: typeof HTMLScriptElement;\n\t\tHTMLElement?: typeof HTMLElement;\n\t\tNode?: typeof Node;\n\t\tdocument?: Document;\n\t\tcustomElements?: MinimalCustomElementRegistry;\n\t\twindow?: LightDomShimWindow;\n\t};\n\tconst existingCustomElements = globalScope.customElements;\n\n\tif (\n\t\ttypeof globalScope.Node === 'undefined' ||\n\t\ttypeof globalScope.Document === 'undefined' ||\n\t\ttypeof globalScope.Element === 'undefined' ||\n\t\ttypeof globalScope.HTMLElement === 'undefined' ||\n\t\ttypeof globalScope.document === 'undefined' ||\n\t\t!existingCustomElements ||\n\t\ttypeof existingCustomElements.define !== 'function' ||\n\t\ttypeof existingCustomElements.get !== 'function'\n\t) {\n\t\treturn undefined;\n\t}\n\n\treturn (\n\t\tglobalScope.window ?? {\n\t\t\tCSS: globalScope.CSS ?? minimalCssNamespace,\n\t\t\tCustomEvent: (globalScope.CustomEvent ?? MinimalCustomEvent) as typeof CustomEvent,\n\t\t\tDocument: globalScope.Document,\n\t\t\tElement: globalScope.Element,\n\t\t\tEvent: (globalScope.Event ?? MinimalEvent) as typeof Event,\n\t\t\tEventTarget: (globalScope.EventTarget ?? EventTarget) as typeof EventTarget,\n\t\t\tHTMLScriptElement: (globalScope.HTMLScriptElement ?? globalScope.HTMLElement) as typeof HTMLScriptElement,\n\t\t\tHTMLElement: globalScope.HTMLElement,\n\t\t\tNode: globalScope.Node,\n\t\t\tdocument: globalScope.document,\n\t\t\tcustomElements: existingCustomElements,\n\t\t}\n\t);\n}\n\n/** Ensures that a minimal window-like SSR runtime is available and returns it. */\nexport function ensureLightDomShim(): LightDomShimWindow {\n\tconst existingWindow = getExistingWindowLike();\n\n\tif (existingWindow) {\n\t\treturn existingWindow;\n\t}\n\n\treturn installLightDomShim();\n}\n\n/**\n * Creates a reusable SSR environment that can prepare a component host with\n * authored light-DOM content before rendering.\n *\n * Adapters can reuse a single environment across multiple render calls when\n * they want a single host-preparation entrypoint backed by the installed shim.\n */\n\nexport function createServerRenderEnvironment(): ServerRenderEnvironment {\n\tensureLightDomShim();\n\n\treturn {\n\t\tprepareHost(host: HTMLElement, options: PrepareServerRenderHostOptions = {}): void {\n\t\t\tif (options.authoredContent !== undefined) {\n\t\t\t\thost.innerHTML = options.authoredContent;\n\t\t\t}\n\t\t},\n\t};\n}\n\n/**\n * Installs the smallest global surface needed to instantiate Radiant custom elements during SSR.\n */\nexport function installLightDomShim(): LightDomShimWindow {\n\tconst existingWindow = getExistingWindowLike();\n\n\tif (existingWindow) {\n\t\treturn existingWindow;\n\t}\n\n\tif (installedWindow) {\n\t\treturn installedWindow;\n\t}\n\n\tconst customElements = new MinimalCustomElementsRegistry();\n\tconst document = new MinimalDocument() as unknown as Document;\n\tconst EventConstructor = (globalThis.Event ?? MinimalEvent) as typeof Event;\n\tconst CustomEventConstructor = (globalThis.CustomEvent ?? MinimalCustomEvent) as typeof CustomEvent;\n\tconst DocumentConstructor = MinimalDocument as unknown as typeof Document;\n\tconst EventTargetConstructor = (globalThis.EventTarget ?? EventTarget) as typeof EventTarget;\n\tinstalledWindow = {\n\t\tCSS: (globalThis.CSS as MinimalCssNamespace | undefined) ?? minimalCssNamespace,\n\t\tCustomEvent: CustomEventConstructor,\n\t\tDocument: DocumentConstructor,\n\t\tElement: MinimalElement as unknown as typeof Element,\n\t\tEvent: EventConstructor,\n\t\tEventTarget: EventTargetConstructor,\n\t\tHTMLScriptElement: MinimalHtmlScriptElement as unknown as typeof HTMLScriptElement,\n\t\tHTMLElement: MinimalHTMLElement as unknown as typeof HTMLElement,\n\t\tNode: MinimalNode as unknown as typeof Node,\n\t\tdocument,\n\t\tcustomElements,\n\t};\n\n\tObject.assign(globalThis, {\n\t\tCSS: (globalThis.CSS as MinimalCssNamespace | undefined) ?? minimalCssNamespace,\n\t\tCustomEvent: CustomEventConstructor,\n\t\tDocument: DocumentConstructor,\n\t\tElement: MinimalElement,\n\t\tEvent: EventConstructor,\n\t\tEventTarget: EventTargetConstructor,\n\t\tHTMLScriptElement: MinimalHtmlScriptElement,\n\t\tHTMLElement: MinimalHTMLElement,\n\t\tNode: MinimalNode,\n\t\tdocument,\n\t\tcustomElements,\n\t\twindow: installedWindow,\n\t});\n\n\treturn installedWindow;\n}\n\nfunction createElementFromFragment(fragment: string, tag: ParsedHtmlTag, ownerDocument: Document | null): Node {\n\tconst element =\n\t\ttag.tagName === 'script'\n\t\t\t? (new MinimalHtmlScriptElement(ownerDocument) as MinimalElement)\n\t\t\t: new MinimalHTMLElement(tag.tagName, ownerDocument);\n\n\telement.setSerializedFragment(fragment, extractTextContent(tag.innerHtml), tag.attributes);\n\treturn element as unknown as Node;\n}\n\nfunction escapeHtmlAttribute(value: string): string {\n\treturn value.replace(/&/g, '&amp;').replace(/\"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n}\n\nfunction extractTextContent(html: string): string {\n\treturn html.replace(/<!--.*?-->/gs, '').replace(/<[^>]+>/g, '');\n}\n\nfunction parseHtmlToNodes(html: string, ownerDocument: Document | null = getInstalledDocumentLike()): Node[] {\n\treturn collectTopLevelHtmlFragments(html).map((fragment) => {\n\t\tif (!fragment.startsWith('<')) {\n\t\t\treturn new MinimalTextNode(fragment, ownerDocument) as unknown as Node;\n\t\t}\n\n\t\tconst tag = parseHtmlTagToken(fragment, 0);\n\n\t\tif (!tag || tag.type !== 'open') {\n\t\t\treturn new MinimalTextNode(fragment, ownerDocument) as unknown as Node;\n\t\t}\n\n\t\treturn createElementFromFragment(fragment, tag, ownerDocument);\n\t});\n}\n\nfunction toDataAttributeName(property: string): string {\n\treturn `data-${property.replace(/([A-Z])/g, '-$1').toLowerCase()}`;\n}\n\nfunction toDatasetPropertyName(attributeName: string): string {\n\treturn attributeName.replace(/-([a-z])/g, (_match, character: string) => character.toUpperCase());\n}\n\nfunction escapeCssIdentifier(value: string): string {\n\tlet escaped = '';\n\n\tfor (let index = 0; index < value.length; index += 1) {\n\t\tconst character = value[index] ?? '';\n\t\tconst codePoint = character.codePointAt(0) ?? 0;\n\n\t\tif (codePoint === 0) {\n\t\t\tescaped += '\\uFFFD';\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst isControlCharacter = (codePoint >= 0x0001 && codePoint <= 0x001f) || codePoint === 0x007f;\n\t\tconst startsWithDigit = index === 0 && codePoint >= 0x0030 && codePoint <= 0x0039;\n\t\tconst startsWithHyphenDigit =\n\t\t\tindex === 1 && codePoint >= 0x0030 && codePoint <= 0x0039 && (value[0] ?? '') === '-';\n\t\tconst isSingleHyphen = index === 0 && character === '-' && value.length === 1;\n\n\t\tif (isControlCharacter || startsWithDigit || startsWithHyphenDigit) {\n\t\t\tescaped += `\\\\${codePoint.toString(16)} `;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (\n\t\t\tcodePoint >= 0x0080 ||\n\t\t\tcharacter === '-' ||\n\t\t\tcharacter === '_' ||\n\t\t\t(codePoint >= 0x0030 && codePoint <= 0x0039) ||\n\t\t\t(codePoint >= 0x0041 && codePoint <= 0x005a) ||\n\t\t\t(codePoint >= 0x0061 && codePoint <= 0x007a)\n\t\t) {\n\t\t\tescaped += isSingleHyphen ? `\\\\${character}` : character;\n\t\t\tcontinue;\n\t\t}\n\n\t\tescaped += `\\\\${character}`;\n\t}\n\n\treturn escaped;\n}\n\nfunction serializeNodeHtml(node: Node): string {\n\tif (node.nodeType === MinimalNode.TEXT_NODE) {\n\t\treturn node.textContent ?? '';\n\t}\n\n\treturn 'outerHTML' in node && typeof node.outerHTML === 'string' ? node.outerHTML : (node.textContent ?? '');\n}\n",
20
20
  "import type { JsxRenderable } from '@ecopages/jsx';\nimport type { RenderToStringOptions } from '@ecopages/jsx/server';\nimport type { SsrSerializableContextProvider } from '../context/context-provider';\nimport { withSsrContextProviders } from './context-ssr';\nimport type { ContextType, UnknownContext } from '../context/types';\nimport { getCustomElementTagName } from '../core/custom-element-metadata';\nimport { runLegacyPostConstructionInitializers } from '../decorators/legacy/instance-initializers';\nimport { createServerRenderEnvironment, type ServerRenderEnvironment } from './light-dom-shim';\nimport {\n\tresolveRegisteredRadiantElementPreview,\n\trenderRegisteredRadiantElementHost,\n\trenderRegisteredRadiantElementHostToString,\n} from './radiant-element-ssr-bridge';\nimport { withRadiantElementSsrRuntime } from '../core/radiant-element-ssr-registry';\nimport { getOrCreateRadiantElementSsrRuntime } from './radiant-element-ssr-runtime';\n\n/** Asset dependency emitted by a rendered fragment. */\nexport type RenderedComponentAsset =\n\t| {\n\t\t\t/** Browser module specifier that must be loaded to activate the fragment. */\n\t\t\tkind: 'script-module';\n\t\t\t/** Runtime loading policy for the module. */\n\t\t\tstage?: 'hydrate' | 'idle' | 'immediate';\n\t\t\t/** Module specifier or browser-importable URL. */\n\t\t\tsrc: string;\n\t }\n\t| {\n\t\t\t/** Module graph preload hint for adapters that control the document head. */\n\t\t\tkind: 'modulepreload';\n\t\t\t/** Module specifier or browser-importable URL. */\n\t\t\thref: string;\n\t }\n\t| {\n\t\t\t/** Stylesheet dependency required by the rendered fragment. */\n\t\t\tkind: 'style';\n\t\t\t/** Browser-importable stylesheet URL. */\n\t\t\thref: string;\n\t\t\t/** Optional media query applied to the stylesheet link. */\n\t\t\tmedia?: string;\n\t };\n\n/** Creates a module asset entry for a rendered fragment. */\nexport function scriptModuleAsset(\n\tsrc: string,\n\tstage: 'hydrate' | 'idle' | 'immediate' = 'hydrate',\n): RenderedComponentAsset {\n\treturn { kind: 'script-module', src, stage };\n}\n\n/** Creates a modulepreload hint for a rendered fragment. */\nexport function modulePreloadAsset(href: string): RenderedComponentAsset {\n\treturn { kind: 'modulepreload', href };\n}\n\n/** Creates a stylesheet asset entry for a rendered fragment. */\nexport function styleAsset(href: string, media?: string): RenderedComponentAsset {\n\treturn media ? { kind: 'style', href, media } : { kind: 'style', href };\n}\n\n/** Portable metadata for a server-rendered custom-element fragment. */\nexport type RenderedComponentMetadata = {\n\t/** Asset dependencies required by the rendered fragment. */\n\tassets: readonly RenderedComponentAsset[];\n\t/** Browser-importable client module URL used to register the component before hydration. */\n\tclientModuleUrl?: string;\n\t/** ISO timestamp describing when the fragment was rendered. */\n\tgeneratedAt: string;\n\t/** Custom-element tag name emitted at the fragment root. */\n\ttagName: string;\n};\n\n/** Canonical server render result returned by `renderComponent()`. */\nexport type RenderedComponent = {\n\t/** Serialized custom-element host markup. */\n\tmarkup: string;\n\t/** Transport-agnostic metadata that adapters can map onto headers or JSON. */\n\tmetadata: RenderedComponentMetadata;\n\t/** JSX-compatible preview value that can be embedded into a larger SSR shell. */\n\tpreview: JsxRenderable;\n};\n\n/** Serializable metadata for a server-rendered custom-element fragment. */\nexport type RenderedComponentPayload = {\n\t/** Asset dependencies required by the rendered fragment. */\n\tassets?: readonly RenderedComponentAsset[];\n\t/** Browser-importable client module URL used to register the component before hydration. */\n\tclientModuleSrc?: string;\n\t/** ISO timestamp describing when the fragment was rendered. */\n\tgeneratedAt: string;\n\t/** Serialized custom-element host markup. */\n\tmarkup: string;\n\t/** Custom-element tag name emitted at the fragment root. */\n\ttagName: string;\n};\n\n/** Full SSR result including a JSX-compatible preview value for shell composition. */\nexport type RenderedComponentWithPreview = RenderedComponentPayload & {\n\t/** JSX-compatible preview value that can be embedded into a larger SSR shell. */\n\tpreview: JsxRenderable;\n};\n\n/** Minimal component contract needed for framework-agnostic SSR helpers. */\nexport type ServerRenderableComponent = object & {\n\trenderHost?: () => JsxRenderable;\n\trenderHostToString?: (options?: RenderToStringOptions) => string;\n};\n\n/** Constructor shape for a server-renderable component. */\nexport type ServerRenderableComponentConstructor<TComponent extends ServerRenderableComponent> =\n\tCustomElementConstructor & {\n\t\tnew (): TComponent;\n\t};\n\n/**\n * Resolves the browser-importable client module URL for a component constructor.\n *\n * Use this when the server adapter can derive the client entry lazily instead of\n * hardcoding `clientModuleSrc` for every render call.\n */\nexport type ResolveRenderedComponentClientModule<TComponent extends ServerRenderableComponent> = (\n\tcomponent: ServerRenderableComponentConstructor<TComponent>,\n) => string | undefined | Promise<string | undefined>;\n\n/**\n * Resolves fragment assets for a component constructor.\n *\n * Prefer this over `resolveClientModuleSrc(...)` for new adapters so assets can\n * describe scripts, styles, and preload hints through one transport-agnostic shape.\n */\nexport type ResolveRenderedComponentAssets<TComponent extends ServerRenderableComponent> = (\n\tcomponent: ServerRenderableComponentConstructor<TComponent>,\n) => readonly RenderedComponentAsset[] | undefined | Promise<readonly RenderedComponentAsset[] | undefined>;\n\n/**\n * Prepares a component host before SSR so slot-aware logic can observe authored\n * light-DOM content during render.\n */\nexport type PrepareRenderedComponentHost<TComponent extends ServerRenderableComponent> = (\n\thost: TComponent & HTMLElement,\n\tenvironment: ServerRenderEnvironment,\n) => void;\n\n/**\n * Ambient SSR context value visible while a standalone component render runs.\n *\n * This lets adapters provide ancestor-like context to `consumeContext(...)` and\n * `contextSelector(...)` without needing to instantiate a real provider host.\n */\nexport type RenderComponentSsrContextEntry<TContext extends UnknownContext = UnknownContext> = {\n\tcontext: TContext;\n\tvalue: ContextType<TContext>;\n};\n\ntype RenderComponentSharedOptions<TComponent extends ServerRenderableComponent> = {\n\t/** Asset dependencies required by the rendered fragment. */\n\tassets?: readonly RenderedComponentAsset[];\n\t/** Serialized authored light-DOM content to attach to the host before rendering. */\n\tauthoredContent?: string;\n\t/** Browser-importable client module URL used to register the component before hydration. */\n\tclientModuleSrc?: string;\n\t/** Initializes the component instance before the host is rendered. */\n\tinitialize?: (component: TComponent) => void;\n\t/** SSR environment responsible for preparing the host runtime and authored content. */\n\tenvironment?: ServerRenderEnvironment;\n\t/**\n\t * Dedicated host-preparation hook for slot-aware SSR.\n\t *\n\t * Use this when the server needs to append or mutate authored light-DOM\n\t * nodes directly instead of passing `authoredContent` as a string.\n\t */\n\tprepareHost?: PrepareRenderedComponentHost<TComponent>;\n\t/**\n\t * Ambient SSR context entries that should be visible while the component is\n\t * instantiated and rendered.\n\t *\n\t * This solves standalone fragment renders that need to consume context from a\n\t * parent-like server environment.\n\t */\n\tssrContext?: readonly RenderComponentSsrContextEntry[];\n\t/** Clock override used by tests and adapters that need deterministic timestamps. */\n\tnow?: () => Date;\n\t/** JSX server-renderer options forwarded to `renderHostToString()`. */\n\trenderOptions?: RenderToStringOptions;\n\t/** Lazy asset resolver used when `assets` are not provided directly. */\n\tresolveAssets?: ResolveRenderedComponentAssets<TComponent>;\n\t/** Lazy client-module resolver used when `clientModuleSrc` is not provided directly. */\n\tresolveClientModuleSrc?: ResolveRenderedComponentClientModule<TComponent>;\n\t/** Explicit tag-name override when `@customElement(...)` metadata is not desired. */\n\ttagName?: string;\n};\n\n/** Options accepted by the reusable SSR component rendering helpers. */\nexport type RenderComponentOptions<TComponent extends ServerRenderableComponent> =\n\tRenderComponentSharedOptions<TComponent> &\n\t\t(\n\t\t\t| {\n\t\t\t\t\tcomponent: ServerRenderableComponentConstructor<TComponent>;\n\t\t\t }\n\t\t\t| {\n\t\t\t\t\tload: () => Promise<ServerRenderableComponentConstructor<TComponent>>;\n\t\t\t }\n\t\t);\n\n/** Call-site options used when the component constructor is passed directly. */\nexport type RenderComponentCallOptions<TComponent extends ServerRenderableComponent> =\n\tRenderComponentSharedOptions<TComponent>;\n\n/**\n * Serializes a custom element into HTML, inferring its tag name from\n * `@customElement(...)` metadata when the caller does not provide one.\n */\nexport function renderComponentToString<TComponent extends ServerRenderableComponent>(\n\tcomponent: ServerRenderableComponentConstructor<TComponent>,\n\toptions?: RenderComponentCallOptions<TComponent>,\n): Promise<string>;\n\nexport function renderComponentToString<TComponent extends ServerRenderableComponent>(\n\toptions: RenderComponentOptions<TComponent>,\n): Promise<string>;\n\nexport async function renderComponentToString<TComponent extends ServerRenderableComponent>(\n\tcomponentOrOptions: ServerRenderableComponentConstructor<TComponent> | RenderComponentOptions<TComponent>,\n\toptions?: RenderComponentCallOptions<TComponent>,\n): Promise<string> {\n\treturn (await renderResolvedComponent(normalizeRenderComponentOptions(componentOrOptions, options))).markup;\n}\n\n/**\n * Renders a custom element into the canonical portable server-rendered shape,\n * separating transport-agnostic metadata from any HTTP-specific adapter.\n */\nexport function renderComponent<TComponent extends ServerRenderableComponent>(\n\tcomponent: ServerRenderableComponentConstructor<TComponent>,\n\toptions?: RenderComponentCallOptions<TComponent>,\n): Promise<RenderedComponent>;\n\nexport function renderComponent<TComponent extends ServerRenderableComponent>(\n\toptions: RenderComponentOptions<TComponent>,\n): Promise<RenderedComponent>;\n\nexport async function renderComponent<TComponent extends ServerRenderableComponent>(\n\tcomponentOrOptions: ServerRenderableComponentConstructor<TComponent> | RenderComponentOptions<TComponent>,\n\toptions?: RenderComponentCallOptions<TComponent>,\n): Promise<RenderedComponent> {\n\treturn renderResolvedComponent(normalizeRenderComponentOptions(componentOrOptions, options));\n}\n\n/**\n * Serializes a custom element into a fragment payload that frameworks can\n * attach to any response shape they prefer.\n */\nexport function renderComponentToPayload<TComponent extends ServerRenderableComponent>(\n\tcomponent: ServerRenderableComponentConstructor<TComponent>,\n\toptions?: RenderComponentCallOptions<TComponent>,\n): Promise<RenderedComponentPayload>;\n\nexport function renderComponentToPayload<TComponent extends ServerRenderableComponent>(\n\toptions: RenderComponentOptions<TComponent>,\n): Promise<RenderedComponentPayload>;\n\nexport async function renderComponentToPayload<TComponent extends ServerRenderableComponent>(\n\tcomponentOrOptions: ServerRenderableComponentConstructor<TComponent> | RenderComponentOptions<TComponent>,\n\toptions?: RenderComponentCallOptions<TComponent>,\n): Promise<RenderedComponentPayload> {\n\treturn toRenderedComponentPayload(\n\t\tawait renderResolvedComponent(normalizeRenderComponentOptions(componentOrOptions, options)),\n\t);\n}\n\n/**\n * Renders a component into both fragment metadata and a JSX-compatible preview\n * value that can be embedded into a larger server-rendered shell.\n */\nexport function renderComponentWithPreview<TComponent extends ServerRenderableComponent>(\n\tcomponent: ServerRenderableComponentConstructor<TComponent>,\n\toptions?: RenderComponentCallOptions<TComponent>,\n): Promise<RenderedComponentWithPreview>;\n\nexport function renderComponentWithPreview<TComponent extends ServerRenderableComponent>(\n\toptions: RenderComponentOptions<TComponent>,\n): Promise<RenderedComponentWithPreview>;\n\nexport async function renderComponentWithPreview<TComponent extends ServerRenderableComponent>(\n\tcomponentOrOptions: ServerRenderableComponentConstructor<TComponent> | RenderComponentOptions<TComponent>,\n\toptions?: RenderComponentCallOptions<TComponent>,\n): Promise<RenderedComponentWithPreview> {\n\treturn toRenderedComponentWithPreview(\n\t\tawait renderResolvedComponent(normalizeRenderComponentOptions(componentOrOptions, options)),\n\t);\n}\n\nasync function renderResolvedComponent<TComponent extends ServerRenderableComponent>(\n\tnormalizedOptions: RenderComponentOptions<TComponent>,\n): Promise<RenderedComponent> {\n\treturn withRadiantElementSsrRuntime(getOrCreateRadiantElementSsrRuntime(), async () => {\n\t\tconst environment = normalizedOptions.environment ?? createServerRenderEnvironment();\n\t\tconst restoreAmbientContext = withSsrContextProviders(\n\t\t\tcreateAmbientSsrContextProviders(normalizedOptions.ssrContext),\n\t\t);\n\n\t\ttry {\n\t\t\tconst Component =\n\t\t\t\t'component' in normalizedOptions ? normalizedOptions.component : await normalizedOptions.load();\n\t\t\tconst component = new Component();\n\t\t\trunLegacyPostConstructionInitializers(component);\n\t\t\tprepareRenderedComponentHost(\n\t\t\t\tenvironment,\n\t\t\t\tcomponent,\n\t\t\t\tnormalizedOptions.authoredContent,\n\t\t\t\tnormalizedOptions.prepareHost,\n\t\t\t);\n\t\t\tnormalizedOptions.initialize?.(component);\n\n\t\t\tconst resolvedClientModuleSrc =\n\t\t\t\tnormalizedOptions.clientModuleSrc ?? (await normalizedOptions.resolveClientModuleSrc?.(Component));\n\t\t\tconst resolvedAssets =\n\t\t\t\tnormalizedOptions.assets ?? (await normalizedOptions.resolveAssets?.(Component)) ?? [];\n\t\t\tconst assets = mergeRenderedComponentAssets(resolvedAssets, resolvedClientModuleSrc);\n\t\t\tconst clientModuleSrc = resolvePrimaryClientModuleSrc(assets) ?? resolvedClientModuleSrc;\n\t\t\tconst tagName = normalizedOptions.tagName ?? resolveRenderedComponentTagName(Component);\n\t\t\tconst generatedAt = (normalizedOptions.now ?? createDefaultRenderTimestamp)().toISOString();\n\t\t\tconst renderOptions = normalizeRenderOptions(normalizedOptions.renderOptions);\n\t\t\tconst markup =\n\t\t\t\trenderRegisteredRadiantElementHostToString(component, renderOptions) ??\n\t\t\t\trequireServerRenderableMarkup(component, renderOptions);\n\t\t\tconst preview = resolveRenderedComponentPreview(component, markup);\n\n\t\t\treturn {\n\t\t\t\tmarkup,\n\t\t\t\tmetadata: {\n\t\t\t\t\tassets,\n\t\t\t\t\tclientModuleUrl: clientModuleSrc,\n\t\t\t\t\tgeneratedAt,\n\t\t\t\t\ttagName,\n\t\t\t\t},\n\t\t\t\tpreview,\n\t\t\t};\n\t\t} finally {\n\t\t\trestoreAmbientContext();\n\t\t}\n\t});\n}\n\n/**\n * Chooses the preview renderable returned by `renderComponent()`.\n *\n * Falls back to the serialized host markup when a generic server-renderable\n * component does not expose a JSX preview surface.\n */\nfunction resolveRenderedComponentPreview<TComponent extends ServerRenderableComponent>(\n\tcomponent: TComponent,\n\tmarkup: string,\n): JsxRenderable {\n\treturn (\n\t\tresolveRegisteredRadiantElementPreview(component, markup) ??\n\t\trenderRegisteredRadiantElementHost(component) ??\n\t\tcomponent.renderHost?.() ?? { nodeType: 1, outerHTML: markup }\n\t);\n}\n\nfunction prepareRenderedComponentHost<TComponent extends ServerRenderableComponent>(\n\tenvironment: ServerRenderEnvironment,\n\tcomponent: TComponent,\n\tauthoredContent: string | undefined,\n\tprepareHost: PrepareRenderedComponentHost<TComponent> | undefined,\n): void {\n\tif (!canPrepareSsrHost(component)) {\n\t\tif (authoredContent === undefined && prepareHost === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tthrow new Error(\n\t\t\t`${component.constructor.name} cannot prepare SSR host content because it does not expose an innerHTML host surface.`,\n\t\t);\n\t}\n\n\tenvironment.prepareHost(component, { authoredContent });\n\tprepareHost?.(component, environment);\n}\n\n/**\n * Wraps ad-hoc `ssrContext` values in provider-like objects so the existing SSR\n * context stack can resolve them exactly like real ancestor providers.\n */\nfunction createAmbientSsrContextProviders(\n\tentries: readonly RenderComponentSsrContextEntry[] | undefined,\n): SsrSerializableContextProvider[] {\n\tif (!entries || entries.length === 0) {\n\t\treturn [];\n\t}\n\n\treturn entries.map((entry) => ({\n\t\tgetContext: () => entry.value,\n\t\tgetContextKey: () => entry.context,\n\t\trenderHydrationScript: () => undefined,\n\t\trenderHydrationScriptTag: () => undefined,\n\t}));\n}\n\n/**\n * Drops the preview renderable so the result can be sent through lightweight\n * framework adapters or JSON/HTML fragment endpoints.\n */\nexport function toRenderedComponentPayload(\n\trender: RenderedComponentWithPreview | RenderedComponent,\n): RenderedComponentPayload {\n\tif ('metadata' in render) {\n\t\treturn {\n\t\t\tassets: render.metadata.assets,\n\t\t\tclientModuleSrc: render.metadata.clientModuleUrl,\n\t\t\tgeneratedAt: render.metadata.generatedAt,\n\t\t\tmarkup: render.markup,\n\t\t\ttagName: render.metadata.tagName,\n\t\t};\n\t}\n\n\tconst { preview: _preview, ...payload } = render;\n\treturn payload;\n}\nfunction toRenderedComponentWithPreview(render: RenderedComponent): RenderedComponentWithPreview {\n\treturn {\n\t\tassets: render.metadata.assets,\n\t\tclientModuleSrc: render.metadata.clientModuleUrl,\n\t\tgeneratedAt: render.metadata.generatedAt,\n\t\tmarkup: render.markup,\n\t\tpreview: render.preview,\n\t\ttagName: render.metadata.tagName,\n\t};\n}\n\nfunction createDefaultRenderTimestamp(): Date {\n\treturn new Date();\n}\n\nfunction createRenderedComponentClientModuleAssets(\n\tclientModuleSrc: string | undefined,\n): readonly RenderedComponentAsset[] {\n\tif (!clientModuleSrc) {\n\t\treturn [];\n\t}\n\n\treturn [scriptModuleAsset(clientModuleSrc)];\n}\n\nexport function mergeRenderedComponentAssets(\n\tassets: readonly RenderedComponentAsset[],\n\tclientModuleSrc: string | undefined,\n): readonly RenderedComponentAsset[] {\n\tif (!clientModuleSrc) {\n\t\treturn assets;\n\t}\n\n\tif (assets.some((asset) => asset.kind === 'script-module' && asset.src === clientModuleSrc)) {\n\t\treturn assets;\n\t}\n\n\treturn [...createRenderedComponentClientModuleAssets(clientModuleSrc), ...assets];\n}\n\nexport function resolvePrimaryClientModuleSrc(assets: readonly RenderedComponentAsset[]): string | undefined {\n\treturn assets.find((asset) => asset.kind === 'script-module')?.src;\n}\n\nfunction normalizeRenderComponentOptions<TComponent extends ServerRenderableComponent>(\n\tcomponentOrOptions: ServerRenderableComponentConstructor<TComponent> | RenderComponentOptions<TComponent>,\n\toptions?: RenderComponentCallOptions<TComponent>,\n): RenderComponentOptions<TComponent> {\n\tif (typeof componentOrOptions === 'function') {\n\t\treturn {\n\t\t\t...options,\n\t\t\tcomponent: componentOrOptions,\n\t\t};\n\t}\n\n\treturn componentOrOptions;\n}\n\nexport function normalizeRenderOptions(options: RenderToStringOptions | undefined): RenderToStringOptions {\n\tif (options?.mode !== undefined || options?.hydrate !== undefined) {\n\t\treturn options;\n\t}\n\n\treturn {\n\t\t...options,\n\t\tmode: 'hydrate',\n\t};\n}\n\nfunction canPrepareSsrHost<TComponent extends ServerRenderableComponent>(\n\tcomponent: TComponent,\n): component is TComponent & HTMLElement {\n\treturn 'innerHTML' in component;\n}\n\nfunction requireServerRenderableMarkup<TComponent extends ServerRenderableComponent>(\n\tcomponent: TComponent,\n\toptions: RenderToStringOptions,\n): string {\n\tif (typeof component.renderHostToString === 'function') {\n\t\treturn component.renderHostToString(options);\n\t}\n\n\tthrow new Error(\n\t\t`${component.constructor.name} cannot be server-rendered without a registered Radiant SSR host or renderHostToString().`,\n\t);\n}\n\nfunction resolveRenderedComponentTagName(target: CustomElementConstructor): string {\n\tconst tagName = getCustomElementTagName(target);\n\n\tif (!tagName) {\n\t\tthrow new Error(`${target.name} is missing @customElement metadata.`);\n\t}\n\n\treturn tagName;\n}\n",
21
- "import { renderToString as renderJsxToString, type RenderToStringOptions } from '@ecopages/jsx/server';\nimport { getControllerIdentifier } from '../core/controller-metadata';\nimport { withRadiantElementSsrRuntime } from '../core/radiant-element-ssr-registry';\nimport type { RadiantController } from '../core/radiant-controller';\nimport { CONTROLLER_ATTRIBUTE } from '../controller-registry';\nimport { runLegacyPostConstructionInitializers } from '../decorators/legacy/instance-initializers';\nimport { withSsrContextProviders } from './context-ssr';\nimport { ensureLightDomShim } from './light-dom-shim';\nimport { withRadiantServerCustomElementRenderBridge } from './radiant-element-ssr-bridge';\nimport { getOrCreateRadiantElementSsrRuntime } from './radiant-element-ssr-runtime';\nimport {\n\tmergeRenderedComponentAssets,\n\tnormalizeRenderOptions,\n\tresolvePrimaryClientModuleSrc,\n\ttoRenderedComponentPayload,\n\ttype RenderedComponent,\n\ttype RenderedComponentAsset,\n\ttype RenderedComponentPayload,\n\ttype RenderedComponentWithPreview,\n} from './render-component';\n\n/** Constructor shape for a server-renderable controller. */\nexport type ServerRenderableControllerConstructor<TController extends RadiantController = RadiantController> = new (\n\thost: Element,\n) => TController;\n\n/** Serializable controller host attribute values accepted by `renderController()`. */\nexport type RenderedControllerHostAttributeValue = boolean | number | string | null | undefined;\n\n/** JSX-like class value accepted by `renderController({ host })`. */\nexport type RenderedControllerHostClassValue =\n\t| bigint\n\t| boolean\n\t| number\n\t| string\n\t| null\n\t| undefined\n\t| readonly RenderedControllerHostClassValue[]\n\t| Record<string, unknown>;\n\n/** Declarative controller host attributes accepted by `renderController()`. */\nexport type RenderedControllerHostAttributes = Record<string, RenderedControllerHostAttributeValue>;\n\n/** JSX-like host options accepted by `renderController()`. */\nexport type RenderedControllerHostOptions = {\n\taria?: Record<string, RenderedControllerHostAttributeValue>;\n\tclass?: RenderedControllerHostClassValue;\n\tclasses?: RenderedControllerHostClassValue;\n\tdata?: Record<string, RenderedControllerHostAttributeValue>;\n};\n\n/**\n * Resolves the browser-importable client module URL for a controller constructor.\n */\nexport type ResolveRenderedControllerClientModule<TController extends RadiantController> = (\n\tcontroller: ServerRenderableControllerConstructor<TController>,\n) => string | undefined | Promise<string | undefined>;\n\n/**\n * Resolves fragment assets for a controller constructor.\n */\nexport type ResolveRenderedControllerAssets<TController extends RadiantController> = (\n\tcontroller: ServerRenderableControllerConstructor<TController>,\n) => readonly RenderedComponentAsset[] | undefined | Promise<readonly RenderedComponentAsset[] | undefined>;\n\n/** Call-site options used by the controller SSR helpers. */\nexport type RenderControllerCallOptions<TController extends RadiantController> = {\n\t/** Asset dependencies required by the rendered fragment. */\n\tassets?: readonly RenderedComponentAsset[];\n\t/** Low-level flat host attributes serialized onto the rendered controller host. */\n\tattributes?: RenderedControllerHostAttributes;\n\t/** JSX-like host config with `data` and `aria` object expansion. */\n\thost?: RenderedControllerHostOptions;\n\t/** Browser-importable client module URL used to register the controller before hydration. */\n\tclientModuleSrc?: string;\n\t/** Initializes the controller instance before render. */\n\tinitialize?: (controller: TController) => void;\n\t/** Clock override used by tests and adapters that need deterministic timestamps. */\n\tnow?: () => Date;\n\t/** JSX server-renderer options forwarded to the controller view render. */\n\trenderOptions?: RenderToStringOptions;\n\t/** Lazy asset resolver used when `assets` are not provided directly. */\n\tresolveAssets?: ResolveRenderedControllerAssets<TController>;\n\t/** Lazy client-module resolver used when `clientModuleSrc` is not provided directly. */\n\tresolveClientModuleSrc?: ResolveRenderedControllerClientModule<TController>;\n\t/** Explicit host tag emitted at the fragment root. */\n\ttagName: string;\n};\n\n/** Serializes a controller host into HTML using an explicit host tag and attributes. */\nexport async function renderControllerToString<TController extends RadiantController>(\n\tcontroller: ServerRenderableControllerConstructor<TController>,\n\toptions: RenderControllerCallOptions<TController>,\n): Promise<string> {\n\treturn (await renderResolvedController(controller, options)).markup;\n}\n\n/** Renders a controller host into the canonical portable server-rendered shape. */\nexport async function renderController<TController extends RadiantController>(\n\tcontroller: ServerRenderableControllerConstructor<TController>,\n\toptions: RenderControllerCallOptions<TController>,\n): Promise<RenderedComponent> {\n\treturn renderResolvedController(controller, options);\n}\n\n/** Serializes a controller host into a fragment payload that frameworks can attach to any response shape. */\nexport async function renderControllerToPayload<TController extends RadiantController>(\n\tcontroller: ServerRenderableControllerConstructor<TController>,\n\toptions: RenderControllerCallOptions<TController>,\n): Promise<RenderedComponentPayload> {\n\treturn toRenderedComponentPayload(await renderResolvedController(controller, options));\n}\n\n/** Renders a controller host into payload fields plus a JSX-compatible preview value. */\nexport async function renderControllerWithPreview<TController extends RadiantController>(\n\tcontroller: ServerRenderableControllerConstructor<TController>,\n\toptions: RenderControllerCallOptions<TController>,\n): Promise<RenderedComponentWithPreview> {\n\treturn toRenderedComponentWithPreview(await renderResolvedController(controller, options));\n}\n\nasync function renderResolvedController<TController extends RadiantController>(\n\tController: ServerRenderableControllerConstructor<TController>,\n\toptions: RenderControllerCallOptions<TController>,\n): Promise<RenderedComponent> {\n\treturn withRadiantElementSsrRuntime(getOrCreateRadiantElementSsrRuntime(), async () => {\n\t\tconst tagName = normalizeRenderedControllerTagName(options.tagName);\n\t\tconst host = createRenderedControllerHost(\n\t\t\ttagName,\n\t\t\tnormalizeRenderedControllerHostAttributes(Controller, options),\n\t\t);\n\t\tconst controller = new Controller(host);\n\t\trunLegacyPostConstructionInitializers(controller);\n\n\t\ttry {\n\t\t\toptions.initialize?.(controller);\n\t\t\tcontroller.connectForSsrRender();\n\n\t\t\tconst resolvedClientModuleSrc =\n\t\t\t\toptions.clientModuleSrc ?? (await options.resolveClientModuleSrc?.(Controller));\n\t\t\tconst resolvedAssets = options.assets ?? (await options.resolveAssets?.(Controller)) ?? [];\n\t\t\tconst assets = mergeRenderedComponentAssets(resolvedAssets, resolvedClientModuleSrc);\n\t\t\tconst clientModuleSrc = resolvePrimaryClientModuleSrc(assets) ?? resolvedClientModuleSrc;\n\t\t\tconst generatedAt = (options.now ?? createDefaultRenderTimestamp)().toISOString();\n\t\t\tconst renderOptions = normalizeRenderOptions(options.renderOptions);\n\t\t\tconst markup = renderRenderedControllerHost(controller, tagName, renderOptions);\n\n\t\t\treturn {\n\t\t\t\tmarkup,\n\t\t\t\tmetadata: {\n\t\t\t\t\tassets,\n\t\t\t\t\tclientModuleUrl: clientModuleSrc,\n\t\t\t\t\tgeneratedAt,\n\t\t\t\t\ttagName,\n\t\t\t\t},\n\t\t\t\tpreview: { nodeType: 1, outerHTML: markup },\n\t\t\t};\n\t\t} finally {\n\t\t\tcontroller.disconnectForSsrRender();\n\t\t}\n\t});\n}\n\nfunction toRenderedComponentWithPreview(render: RenderedComponent): RenderedComponentWithPreview {\n\treturn {\n\t\tassets: render.metadata.assets,\n\t\tclientModuleSrc: render.metadata.clientModuleUrl,\n\t\tgeneratedAt: render.metadata.generatedAt,\n\t\tmarkup: render.markup,\n\t\tpreview: render.preview,\n\t\ttagName: render.metadata.tagName,\n\t};\n}\n\nfunction createDefaultRenderTimestamp(): Date {\n\treturn new Date();\n}\n\nfunction normalizeRenderedControllerTagName(tagName: string): string {\n\tconst normalizedTagName = tagName.trim().toLowerCase();\n\n\tif (!normalizedTagName) {\n\t\tthrow new Error('Controller SSR host tagName is required.');\n\t}\n\n\treturn normalizedTagName;\n}\n\nfunction createRenderedControllerHost(tagName: string, attributes: RenderedControllerHostAttributes): Element {\n\tconst windowLike = ensureLightDomShim();\n\tconst host = windowLike.document.createElement(tagName);\n\n\tfor (const [name, value] of Object.entries(attributes)) {\n\t\tif (value === undefined || value === null || value === false) {\n\t\t\tcontinue;\n\t\t}\n\n\t\thost.setAttribute(name, value === true ? '' : String(value));\n\t}\n\n\treturn host;\n}\n\nfunction normalizeRenderedControllerHostAttributes<TController extends RadiantController>(\n\tController: ServerRenderableControllerConstructor<TController>,\n\toptions: RenderControllerCallOptions<TController>,\n): RenderedControllerHostAttributes {\n\tconst normalizedAttributes: RenderedControllerHostAttributes = {};\n\tconst host = options.host;\n\n\tconst mergedClassValue = normalizeRenderedControllerClassValue(\n\t\toptions.attributes?.class,\n\t\thost?.class,\n\t\thost?.classes,\n\t);\n\n\tif (mergedClassValue !== undefined) {\n\t\tnormalizedAttributes.class = mergedClassValue;\n\t}\n\n\tappendRenderedControllerStructuredAttributes(normalizedAttributes, 'data', host?.data);\n\tappendRenderedControllerStructuredAttributes(normalizedAttributes, 'aria', host?.aria);\n\tappendRenderedControllerFlatAttributes(normalizedAttributes, options.attributes);\n\n\tconst controllerIdentifier = getControllerIdentifier(Controller as unknown as CustomElementConstructor);\n\n\tif (controllerIdentifier && normalizedAttributes[CONTROLLER_ATTRIBUTE] == null) {\n\t\tnormalizedAttributes[CONTROLLER_ATTRIBUTE] = controllerIdentifier;\n\t}\n\n\treturn normalizedAttributes;\n}\n\nfunction appendRenderedControllerStructuredAttributes(\n\tattributes: RenderedControllerHostAttributes,\n\tprefix: 'aria' | 'data',\n\tvalue: Record<string, RenderedControllerHostAttributeValue> | undefined,\n): void {\n\tif (!isPlainRenderedControllerAttributeObject(value)) {\n\t\treturn;\n\t}\n\n\tfor (const [name, entryValue] of Object.entries(value)) {\n\t\tattributes[`${prefix}-${toKebabCaseRenderedControllerAttribute(name)}`] = entryValue;\n\t}\n}\n\nfunction appendRenderedControllerFlatAttributes(\n\tattributes: RenderedControllerHostAttributes,\n\tvalue: RenderedControllerHostAttributes | undefined,\n): void {\n\tif (!value) {\n\t\treturn;\n\t}\n\n\tfor (const [name, entryValue] of Object.entries(value)) {\n\t\tattributes[name] = entryValue;\n\t}\n}\n\nfunction normalizeRenderedControllerClassValue(...values: unknown[]): string | undefined {\n\tconst tokens: string[] = [];\n\n\tfor (const value of values) {\n\t\tappendRenderedControllerClassTokens(tokens, value);\n\t}\n\n\treturn tokens.length === 0 ? undefined : tokens.join(' ');\n}\n\nfunction appendRenderedControllerClassTokens(tokens: string[], value: unknown): void {\n\tif (value === undefined || value === null || value === false || value === true) {\n\t\treturn;\n\t}\n\n\tif (typeof value === 'string') {\n\t\tif (value !== '') {\n\t\t\ttokens.push(value);\n\t\t}\n\t\treturn;\n\t}\n\n\tif (typeof value === 'number' || typeof value === 'bigint') {\n\t\ttokens.push(String(value));\n\t\treturn;\n\t}\n\n\tif (Array.isArray(value)) {\n\t\tfor (const entry of value) {\n\t\t\tappendRenderedControllerClassTokens(tokens, entry);\n\t\t}\n\t\treturn;\n\t}\n\n\tif (!isPlainRenderedControllerAttributeObject(value)) {\n\t\treturn;\n\t}\n\n\tfor (const [name, enabled] of Object.entries(value)) {\n\t\tif (enabled) {\n\t\t\ttokens.push(name);\n\t\t}\n\t}\n}\n\nfunction isPlainRenderedControllerAttributeObject(value: unknown): value is Record<string, unknown> {\n\treturn Object.prototype.toString.call(value) === '[object Object]';\n}\n\nfunction toKebabCaseRenderedControllerAttribute(value: string): string {\n\treturn value\n\t\t.replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n\t\t.replace(/[_\\s]+/g, '-')\n\t\t.toLowerCase();\n}\n\nfunction renderRenderedControllerHost(\n\tcontroller: RadiantController,\n\ttagName: string,\n\toptions: RenderToStringOptions,\n): string {\n\tconst restoreSsrContexts = withSsrContextProviders(controller.getSsrContextProviders());\n\n\ttry {\n\t\tconst hostContent = withRadiantServerCustomElementRenderBridge(() =>\n\t\t\trenderJsxToString(controller.render(), options),\n\t\t);\n\t\tconst hydrate = options.mode === 'hydrate' || (options.mode === undefined && options.hydrate === true);\n\t\tconst hydrationScripts = hydrate\n\t\t\t? controller\n\t\t\t\t\t.getSsrHydrationBindings()\n\t\t\t\t\t.map((binding) => binding.renderHydrationScriptTag())\n\t\t\t\t\t.filter((markup): markup is string => typeof markup === 'string')\n\t\t\t\t\t.join('')\n\t\t\t: '';\n\n\t\treturn `<${tagName}${serializeRenderedControllerHostAttributes(controller.host)}>${hostContent}${hydrationScripts}</${tagName}>`;\n\t} finally {\n\t\trestoreSsrContexts();\n\t}\n}\n\nfunction serializeRenderedControllerHostAttributes(host: Element): string {\n\treturn host\n\t\t.getAttributeNames()\n\t\t.map((attributeName) => serializeRenderedControllerAttribute(attributeName, host.getAttribute(attributeName)))\n\t\t.join('');\n}\n\nfunction serializeRenderedControllerAttribute(name: string, value: string | null): string {\n\tif (value === '') {\n\t\treturn ` ${name}`;\n\t}\n\n\treturn ` ${name}=\"${escapeRenderedControllerAttributeValue(value ?? '')}\"`;\n}\n\nfunction escapeRenderedControllerAttributeValue(value: string): string {\n\treturn value.replaceAll('&', '&amp;').replaceAll('\"', '&quot;').replaceAll('<', '&lt;').replaceAll('>', '&gt;');\n}\n"
21
+ "import { renderToString as renderJsxToString, type RenderToStringOptions } from '@ecopages/jsx/server';\nimport { getControllerIdentifier } from '../core/controller-metadata';\nimport { withRadiantElementSsrRuntime } from '../core/radiant-element-ssr-registry';\nimport type { RadiantController } from '../core/radiant-controller';\nimport { CONTROLLER_ATTRIBUTE } from '../controller-registry';\nimport { runLegacyPostConstructionInitializers } from '../decorators/legacy/instance-initializers';\nimport { withSsrContextProviders } from './context-ssr';\nimport { ensureLightDomShim } from './light-dom-shim';\nimport { withRadiantServerCustomElementRenderBridge } from './radiant-element-ssr-bridge';\nimport { getOrCreateRadiantElementSsrRuntime } from './radiant-element-ssr-runtime';\nimport {\n\tmergeRenderedComponentAssets,\n\tnormalizeRenderOptions,\n\tresolvePrimaryClientModuleSrc,\n\ttoRenderedComponentPayload,\n\ttype RenderedComponent,\n\ttype RenderedComponentAsset,\n\ttype RenderedComponentPayload,\n\ttype RenderedComponentWithPreview,\n} from './render-component';\n\n/** Constructor shape for a server-renderable controller. */\nexport type ServerRenderableControllerConstructor<TController extends RadiantController = RadiantController> = new (\n\thost: Element,\n) => TController;\n\n/** Serializable controller host attribute values accepted by `renderController()`. */\nexport type RenderedControllerHostAttributeValue = boolean | number | string | null | undefined;\n\n/** JSX-like class value accepted by `renderController({ host })`. */\nexport type RenderedControllerHostClassValue =\n\t| bigint\n\t| boolean\n\t| number\n\t| string\n\t| null\n\t| undefined\n\t| readonly RenderedControllerHostClassValue[]\n\t| Record<string, unknown>;\n\n/** Declarative controller host attributes accepted by `renderController()`. */\nexport type RenderedControllerHostAttributes = Record<string, RenderedControllerHostAttributeValue>;\n\n/** JSX-like host options accepted by `renderController()`. */\nexport type RenderedControllerHostOptions = {\n\taria?: Record<string, RenderedControllerHostAttributeValue>;\n\tclass?: RenderedControllerHostClassValue;\n\tclasses?: RenderedControllerHostClassValue;\n\tdata?: Record<string, RenderedControllerHostAttributeValue>;\n};\n\n/**\n * Resolves the browser-importable client module URL for a controller constructor.\n */\nexport type ResolveRenderedControllerClientModule<TController extends RadiantController> = (\n\tcontroller: ServerRenderableControllerConstructor<TController>,\n) => string | undefined | Promise<string | undefined>;\n\n/**\n * Resolves fragment assets for a controller constructor.\n */\nexport type ResolveRenderedControllerAssets<TController extends RadiantController> = (\n\tcontroller: ServerRenderableControllerConstructor<TController>,\n) => readonly RenderedComponentAsset[] | undefined | Promise<readonly RenderedComponentAsset[] | undefined>;\n\n/** Call-site options used by the controller SSR helpers. */\nexport type RenderControllerCallOptions<TController extends RadiantController> = {\n\t/** Asset dependencies required by the rendered fragment. */\n\tassets?: readonly RenderedComponentAsset[];\n\t/** Low-level flat host attributes serialized onto the rendered controller host. */\n\tattributes?: RenderedControllerHostAttributes;\n\t/** JSX-like host config with `data` and `aria` object expansion. */\n\thost?: RenderedControllerHostOptions;\n\t/** Browser-importable client module URL used to register the controller before hydration. */\n\tclientModuleSrc?: string;\n\t/** Initializes the controller instance before render. */\n\tinitialize?: (controller: TController) => void;\n\t/** Clock override used by tests and adapters that need deterministic timestamps. */\n\tnow?: () => Date;\n\t/** JSX server-renderer options forwarded to the controller view render. */\n\trenderOptions?: RenderToStringOptions;\n\t/** Lazy asset resolver used when `assets` are not provided directly. */\n\tresolveAssets?: ResolveRenderedControllerAssets<TController>;\n\t/** Lazy client-module resolver used when `clientModuleSrc` is not provided directly. */\n\tresolveClientModuleSrc?: ResolveRenderedControllerClientModule<TController>;\n\t/** Explicit host tag emitted at the fragment root. */\n\ttagName: string;\n};\n\n/** Serializes a controller host into HTML using an explicit host tag and attributes. */\nexport async function renderControllerToString<TController extends RadiantController>(\n\tcontroller: ServerRenderableControllerConstructor<TController>,\n\toptions: RenderControllerCallOptions<TController>,\n): Promise<string> {\n\treturn (await renderResolvedController(controller, options)).markup;\n}\n\n/** Renders a controller host into the canonical portable server-rendered shape. */\nexport async function renderController<TController extends RadiantController>(\n\tcontroller: ServerRenderableControllerConstructor<TController>,\n\toptions: RenderControllerCallOptions<TController>,\n): Promise<RenderedComponent> {\n\treturn renderResolvedController(controller, options);\n}\n\n/** Serializes a controller host into a fragment payload that frameworks can attach to any response shape. */\nexport async function renderControllerToPayload<TController extends RadiantController>(\n\tcontroller: ServerRenderableControllerConstructor<TController>,\n\toptions: RenderControllerCallOptions<TController>,\n): Promise<RenderedComponentPayload> {\n\treturn toRenderedComponentPayload(await renderResolvedController(controller, options));\n}\n\n/** Renders a controller host into payload fields plus a JSX-compatible preview value. */\nexport async function renderControllerWithPreview<TController extends RadiantController>(\n\tcontroller: ServerRenderableControllerConstructor<TController>,\n\toptions: RenderControllerCallOptions<TController>,\n): Promise<RenderedComponentWithPreview> {\n\treturn toRenderedComponentWithPreview(await renderResolvedController(controller, options));\n}\n\nasync function renderResolvedController<TController extends RadiantController>(\n\tController: ServerRenderableControllerConstructor<TController>,\n\toptions: RenderControllerCallOptions<TController>,\n): Promise<RenderedComponent> {\n\treturn withRadiantElementSsrRuntime(getOrCreateRadiantElementSsrRuntime(), async () => {\n\t\tconst tagName = normalizeRenderedControllerTagName(options.tagName);\n\t\tconst host = createRenderedControllerHost(\n\t\t\ttagName,\n\t\t\tnormalizeRenderedControllerHostAttributes(Controller, options),\n\t\t);\n\t\tconst controller = new Controller(host);\n\t\trunLegacyPostConstructionInitializers(controller);\n\n\t\ttry {\n\t\t\toptions.initialize?.(controller);\n\t\t\tcontroller.runWithSsrLifecycle(() => controller.connect());\n\n\t\t\tconst resolvedClientModuleSrc =\n\t\t\t\toptions.clientModuleSrc ?? (await options.resolveClientModuleSrc?.(Controller));\n\t\t\tconst resolvedAssets = options.assets ?? (await options.resolveAssets?.(Controller)) ?? [];\n\t\t\tconst assets = mergeRenderedComponentAssets(resolvedAssets, resolvedClientModuleSrc);\n\t\t\tconst clientModuleSrc = resolvePrimaryClientModuleSrc(assets) ?? resolvedClientModuleSrc;\n\t\t\tconst generatedAt = (options.now ?? createDefaultRenderTimestamp)().toISOString();\n\t\t\tconst renderOptions = normalizeRenderOptions(options.renderOptions);\n\t\t\tconst markup = renderRenderedControllerHost(controller, tagName, renderOptions);\n\n\t\t\treturn {\n\t\t\t\tmarkup,\n\t\t\t\tmetadata: {\n\t\t\t\t\tassets,\n\t\t\t\t\tclientModuleUrl: clientModuleSrc,\n\t\t\t\t\tgeneratedAt,\n\t\t\t\t\ttagName,\n\t\t\t\t},\n\t\t\t\tpreview: { nodeType: 1, outerHTML: markup },\n\t\t\t};\n\t\t} finally {\n\t\t\tcontroller.disconnect();\n\t\t}\n\t});\n}\n\nfunction toRenderedComponentWithPreview(render: RenderedComponent): RenderedComponentWithPreview {\n\treturn {\n\t\tassets: render.metadata.assets,\n\t\tclientModuleSrc: render.metadata.clientModuleUrl,\n\t\tgeneratedAt: render.metadata.generatedAt,\n\t\tmarkup: render.markup,\n\t\tpreview: render.preview,\n\t\ttagName: render.metadata.tagName,\n\t};\n}\n\nfunction createDefaultRenderTimestamp(): Date {\n\treturn new Date();\n}\n\nfunction normalizeRenderedControllerTagName(tagName: string): string {\n\tconst normalizedTagName = tagName.trim().toLowerCase();\n\n\tif (!normalizedTagName) {\n\t\tthrow new Error('Controller SSR host tagName is required.');\n\t}\n\n\treturn normalizedTagName;\n}\n\nfunction createRenderedControllerHost(tagName: string, attributes: RenderedControllerHostAttributes): Element {\n\tconst windowLike = ensureLightDomShim();\n\tconst host = windowLike.document.createElement(tagName);\n\n\tfor (const [name, value] of Object.entries(attributes)) {\n\t\tif (value === undefined || value === null || value === false) {\n\t\t\tcontinue;\n\t\t}\n\n\t\thost.setAttribute(name, value === true ? '' : String(value));\n\t}\n\n\treturn host;\n}\n\nfunction normalizeRenderedControllerHostAttributes<TController extends RadiantController>(\n\tController: ServerRenderableControllerConstructor<TController>,\n\toptions: RenderControllerCallOptions<TController>,\n): RenderedControllerHostAttributes {\n\tconst normalizedAttributes: RenderedControllerHostAttributes = {};\n\tconst host = options.host;\n\n\tconst mergedClassValue = normalizeRenderedControllerClassValue(\n\t\toptions.attributes?.class,\n\t\thost?.class,\n\t\thost?.classes,\n\t);\n\n\tif (mergedClassValue !== undefined) {\n\t\tnormalizedAttributes.class = mergedClassValue;\n\t}\n\n\tappendRenderedControllerStructuredAttributes(normalizedAttributes, 'data', host?.data);\n\tappendRenderedControllerStructuredAttributes(normalizedAttributes, 'aria', host?.aria);\n\tappendRenderedControllerFlatAttributes(normalizedAttributes, options.attributes);\n\n\tconst controllerIdentifier = getControllerIdentifier(Controller as unknown as CustomElementConstructor);\n\n\tif (controllerIdentifier && normalizedAttributes[CONTROLLER_ATTRIBUTE] == null) {\n\t\tnormalizedAttributes[CONTROLLER_ATTRIBUTE] = controllerIdentifier;\n\t}\n\n\treturn normalizedAttributes;\n}\n\nfunction appendRenderedControllerStructuredAttributes(\n\tattributes: RenderedControllerHostAttributes,\n\tprefix: 'aria' | 'data',\n\tvalue: Record<string, RenderedControllerHostAttributeValue> | undefined,\n): void {\n\tif (!isPlainRenderedControllerAttributeObject(value)) {\n\t\treturn;\n\t}\n\n\tfor (const [name, entryValue] of Object.entries(value)) {\n\t\tattributes[`${prefix}-${toKebabCaseRenderedControllerAttribute(name)}`] = entryValue;\n\t}\n}\n\nfunction appendRenderedControllerFlatAttributes(\n\tattributes: RenderedControllerHostAttributes,\n\tvalue: RenderedControllerHostAttributes | undefined,\n): void {\n\tif (!value) {\n\t\treturn;\n\t}\n\n\tfor (const [name, entryValue] of Object.entries(value)) {\n\t\tattributes[name] = entryValue;\n\t}\n}\n\nfunction normalizeRenderedControllerClassValue(...values: unknown[]): string | undefined {\n\tconst tokens: string[] = [];\n\n\tfor (const value of values) {\n\t\tappendRenderedControllerClassTokens(tokens, value);\n\t}\n\n\treturn tokens.length === 0 ? undefined : tokens.join(' ');\n}\n\nfunction appendRenderedControllerClassTokens(tokens: string[], value: unknown): void {\n\tif (value === undefined || value === null || value === false || value === true) {\n\t\treturn;\n\t}\n\n\tif (typeof value === 'string') {\n\t\tif (value !== '') {\n\t\t\ttokens.push(value);\n\t\t}\n\t\treturn;\n\t}\n\n\tif (typeof value === 'number' || typeof value === 'bigint') {\n\t\ttokens.push(String(value));\n\t\treturn;\n\t}\n\n\tif (Array.isArray(value)) {\n\t\tfor (const entry of value) {\n\t\t\tappendRenderedControllerClassTokens(tokens, entry);\n\t\t}\n\t\treturn;\n\t}\n\n\tif (!isPlainRenderedControllerAttributeObject(value)) {\n\t\treturn;\n\t}\n\n\tfor (const [name, enabled] of Object.entries(value)) {\n\t\tif (enabled) {\n\t\t\ttokens.push(name);\n\t\t}\n\t}\n}\n\nfunction isPlainRenderedControllerAttributeObject(value: unknown): value is Record<string, unknown> {\n\treturn Object.prototype.toString.call(value) === '[object Object]';\n}\n\nfunction toKebabCaseRenderedControllerAttribute(value: string): string {\n\treturn value\n\t\t.replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n\t\t.replace(/[_\\s]+/g, '-')\n\t\t.toLowerCase();\n}\n\nfunction renderRenderedControllerHost(\n\tcontroller: RadiantController,\n\ttagName: string,\n\toptions: RenderToStringOptions,\n): string {\n\tconst restoreSsrContexts = withSsrContextProviders(controller.getSsrContextProviders());\n\n\ttry {\n\t\tconst hostContent = withRadiantServerCustomElementRenderBridge(() =>\n\t\t\trenderJsxToString(controller.render(), options),\n\t\t);\n\t\tconst hydrate = options.mode === 'hydrate' || (options.mode === undefined && options.hydrate === true);\n\t\tconst hydrationScripts = hydrate\n\t\t\t? controller\n\t\t\t\t\t.getSsrHydrationBindings()\n\t\t\t\t\t.map((binding) => binding.renderHydrationScriptTag())\n\t\t\t\t\t.filter((markup): markup is string => typeof markup === 'string')\n\t\t\t\t\t.join('')\n\t\t\t: '';\n\n\t\treturn `<${tagName}${serializeRenderedControllerHostAttributes(controller.host)}>${hostContent}${hydrationScripts}</${tagName}>`;\n\t} finally {\n\t\trestoreSsrContexts();\n\t}\n}\n\nfunction serializeRenderedControllerHostAttributes(host: Element): string {\n\treturn host\n\t\t.getAttributeNames()\n\t\t.map((attributeName) => serializeRenderedControllerAttribute(attributeName, host.getAttribute(attributeName)))\n\t\t.join('');\n}\n\nfunction serializeRenderedControllerAttribute(name: string, value: string | null): string {\n\tif (value === '') {\n\t\treturn ` ${name}`;\n\t}\n\n\treturn ` ${name}=\"${escapeRenderedControllerAttributeValue(value ?? '')}\"`;\n}\n\nfunction escapeRenderedControllerAttributeValue(value: string): string {\n\treturn value.replaceAll('&', '&amp;').replaceAll('\"', '&quot;').replaceAll('<', '&lt;').replaceAll('>', '&gt;');\n}\n"
22
22
  ],
23
- "mappings": "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",
24
- "debugId": "30EE39E65499F38A64756E2164756E21",
23
+ "mappings": "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",
24
+ "debugId": "1F238D7B0E2C36AD64756E2164756E21",
25
25
  "names": []
26
26
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ecopages/radiant",
3
- "version": "0.3.0-alpha.13",
3
+ "version": "0.3.0-alpha.16",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/ecopages/radiant.git"